(function () {
const ID = 'cbs-cart-float-left';
if (document.getElementById(ID)) return;
const root = document.createElement('div');
root.id = ID;
document.body.appendChild(root);
const style = document.createElement('style');
style.textContent = `
#cbs-cart-float-left{
position:fixed;
left:1.5rem;
bottom:3rem;
}
@media (min-width: 1024px){
#cbs-cart-float-left{
left:2rem;
bottom:2rem;
}
}
#cbs-cart-float-left.hidden{
display:none;
}
#cbs-cart-float-left .btn{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
width:88px;
height:88px;
padding:10px;
background:#00a63e;
color:#fff;
border-radius:18px;
cursor:pointer;
box-shadow:0 0 0 rgba(0,166,62,.35);
animation:pulseGlow 2.2s infinite;
transition:transform .2s ease;
}
#cbs-cart-float-left .btn:hover{
transform:scale(1.05);
animation-play-state:paused;
}
#cbs-cart-float-left .icon{
display:flex;
align-items:center;
justify-content:center;
margin-bottom:6px;
}
#cbs-cart-float-left svg{
width:32px;
height:32px;
display:block;
}
#cbs-cart-float-left .price{
font-size:15px;
line-height:1;
font-weight:700;
letter-spacing:0.2px;
white-space:nowrap;
}
@keyframes pulseGlow{
0%{
box-shadow:0 0 0 0 rgba(0,166,62,.35);
}
70%{
box-shadow:0 0 0 1rem rgba(0,166,62,0);
}
100%{
box-shadow:0 0 0 0 rgba(0,166,62,0);
}
}
`;
document.head.appendChild(style);
const price = v => (v || 0).toString() + ' ₽';
const getCart = () => {
try {
return JSON.parse(localStorage.getItem('cbs_cart')) || { items:{} };
} catch {
return { items:{} };
}
};
const render = () => {
const cart = getCart();
const items = Object.values(cart.items || {});
const total = items.reduce((s, i) => s + (i.amount || 0), 0);
if (!items.length || total <= 0) {
root.classList.add('hidden');
return;
}
root.classList.remove('hidden');
root.innerHTML = `
<div class="btn">
<div class="icon">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
stroke-width="1.5" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 15.75V18m-7.5-6.75h.008v.008H8.25v-.008Zm0 2.25h.008v.008H8.25V13.5Zm0 2.25h.008v.008H8.25v-.008Zm0 2.25h.008v.008H8.25V18Zm2.498-6.75h.007v.008h-.007v-.008Zm0 2.25h.007v.008h-.007V13.5Zm0 2.25h.007v.008h-.007v-.008Zm0 2.25h.007v.008h-.007V18Zm2.504-6.75h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V13.5Zm0 2.25h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V18Zm2.498-6.75h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V13.5ZM8.25 6h7.5v2.25h-7.5V6ZM12 2.25c-1.892 0-3.758.11-5.593.322C5.307 2.7 4.5 3.65 4.5 4.757V19.5a2.25 2.25 0 0 0 2.25 2.25h10.5a2.25 2.25 0 0 0 2.25-2.25V4.757c0-1.108-.806-2.057-1.907-2.185A48.507 48.507 0 0 0 12 2.25Z" />
</svg>
</div>
<div class="price">${price(total)}</div>
</div>
`;
root.querySelector('.btn').onclick = () => {
const target = document.querySelector('#cbs-header-cta-btn');
if (target) target.click();
};
};
window.addEventListener('cbs-cart-updated', render);
render();
})();
Сдать анализы ИНВИТРО в лаборатории МЕДАЛЬЯНС
Сдать анализы ИНВИТРО в лаборатории МЕДАЛЬЯНС
INV-819Антитела к микросомам печени и почек, IgG (anti-liver kidney microsomal antibody, anti-LKM, IgG)
INV-821Панель антител к антигенам антинейтрофильных антител (панель антигенов АНЦА), IgG (Anti-Neutrophil Cytoplasmic Antibodies, ANCA, IgG, Panel)
INV-822Антитела к рецептору фосфолипазы А2 (Anti-Phospholipase A2 Receptor Antibody, PLA2R Antibodies), IgG
INV-823Антитела класса IgG к миелопероксидазе (анти-МPO) (Myeloperoxidase Antibody, MPO)
INV-825Антитела класса IgG к экстрагируемому нуклеарному антигену (ЭНА) (Extractable Nuclear Antigen, ENA, Anti-Ribonucleoprotein Antibodies, Anti-RNP)
INV-826Панель антинуклеарных антител при склеродермии (раздельное описание антител к антигенам Scl-70, СENP-A, CENP-B, RP11, RP155, фибриллярин, NOR90, Th/To, PM-Sc100, PM-Scl75, Ku, PDGFR, Ro-52), иммуноблот (Scleroderma (Systemic Sclerosis) Antibody Panel: Anti-Scl-70, СENP-A, CENP-B, RP11, RP155, фибриллярин, NOR90, Th/To, PM-Sc100, PM-Scl75, Ku, PDGFR, Ro-52, Immunoblotting)
INV-827Антинуклеарные антитела (раздельно Sm, RNP/Sm, SS-A (60 кДа), SS-A (52 кДа), SS-B, Scl-70, PM-Scl, PCNA, CENT-B, dsDNA, Histone, Nucleosome, Rib P, AMA-M2, Jo-1 антигену), иммуноблот (ANA: Anti-Sm, RNP/Sm, SS-A (60 kDа), SS-A (52 kDа), SS-B, Scl-70, PM-Scl, PCNA, CENT-B, dsDNA, Histone, Nucleosome, Rib P, AMA-M2, Anti-Jo-1, Immunoblotting)
INV-836Ингибитор С1-эстеразы, активность (C1-Esterase Inhibitor, С1-INH)
INV-837Антитела класса IgG к C1q фактору комплемента (Anti-Complement 1q Antibodies, Anti-C1q, IgG)
INV-838Карбогидрат-дефицитный трансферрин (Carbohydrate-Deficient Trancferrin, CDT)
INV-839Карбогидрат -дефицитный трансферрин с электрофореграммой (Carbohydrate-Deficient Transferrin with results on an electrophoregram (CDT))
INV-840Церулоплазмин (Ceruloplasmin)
INV-841Гаптоглобин (Haptoglobin)
INV-844Активность ангиотензин-превращающего фермента (АПФ) сыворотки крови (Angiotensin Converting Enzyme, ACE, Serum)
INV-850Ингибитор С1-эстеразы, концентрация (C1-Esterase Inhibitor, concentration; С1-INH)
INV-855Антитела класса IgG к дифтерийному анатоксину (Anti-Diphtheria Toxoid IgG)
INV-863Кобальт (Co) в сыворотке крови (Cobalt (Co), Serum)
INV-868Цинк (Zn) в сыворотке крови (Zinc (Zn), Serum)
INV-869Селен (Se) в сыворотке крови (Selenium (Se), Serum)
INV-873Молибден (Mo) в сыворотке крови (Molybdenum (Mo), Serum)
INV-874Кадмий (Cd) в сыворотке крови (Cadmium (Cd), Serum )
INV-876Антитела класса IgG к столбнячному анатоксину (Аnti-Tetanus toxoid IgG)
INV-877Витамин К1 в сыворотке (филлохинон) (Vitamin K1, Phylloquinone, Serum)
INV-878Свинец (Pb) в венозной крови (Lead (Pb), Вlood)
INV-881Алюминий (Al) в моче (Aluminum (Al), Urine)
INV-883Мышьяк (As) в сыворотке крови (Arsenic (As), Serum)
INV-888Медь (Cu) в сыворотке крови (Copper (Cu), Serum )
INV-889Медь (Cu) в суточной моче (Copper (Cu), 24-Hours Urine)
INV-892Марганец (Mn) в сыворотке крови (Manganese (Mn), Serum)
INV-893Никель (Ni) в сыворотке крови (Nickel (Ni), Serum)
Запишитесь на приём в «Медальянс» онлайн
Запись «день в день» не осуществляется. После оформления онлайн заявки с вами свяжется администратор для подтверждения даты и времени визита.
(function(){if(window.cbsManagerForm)return;var NL=String.fromCharCode(10);var overlay;function meta(){var m={referrer:localStorage.getItem('nooverride_referrer'),utm_source:sessionStorage.getItem('utm_source'),utm_medium:sessionStorage.getItem('utm_medium'),utm_campaign:sessionStorage.getItem('utm_campaign'),utm_content:sessionStorage.getItem('utm_content'),utm_term:sessionStorage.getItem('utm_term')};var lines=[];Object.keys(m).forEach(function(k){var v=m[k];if(v&&v!=='empty'&&v!=='direct')lines.push(k+': '+v);});return lines;}function closeM(){if(overlay)overlay.classList.remove('is-open');}function build(){overlay=document.createElement('div');overlay.className='cbs-mf-overlay';overlay.innerHTML=`<div class='cbs-mf'></div>`;document.body.appendChild(overlay);overlay.addEventListener('click',function(e){if(e.target===overlay)closeM();});document.addEventListener('keydown',function(e){if(e.key==='Escape')closeM();});}function renderForm(){var box=overlay.querySelector('.cbs-mf');box.innerHTML=`<button class='x' type='button' aria-label='Закрыть'>×</button><h3>Написать руководителю</h3><p class='sub'>Обращение направляется руководству клиники «Медальянс».</p><div class='fields'><input id='cbs-mf-name' placeholder='Имя *' autocomplete='name'><textarea id='cbs-mf-msg' placeholder='Текст обращения *'></textarea><input id='cbs-mf-email' placeholder='Email (по желанию)' autocomplete='email' inputmode='email'><input id='cbs-mf-phone' placeholder='Телефон (по желанию)' autocomplete='tel' inputmode='tel'></div><p class='err' role='alert'></p><button class='submit' type='button'>Отправить обращение</button>`;box.querySelector('.x').onclick=closeM;var err=box.querySelector('.err');var ni=box.querySelector('#cbs-mf-name');var mi=box.querySelector('#cbs-mf-msg');function clearErr(){err.classList.remove('show');err.textContent='';}ni.addEventListener('input',function(){ni.classList.remove('invalid');clearErr();});mi.addEventListener('input',function(){mi.classList.remove('invalid');clearErr();});box.querySelector('.submit').onclick=function(){doSubmit(box,err,ni,mi);};}function doSubmit(box,err,ni,mi){function setErr(m){err.textContent=m||'';err.classList.toggle('show',!!m);}ni.classList.remove('invalid');mi.classList.remove('invalid');setErr('');var name=ni.value.trim();var msg=mi.value.trim();var email=box.querySelector('#cbs-mf-email').value.trim();var phone=box.querySelector('#cbs-mf-phone').value.trim();if(name.length<2){ni.classList.add('invalid');setErr('Укажите имя (не менее 2 символов).');return;}if(msg.length<5){mi.classList.add('invalid');setErr('Напишите текст обращения (не менее 5 символов).');return;}if(email&&!(email.indexOf('@')>0&&email.lastIndexOf('.')>email.indexOf('@')+1)){box.querySelector('#cbs-mf-email').classList.add('invalid');setErr('Проверьте email или оставьте поле пустым.');return;}var lines=['✉️ *Обращение к руководителю*',''];lines.push('*Имя*: '+name);lines.push('*Email*: '+(email||'—'));lines.push('*Телефон*: '+(phone||'—'));lines.push('');lines.push('*Сообщение*:');lines.push(msg);var src=meta();if(src.length){lines.push('');lines.push('*Источник*:');lines=lines.concat(src);}var text=lines.join(NL);var btn=box.querySelector('.submit');btn.disabled=true;var old=btn.textContent;btn.textContent='Отправляем...';fetch('https://form.b2b.engineering/api/createLead',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({origin:window.origin,text:text})}).then(function(){box.innerHTML=`<button class='x' type='button' aria-label='Закрыть'>×</button><div class='ok'><h3>Обращение отправлено</h3><p>Руководство клиники свяжется с вами при необходимости</p></div>`;box.querySelector('.x').onclick=closeM;}).catch(function(e){console.error('Ошибка отправки обращения:',e);btn.disabled=false;btn.textContent=old;setErr('Не удалось отправить. Попробуйте позже.');});}window.cbsManagerForm=function(){if(!overlay)build();renderForm();overlay.classList.add('is-open');};})();
document.querySelectorAll('.map-wrap').forEach((wrap) => {
const overlay = wrap.querySelector('.map-overlay');
overlay.addEventListener('click', () => {
wrap.classList.add('active');
});
document.addEventListener('click', (e) => {
if (!e.target.closest('.map-wrap')) {
wrap.classList.remove('active');
}
});
});