(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();
})();
4. БИОХИМИЧЕСКИЕ ИССЛЕДОВАНИЯ КРОВИ
4. БИОХИМИЧЕСКИЕ ИССЛЕДОВАНИЯ КРОВИ
INV-1829Водорастворимые витамины
INV-1830Нейротропные витамины
INV-2111Пепсиногены I и II с расчетом соотношения (Пепсиноген I/Пепсиноген II) (Pepsinogen I/Pepsinogen II, PG1/PG2)
INV-2113Оценка здоровья простаты (ПСА общ., ПСА св., -2proPSA, phi)
INV-4050М-градиент, скрининг. Электрофорез сыворотки крови, иммунофиксация с поливалентной антисывороткой, количественная оценка М-белка (без типирования) (M-Gradient, Screening. Serum Protein Electrophoresis (SPEP), Immunofixation with Polyvalent Antiserum, Quantification of M-Protein (without Typing))
INV-4051М-градиент, типирование. Электрофорез сыворотки крови, иммунофиксация с панелью антисывороток (раздельно к IgG, IgA, IgM, каппа, лямбда), количественная оценка М-белка (M-Gradient, Typing. Serum Protein Electrophoresis (SPEP), Immunofixation with Antisera (IgG, IgA, IgM, Kappa, Lambda), Quantification of M-Protein)
INV-7650Молекулярно-генетическая диагностика рака предстательной железы
INV-ГТТ2Глюкозо-толерантный тест с определением глюкозы в венозной крови натощак и после нагрузки через 2 часа (2-Hour Oral Glucose Tolerance Test, OGTT, Glucose Concentration (Fasting and 2 Hours after Load), Venous Blood)
INV-37/10Кальций корректированный по альбумину
INV-ROMA1Оценка риска рака яичников по алгоритму ROMA (Risk of Ovarian Malignancy Algorithm, алгоритм расчета риска эпителиального рака яичников) (для женщин до менопаузы) (Risk of Ovarian Malignancy Algorithm, ROMA (Before Menopause))
INV-ROMA2Оценка риска рака яичников по алгоритму ROMA (Risk of Ovarian Malignancy Algorithm, алгоритм расчета риска эпителиального рака яичников) (для женщин после менопаузы) (Risk of Ovarian Malignancy Algorithm, ROMA (After Menopause))
INV-ГАСТРГастропанель (GastroPanel)
INV-ГТГС2Глюкозо-толерантный тест с определением глюкозы и С-пептида в венозной крови натощак и после нагрузки через 2 часа (2-Hour Oral Glucose Tolerance Test, OGTT, Glucose and C-Protein Concentration (Fasting and 2 Hours after Load), Venous Blood)
INV-ОБС69Онкориск мужской: предстательная железа (Male oncologic risk: prostate)
INV-832A1AАльфа-1-антитрипсин (А1АТ), фенотипирование (Alpha-1-Antitrypsin, A1AT, AAT, Phenotyping)
INV-ОБС156Витамин Д и минеральный обмен
INV-0004НМУВитамины группы В (В1, В2, В3, В5, В6, В7, В9, В12) (B vitamins (B1, B2 ,B3, B5, B6, B7, B9, B12))
INV-1317B12Активный витамин В12 (Голотранскобаламин, Active-B12, Holotranscobalamin)
INV-1613/61Витамин К2: МК-4 и МК-7, сыворотка (Vitamin K2: MK-4 and MK-7, serum)
INV-1200A1ATАльфа-1-антитрипсин (А1АТ), концентрация (Alpha-1-Antitrypsin, A1AT, AAT, Concentration)
INV-1512BILEЖелчные кислоты (Bile Acids)
INV-1595STFRРастворимые рецепторы трансферрина (рТФР, Soluble Transferrin Receptor, sTfR)
INV-40CKDEPIКлубочковая фильтрация, расчет по формуле CKD-EPI – креатинин (Estimated Glomerular Filtration Rate, eGFR, CKD-EPI Creatinine Equation)
Запишитесь на приём в «Медальянс» онлайн
Запись «день в день» не осуществляется. После оформления онлайн заявки с вами свяжется администратор для подтверждения даты и времени визита.
(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');
}
});
});