function FinishExternalOrder(n){$.ajax({url:"/SampleOrder/FinishExternalOrder",type:"POST",data:{countryCode:n},dataType:"json",cache:!1,timeout:2e4,success:function(n){n.Error==!0&&alert(n.Message)},error:function(){alert(errorMsg+"(finish order ajax error )"+errorMsgFooter)}})}function InitExternalLink(){$.ajax({url:"/SampleOrder/GetExternalOrderLink",type:"POST",dataType:"JSON",data:{countryCode:$("#ext-order-button").attr("data-country-code")},success:function(n){n.Error||($("#ext-order-button").attr("href",n.Link),$("#ext-order-link").attr("href",n.Link))}})}function InitExternalOrder(n){$("#SampleOrderContent").css({cursor:"not-allowed",opacity:.5});$("#BasketButtonsContainer").hide();$("a.button-plus-remove").hide();$("#ext-order-disclamer").show();CheckExternalOrderStatus(n,0)}function CheckExternalOrderStatus(n){$.ajax({url:"/SampleOrder/GetExternalOrderStatus",type:"POST",dataType:"JSON",success:function(t){error=t.Error;t.Error?alert(t.Message):t.Status=="done"?($("#SampleOrderContent").hide(),$("#BasketButtonsContainer").hide(),$("#ext-order-done").show(),$("#ext-order-disclamer").hide(),$(".ext-order-basket-label").removeClass("current").addClass("unavailable"),$(".ext-order-confirm-label").addClass("current").removeClass("unavailable"),FinishExternalOrder(n)):setTimeout(function(){CheckExternalOrderStatus(n)},5e3)}})}function AddToBasket(n,t,i,r,u,f,e,o,s,h,c){$.ajax({url:"/SampleOrder/AddProductToBasket",type:"POST",data:{RegionId:n,LanguageId:t,BrandIndex:u,SAPNumber:f,DessinNumber:e,ItemName:o,Quantity:s,ItemSizes:h},success:function(n){n.Error||i&&r&&dataLayer.push({event:"AddToCart",productCategory:i,productName:r+" "+e+" "+o});updateBasketItemCounter();InitExternalLink();c!=null&&c!=undefined&&c(n)},error:function(){alert(errorMsg+"(add to basket ajax error )"+errorMsgFooter)}})}function GetProductByQuery(n,t,i,r){$.ajax({url:"/SampleOrder/GetProductByQuery",type:"POST",data:{menuItemLocalizationId:i,countryCode:n,query:t},success:function(n){var t=$("#directSampleOrderAlert"),u;n.length>0?(u=!1,$.each(n,function(n,f){AddToBasket(f.RegionId,f.LanguageId,null,null,f.BrandIndex,f.SapNumber,f.DessinNumber,f.DessinName,1,f.ItemSize,function(n){n.Error||$("#SampleOrderContent").load("/SampleOrder/SampleOrder?page=6&pageId="+i+"&placementIndex=1&localizationCode="+r+"&_="+(new Date).getTime(),function(){$("#BasketButtonsContainer").show();Forbo.CustomFormInitializer.reinit();t.hide();u=!0})})}),u?(t.hide(),$("#BasketButtonsContainer").show()):t.show()):t.show()}})}function ToggleBrochureSelection(n){$.ajax({url:"/SampleOrder/ToggleBrochureSelection",type:"POST",data:{sapNumber:n.attr("data-select-brochure")},success:function(t){t.success||(alert("Could not select brochure"),n.prop("checked",!n.prop("checked")))},error:function(){n.prop("checked",!n.prop("checked"))}})}function validate(n){if(n.val().length==0)return changeErrorType(n,!1),!0;var t=n.attr("data-country-code").toLowerCase();if(n.hasClass("cs-val-zip"))switch(t){case"nl":if(n.val().match(/^[1-9][0-9]{3}\s[A-Z]{2}$/))return changeErrorType(n,!1),!0;break;case"at":case"be":case"ch":if(n.val().match(/^[1-9][0-9]{3}$/))return changeErrorType(n,!1),!0;break;case"de":case"fr":if(n.val().match(/^[0-9]{5}$/))return changeErrorType(n,!1),!0;break;case"us":if(n.val().match(/^\d{5}(-\d{4})?$/))return changeErrorType(n,!1),!0;break;case"ca":if(n.val().match(/^[A-Za-z][0-9][A-Za-z] [0-9][A-Za-z][0-9]$/))return changeErrorType(n,!1),!0;break;case"dk":case"no":if(n.val().match(/^\d{4}$/))return changeErrorType(n,!1),!0;break;case"fi":if(n.val().match(/^\d{5}$/))return changeErrorType(n,!1),!0;break;case"se":if(n.val().match(/^[0-9]{3} [0-9]{2}$/))return changeErrorType(n,!1),!0;break;default:return changeErrorType(n,!1),!0}return changeErrorType(n,!0),!1}function changeErrorType(n,t){t==!0?(n.attr("data-invalid",""),n.closest("div.columns").addClass("error")):(n.removeAttr("data-invalid"),n.closest("div.columns").removeClass("error"))}function validateBasketLimits(n,t,i){$.ajax({url:"/SampleOrder/ValidateBasketLimits",type:"POST",data:{menuItemLocalizationId:n,commercialOrder:t},success:function(n){var t=$("#basketLimitAlert");n.Error?(t.find("p").text(n.Message),t.show(),i(!1)):(t.hide(),i(!0))}})}var errorMsg="An error has occured!\n\n",errorMsgFooter="\n\n";$(function(){function n(){if($(".sampleOrderForm .columns.error").length>0||$(".sampleOrderForm .wrapper.error").length>0)return!0;$("#form_comment").val()!=""&&$.ajax({url:"/SampleOrder/SetComment",type:"POST",dataType:"json",data:{comment:$("#form_comment").val()},cache:!1,timeout:2e4,success:function(n){n.Error==!0&&alert(errorMsg+n.Message+errorMsgFooter)},error:function(){alert(errorMsg+"(sample order comment submit ajax error)"+errorMsgFooter)}})}$("input.cs-val").blur(function(){var n=$(this);validate(n)});$("#shippingAddress").hide();$("#shippingAddressButton").click(function(){var n=$("#form_AddressIsSameForDelivery").val();n=="true"?($("#form_AddressIsSameForDelivery").val(!1),$("#shippingAddress").find("label").filter(function(){return $(this).text().indexOf("*")>-1}).next("input").attr("required",!0),$("#shippingAddressButton").find("i").removeClass("icon-forboicon-arrowup"),$("#shippingAddressButton").find("i").addClass("icon-forboicon-arrowdown")):($("#form_AddressIsSameForDelivery").val(!0),$("#shippingAddress").find("input").removeAttr("required"),$("#shippingAddressButton").find("i").removeClass("icon-forboicon-arrowdown"),$("#shippingAddressButton").find("i").addClass("icon-forboicon-arrowup"));$("#shippingAddress").toggle()});$("#sampleOrderPrivateForm").submit(function(){n()});$("#sampleOrderCommercialForm").submit(function(){n()});$(".sampleOrderForm").submit(function(){var t,n,i;return $(".sampleOrderForm .columns.error").length>0||$(".sampleOrderForm .wrapper.error").length>0?!0:(t=!1,$.each($(this).find("input.cs-val"),function(n,i){if(validate($(i))==!1)return t=!0,!1}),t==!0)?!1:(n=$(this),i=n.serialize()+"&cmsmodulesampleorderid="+n.attr("data-cmsmodulesampleorderid")+"&countryCode="+n.attr("data-countrycode"),$.ajax({url:this.action,type:this.method,data:i,dataType:"json",cache:!1,timeout:2e4,async:!0,success:function(n){n.Error?alert("Error: "+n.Message):window.location.href="?page="+n.NextPageIndex},error:function(){alert(errorMsg+"(sample order customer form submit ajax error)"+errorMsgFooter)}}),!1)});$("#finishOrderButton").click(function(){var n="";$("#accountManagerCheckbox").is(":checked")&&(n=$("#accountManagerCheckbox").data("postal"));$.ajax({url:"/SampleOrder/FinishOrder",type:"POST",data:{postalCode:n},dataType:"json",cache:!1,timeout:2e4,async:!1,success:function(n){n.Error==!1?window.location.href="?page=5":alert(errorMsg+n.Message+errorMsgFooter)},error:function(){alert(errorMsg+"(finish order ajax error )"+errorMsgFooter)}})})});$(document).on("click","a[data-button='remove-from-basket']",function(n){$button=$(n.target).closest("a[data-button='remove-from-basket']");var t={basketItemId:$button.attr("data-basket-item-id"),quantity:1,menuItemLocalizationId:$button.attr("data-menu-item-localization-id"),placementIndex:$button.attr("data-placement-index"),localizationCode:$button.attr("data-current-localization")};$.ajax({url:"/SampleOrder/RemoveFromBasket",type:"POST",data:{quantity:t.quantity,basketItemId:t.basketItemId},success:function(n){n.Error==!1?($("#SampleOrderContent").load("/SampleOrder/SampleOrder?page=6&pageId="+t.menuItemLocalizationId+"&placementIndex="+t.placementIndex+"&localizationCode="+t.localizationCode+"&_="+(new Date).getTime(),function(){dataLayer.push({event:"RemoveFromCart",productCategory:$button.attr("data-product-category"),productName:$button.attr("data-product-name")});Forbo.CustomFormInitializer.reinit()}),updateBasketItemCounter(function(n){n<=0&&$("#BasketButtonsContainer").hide()}),$("#ext-order-button")!==undefined&&InitExternalLink()):alert(errorMsg+n.Message+errorMsgFooter)},error:function(){alert(errorMsg+"(remove from basket ajax error )"+errorMsgFooter)}})});$(document).on("click",".selectdealerbutton",function(){var n=$(this).attr("data-sapid");$.ajax({url:"/SampleOrder/SetDealer",type:"POST",dataType:"json",data:{sapId:n},cache:!1,timeout:2e4,async:!1,success:function(n){n.Error==!1?window.location.href="?page=4":alert(errorMsg+n.Message+errorMsgFooter)},error:function(){alert(errorMsg+"(select dealer ajax error )"+errorMsgFooter)}})});var SampleOrderDealerFinder=function(){function n(n,t,i,r){this._regionCode=n;this._inputErrorMsg=t;this._locationErrorMsg=i;this._matchErrorMsg=r;this._sampleOrderDealerAddresses=new SampleOrderDealerAddresses($("#dealer-addresses-container"));this._alertMessage=new SampleOrderAlertMessage($("#dealer-addresses-container"));this._initListener();this._registerHandlebarHelpers()}return n.prototype._initListener=function(){var n=this;$("#zip").blur(function(){n.requestDealers()});$("#zip").keyup(function(t){t.keyCode==13&&n.requestDealers()});$("#city").blur(function(){n.requestDealers()});$("#city").keyup(function(t){t.keyCode==13&&n.requestDealers()});$("#circuit").change(function(){n.requestDealers()});$("#df-dealerTypes").change(function(){n.requestDealers()})},n.prototype._registerHandlebarHelpers=function(){Handlebars.registerHelper("validLink",function(n){return n.indexOf("http://")===0||n.indexOf("https://")===0?n:"http://"+n});Handlebars.registerHelper("cleanPhoneNumber",function(n){return n.replace(/[^0-9+]/g,"")})},n.prototype.requestDealers=function(){var t=this,r=$("#city").val(),u=$("#zip").val(),n=$("#circuit").val(),i=$("#df-dealerTypes").val(),f;if(this._regionCode=="NL"){if(n===""||typeof n=="undefined"||u==""||r==="")return this._alertMessage.alert(this._inputErrorMsg),!1}else if(this._regionCode=="FR"){if(n!==""&&typeof n!="undefined"||i===""||typeof i=="undefined"||(n=500),u==""||r===""||(n===""||typeof n=="undefined")&&(i===""||typeof i=="undefined"))return this._alertMessage.alert(this._inputErrorMsg),!1}else if(n===""||typeof n=="undefined"||u==""&&r==="")return this._alertMessage.alert(this._inputErrorMsg),!1;return f={by_circuit:n,by_city:r,by_zip:u,by_dealer_type:i,by_country_code:this._regionCode},SampleOrderClient.sendRequest("/SampleOrder/FindDealers",f,function(n){n.Error?n.ErrorCode!=null?n.ErrorCode==0?t._alertMessage.alert(t._inputErrorMsg):n.ErrorCode==1&&t._alertMessage.alert(t._locationErrorMsg):t._alertMessage.alert(n.Message):n.SampleOrderDealerAddresses.length<=0?t._alertMessage.alert(t._matchErrorMsg):t._sampleOrderDealerAddresses.draw(n.SampleOrderDealerAddresses)}),!0},n}(),SampleOrderDealerAddresses=function(){function n(n){this._context=n;var t=$("#dealer-template").html();this._template=Handlebars.compile(t)}return n.prototype.draw=function(n){var t=this;this._context.empty();$.each(n,function(n,i){t._context.append(t._template(i))})},n}(),SampleOrderAlertMessage=function(){function n(n){this._context=n}return n.prototype.alert=function(n){this._context.empty();this._context.append('<div class="error">'+n+"<\/div>")},n}(),SampleOrderClient=function(){function n(){}return n.sendRequest=function(n,t,i){$.ajax({url:n,type:"POST",data:JSON.stringify(t),contentType:"application/json",success:function(n){i(n)}})},n}()