(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();
})();
10. ДИАГНОСТИКА ИНФЕКЦИОННЫХ ЗАБОЛЕВАНИЙ
10. ДИАГНОСТИКА ИНФЕКЦИОННЫХ ЗАБОЛЕВАНИЙ
INV-33103СЛНПневмококк, определение ДНК в слюне (Streptococcus pneumoniae, DNA)
INV-33111КАЛЭнтеровирусы, определение РНК в кале (Enterovirus, RNA, Fecal)
INV-374С-УРОВирус папилломы человека, oпределение ДНК 4 типов: 6, 11, 16, 18 + КВМ в соскобе эпителиальных клеток урогенитального тракта (HPV DNA, Scrape of Urogenital Epithelial Cells, 4 Types (6, 11, 16, 18) Screening )
INV-377С-УРОДифференцированное определение ДНК ВПЧ (Вирус папилломы человека) 14 типов: 16, 18, 31, 33, 35, 39, 45, 51, 52, 56, 58, 59, 66, 68 + КВМ в соскобе эпителиальных клеток урогенитального тракта (HPV DNA, Scrape of Urogenital Epithelial Cells, 14 Types (16, 18, 31, 33, 35, 39, 45, 51, 52, 56, 58, 59, 66, 68) Screening)
INV-391С-УРОВирус папилломы человека, oпределение ДНК 21 типа: 6, 11, 16, 18, 26, 31, 33, 35, 39, 44, 45, 51, 52, 53, 56, 58, 59, 66, 68, 73, 82 + КВМ в соскобе эпителиальных клеток урогенитального тракта (HPV DNA, Scrape of Urogenital Epithelial Cells, 21 Types (6, 11, 16, 18, 26, 31, 33, 35, 39, 44, 45, 51, 52, 53, 56, 58, 59, 66, 68, 73, 82))
INV-399С-ПРКВирус папилломы человека низкого онкогенного риска, определение ДНК 3 типов: 6, 11, 44 + КВМ в соскобе эпителиальных клеток слизистой прямой кишки (HPV DNA, Scrape of Rectal Epithelial Cells, 3 Types (6, 11, 44))
INV-399С-РОТВирус папилломы человека низкого онкогенного риска, определение ДНК 3 типов: 6, 11, 44 в соскобе эпителиальных клеток ротоглотки (HPV DNA, Scrape of Faucial Epithelial Cells, 3 Types (6, 11, 44))
INV-399С-УРОВирус папилломы человека низкого онкогенного риска, определение ДНК 3 типов: 6, 11, 44 + КВМ в соскобе эпителиальных клеток урогенитального тракта (HPV DNA, Scrape of Urogenital Epithelial Cells, 3 Types (6, 11, 44))
INV-437УПМ-АПосев на патогенную и условно-патогенную микрофлору кишечника с определением чувствительности к антимикробным препаратам (Stool Culture, Pathogenic Intestinal and Conditionally Pathogenic Microflora. Bacteria Identification and Antibiotic Susceptibility Testing)
INV-437УПМ-ФПосев на патогенную и условно-патогенную микрофлору кишечника с определением чувствительности к антимикробным препаратам и бактериофагам (Stool Culture with Bacteria Identification and Antibiotic+Bacteriophage Susceptibility Testing)
INV-33111СМЕШEnterovirus (кач.), РНК
Запишитесь на приём в «Медальянс» онлайн
Запись «день в день» не осуществляется. После оформления онлайн заявки с вами свяжется администратор для подтверждения даты и времени визита.
(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');
}
});
});