(function (window) { "use strict"; var OPTIONS = window.SCREEN_SIZE_OPTIONS || {}; // wrapper + options.padding * 2 var sizeList = [980,1220,1340]; var nameList = ['small', 'medium', 'large']; var sizesLength = sizeList.length; var isBranding = false; var htmlElement = document.documentElement; var lastState, className; var options = { padding: 20, sideWidth: 140, largeSideWidth: 240, bannerStub: sizeList[0], minBranding: OPTIONS.minBranding || sizeList[1], maxBranding: 1920, classRe: /\s*screen_(\S+)/gi, classPrefix: 'screen_' }; // ширина экрана для больших ушей, когда они полностью помещаются для самого большого экрана var widthForLargeSide = sizeList[sizeList.length - 1] + (options.largeSideWidth + options.padding) * 2; function screenSize(branding) { var windowWidth = window.innerWidth; var actualWidth = windowWidth; var sideWidth, canBranding, canBrandingStub, size, result, state; // запоминаем состояние последнего вызова, например screenSize(true) в слоте п-брендинга if (typeof branding === 'boolean') { isBranding = branding; } if (isBranding) { sideWidth = windowWidth > widthForLargeSide && options.largeSideWidth || options.sideWidth; // используем 20 отступы по бокам под брендирование if (sideWidth) { actualWidth -= (sideWidth + options.padding) * 2; } } canBranding = windowWidth >= options.minBranding && windowWidth <= options.maxBranding; // не показываем брендинг на экраны меньше 1024 и больше 1900 if (!canBranding) { actualWidth = windowWidth; } canBrandingStub = actualWidth >= options.bannerStub && actualWidth < options.minBranding; // подбираем экран под окно пользователя с учетом брендинга for (var sizeNo = 1; sizeNo < sizesLength; sizeNo++) { if (actualWidth < sizeList[sizeNo]) { size = nameList[sizeNo - 1]; break; } } if (!size) { size = nameList[nameList.length - 1]; } state = [size, isBranding, canBranding, canBrandingStub, sideWidth].join(); if (lastState != state) { lastState = state; className = htmlElement.className.replace(options.classRe, '').split(' '); className.push(options.classPrefix + size); if (isBranding) { className.push(options.classPrefix + 'branding-p_need'); if (canBranding) { className.push(options.classPrefix + 'branding-p'); className.push(options.classPrefix + 'branding-p_' + sideWidth); } else if (canBrandingStub) { className.push(options.classPrefix + 'branding-p_banner-stub'); } } htmlElement.className = className.join(' '); try { window.dispatchEvent(new Event('resize')); } catch (ex) {} } } /** * Создает функцию, игнорирующую вызовы происходящие чаще заданого интервала * @param originalFn функция, частоту вызова которой необходимо ограничить * @param [timeout = 100] интервал * @param [callImmediately = false] флаг, указывающий что функция должна выполняться в начале группы вызовов * @returns {Function} */ function debounce (originalFn, timeout, callImmediately) { var timer = null; return function debounced () { var context = this, args = arguments; function delayed () { if (!callImmediately) { originalFn.apply(context, args); } timer = null; } if (timer !== null) { clearTimeout(timer); } else if (callImmediately) { originalFn.apply(context, args); } timer = setTimeout(delayed, timeout || 100); }; } screenSize(); window.screenSize = screenSize; if (window.addEventListener) { window.addEventListener("resize", debounce(screenSize), false); } else if (window.attachEvent) { window.attachEvent("onresize", debounce(screenSize)); } })(this);

Задать свой вопрос

Все поля обязательны для заполнения
Заполните обязательные поля

При необходимости добавьте к вопросу фото или скан анализов, выписок и т.д.

  1. Изображение будет доступно только вам и врачу.
  2. Файл может быть формата *.jpg, *.png, *.bmp, *.tiff. Размер каждого изображения не должен превышать 10Мб. Проследите, чтобы фото были правильно ориентированы.
  3. Проблемный участок тела должно быть хорошо виден.
Пол пациента*
Задать анонимно
Обратите внимание
  1. Обязательно заполните все поля и максимально подробно изложите информацию по вашему вопросу.
  2. Все вопросы пользователей, поступающие в рубрику "Консультации", проходят модерацию. Модератор оценивает, насколько корректно сформулирован вопрос, и можно ли на него ответить заочно, не видя пациента.
  3. Если ваш вопрос не прошел модерацию, вам на электронную почту поступает уведомление с объяснением причины. Вы можете еще раз задать свой вопрос более корректно.
  4. По умолчанию вопрос и ответ на него будут опубликованы без указания ваших личных данных. Все приложенные фото видны только вам и врачу-консультанту, другие пользователи сети не увидят их. Не снимайте галочку «Задать анонимно», если не хотите, чтобы ваше имя появилось на сайте.
  5. Какие вопросы мы отклоняем?
  1. Вопросы, написанные транслитом.
  2. Вопросы, заданные на любом языке, кроме русского.
  3. Вопросы, требующие справочной информации. Например: "Что такое гипотиреоз?". Справочную информацию можно найти самостоятельно, воспользовавшись медицинской энциклопедией или поисковой системой.
  4. Вопросы, требующие прогноза. Например: "Гастрит – это очень страшно?" или "Как отразится аборт на моем здоровье?". Заочно и без данных обследований подобный прогноз невозможен.
  5. Вопросы о лечении народными средствами. Наши консультанты работают в рамках доказательной медицины. С вопросами о народных средствах лучше обращаться к знахарям.
  6. Просьбы прокомментировать назначения другого врача. Такие просьбы противоречат медицинской этике.
  7. Вопросы, адресованные врачам нескольких специальностей одновременно.
  8. Учитывайте, что ваш вопрос адресуется только одному врачу конкретной специальности, а не консилиуму специалистов.