function getEvents(a,b){$.ajax({url:"/events/json",type:"POST",data:a,dataType:"json",cache:true,context:this,success:function(a){b(a)}})}function updateEvents(a){$(".events").css("display","none");$(".preloader").css("display","block");getEvents(a,function(a){viewModel.currentEvents.removeAll();viewModel.currentEvents(a);$(".events").css("display","block");$(".preloader").css("display","none")})}function updateCategory(a){viewModel.filterParams.selectedCat(a);$.address.autoUpdate(false).parameter("cat",a).parameter("page","0").autoUpdate(true).update()}function getConcertHalls(a){$.getJSON("/json/concerthalls/all",function(b){a(b)})}function createFilter(a,b,c,d,e,f,g){var h={city:a,cat:c,datefrom:e,dateto:f,concerthall:decodeURIComponent(b),itemsPerPage:7,page:d,performer:g};return h}function setCategoryMarker(a){$("#menuCenter .select").removeClass("select");if(a=="1")$("#lConcert").addClass("select");if(a=="2")$("#lTeatr").addClass("select");if(a=="3")$("#lSport").addClass("select");if(a=="4")$("#lChildren").addClass("select");if(a=="5")$("#lOther").addClass("select");if(a=="all"||a==undefined)$("#lAll").addClass("select")}var init=true;$.address.change(function(a){var b=$.address.parameter("city");if(b===undefined)b=$(".currentCity").val();var c=$.address.parameter("hall");if(c===undefined)c="all";var d=$.address.parameter("cat");setCategoryMarker(d);var e=$.address.parameter("page");var f=$.address.parameter("dateFrom");if(f!==undefined){$(".clearDateFrom").fadeIn();viewModel.filterParams.selectedDateFrom(f)}else{$(".clearDateFrom").fadeOut()}var g=$.address.parameter("dateTo");if(g!=undefined){$(".clearDateTo").fadeIn();viewModel.filterParams.selectedDateTo(g)}else{$(".clearDateTo").fadeOut()}var h=$.address.parameter("perf");var i=createFilter(b,c,d,e,f,g,h);updateEvents(i);$.cookie("user.referer",a.value)}).init(function(a){});var hallsData=[];var viewModel={filterParams:{selectedCity:ko.observable(),selectedCat:ko.observable(),selectedPage:ko.observable(),selectedPerform:ko.observable(decodeURIComponent($.address.parameter("perf")||"")),selectedDateTo:ko.observable($.address.parameter("dateTo")||undefined),selectedDateFrom:ko.observable($.address.parameter("dateFrom")||undefined)},cHalls:ko.observableArray(hallsData),currentEvents:ko.observableArray([])};viewModel.mskClick=function(){this.filterParams.selectedCity("msk")};viewModel.lAllClick=function(){updateCategory("all")};viewModel.lTeatrClick=function(){updateCategory("2")};viewModel.lConcertClick=function(){updateCategory("1")};viewModel.lSportClick=function(){updateCategory("3")};viewModel.lChildrenClick=function(){updateCategory("4")};viewModel.lOtherClick=function(){updateCategory("5")};viewModel.searchClick=function(){var a=$(".search").val();a=a.trim();if(a!="название"||a!="")$.address.parameter("perf",encodeURIComponent(a))};viewModel.clearClick=function(){$.address.parameter("perf",0);this.filterParams.selectedPerform("")};viewModel.clearDateFrom=function(){$.address.autoUpdate(false).parameter("page","0").parameter("dateFrom",0).autoUpdate(true).update();viewModel.filterParams.selectedDateFrom("...")};viewModel.clearDateTo=function(){$.address.autoUpdate(false).parameter("page","0").parameter("dateTo",0).autoUpdate(true).update();viewModel.filterParams.selectedDateTo("...")};viewModel.nextClick=function(){var a=this.currentEvents().length;var b=0;if($.address.parameter("page")!=undefined)b=$.address.parameter("page");var c=parseInt(b)+1;if(a==7)$.address.parameter("page",c)};viewModel.prevClick=function(){var a=0;if($.address.parameter("page")!=undefined)a=parseInt($.address.parameter("page"));if(a>0)$.address.parameter("page",a-1)};$(function(){viewModel.filterParams.selectedCity($.address.parameter("city")||$(".currentCity").val());getConcertHalls(function(a){hallsData=a;viewModel.cHalls=ko.dependentObservable(function(){var a=this.filterParams.selectedCity();if(typeof a==="undefined"||a==="all"){return hallsData}else{return ko.utils.arrayFilter(hallsData,function(b){return b.cityName==a})}},viewModel);viewModel.filterParams.selectedCHall=ko.observable($.address.parameter("hall"));ko.applyBindings(viewModel);var b="";var c="";ko.dependentObservable(function(){var a=this.filterParams.selectedCity();var d=this.filterParams.selectedCHall();if(init!=true){if(a==b&&d!=c){if(d==undefined)d="all";$.address.autoUpdate(false).parameter("page","0").parameter("hall",d).parameter("city",a).autoUpdate(true).update()}if(a!=b&&d==c){$.address.autoUpdate(false).parameter("page","0").parameter("city",a).parameter("hall","0").autoUpdate(true).update()}if(a!=b&&d!=c){if(d==undefined)d="all";$.address.autoUpdate(false).parameter("page","0").parameter("hall",d).parameter("city",a).autoUpdate(true).update()}}else{init=false}b=a;c=d},viewModel);$LAB.script("http://userapi.com/js/api/openapi.js?45").script("/js/vkfb.js")});$("#datepicker").datepicker({dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],firstDay:1,nextText:"→",prevText:"←",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],hideIfNoPrevNext:true,onSelect:function(a,b){var c=b.selectedMonth+1;var d=b.selectedDay;if(c<10){c="0"+c}if(d<10){d="0"+d}var e=b.selectedYear;var a=e+"-"+c+"-"+d;var f=$.address.parameter("dateTo");var g=$.address.parameter("dateFrom");if(typeof f!=="undefined"&&typeof g==="undefined"){viewModel.filterParams.selectedDateFrom(a);$.address.autoUpdate(false).parameter("page","0").parameter("dateFrom",a).autoUpdate(true).update()}if(typeof g!=="undefined"&&typeof f==="undefined"){viewModel.filterParams.selectedDateTo(a);$.address.autoUpdate(false).parameter("page","0").parameter("dateTo",a).autoUpdate(true).update()}if(typeof g==="undefined"&&typeof f==="undefined"){viewModel.filterParams.selectedDateFrom(a);$.address.autoUpdate(false).parameter("page","0").parameter("dateFrom",a).autoUpdate(true).update()}}})});viewModel.textDateFrom=ko.dependentObservable(function(){var a=this.filterParams.selectedDateFrom();if(typeof a!=="undefined")return a;else{return"..."}},viewModel);viewModel.textDateTo=ko.dependentObservable(function(){var a=this.filterParams.selectedDateTo();if(typeof a!=="undefined")return a;else{return"..."}},viewModel);
