(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);
Телепрограмма
Mail.RuПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискВсе проекты
Наверх

Центральные каналы в Москве

Вс, 20Пн, 21Сегодня
, Сейчас
Ср, 23Чт, 24Пт, 25Сб, 26Вс, 27
Ещё
Вс, 20Пн, 21СегодняСр, 23Чт, 24Пт, 25Сб, 26Вс, 27
Фильмы
Сериалы
Спорт
09:15Сегодня 22 января. День начинается
09:55Модный приговор (Дело "Мой будущий папа - француз!")
10:55Жить здорово!
12:00Новости с субтитрами
12:15Время покажет
09:25Утро России
09:55О самом главном
11:00Вести
11:25Вести. Местное время
11:40Судьба человека с Борисом Корчевниковым (Борис Невзоров)
08:05Мухтар. Новый след ("Догситтер", "Эти глаза напротив")
10:00Сегодня
10:20Морские дьяволы-3 ("Свои", "Квота на икру", "Мирские хлопоты")
13:00Сегодня
13:25Обзор. Чрезвычайное происшествие
08:30Большая семья
10:35Борис Андреев. Богатырь союзного значения
11:30События
11:50Чисто английское убийство (9-я серия - "Скромность")
12:43Чисто английское убийство (10-я серия - "Скромность")
09:10Эйнштейн (8-я серия)
10:00Новости культуры
10:15Наблюдатель
11:10ХХ век ("Играем джаз!.. Фестиваль в Тбилиси" (ТО "Экран", 1986))
12:10Гавр. Поэзия бетона
09:00Футбол. ФОНБЕТ КУБОК МАТЧ ПРЕМЬЕР. Трансляция из Катара ("Спартак" (Москва) - "Ростов")
11:00Новости
11:05Все на Матч!
11:45Футбол. Чемпионат Испании ("Эйбар" - "Эспаньол")
13:35Специальный репортаж (Матч звёзд КХЛ. Live)
09:30Крутой и цыпочки
11:30Звёздный путь
14:00Ивановы-Ивановы
20:00Премьера! "Молодёжка"
21:00Стартрек. Возмездие
09:00"Военная тайна" с Игорем Прокопенко (2-я часть)
11:00Документальный проект
12:00Информационная программа 112
12:30Новости
13:00Загадки человечества с Олегом Шишкиным
09:00Дом-2. Lite
10:15Дом-2. Остров любви
11:30Бородина против Бузовой (102-я серия)
12:30СашаТаня (16-я серия - "Саша - таксист")
13:00СашаТаня (17-я серия - "Таня - репетитор")
09:50Давай разведёмся! (464-я серия)
10:50Тест на отцовство (152-я серия)
11:50Реальная мистика (66-я серия - "Призрак-убийца")
12:50Понять. Простить (499-я серия - "Медные трубы", 82-я серия - "С того света")
14:00Одинокие сердца (1-я и 2-я серии)
08:10Дорожные войны
10:00Дорожные войны 2.0
11:00Решала
13:00Идеальный ужин
15:00Дикий
09:20Слепая (376-я серия - "По ветру")
09:55Слепая (651-я серия - "Рыжий")
10:30Слепая (403-я серия - "Пропала собака")
11:00Гадалка (797-я серия - "Черная Аннис")
11:30Гадалка (579-я серия - "Я все исправлю")
09:15В зоне риска (5-я - 8-я серии)
10:00Военные новости
10:05В зоне риска (5-я - 8-я серии)
13:00Новости дня
13:15В зоне риска (5-я - 8-я серии)
09:25Дальнобойщики (Кино)
10:20Дальнобойщики (Дочь олигарха)
11:10Дальнобойщики (Эпидемия)
12:05Дознаватель (8-я серия - "Огонь")
13:00Известия
09:15Клон
11:15Мастершеф
15:25Моя свекровь - монстр
17:30Обмен жёнами
19:00Клон
09:45Мир наизнанку (2-я серия)
10:35Мир наизнанку (3-я серия)
11:25Мир наизнанку (4-я серия)
12:10Мир наизнанку (5-я серия)
13:05Мир наизнанку (6-я серия)
09:35Елена - принцесса Авалора
10:05Хранитель Лев
10:35Дружные мопсы
11:00Герои в масках
11:35Удивительная Ви
09:50Царь горы (4-я серия)
10:20Бешеные кролики
10:45Вся правда о медведях (21-я и 22-я серии)
11:15Вся правда о медведях (23-я и 24-я серии)
11:40Вся правда о медведях (1-я и 2-я серии)
06:00Лист ожидания (7-я - 10-я серии)
10:00Новости
10:10Лист ожидания (10-я - 12-я серии)
13:00Новости
13:15Зал суда. Битва за деньги
09:40"Союзмультфильм" представляет: "38 попугаев"
10:35Смешарики. Пин-код
12:15Монкарт
13:10Барбоскины
14:00Навигатор. Новости
09:00Comedy Club Classic
10:00Comedy Club Classic
11:00Comedy Club Classic
12:00Comedy Club Classic
12:30Comedy Club Classic
09:30Родители (32-я серия)
10:00Корабль (5-я серия)
11:00Анатомия страсти (24-я серия - "Прорыв")
12:00Сваты (13-я серия)
13:00Сваты (14-я серия)
09:00Чкалов (3-я и 4-я серии)
10:00Новости
10:05Чкалов (3-я и 4-я серии)
10:50Активная среда
11:00Новости
09:30Монастырская кухня
10:00До самой сути
11:00Бесогон
12:00Не верю! Разговор с атеистом
13:00Прямая линия. Ответ священника
Новости ТВ
«Mail.ru Кино» предлагает вам ознакомиться с подробной программой телепередач на сегодня, завтра и на неделю, для всех популярных российских и международных телеканалов. ТВ-программа доступна как для центральных (Первый, НТВ, Россия 1, ТНТ, СТС и многих других), так и для местных и тематических каналов — музыкальных, спортивных, новостных, образовательных. Вы можете отфильтровать передачи по жанрам (фильмы, сериалы, спортивные передачи и т.д.), а также настроить список интересных лично вам телепрограмм. Кроме того, вам доступна настройка напоминаний о начале любимых телепрограмм. Вы можете настроить уведомления по почте и по SMS.