(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();
})();
15. АЛЛЕРГОЛОГИЧЕСКИЕ ИССЛЕДОВАНИЯ
15. АЛЛЕРГОЛОГИЧЕСКИЕ ИССЛЕДОВАНИЯ
INV-6805F2Молоко коровье (f2) IgE, ImmunoCAP (Cow's milk (f2) IgE, ImmunoCAP)
INV-6809T3Береза (t3) IgE, ImmunoCAP (Birch (t3) IgE, ImmunoCAP)
INV-6817D1Клещ домашней пыли Dermatophagoides pterоnyssinus (d1), IgE, ImmunoCAP (House dust mite Dermatophagoides pterоnyssinus (d1) IgE, ImmunoCAP )
INV-6818D2Клещ домашней пыли Dermatophagoides farinaе (d2), IgE, ImmunoCAP (House dust mite Dermatophagoides farinaе (d2) IgE, ImmunoCAP )
INV-6819H1Смесь аллергенов домашней пыли Greer (h1) IgE, ImmunoCAP (Greer (h1) IgE House Dust Allergen Mixture, ImmunoCAP)
INV-6820HSСмесь аллергенов домашней пыли (Hollister-Stier) (hx2) IgE, ImmunoCAP (House dust allergen mixture (Hollister-Stier) (hx2) IgE, ImmunoCAP)
INV-6825H2Смесь аллергенов домашней пыли Hollister-Stier (h2) IgE, ImmunoCAP (Hollister-Stier House Dust Allergen mix (h2) IgE, ImmunoCAP)
INV-6829TPТриптаза, ImmunoCAP (Tryptase, ImmunoCAP)
INV-6830M6Плесень Alternaria alternata (m6) IgE, ImmunoCAP (Alternaria alternata (m6) IgE, ImmunoCAP)
INV-6831M3Плесень Aspergillus fumigatus (m3) IgE, ImmunoCAP (Aspergillus fumigatus (m3) IgE, ImmunoCAP)
INV-6832M1Плесень Penicillium notatum (P.chrysogenum, m1) IgE, ImmunoCAP (Penicillium notatum (P.chrysogenum, m1) IgE, ImmunoCAP)
INV-6833M5Грибок Candida albicans (m5) IgE, ImmunoCAP (Candida albican, m5, IgE, ImmunoCAP)
INV-6834M2Плесень Cladosporium herbarum (m2) IgE, ImmunoCAP (Cladosporium herbarum (m2) IgE, ImmunoCAP)
INV-6835G6Тимофеевка луговая (g6) IgE, ImmunoCAP (Timothy grass (g6) IgE, ImmunoCAP
INV-6836F1Яичный белок (f1) IgE, ImmunoCAP (Egg white (f1) IgE, ImmunoCAP)
INV-6869F4Пшеница (f4) IgE, ImmunoCAP (Wheat (f4) IgE, ImmunoCAP)
INV-6874W6Полынь обыкновенная (w6) IgE, ImmunoCAP (Common wormwood (w6) IgE, ImmunoCAP)
INV-6880F3Треска атлантическая (f3) IgE, ImmunoCAP (Atlantic cod (f3) IgE, ImmunoCAP)
INV-6883CFСмесь пищевых аллергенов (fx15) IgE, ImmunoCAP (Food allergen mixture (fx15) IgE, ImmunoCAP)
INV-6884F7Овеc (f7) IgE, ImmunoCAP (Oats (f7) IgE, ImmunoCAP)
INV-6892F9Рис (f9) IgE, ImmunoCAP (Rice (f9) IgE, ImmunoCAP)
INV-6905I1Яд пчелы медоносной (i1) IgE, ImmunoCAP (Honey bee venom (i1) IgE, ImmunoCAP)
INV-6906I2Яд осы пятнистой (i2) IgE, ImmunoCAP (Spotted wasp venom (i2) IgE, ImmunoCAP)
INV-6911C1Пенициллин G (c1) IgE, ImmunoCAP (Penicillin G, c1, IgE, ImmunoCAP)
INV-6920W5Полынь горькая (w5) IgE, ImmunoCAP (Absinthium, w5, IgE, ImmunoCAP)
INV-7252БЗНарушения сперматогенеза, 6 маркёров (микроделеции локуса AZF) (без описания результатов генетиком)
INV-777731Цитогенетический анализ клеток костного мозга (кариотип) (Cytogenetic analysis of bone marrow (karyotype))
INV-777732ПЦР анализ химерного гена BCR/ABL - t(9;22), определение типа транскрипта BCR/ABL гена - качественная ПЦР (PCR analysis of the chimeric BCR/ABL gene - t(9;22), determination of the BCR/ABL gene transcript type - qualitative PCR)
INV-777733ПЦР анализ относительной экспрессии гена BCR/ABL р210 - количественная RQ ПЦР (в реальном времени) (PCR analysis of the relative expression of the BCR/ABL p210 gene - quantitative RQ PCR (real time)
INV-777734Анализ химерного гена BCR-ABL (FISH, колич.) (Analysis of chimeric gene BCR-ABL, FISH, quantitative)
Запишитесь на приём в «Медальянс» онлайн
Запись «день в день» не осуществляется. После оформления онлайн заявки с вами свяжется администратор для подтверждения даты и времени визита.
(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');
}
});
});