(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-275Антитела класса IgG к капсидному антигену вируса Эпштейна-Барр (Аnti-EBV Viral Capsid Antigens (VCA) IgG)
INV-276Антитела класса IgG к герпесвирусу человека 6 типа (Anti-HHV-6 IgG)
INV-277Антитела класса IgG к герпесвирусу человека 8 типа (Anti-HHV-8 IgG)
INV-278Лабораторное исследование антигена Aspergillus (галактоманнан) в сыворотке крови (Aspergillus antigen (galactomannan) in serum)
INV-279Лабораторное исследование антигена Aspergillus (галактоманнан) в бронхо-альвеолярном лаваже (Aspergillus antigen (galactomannan) in bronchoalveolar lavage)
INV-27ДЛабораторное исследование клеща для выявления ДНК возбудителя Лайм-Боррелиоза (Borrelia burgdorferi, DNA)
INV-280РПГА с Shigella flexneri 1-5 (Shigella flexneri 1-5, IHA)
INV-281РПГА с Shigella flexneri 6 (Shigella flexneri 6, IHA)
INV-282РПГА с Shigella sonnei (Shigella sonnei, IHA)
INV-283РПГА с сыпнотифозным диагностикумом риккетсий Провачека (Rickettsia prowazekii, IHA)
INV-284РПГА с Yersinia еnterocolitica серотипа О:3 (Yersinia enterocolitica O:3, IHA)
INV-285РПГА с Yersinia еnterocolitica серотипа О:9 (Yersinia enterocolitica O:9, IHA)
INV-286РПГА с Yersinia pseudotuberculosis (Yersinia pseudotuberculosis IHA)
INV-287РПГА с Salmonella O-комплекс (Salmonella O-antigens, IHA)
INV-288РПГА с Salmonella gr.A (Salmonella gr.A, IHA)
INV-289РПГА с Salmonella gr.B (Salmonella gr.B, IHA)
INV-290РПГА с Salmonella gr.С (Salmonella gr.C, IHA)
INV-292РПГА с Salmonella gr.D (Salmonella gr.D, IHA)
INV-293Антитела к Salmonella gr.E, РПГА (Salmonella gr.E Antibodies, IHA)
INV-294Пепсиноген I (Pepsinogen I)
INV-295Пепсиноген II (Pepsinogen II)
INV-297Антитела к антигенам нематод рода Anisakis IgG
INV-299Антитела к антигенам Китайской двуустки Clonorchis sinensis IgG
INV-304Вирус гриппа A/H1N1, качественное определение РНК (Influenza virus A/H1N1,quality,RNA).
INV-324Вирус гепатита С, количественное определение РНК вируса и генотипирование (типы 1, 2, 3) (Hepatitis C Virus (HCV) RNA, Quantitative PCR, Genotyping (Types 1, 2, 3))
INV-339Вирус иммунодефицита человека, тип 1, определение РНК (кол.) в сыворотке крови (Human immunodeficiency virus, HIV-1, RNA, quantitative, Serum)
INV-34ДИсследование клеща на ДНК Anaplasma phagocytophilu*
INV-35ДЛабораторное исследование клеща для выявления РНК вируса клещевого энцефалита (Tick-borne encephalitis Virus, TBEV, RNA)
INV-360Острые кишечные инфекции. Кампилобактер(термофильная группа)/ Шигеллы и ЭИКП, определение ДНК в кале
INV-361Острые кишечные инфекции. Сальмонеллы/Аденовирус F, определение ДНК в кале
Запишитесь на приём в «Медальянс» онлайн
Запись «день в день» не осуществляется. После оформления онлайн заявки с вами свяжется администратор для подтверждения даты и времени визита.
(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');
}
});
});