'use strict'; // Выбор тем (function () { var $themes_modal = $('.popup-window.themes'), user_choice = { th: {}, tg: {} }, renderSublistItem = function (data) { return '
  • ' + '' + '
  • '; }, renderSublist = function (url, $sub_list) { var $loader = $themes_modal.find('.wait-ajax').show(); $.getJSON(url, function (data, status) { if (status == 'success'){ $.each(data, function (i) { var $sub_item = $(renderSublistItem( data[i] )); $sub_list .addClass('has_items') .append($sub_item); }); $loader.hide(); } }); }, renderSelectedThemes = function (id, name, text) { return '
  • ' + '' + text + '×' + '
  • ' }; // открываем список тегов в теме $themes_modal.on('click', '.trigger', function (e) { e.preventDefault(); var $link = $(this), $sub_list = $link.next('.sub'); // если теги подгружены, то открываем(закрываем) список // если нет, то подгружаем аяксом теги if ($sub_list.hasClass('has_items')){ $sub_list.slideToggle(100); } else { renderSublist($link.attr('href'), $sub_list); } }); $themes_modal.on('change', 'input[type="checkbox"]', function (e) { e.preventDefault(); var $checkbox = $(this); // записываем(удаляем) в объект user_choice отмеченные темы(теги) if($checkbox.is(':checked')){ user_choice[$checkbox.attr('name')][$checkbox.val()] = $checkbox.parent().find('.label').text(); } else { delete user_choice[$checkbox.attr('name')][$checkbox.val()]; } }); // Подтверждение выбранных тем $themes_modal.on('click', '.modal-approve', function (e) { e.preventDefault(); var $selected_themes = $('#selected_themes'), $selected_tags = $('#selected_tags'); $selected_themes.html(''); for (var theme_id in user_choice['th']) { var $theme = $(renderSelectedThemes(theme_id, 'th', user_choice['th'][theme_id])); $selected_themes.append($theme); } for (var tag_id in user_choice['tg']) { var $tag = $(renderSelectedThemes(tag_id, 'tg', user_choice['tg'][tag_id])); $selected_tags.append($tag); } $.fancybox.close(); }); if (checked_th.length){ $.each(checked_th, function (i,val) { console.log(val); $('input[name="th"][value=' + val + ']').prop('checked', true); }); } })(); // Выбор городов (function () { var $cities_modal = $('.popup-window.r_cities'), selected_cities = {}, renderSelectedCities = function (id, text) { return '
  • ' + '' + text + '×' + '
  • ' }; $cities_modal.on('change', 'input[type="checkbox"]', function (e) { e.preventDefault(); var $checkbox = $(this); // записываем(удаляем) в объект selected_cities отмеченные темы(теги) if($checkbox.is(':checked')){ selected_cities[$checkbox.val()] = $checkbox.parent().find('.label').text(); } else { delete selected_cities[$checkbox.val()]; } }); // Подтверждение выбранных городов $cities_modal.on('click', '.modal-approve', function (e) { e.preventDefault(); var $selected_cities = $('#selected_cities'); $selected_cities.html(''); for (var city_id in selected_cities) { var $city = $(renderSelectedCities(city_id, selected_cities[city_id])); $selected_cities.append($city); } $.fancybox.close(); }) })(); // Выбор стран (function () { var $countries_modal = $('.popup-window.countries'), user_countries = { area: {}, co: {} }, renderSublistItem = function (data) { return '
  • ' + '' + '
  • '; }, renderSublist = function (url, $sub_list) { var $loader = $countries_modal.find('.wait-ajax').show(); $.getJSON(url, function (data, status) { if (status == 'success'){ $.each(data, function (i) { var $sub_item = $(renderSublistItem( data[i] )); $sub_list .addClass('has_items') .append($sub_item); }); $loader.hide(); } }); }, renderSelectedThemes = function (id, name, text) { return '
  • ' + '' + text + '×' + '
  • ' }; // открываем список тегов в теме $countries_modal.on('click', '.trigger', function (e) { e.preventDefault(); var $link = $(this), $sub_list = $link.next('.sub'); // если теги подгружены, то открываем(закрываем) список // если нет, то подгружаем аяксом теги if ($sub_list.hasClass('has_items')){ $sub_list.slideToggle(100); } else { renderSublist($link.attr('href'), $sub_list); } }); $countries_modal.on('change', 'input[type="checkbox"]', function (e) { e.preventDefault(); var $checkbox = $(this); // записываем(удаляем) в объект user_choice отмеченные темы(теги) if($checkbox.is(':checked')){ user_countries[$checkbox.attr('name')][$checkbox.val()] = $checkbox.parent().find('.label').text(); } else { delete user_countries[$checkbox.attr('name')][$checkbox.val()]; } }); // Подтверждение выбранных тем $countries_modal.on('click', '.modal-approve', function (e) { e.preventDefault(); var $selected_countries = $('#selected_countries'); $selected_countries.html(''); for (var area_id in user_countries['area']) { var $theme = $(renderSelectedThemes(area_id, 'area', user_countries['area'][area_id])); $selected_countries.append($theme); } for (var co_id in user_countries['co']) { var $tag = $(renderSelectedThemes(co_id, 'co', user_countries['co'][co_id])); $selected_countries.append($tag); } $.fancybox.close(); }) })(); $(function () { $('.back_to_site').on('click', function (event) { event.preventDefault(); window.history.back(); }); $('.modal_trigger').fancybox({ padding: 0 }); $('.scroll-container').mCustomScrollbar(); });