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

Телепрограмма на сегодня (Москва)

Пн, 17Вт, 18Сегодня
, Сейчас
Чт, 20Пт, 21Сб, 22Вс, 23
Ещё
Пн, 17Вт, 18СегодняЧт, 20Пт, 21Сб, 22Вс, 23
Фильмы
Сериалы
Спорт
17:00Время покажет
18:00Вечерние новости с субтитрами
18:25Время покажет
18:50На самом деле (Доказательство измены: скандальное видео с известным бизнесменом)
19:50Пусть говорят ("Оккультизм и сексуальность": что развело Степаненко и Петросяна?)
17:40Вести. Местное время
18:00Андрей Малахов. Прямой эфир (Мать с малышом сорвалась вниз, спускаясь по простыням с пятого этажа)
19:0060 минут
20:00Вести
20:45Вести. Местное время
17:20ДНК
18:15Шеф. Новая жизнь ("Преступления и наказания", "Источник информации")
19:00Сегодня
19:40Шеф. Новая жизнь ("Преступления и наказания", "Источник информации")
21:00Ментовские войны-11 ("Власть и закон", 1-я и 2-я серии)
16:55Естественный отбор (Курица - тушка охлажденная)
17:45Сразу после сотворения мира (1-я серия)
18:41Сразу после сотворения мира (2-я серия)
19:40События
20:00Петровка, 38
17:05Сита и Рама (27-я и 28-я серии)
17:50Класс мастера. Владимир Васильев (3-й выпуск)
18:40Что делать? (Велика Россия... А где жить?)
19:30Новости культуры
19:45Главная роль
17:15Все на Матч!
18:15Новости
18:25Хоккей. КХЛ. Прямая трансляция ("Йокерит" (Хельсинки) - "Металлург" (Магнитогорск))
20:55Новости
21:00Все на футбол!
13:30Кухня
19:00Премьера! "Воронины"
20:00Премьера! "Молодёжка"
21:00Трансформеры-3. Тёмная сторона Луны
00:10Уральские пельмени (Любимое)
17:00Тайны Чапман
18:00Самые шокирующие гипотезы
19:00Информационная программа 112
19:30Новости
20:00Человек-паук-2
17:30Ольга (26-я серия)
18:00Ольга (27-я серия)
18:30Ольга (28-я серия)
19:00Ольга (29-я серия)
19:30Ольга (30-я серия)
14:20Катино счастье (1-я - 4-я серии)
18:006 кадров
19:00Наследница (1-я - 4-я серии)
22:50Напарницы (17-я серия)
23:506 кадров
16:50Решала
17:50Улетное видео. Лучшее
18:30Утилизатор
19:00Дорожные войны. Лучшее
20:00Дорожные войны 2.0
17:35Слепая (611-я серия - "В последний раз")
18:10Слепая (375-я серия - "Володя")
18:40Нейродетектив (29-я серия)
19:30Нейродетектив (30-я серия)
20:30Менталист (133-я серия)
14:05Другой майор Соколов (12-я - 16-я серии)
18:00Новости дня
18:40Вперёд, кавалерия! (На коня, пролетарий!)
19:35Последний день (Юрий Левитан)
20:20Секретная папка (Лекарство для Победы)
17:00Улицы разбитых фонарей-5 (12-я серия - "Альбом великого поэта")
17:55Улицы разбитых фонарей-5 (26-я серия - "Горячие головы")
18:50След (Возвращение вещего старца)
19:40След (Отступники)
20:20След (Интимный аудит)
17:30Обмен жёнами
19:00Клон
21:00Я стесняюсь своего тела
00:25В теме
01:00Мыслить как преступник
15:00На ножах
19:00Адская кухня-2
21:00На ножах
23:00Сверхъестественное
00:30Пятница News
17:30Мекард
17:45Утиные истории
18:15Леди Баг и Супер-Кот
18:40Зак Шторм - Суперпират
19:10Город героев: Новая история
17:30Губка Боб Квадратные Штаны (119-я серия)
17:55Губка Боб Квадратные Штаны (120-я серия)
18:25Губка Боб Квадратные Штаны (121-я серия)
18:50Губка Боб Квадратные Штаны (122-я серия)
19:20Губка Боб Квадратные Штаны (123-я серия)
17:10Возвращение Мухтара-2 (Поздняя любовь)
18:05Возвращение Мухтара-2 (На помощь Сан Санычу)
19:00Новости
19:20Кодекс чести (25-я - 27-я серии)
22:10Тётя Клава фон Геттен
17:00Мир Винкс
17:55Маджики
18:20"Летающие звери". "Малыши и летающие звери"
19:45Дружба - это чудо
20:30Спокойной ночи, малыши!
17:30Универ (224-я серия - "Взрыв из прошлого")
18:00Comedy Woman
18:30Comedy Woman
19:00Comedy Woman
20:00Comedy Club Classic
17:30Родители (20-я серия)
18:00Родители (21-я серия)
18:30Родители (22-я серия)
19:00Гранд (3-я серия)
19:30Гранд (4-я серия)
17:05Под прикрытием (1-я и 2-я серии)
18:00ОТРажение
21:00Новости
21:05Прав!Да?
21:55Активная среда
17:00Анатомия раскола (2-я серия)
18:00Завет
19:00Новый день
20:00Прямая линия. Ответ священника
21:30До самой сути
Новости ТВ
«Кино Mail.Ru» предлагает вам ознакомиться с подробной программой телепередач на сегодня, завтра и на неделю, для всех популярных российских и международных телеканалов. ТВ-программа доступна как для центральных (Первый, НТВ, Россия 1, ТНТ, СТС и многих других), так и для местных и тематических каналов — музыкальных, спортивных, новостных, образовательных. Вы можете отфильтровать передачи по жанрам (фильмы, сериалы, спортивные передачи и т.д.), а также настроить список интересных лично вам телепрограмм. Кроме того, вам доступна настройка напоминаний о начале любимых телепрограмм. Вы можете настроить уведомления по почте и по SMS.