(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
Фильмы
Сериалы
Спорт
10:00Шинкуют все (7-я серия - "Кто откликнулся первым")
11:00Сестры Даггар: пополнение (21-я серия - "Экономное свидание")
12:00Я вешу 300 кг (16-я серия - "История Тэми Лин", часть 2-я)
13:00Наша маленькая семья (5-я серия - "Подумаешь, еще один Хэмилл?")
14:00Виза невесты. Виза жениха (9-я серия)
10:00Диалоги в Астрахани (Про рыбу и баранов)
10:30Планета рыбака (На Рыбинке зимой)
11:00Народный проект. Беларусь (Ловим форель)
11:35Татьянин день (Окуни клюют на всё)
12:00Диалоги на радио "Вести FM" (Новинки телеканала)
09:20Фильм-спектакль "Энергичные люди"
11:45Музыкальная ностальгия
12:00"СевАлогия" с Севой Новгородцевым (Владимир Высоцкий)
12:55Музыкальная ностальгия
13:30Профессия - следователь (1-я серия)
10:07Босоногая графиня: Простая кухня (8-я серия - "Идеальная коктейльная вечеринка")
10:30Кухня (4-я серия - "Зимние угощения")
11:15На куски! (3-я серия - "Состязание военных")
12:00Кафе, закусочные и забегаловки (12-я серия - "Лучшие кафе Гаваны")
12:22Кафе, закусочные и забегаловки (13-я серия - "Невероятное оборудование")
10:00Выпуск новостей Radio-Canada
10:26Выпуск новостей TV5 Monde
10:39Магриб - восточный экспресс (Дон Бигг, Мухаммед и Абдулла Абозекри, Ясин Алами)
11:06Хан - люди, животные, природа
11:32Спасибо, учитель!
09:15Выстрел на перевале Караш
10:55Доспехи Бога
12:20Бременские музыканты
12:45Гадкий утенок
13:00Ну, погоди! (17-я часть)
09:50Следственный эксперимент (Тайна следа)
10:20Следственный эксперимент (Истории отравления)
10:50Крушение на миллиард
11:40Поймать невозможное (Норвегия)
12:35Гражданское оружие (Тактико-циклическая стрельба)
09:20Час с Форум Хаус (20-я серия)
10:10Ландшафтные хитрости (28-я серия - "Сад в мегаполисе")
10:50Декор сада (6-я серия)
11:10ТВ Экспо (27-я серия - "Импортозамещение")
11:45Дачная академия (2-я серия - "Планирование")
10:00Кабинет косметолога (5-я серия)
10:15Красота от природы (5-я серия)
10:300 калорий (21-я серия)
10:450 калорий (22-я серия)
11:00Моржи и закаливание (2-я серия)
10:00Топ фотосессий
10:30Топ фотосессий
10:55Люди-F
11:00Детская мода
11:30Детская мода
09:50Легенды рыбалки (4-я серия)
10:15Огнестрельное оружие США (10-я серия)
10:35Огнестрельное оружие США (11-я серия)
11:00Лесники (3-я серия)
11:45Рыбалка. Высшая лига (3-я серия)
09:50Защищая небо Родины. История отечественной ПВО (2-я серия)
10:25Выдающиеся авиаконструкторы (Сергей Ильюшин)
11:00Братство бомбы (1-я серия)
12:00Один в поле воин (2-я серия)
12:45Оружие
10:05Рыбалка без границ (30-я серия)
10:35Следопыт (14-я серия)
11:00Охотничьи собаки (18-я серия)
11:30Карпфишинг (6-я серия)
12:00Технология зимнего клева (4-я серия)
10:00Прогулка по Петропавловску-Камчатскому
10:45Rtg TV Top 10
11:00Бородино
12:00Отец Евгений. Миссия на краю земли
12:15Казанское авиапредприятие МВЕН
09:30Супергрузовики (11-я серия)
10:15Мото. Вторые руки (9-я серия)
10:40Мото. Вторые руки (7-я серия)
11:10Вечер с Пикуленко (37-я серия)
11:50Новости на "Драйве" (279-я серия)
10:00Модель Йога (3-я серия)
10:30Новый минимализм (6-я серия)
11:00Коллекции дизайнеров (14-я серия)
11:30Парад дизайнеров (12-я серия)
12:00Кутюрная неделя в Париже Весна-Лето 2019
09:00Спектакль "Клятвенные девы"
10:20Актерский буфет (Римас Туминас и Видас Силюнас)
12:00Слово мастера (Дмитрий Дюжев)
12:05Дом актера (Одиссея Тонино или Путь к юбилею)
12:45Postcard (Альцина)
09:40Ломбард (4-я серия)
10:30Тот, кто ищет (4-я серия)
10:55Уличный патруль (1-я серия)
11:45Курс на столкновение (2-я серия)
12:35Быстрое реагирование (1-я серия)
10:00КПЗ. Офлайн (Открытый луковый пирог)
10:30Дежурный по кухне (Острое рагу из колбасок и овощей)
11:00Небанальная кухня Павлова (Гратен из сельдерея с грибами)
11:25Теле-теле-тесто (Булочки с помадкой)
12:00Птица. От филе до фарша (Глухарь томлёный с соусом из клюквы и можжевельника на яблочной шарлотке)
10:00заСАДа (9-я серия)
10:30101 ответ о садоводстве (24-я серия)
11:00Беспокойное хозяйство (32-я серия)
11:35Мaстер (3-я серия)
12:00Полное лукошко (1-я серия)
10:00Охотничьи собаки
10:30Рыбалка на краю света
11:00В курсе дела
11:20Февральский путик
11:55Мастерская рыболова
10:00Школа доктора Комаровского
10:30"Лагерь "Последние 5 кг". Спецоперация: похудение"
11:00Доктор И
11:25Медицинские инновации
12:00Инструкция по обману смерти
09:45Город для двоих. Гид на выходные (Аяччо)
10:15Танцующий мир (Боливийский парад)
10:50Без ума от еды (Эмилия-Романья, Италия)
11:20Вегетарианка за границей (Кейптаун, ЮАР)
11:50Уличная еда с Айнсли Хариоттом (Рейкьявик, Исландия)
10:00Выбор редакции
10:15Модный репортаж
10:30Модные показы
10:45Красные дорожки
11:00#FashionАфиша
Новости ТВ
«Mail.ru Кино» предлагает вам ознакомиться с подробной программой телепередач на сегодня, завтра и на неделю, для всех популярных российских и международных телеканалов. ТВ-программа доступна как для центральных (Первый, НТВ, Россия 1, ТНТ, СТС и многих других), так и для местных и тематических каналов — музыкальных, спортивных, новостных, образовательных. Вы можете отфильтровать передачи по жанрам (фильмы, сериалы, спортивные передачи и т.д.), а также настроить список интересных лично вам телепрограмм. Кроме того, вам доступна настройка напоминаний о начале любимых телепрограмм. Вы можете настроить уведомления по почте и по SMS.