$(function () { $('#salonSelect').change(function () { var _value = $(this).val(); if (_value) { _loadSalonPopup(_value); } }); $('.citySelectA').click(function () { _loadSalonPopup($(this).attr('rel')); return false; }) _reinitPopupHandlers(); }); var _reinitPopupHandlers = function () { if ($('.popup_body').length) { $('#ajax_popup').html($('.popup_body').html()); $('.popup_body').remove(); } /* переделываем селекты */ $('#ajax_popup .select_city').selectbox(); /* закрытие окошка */ $('#ajax_popup .close, #ajax_popup .overlay').click(function () { $('#ajax_popup').hide(); // $('#ajax_popup > *').remove(); /* ALEX FIX */ }); { /* Обработчик по клику на карте проезда */ $('#ajax_popup .mapLink').toggle(function () { $(this).html('Скрыть карту проезда'); $('#salon_placehoder').append(''); if (!$('.jcarousel-skin-salon LI').length) { $(this).remove(); } return false; }, function () { $(this).html('Карта проезда'); $('#map_full').remove(); }); if ($('#ajax_popup .jcarousel-skin-salon LI').length) { $('#ajax_popup .jcarousel-skin-salon').jcarousel({ scroll: 1 }) } else { $('#ajax_popup .mapLink').click(); } } /* наводим на вкладке в окнах */ $('#ajax_popup .categoryTabs>li>ul').parent('li').hover(function(){ $(this).addClass('catHover'); }, function () { $(this).removeClass('catHover'); }); /* обработчик на выпадающем списке городов в окошке */ $('#ajax_popup .select_city').change(function () { var _value = $(this).val(); if (_value) { _loadSalonPopup(_value); } }); /* Выбираем определённый салон */ $('#ajax_popup .categoryTabs>li>ul A').click(function () { _loadSalonPopup($(this).attr('city'), $(this).attr('id')); return false; }); /* Запрет нажатия на табы */ $('#ajax_popup .tab').click(function () { return false; }); } { // ajax + historyPage var _loadSalonPopup = function (city, id) { var _link = _link_salons.split(_root)[1]; var _rndDate = Date.now(); historyPage.GoTo(_link + encodeURIComponent(city) + (id ? '/' + id : '') + '/?ajax=1&rnd=' + _rndDate, 'salons'); // console.log(_link + encodeURIComponent(city) + (id ? '/' + id : '') + '/?ajax=1'); } historyPage.addCallBack(function (url) { $.get(_root + url, null, function (data) { $('#ajax_popup').html(data).show(); _reinitPopupHandlers(); }); }, 'salons'); $(function () { _reinitPopupHandlers(); var hash_temp = location.toString().split('#'); if ( hash_temp[1] && hash_temp[1].match('salons')) { historyPage.GoTo(hash_temp[1], 'salons'); } }); }