var QuoteBoxModelSetup=function(){this.Container=undefined;this.ButtonText=undefined;this.ButtonDisabledText=undefined;this.Responsive=!0;this.GetQuoteCallback=undefined;this.ValidateQuoteInfo=!1;this.hdnHotDealIDForQuoteBoxValidation=undefined;this.hdnIsQuoteSimple=!1;this.CheckUseQuickSearch=!1},aaMembershipNumberPrefix="308326",QuoteBoxModel=function(){var n=this,i;n.UserUrl=ko.observable(encodeURIComponent(window.location.href));n.validationHeader=ko.observable();n.validationSummary=ko.observable();n.PromotionCode=ko.observable();n.MembershipNumber=ko.observable();n.ViewPromotionCode=ko.observable("enter promo code");n.AAPromotionParttern="aamember";n.EnablePromotionCode=ko.observable(!0);n.EnableMembershipNumber=ko.observable(!1);n.PromotionCode.subscribe(function(t){n.IgnorePromotionSubscribe()||(!!t&&t.toLowerCase().indexOf(n.AAPromotionParttern)>=0?(n.EnableMembershipNumber(!0),n.MembershipNumber(aaMembershipNumberPrefix),$("#membershipNumber").focus(),$("#membershipNumber").keyup(function(){this.value.substring(0,aaMembershipNumberPrefix.length)!=aaMembershipNumberPrefix&&$(this).val(aaMembershipNumberPrefix)})):(n.EnableMembershipNumber(!1),n.MembershipNumber("")))});n.hasChanged=!1;n.IsCollapsed=ko.observable(!0);var r=function(n,t){var i=$.grep(t,function(t){return t.Value.toString()===n.toString()});return i.length>0?i[0].Text:""},u=function(n,t){var i=$.grep(t,function(t){return t.Value.toString()===n.toString()});return i.length>0?i[0].BranchId:0},f=function(){n.popupAjax=undefined;n.fetchingInfo=ko.observable(!1);n.locationHeading=ko.observable();n.locationImgSrc=ko.observable();n.locationDesc=ko.observable();n.locationAddress=ko.observable()},e=function(){var t=function(n){if(moment(n).add("days",1).isBefore(moment()))return[!1,""];var r=$(this).val(),u=$(this).closest("div.form.itin").find("input.date-to").val(),t=moment(r||moment().format(__grConfig.app.dateFormat),__grConfig.app.dateFormat).toDate(),i=moment(u||moment().format(__grConfig.app.dateFormat),__grConfig.app.dateFormat).toDate();return n.getTime()===t.getTime()?[!0,"selected-date-from"]:n.getTime()===i.getTime()?[!0,"selected-date-to"]:n.getTime()>t.getTime()&&n.getTime()<i.getTime()?[!0,"highlight static-highlight"]:[!0,""]},i=function(n){var r=$(this).closest("div.form.itin").find("input.date-from").val(),u=$(this).val(),t=moment(r||moment().format(__grConfig.app.dateFormat),__grConfig.app.dateFormat).toDate(),i=moment(u||moment().format(__grConfig.app.dateFormat),__grConfig.app.dateFormat).toDate();return n.getTime()<t.getTime()?[!1,""]:n.getTime()>t.getTime()&&n.getTime()<i.getTime()?[!0,"highlight dynamic-highlight"]:n.getTime()>t.getTime()?[!0,"dynamic-highlight"]:n.getTime()===t.getTime()?[!0,"selected-date-from"]:n.getTime()===i.getTime()?[!0,"selected-date-to"]:n.getTime()>t.getTime()&&n.getTime()<i.getTime()?[!0,"highlight static-highlight"]:[!0,""]},r=function(){var n=$(this).closest("div.form.itin").find("input.date-from").val(),t=moment(n||moment().format(__grConfig.app.dateFormat),__grConfig.app.dateFormat),i=t.diff(moment(),"days");$("input.date-to").datepicker("option","defaultDate",i);$("#ui-datepicker-div td").live({mouseenter:function(){var n=$(this);n.hasClass("ui-datepicker-unselectable")||(n.parent().addClass("finalRow"),$(".finalRow").prevAll().find("td.dynamic-highlight").addClass("highlight"),n.prevAll("td.dynamic-highlight").addClass("highlight"),n.closest(".ui-datepicker-group").hasClass("ui-datepicker-group-last")&&$(".ui-datepicker-group-first").find("td.dynamic-highlight").addClass("highlight"))},mouseleave:function(){var n=$(this);n.hasClass("ui-datepicker-unselectable")||(n.parent().removeClass("finalRow"),$("#ui-datepicker-div td:not('.static-highlight')").removeClass("highlight"))}})};n.hdnIsQuoteSimple()?$("body").find("div.mobile-only").css("display")=="none"?($("input.date-from").not(".mobile input.date-from").datepicker({showOtherMonths:!1,dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],numberOfMonths:2,dateFormat:"dd-mm-yy",duration:100,rangeSelect:!0,beforeShowDay:t,onSelect:function(n){$(this).val(n);$(this).trigger("change");setTimeout(function(){$("input.date-to").not(".mobile input.date-to").datepicker("show")},16)}}),$("input.date-to").not(".mobile input.date-to").datepicker({showOtherMonths:!1,dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],numberOfMonths:2,dateFormat:"dd-mm-yy",duration:100,rangeSelect:!0,beforeShowDay:i,beforeShow:r})):($("input.date-from").datepicker({showOtherMonths:!1,dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],numberOfMonths:1,dateFormat:"dd-mm-yy",duration:100,rangeSelect:!0,beforeShowDay:t,onSelect:function(n){$(this).val(n);$(this).trigger("change");setTimeout(function(){$("input.date-to").datepicker("show")},16)}}),$("input.date-to").datepicker({showOtherMonths:!1,dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],numberOfMonths:1,dateFormat:"dd-mm-yy",duration:100,rangeSelect:!0,beforeShowDay:i,beforeShow:r})):$("body").find("div.mobile-only").css("display")=="none"?($("input.date-from").not(".mobile input.date-from").datepicker({showOtherMonths:!1,dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],numberOfMonths:2,dateFormat:"dd-mm-yy",duration:100,rangeSelect:!0,beforeShowDay:t}),$("input.date-to").not(".mobile input.date-to").datepicker({showOtherMonths:!1,dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],numberOfMonths:2,dateFormat:"dd-mm-yy",duration:100,rangeSelect:!0,beforeShowDay:i,beforeShow:r})):($("input.date-from").datepicker({showOtherMonths:!1,dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],numberOfMonths:1,dateFormat:"dd-mm-yy",duration:100,rangeSelect:!0,beforeShowDay:t}),$("input.date-to").datepicker({showOtherMonths:!1,dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],numberOfMonths:1,dateFormat:"dd-mm-yy",duration:100,rangeSelect:!0,beforeShowDay:i,beforeShow:r}))},o=function(){n.hdnIsQuoteSimple()&&($("input.time-from").timepicker({timeFormat:"H:i",forceRoundTime:!0}).change(function(){$(this).timepicker("hide");setTimeout(function(){$("input.time-to").timepicker("show")},16)}),$("input.time-to").timepicker({timeFormat:"H:i",forceRoundTime:!0}))},t=function(){i.is(":visible")&&setTimeout(function(){var t=ko.validation.group(n)();t.length>0?n.showValidationErrors(QuoteValidationMessages.headers.Invalid,t):n.clearValidationErrors()},100)},s=function(){var r=n.QuoteSaved(),i;n.QuoteSaved(undefined);n.QuoteSaved.subscribe(function(t){var i=$(n.Container()).find(".itin-container"),f=i.find(".itin.disabled").length<1,u,r;if(t){f?i.addClass("flip"):(i.removeClass("flip"),i.find(".itin a.promo").hide(),i.find(".itin.disabled fieldset.promo").hide(),i.find(".itin.disabled a.promo").show());u=i;u.find("input[name='pickup-time']").length>0&&(n.PickupLoc()===0||n.PickupTime()===undefined)&&(n.PickupTime("09:00"),n.DropoffTime("09:00"));r=$("#change-itin");r.on("opened",function(){r.find("select#time-picker1").selectBoxIt_set(n.PickupTime());r.find("select#time-picker2").selectBoxIt_set(n.DropoffTime())})}else i.addClass("flip"),i.find(".itin a.promo").show(),i.find(".itin fieldset.promo").hide(),n.PromotionCode().toLowerCase().indexOf(n.AAPromotionParttern)>=0&&!n.MembershipNumber()&&i.find(".itin fieldset.membership").show()});n.QuoteSaved(r);n.PickupLoc.subscribe(t);n.PickupDate.subscribe(t);n.PickupTime.subscribe(t);n.DropoffLoc.subscribe(t);n.DropoffDate.subscribe(t);n.DropoffTime.subscribe(t);n.PromotionCode()!=""?n.ViewPromotionCode(n.PromotionCode()):n.ViewPromotionCode("enter promo code");i=$(n.Container()).find(".itin-container");!$(":hidden[id$=hdnDealType]")||$(":hidden[id$=hdnDealType]").val()!="HotDeal"&&$(":hidden[id$=hdnDealType]").val()!="Relocation"?n.EnablePromotionCode(!0):(n.EnablePromotionCode(!1),i.find(".itin a.promo").remove(),i.find(".itin fieldset.promo").remove(),i.find(".itin.disabled fieldset.promo").remove(),i.find(".itin.disabled a.promo").remove())},h=function(){n.PickupLoc.extend({validId:{message:QuoteValidationMessages.PickupLoc}});n.PickupDate.extend({dateMustValid:{message:QuoteValidationMessages.PickupDate}});n.PickupTime.extend({timeMustValid:{message:QuoteValidationMessages.PickupTime}});n.DropoffDate.extend({dateMustValid:{message:QuoteValidationMessages.DropoffDate}});n.DropoffTime.extend({timeMustValid:{message:QuoteValidationMessages.DropoffTime}});n.MembershipNumber.extend({required:{message:"Please enter membership number.",onlyIf:function(){return n.EnableMembershipNumber()}},validation:{validator:function(){return n.EnableMembershipNumber()&&n.MembershipNumber()!==null&&(n.MembershipNumber()==""||n.MembershipNumber().length!=16)?!1:!0},message:"Oops! Sorry the membership number you have entered is not valid. Please check and try again."}})};n.bind=function(t){var i,f;n.PickupDeliveryName=ko.computed(function(){return r(n.PickupLoc(),t)});n.DropOffDeliveryName=ko.computed(function(){return n.DropoffLoc()===0?n.PickupDeliveryName():r(n.DropoffLoc(),t)});n.PickupBranchId=ko.computed(function(){return u(n.PickupLoc(),t)});n.DropoffBranchId=ko.computed(function(){return u(n.DropoffLoc(),t)});i=$(n.Container());i.find(".replace.dynamic").not(".selectboxit").each(function(){var n=$(this),i;n.find(".optionitem").length<t.length+1&&($(this).hasClass("time-picker")||(i=n.data("first-item"),i&&n.append($("<option class='optionitem'><\/option>").attr("value",0).text(i)),$.each(t,function(t,i){var r=$("<option class='optionitem'><\/option>").attr("value",i.Value).text(i.Text);n.append(r)})),n.selectBoxIt({dynamicPositioning:!1}))});$(".itin .selectboxit-container .selectboxit-option-icon").hover(function(){var t=$(this),u=parseInt(t.closest("li").data("val"),10),i,r;u<=0||(i=t.closest("fieldset").find("div.location-info"),r=i.find(".loader"),i.show(),r.showDefaultSpinner(!0),n.fetchingInfo(!0),n.popupAjax&&n.popupAjax.abort(),n.popupAjax=__grHelpers.xhr.get(__grConfig.serviceUrl.delivery.forQuoteBox()+u,function(i){n.fetchingInfo(!1);r.showDefaultSpinner(!1);n.locationHeading(t.closest("a").text());n.locationDesc(i.Description);n.locationImgSrc(rootUrl+i.ImgPath);n.locationAddress(i.BranchSalesline)}))},function(){n.popupAjax&&n.popupAjax.abort();$(this).closest("ul").parent().siblings("div").hide()});n.PickupLoc()!==-1&&n.PickupLoc()!==0&&n.QuoteSaved()||(n.PickupTime()||n.PickupTime("09:00"),n.DropoffTime()||n.DropoffTime("09:00"),f=$(n.Container()).find(".itin-container"));ko.applyBindings(n,i[0])};n.getQuote=function(t,i){var f=$(i.target),o=$(i.target).closest("div.itin-container"),s=o.find(".itin.disabled").length<1,r,e,u;if(!n.QuoteSaved()||s){if(r=n.GetQuoteCallback(),!r)throw"ASP.NET Property: JsGetQuoteClick is not set.";if(!window[r])throw"JS Function: "+r+" not defined.";if(e=ko.validation.group(n)(),e.length>0)n.showValidationErrors(QuoteValidationMessages.headers.Invalid,e);else{if(n.clearValidationErrors(),f.submitStart(),n.onValidationPassed){n.onValidationPassed(f);return}n.serverValidationAndSave(!0,f)}}else n.QuoteSaved(!1),u=$(i.target).closest("div.itin-container"),u.find("input[name='pickup-time']").length>0&&(n.PickupLoc()===0||n.PickupTime()===undefined)&&(n.PickupTime("09:00"),n.DropoffTime("09:00")),u.find("select#time-picker1").selectBoxIt_set(n.PickupTime()),u.find("select#time-picker2").selectBoxIt_set(n.DropoffTime())};n.postProcessing=function(){i=$(n.Container()+" .alert.search-error");f();e();o();s();h()};n.toCleanJSON=function(){var t=ko.toJS(n);return delete t.__ko_mapping__,delete t.Container,delete t.validationHeader,delete t.validationMessage,JSON.stringify(t)};n.showValidationErrors=function(t,r){if(n.validationHeader(t),r.length===1)n.validationSummary(r);else{var u=$("<ul>");$.each(r,function(n,t){var i=$("<li>");i.append(t);u.append(i)});n.validationSummary(u.html())}i.fadeIn(200)};n.clearValidationErrors=function(){n.validationHeader();n.validationSummary();i.fadeOut(100)};n.serverValidationAndSave=function(t,i){var r=n.PromotionCode();r===""?n.ViewPromotionCode("enter promo code"):n.ViewPromotionCode(r);i.submitEnd();t&&(n.UserUrl=ko.observable(encodeURIComponent(window.location.href)),__grHelpers.services.saveQuote("{quote:"+ko.toJSON(n)+"}",function(t){var r=$.parseJSON(t.d),i=r.Result;if(i.ValidationResult.Invalid){n.showValidationErrors(QuoteValidationMessages.headers.QuoteError,[i.ValidationResult.ErrorMessage]);return}__grHelpers.showMessage.updateQuoteBox(r.Success);r.Success&&(n.QuoteSaved(!0),n.Container()==="#divVDQuote"&&n.ButtonText("Find My Car"),__grServerVars.quoteBox=i,n.hasChanged=!0,window[n.GetQuoteCallback()](i),n.Container()==="#divBYDQuote"&&$("#change-itin").foundation("reveal","close"),!__grHelpers.resetBookingTimer||__grHelpers.resetBookingTimer(i.PickupBranchId==i.DropoffBranchId))}))};n.openPromotionPoup=function(){n.PromotionCodeTemp(n.PromotionCode());n.EnableMembershipNumber()&&n.MembershipNumberTemp(n.MembershipNumber())};n.IgnorePromotionSubscribe=ko.observable(!1);n.MembershipNumberTemp=ko.observable("");n.PromotionCodeTemp=ko.observable("");n.PromotionCodeTemp.subscribe(function(t){!!t&&t.toLowerCase().indexOf(n.AAPromotionParttern)>=0?(n.EnableMembershipNumber(!0),n.MembershipNumberTemp(aaMembershipNumberPrefix),$("#membershipNumber").focus(),$("#membershipNumber").keyup(function(){this.value.substring(0,aaMembershipNumberPrefix.length)!=aaMembershipNumberPrefix&&$(this).val(aaMembershipNumberPrefix)})):(n.EnableMembershipNumber(!1),n.MembershipNumberTemp(""))});n.MembershipNumberTemp.extend({required:{message:"Please enter membership number.",onlyIf:function(){return n.EnableMembershipNumber()&&n.IgnorePromotionSubscribe()}},validation:{validator:function(){return n.EnableMembershipNumber()&&n.MembershipNumberTemp()!==null&&n.IgnorePromotionSubscribe()&&(n.MembershipNumberTemp()==""||n.MembershipNumberTemp().length!=16)?!1:!0},message:"Oops! Sorry the membership number you have entered is not valid. Please check and try again."}});n.PromotionMessage=ko.observable("");n.MembershipValidation=ko.observable(!0);n.ValidateServerMembership=function(){var t=$("#btnGetQuote"),i,r;if(n.IgnorePromotionSubscribe(!0),n.EnableMembershipNumber()){if(!n.MembershipNumberTemp.isValid()){n.MembershipValidation(!1);n.PromotionMessage(n.MembershipNumberTemp.error);return}i={membershipNumber:n.MembershipNumberTemp()};$.ajax({type:"POST",url:"/Services/SessionHandler.aspx/ValidateMembership",data:JSON.stringify(i),contentType:"application/json; charset=utf-8",dataType:"json",async:!1}).done(function(i){if(console&&console.log)if(console.log("Sample of data:",i),i.d.length>0)n.MembershipValidation(!1),n.PromotionMessage("Oops! Sorry the membership number you have entered is not valid. Please check and try again.");else{n.MembershipValidation(!0);n.MembershipNumber(n.MembershipNumberTemp());n.PromotionCode(n.PromotionCodeTemp());$("#enter-coupon-code").foundation("reveal","close");var r=ko.validation.group(n)();r.length<=0&&n.getQuote(n,{target:t})}})}else n.PromotionCode(n.PromotionCodeTemp()),$("#enter-coupon-code").foundation("reveal","close"),r=ko.validation.group(n)(),r.length<=0&&n.getQuote(n,{target:t})};n.detachDialog=function(){$("div#enter-coupon-code-content").length>0&&$("div#enter-coupon-code-content").append($("div#enter-coupon-code").detach());$("div#panelOtherPromotion").length>0&&$("div#panelOtherPromotion").detach().insertAfter($("div#panelSort"))};n.getPromotionText=function(){var t=n.PromotionCode();return!!t&&t.toLowerCase().indexOf(n.AAPromotionParttern)>=0?"AA Member: "+n.MembershipNumber():n.PromotionCode()};n.getPromotionTextForMobileOnly=function(){var i=n.PromotionCode(),t;return!!i&&i.toLowerCase().indexOf(n.AAPromotionParttern)>=0?(t=n.MembershipNumber(),t=t.substring(0,7)+"...","AA Member: "+t):n.PromotionCode()};n.collapseQuoteBox=function(t,i){$(i.currentTarget).removeClass("is-collapsed");n.IsCollapsed(!1)}},buildQuoteBoxes=function(){var n=__grServerVars.quoteBox;n||(n=__grServerVars.defaultQuoteBox);$("div.quote-box-props").each(function(){var t=$(this),i=new QuoteBoxModelSetup,o=$.parseJSON(t.children(":hidden[id$=hdnDeliveryModel]").val()),e=t.children(":hidden[id$=hdnModel]").val(),u,f,r;i.Container=t.children(":hidden[id$=hdnContainer]").val();i.ButtonText=t.children(":hidden[id$=hdnBtnTxt]").val();i.ButtonDisabledText=t.children(":hidden[id$=hdnBtnDisableTxt]").val();i.Responsive=t.children(":hidden[id$=hdnResponsive]").val()==="true";i.GetQuoteCallback=t.children(":hidden[id$=hdnCallback]").val();i.ValidateQuoteInfo=t.children(":hidden[id$=hdnValidateQuoteInfo]").val();i.HotDealIDForQuoteBoxValidation=t.children(":hidden[id$=hdnHotDealIDForQuoteBoxValidation]").val();u=t.children(":hidden[id$=hdnIsQuoteSimple]");u.length>0&&(i.hdnIsQuoteSimple=u.val()==="True"?!0:!1);f=t.children(":hidden[id$=hdnCheckUseQuickSearch]");f.length>0&&(i.CheckUseQuickSearch=f.val()==="True"?!0:!1);window[e]=new QuoteBoxModel;r=window[e];ko.mapping.fromJS(n,{},r);ko.mapping.fromJS(i,{},r);r.postProcessing();r.bind(o);r.detachDialog()})}()