var loadedDom=false;var enableDom=true;var oLoaded={type:null,id:null};var sUrlAjax="/";var bIsUpdate=false;var sCodepart=null;var fadeMode="def";var aExcludeCountry=[];var aMotorErrors=[];var motorParams={country:{val:null,isRequired:true,errorTrad:"motor_selectcountry",reg:"^\\d+$"},resort:{val:null,isRequired:true,errorTrad:"motor_selectresort",reg:"^\\d+$"},shop:{val:null,isRequired:true,errorTrad:"motor_selectshop",reg:"^\\d+$"},firstday:{val:null,isRequired:true,errorTrad:"motor_firstday",reg:"^\\d{4}-\\d{2}-\\d{2}$"},duration:{val:null,isRequired:true,errorTrad:"motor_duration",reg:"^\\d+$"}};var calParams={numberOfMonths:1,firstDay:6,minDate:null,maxDate:null,dateFormat:"D. d MM yy",altField:"#skmotor_firstday",altFormat:"yy-mm-dd",showOn:"both",beforeShowDay:isAvailable,onSelect:setLastDay,navigationAsDateFormat:true,buttonImage:sStaticUrl+"skishop/images/calendar/calendar_icon.png",buttonImageOnly:true};var resortsList=[];var shopsList=[];jQuery(function(a){a("#skmotor_resort").change(function(){changeResort()});a("#skmotor_shop").change(function(){changeShop()});a("#skmotor_duration").change(function(){changeDuration()});a.each(motorParams,function(b){setVal(b)});if(a("#loadBox").length){loadedDom=true}if(!a("#homeBox").length){enableDom=false}if(bIsUpdate){setCalParam("numberOfMonths",2)}hideDurationInfo();if(!loadedDom){changeShop()}setCal();if(!bIsUpdate){a.extend(a.datepicker,{_checkOffset:function(c,e,d){var b=a("#skMotorBox").offset();return{left:b.left,top:b.top}}})}a("#skmotor_partnercode").focus(function(){a("#skmotor_partnercode").removeClass("inputError")});a("#skPartnerCodeLnk").click(function(){checkCodePart(true);a.fn.colorbox({inline:true,href:"#skPartnerCodeBox",fixed:true,width:"890",opacity:0.7,onOpen:hideObject,onClosed:showObject});return false});a("#skPartnerCloseLnk").click(function(){a.colorbox.close();return false});a("#skPartnerValLnk").click(function(){a.getJSON("/ajaxmotor/checkpartnercode/format/json/ncr/2/",{code:a("#skmotor_partnercode").val()},function(b){var c=(typeof b.results==="object")?b.results:false;if(c.code){sCodepart=c.code;if(c.code!="skishop"){a("#skPromoCode").html(c.code).parent().show()}else{a("#skPromoCode").parent().hide()}a.colorbox.close()}else{a.jqMess({message:getTrad("bad_partner_code"),classname:"error",delay:5000});a("#skmotor_partnercode").addClass("inputError")}});return false});a("#skMotorForm").submit(function(){return checkMotor()})});function checkCodePart(a){if(a){$("#skmotor_partnercode").removeClass("inputError")}if(!isNullJs(sCodepart)){$("#skmotor_partnercode").val(sCodepart)}else{$("#skmotor_partnercode").val("")}}function checkMotor(){clearErrors();$.each(motorParams,function(d){if(motorParams[d].isRequired){var c=new RegExp(motorParams[d].reg,"gi");var b=$("#skmotor_"+d).val();if((c.exec(b)==null)||String(b)=="0"){aMotorErrors.push(motorParams[d].errorTrad);$("#skmotor_"+d).addClass("inputError")}}});var a=aMotorErrors.length;if(a){affError();return false}else{checkCodePart(false);return true}}function clearErrors(){aMotorErrors=[]}function affError(){if(aMotorErrors.length){var b="";var a="";$.each(aMotorErrors,function(){b+=a+getTrad(this);a=" + "});$.jqMess({message:b,classname:"error",delay:5000})}}function hideDurationInfo(){if(intval(getVal("duration"))!=6||$.inArray(getVal("country"),aExcludeCountry)!=-1){$("#durationInfotx").hide()}else{$("#durationInfotx").show()}}function setLoad(b,a){oLoaded.id=a;oLoaded.type=b}function checkLoaded(b,a){return(oLoaded.id==a&&oLoaded.type==b)}function changeResort(){setVal("resort");var b=getVal("resort");$("#skmotor_resort").removeClass("inputError");if(!isNullJs(getVal("resort"))){var a=0;if(!issetJs(shopsList[b])){$.getJSON("/ajaxmotor/getshops/ncr/2/resort/"+b,function(c){var d=(typeof c.results==="object")?c.results:{};if(!issetJs(d.errorcode)&&issetJs(d.list)){a=Number(d.count);shopsList[b]=d;if(a>1){populateSelect("shop",getTrad("motor_selectshop"),d.list);loadMainContainer("resort",{resort_id:b,update:(bIsUpdate?1:0)})}else{populateSelect("shop",null,d.list);changeShop()}}else{clearMainContainer();populateSelect("shop",getTrad("motor_nodatas"),{})}})}else{a=Number(shopsList[b].count);if(a>1){populateSelect("shop",getTrad("motor_selectshop"),shopsList[b].list);loadMainContainer("resort",{resort_id:b,update:(bIsUpdate?1:0)})}else{populateSelect("shop",null,shopsList[b].list);changeShop()}}}else{clearMainContainer();populateSelect("shop",getTrad("motor_selectresortfirst"),{})}}function changeShop(){setVal("shop");var a=getVal("shop");var b=getVal("resort");$("#skmotor_shop").removeClass("inputError");if(!isNullJs(getVal("shop"))){loadMainContainer("shop",{shop_id:a,resort_id:b,update:(bIsUpdate?1:0)});checkShopConf()}else{changeResort()}}function changeDuration(){setVal("duration");hideDurationInfo();setLastDay()}function changeDurations(){var a=aDurations.length;var b="";setVal("duration");$("#skmotor_duration").empty();if(a){$.each(aDurations,function(c,d){b=(intval(d)>1)?getTrad("motor_days"):getTrad("motor_day");$("#skmotor_duration").append('<option value="'+d+'">'+d+" "+b+"</option>")})}attribVal("duration",getVal("duration"));setVal("duration");hideDurationInfo();setLastDay()}function selectShop(a){attribVal("shop",a);changeShop()}function populateSelect(c,a,b){$("#skmotor_"+c).empty();if(!isNullJs(a)){$("#skmotor_"+c).append('<option value="0" class="toslt">'+a+"</option>")}var d=0;$.each(b,function(g,e){if(typeof(e)=="object"){var f=c.concat(d);$("#skmotor_"+c).append('<optgroup id="grp'+f+'" label="'+g+'"></optgroup>');$.each(e,function(j,h){$("#grp"+f).append('<option value="'+j+'">'+h+"</option>")});d++}else{$("#skmotor_"+c).append('<option value="'+g+'">'+e+"</option>")}})}function loadMainContainer(a,c){if(enableDom){var b=issetJs(c.shop_id)?c.shop_id:(issetJs(c.resort_id)?c.resort_id:0);if(b&&!checkLoaded(a,b)){setLoad(a,b);if(loadedDom){$("#loadCache").fadeIn(fadeMode,function(){loadContent(a,c)})}else{generateMainContainer(a,c)}}}}function generateMainContainer(a,b){$("#homeBox").html("<div id='loadBox' class='nodisplay'><div id='loadContent'><div id='loadCache' class='skcache skwaiting'></div><div id='loadHomebox'></div></div></div>");$("#loadBox").fadeIn(fadeMode,function(){$(this).removeClass("nodisplay");loadContent(a,b)})}function loadContent(a,b){$("#loadHomebox").load(sUrlAjax+"manage"+a+"/homebox/ncr/1",b,function(){$("#loadCache").fadeOut(fadeMode);loadedDom=true})}function clearMainContainer(){if(loadedDom){$("#loadBox").fadeOut(fadeMode,function(){$("#homeBox").empty()});loadedDom=false;setLoad(null,null)}}function checkShopConf(){setVal("firstday");$.getJSON("/ajaxmotor/getdatesoffforshop/ncr/2/shop/"+getVal("shop")+"/first_day/"+getVal("firstday"),function(a){var b=(typeof a.results==="object")?a.results:{};if(!issetJs(b.errorcode)){if(issetJs(b.bMotorOpen)){bMotorOpen=b.bMotorOpen}if(issetJs(b.sCurrent)){sCurrent=b.sCurrent}if(issetJs(b.aOpenDates)){aOpenDates=b.aOpenDates}if(issetJs(b.aOpenDates)){aCloseDates=b.aCloseDates}if(issetJs(b.aDurations)){aDurations=b.aDurations;changeDurations()}setCal()}})}function setCalParam(a,b){calParams[a]=b}function setCal(){attribVal("firstday",sCurrent);setVal("firstday");setCalParam("minDate",getDate(aOpenDates.open_date));setCalParam("maxDate",getDate(aOpenDates.close_date));$("#skmotor_pjs").datepicker("destroy");$("#skmotor_pjs").datepicker(calParams);$("#skmotor_pjs").datepicker("setDate",getDate(sCurrent));setLastDay()}function setLastDay(){var b=getDate($("#skmotor_firstday").val());var a=parseInt($("#skmotor_duration").val())-1;b.setDate(b.getDate()+a);$("#skmotor_last").html($.datepicker.formatDate("DD d MM yy",b))}function isAvailable(b){var c=aCloseDates.length;if(c){var a=b.getTime();for(i=0;i<c;i++){if(a>=getDate(aCloseDates[i].first_day).getTime()&&a<=getDate(aCloseDates[i].last_day).getTime()){return[false]}}}return[true]}function getDate(b){var a=b.split("-");if(a.length==3){return new Date(Number(a[0]),Number(a[1])-1,Number(a[2]))}else{return new Date()}}function getMaxDate(b,a){return(b.getTime()>a.getTime())?b:a}function getSqlDate(a){return a.getFullYear().toString()+"-"+(a.getMonth()+1).toString()+"-"+a.getDate()}function getTheDate(a){return a.getDate()+"/"+(a.getMonth()+1).toString()+"/"+a.getFullYear().toString()}function setVal(b){var c=new RegExp(motorParams[b].reg,"gi");var a=$("#skmotor_"+b).val();motorParams[b].val=((c.exec(a)==null)||String(a)=="0")?null:a}function getVal(a){return motorParams[a].val}function forceVal(a,b){motorParams[a].val=b}function attribVal(a,b){$("#skmotor_"+a).val(b)};
