kidly.views={};kidly.views.CategoryView=function(n){this.container=n;this.analyticsUtility=new kidly.utilities.Analytics;this.paginationUtility=new kidly.utilities.Pagination(n);this.paginationService=new kidly.services.PaginationService;this.productPanelTemplate=$("#panelTemplates .js_productPanelTemplate");this.articlePanelTemplate=$("#panelTemplates .js_articlePanelTemplate");$(".pagination-btn").on("click","[data-action]",$.proxy(this,"onPaginationButtonClicked"));$(".products").on("click","[data-product-id]",$.proxy(this,"onProductClicked"));this.paginationUtility.scrollToPanel()};kidly.views.CategoryView.prototype.onPaginationButtonClicked=function(n){n.preventDefault();var t=$(n.currentTarget),r=t.data("id")+"/",i=t.data("page"),u=t.data("action"),f=$.proxy(this,"onPaginationResult",u),e=$.proxy(this,"onPaginationError",i);t.parent().find(".loader").show();t.hide();this.paginationService.getPage("/categories/categoryproductpage/",r,i,{success:f,error:e})};kidly.views.CategoryView.prototype.onPaginationResult=function(n,t){var u=this.container.find(".products"),f=t.payload.PageInfo.TotalItems,e=t.payload.CategoryName,o=f+" things in "+e,s=t.payload.PageInfo,i,r;if(t.success){if(n==="more")for(i=0;i<t.payload.Result.Products.Items.length;i++)r=this.createPanel(i,t),$(u).append(r);else for(i=t.payload.Result.Products.Items.length-1;i>=0;i--)r=this.createPanel(i,t),$(u).prepend(r);this.paginationUtility.onPaginationSuccess(n,t,s,o)}else window.location.href=t.redirect};kidly.views.CategoryView.prototype.onPaginationError=function(n){var t=n===1?"":"/"+n;window.location.href=$("base")[0].href+t};kidly.views.CategoryView.prototype.createPanel=function(n,t){var i=t.payload.Result.Products.Items[n],r=t.payload.PageInfo.CurrentPage;return i.ProductId?this.createProductPanel(i,r):i.Title?this.createArticlePanel(i,r):void 0};kidly.views.CategoryView.prototype.createProductPanel=function(n,t){var i=this.productPanelTemplate.clone();return i.attr({id:"product-"+n.ProductId+"-"+n.ColourId,"data-product-id":n.ProductId,"data-option-id":n.ColourId,"data-colour":n.Colour,"data-product-name":n.ProductName,"data-brand":n.Brand,"data-page-number":t}),i.addClass(n.PriceSpecificCssModifier+" mobileCol-"+n.MobileColumnSize+" desktopCol-"+n.DesktopColumnSize),i.find(".js_productPanelTemplate-backgroundHintColour").addClass("productPanel-inner-"+n.BackgroundHintColour),i.find(".js_productPanelTemplate-link").attr("href",n.ProductUrl),i.find(".js_productPanelTemplate-image").addClass("pageLazy-"+t).attr({"data-src":n.ImageUrl,alt:n.Colour+" "+n.Brand+" "+n.ProductName}),i.find(".js_productPanelTemplate-noScriptImage").attr({src:n.ImageUrl,alt:n.Colour+" "+n.Brand+" "+n.ProductName}),i.find(".js_productPanelTemplate-brand").html(n.Brand+" "),i.find(".js_productPanelTemplate-name").prepend(n.ProductName),i.find(".js_productPanelTemplate-currencySymbol").html(n.CurrencySymbol),i.find(".js_productPanelTemplate-fullPrice").html(this.friendlyCurrency(n.FullPrice)),i.find(".js_productPanelTemplate-price").html(this.friendlyCurrency(n.Price)),n.Colour!==null&&n.Colour!==""?i.find(".js_productPanelTemplate-colour").html(n.Colour):i.find(".js_productPanelTemplate-colour").remove(),n.Promotion!==null&&n.Promotion!==""?i.find(".js_productPanel-promotionLabel").html(n.Promotion.Text):i.find(".js_productPanel-promotionLabel").remove(),(n.PriceType===2||n.HasMultiplePrices)&&i.find(".js_productPanelTemplate-oldPrice").remove(),n.HasMultiplePrices||i.find(".js_productPanelTemplate-priceFrom").remove(),i};kidly.views.CategoryView.prototype.createArticlePanel=function(n,t){var i=this.articlePanelTemplate.clone();return i.addClass("mobileCol-"+n.MobileColumnSize+" desktopCol-"+n.DesktopColumnSize),i.find(".js_articlePanelTemplate-link").attr("href",n.CanonicalUrl).css("background-color","#"+n.HeaderBackgroundHexColour),i.find(".js_articleImg").addClass("pageLazy-"+t).attr({"data-src":n.ImageUrl,alt:n.ImageAlt}),i.find(".js_articleImgFallback").attr({src:n.ImageUrl,alt:n.ImageAlt}),i.find(".js_articlePanelTemplate-title").html(n.Title),i.find(".js_articlePanelTemplate-readTime").html(n.ReadingTimeMinutes+" min read"),i.find(".js_articlePanelTemplate-tag").html(n.EditorialCategoryName),i};kidly.views.CategoryView.prototype.friendlyCurrency=function(n){var t=n.toString();return t.indexOf(".")!==-1&&(t=t+"0"),t};kidly.views.CategoryView.prototype.onProductClicked=function(n){n.preventDefault();var t=$(n.currentTarget),i={id:t.data("productId"),name:t.data("productName"),brand:t.data("brand"),colour:t.data("colour"),list:"Category",position:t.data("pageNumber"),url:t.find("a").attr("href")},r=$(n.currentTarget).data("pageNumber"),u="#product-"+t.data("productId")+"-"+t.data("optionId");this.paginationUtility.setBackwardsNavigationUrl(r,u);this.analyticsUtility.onProductClick(i,"category view")};kidly.views.CollapsibleDescriptionView=function(n){if(this.container=n,this.container.find(".collapsibleDescription-text").height()>100)this.container.append('<button type="button" class="collapsibleDescription-toggle js_collapsibleDescription-toggle">View more<\/button>'),this.container.find("[data-buttontarget]").addClass("collapsibleDescription-inner--collapsed");this.button=this.container.find(".js_collapsibleDescription-toggle");this.button.on("click",$.proxy(this,"onExpandDescriptionClicked"))};kidly.views.CollapsibleDescriptionView.prototype.onExpandDescriptionClicked=function(n){n.preventDefault();var t=$(n.currentTarget),i=t.siblings("[data-buttontarget]");t.remove();i.removeClass("collapsibleDescription-inner--collapsed");i.addClass("collapsibleDescription-inner--expanded")};kidly.views.CountdownView=function(n,t){kidly.views.CountdownView.superConstructor.call(this);this.timeLeftElement=n||$();this.orderByDate=t};kidly.utilities.inherit(kidly.views.CountdownView,kidly.utilities.EventEmitter);kidly.views.CountdownView.prototype.startTimer=function(){window.setInterval($.proxy(this.updateTime,this),1e3)};kidly.views.CountdownView.prototype.updateTime=function(){var n=this.getTimeRemaining(this.orderByDate);n.total<=0?this.fire("end"):this.timeLeftElement.html(this.getFormattedTimeRemaining(n.hours,n.minutes,n.seconds))};kidly.views.CountdownView.prototype.getFormattedTimeRemaining=function(n,t,i){var r="",u="",f="";return n>1&&(r=n+" hrs "),n===1&&(r=n+" hr "),t>1&&(u=t+" mins "),t===1&&(u=t+" min "),n===0&&t===0&&i>1&&(f=i+" secs "),n===0&&t===0&&i===1&&(f=i+" sec "),r+u+f};kidly.views.CountdownView.prototype.getTimeRemaining=function(n){var i=(new Date).getTime(),t=Date.parse(n)-i,r=Math.floor(t/1e3%60),u=Math.floor(t/6e4%60),f=Math.floor(t/36e5%24),e=Math.floor(t/864e5);return{total:t,days:e,hours:f,minutes:u,seconds:r}};kidly.views.EditorialLandingView=function(n){this.container=n;this.articleContainer=this.container.find(".editorialLanding-otherArticles");this.articleTemplate=$("#article-template .js_articlePanelTemplate");this.paginationUtility=new kidly.utilities.Pagination(n);this.paginationService=new kidly.services.PaginationService;$(".pagination-btn").on("click","[data-action]",$.proxy(this,"onPaginationButtonClicked"));$(".editorialLanding").on("click","[data-article-id]",$.proxy(this,"onPanelClicked"));this.paginationUtility.scrollToPanel()};kidly.views.EditorialLandingView.prototype.onPaginationButtonClicked=function(n){n.preventDefault();var t=$(n.currentTarget),i=t.data("page"),r=t.data("action"),u=$.proxy(this,"onPaginationResult",r),f=$.proxy(this,"onPaginationError",i);t.parent().find(".loader").show();t.hide();this.paginationService.getPage("/ideas/articlepage/","",i,{success:u,error:f})};kidly.views.EditorialLandingView.prototype.onPaginationResult=function(n,t){var i,r;if(n==="more")for(i=0;i<t.Items.length;i++)r=this.createPanel(i,t),this.articleContainer.append(r);else for(i=t.Items.length-1;i>=0;i--)r=this.createPanel(i,t),this.articleContainer.prepend(r);var u=t.PageInfo.TotalItems,f=t.PageInfo,e=u+" articles";this.paginationUtility.onPaginationSuccess(n,t,f,e)};kidly.views.EditorialLandingView.prototype.onPaginationError=function(n){var t=n===1?"":"/"+n;window.location.href=$("base")[0].href+t};kidly.views.EditorialLandingView.prototype.createPanel=function(n,t){var i=t.Items[n],r=this.articleTemplate.clone();return r.attr({id:"article-"+i.Id,"data-article-id":i.Id,"data-page-number":t.PageInfo.CurrentPage}),r.addClass("mobileCol-"+i.MobileColumnSize+" desktopCol-"+i.DesktopColumnSize),r.find(".js_articlePanelTemplate-link").attr("href",i.CanonicalUrl).css("background-color","#"+i.HeaderBackgroundHexColour),r.find(".js_articleImg").addClass("pageLazy-"+t.PageInfo.CurrentPage).attr({"data-src":i.ImageUrl,alt:i.ImageAlt}),r.find(".js_articleImgFallback").attr({src:i.ImageUrl,alt:i.ImageAlt}),r.find(".js_articlePanelTemplate-title").html(i.Title),r.find(".js_articlePanelTemplate-readTime").html(i.ReadingTimeMinutes+" min read"),r.find(".js_articlePanelTemplate-tag").html(i.EditorialCategoryName),r};kidly.views.EditorialLandingView.prototype.onPanelClicked=function(n){var t=$(n.currentTarget).data("pageNumber"),i="#article-"+$(n.currentTarget).data("articleId");this.paginationUtility.setBackwardsNavigationUrl(t,i)};kidly.views.ErrorMessageView=function(n){this.options=n||{};this.container=this.options.moduleEl;this.message=this.options.messageEl;this.hideClass=this.options.hideClass};kidly.views.ErrorMessageView.prototype.set=function(n){this.message.html(n);this.container.removeClass(this.hideClass)};kidly.views.ErrorMessageView.prototype.appendMessage=function(n){this.message.append(n);this.container.removeClass(this.hideClass)};kidly.views.ErrorMessageView.prototype.clear=function(){this.message.html("");this.container.addClass(this.hideClass)};kidly.views.ErrorMessageView.prototype.removeMessageBySelector=function(n){this.message.find(n).remove();this.message.html().trim().length<=0&&this.container.addClass(this.hideClass)};kidly.views.FormView=function(n,t){var i={submitButton:$(n).find('input[type="submit"]')};t=$.extend(i,t||{});this.formEl=$(n);this.submitButton=new kidly.views.SubmitButtonView(t.submitButton);$(window).on("pageshow",$.proxy(this,"onPageShow"))};kidly.views.FormView.prototype.onPageShow=function(){this.submitButton.enable()};kidly.views.EmailSuggestionView=function(n,t){this.container=n;this.field=t;this.domains=["gmail.com","googlemail.com","btinternet.com","btconnect.com","icloud.com","me.com","sky.com","msn.com","ymail.com","ntlworld.com","mac.com","rocketmail.com","talktalk.net","doctors.org.uk","wp.pl","blueyonder.co.uk","virginmedia.com","virgin.net","cantab.net","nhs.net","eircom.net"];this.secondLevelDomains=["aol","yahoo","hotmail","mail","live","outlook","tiscali","gmx"];this.topLevelDomains=["com","co.uk","ie","be","nl","de","fr","it","es","pl","se","eu","at","dk","gr","ch","no","cz","hu","ru","us","ca","com.au","co.nz","net","org","org.uk","edu","gov","ac.uk","info","biz","mil"];this.setupEvents();this.setupMessage()};kidly.views.EmailSuggestionView.prototype.setupEvents=function(){this.field.on("blur",$.proxy(this,"onFieldBlur"));this.container.on("click",".emailSuggestControl-suggestion",$.proxy(this,"onSuggestionClicked"))};kidly.views.EmailSuggestionView.prototype.setupMessage=function(){this.messageContainer=$('<div class="emailSuggestControl-message"><\/div>');this.container.append(this.messageContainer)};kidly.views.EmailSuggestionView.prototype.onFieldBlur=function(n){Mailcheck.run({domains:this.domains,secondLevelDomains:this.secondLevelDomains,topLevelDomains:this.topLevelDomains,email:n.target.value,suggested:$.proxy(this,"onSuggestionReceived"),empty:$.proxy(this,"onSuggestionNotReceived")})};kidly.views.EmailSuggestionView.prototype.onSuggestionClicked=function(n){n.preventDefault();this.clearMessage();this.field.val($(n.target).attr("data-suggestion"))};kidly.views.EmailSuggestionView.prototype.onSuggestionReceived=function(n){this.messageContainer.html('<p>Did you mean <a class="emailSuggestControl-suggestion" href="#" data-suggestion="'+n.full+'">'+n.full+"?<\/a><\/p>")};kidly.views.EmailSuggestionView.prototype.onSuggestionNotReceived=function(){this.clearMessage()};kidly.views.EmailSuggestionView.prototype.clearMessage=function(){this.messageContainer.html("")};kidly.views.FacebookLoginView=function(n,t){kidly.views.FacebookLoginView.superConstructor.call(this);this.options=t||{};this.buttonText=this.options.buttonText||"Continue with Facebook";this.container=n;this.loginButton=n.find(".js_facebookSignIn-button");this.errorView=new kidly.views.ErrorMessageView({moduleEl:$(".facebookSignIn-error"),messageEl:$(".facebookSignIn-error"),hideClass:"facebookSignIn-error-isHidden"});this.options.errorModuleEl&&this.options.errorModuleMessageEl&&this.options.errorModuleHideClass?this.errorView=new kidly.views.ErrorMessageView({moduleEl:this.options.errorModuleEl,messageEl:this.options.errorModuleMessageEl,hideClass:this.options.errorModuleHideClass}):$(".globalErrorMessage")[0]&&(this.errorView=new kidly.views.ErrorMessageView({moduleEl:$(".globalErrorMessage"),messageEl:$(".globalErrorMessage-message"),hideClass:"globalErrorMessage-hidden"}));this.loginButton.on("click",$.proxy(this,"onLoginButtonClicked"));this.initialiseButton()};kidly.utilities.inherit(kidly.views.FacebookLoginView,kidly.utilities.EventEmitter);kidly.views.FacebookLoginView.prototype.initialiseButton=function(){this.loginButton.text(this.buttonText)};kidly.views.FacebookLoginView.prototype.onLoginButtonClicked=function(){this.clearError();this.fire("loginButtonClicked")};kidly.views.FacebookLoginView.prototype.showError=function(n){this.errorView.set('<p class="facebookErrorText">'+n+"<\/p>")};kidly.views.FacebookLoginView.prototype.clearError=function(){this.errorView.removeMessageBySelector(".facebookErrorText")};kidly.views.FacebookLoginView.prototype.disableLoginButton=function(){this.loginButton.prop("disabled",!0);this.loginButton.html("Just a sec...")};kidly.views.FacebookLoginView.prototype.enableLoginButton=function(){this.loginButton.prop("disabled",!1);this.loginButton.html(this.buttonText)};kidly.views.SignUpView=function(n){this.container=n;this.passwordRevealer=new kidly.views.PasswordRevealerView(document.getElementById("Password"));this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_signUp-button"));this.setupValidation();this.setupSuggestion();this.setupBotCatcher()};kidly.views.SignUpView.prototype.setupSuggestion=function(){var n=this.container.find(".emailSuggestControl"),t=n.find(".text");new kidly.views.EmailSuggestionView(n,t)};kidly.views.SignUpView.prototype.setupValidation=function(){var n=this.container.find("form")[0];this.validator=new kidly.views.FormValidatorView(n);this.validator.addValidator("FirstName",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.firstname_error_required},{method:kidly.validators.maxLength,params:{maxLength:40},message:kidlyInfo.errorMessages.name_error_length},{method:kidly.validators.name,message:kidlyInfo.errorMessages.name_error_format},{method:kidly.validators.maxConsonants,message:kidlyInfo.errorMessages.name_error_format}]);this.validator.addValidator("LastName",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.lastname_error_required},{method:kidly.validators.maxLength,params:{maxLength:40},message:kidlyInfo.errorMessages.name_error_length},{method:kidly.validators.name,message:kidlyInfo.errorMessages.name_error_format},{method:kidly.validators.maxConsonants,message:kidlyInfo.errorMessages.name_error_generic},{method:kidly.validators.nameFaked,params:{control:n.elements.FirstName},message:kidlyInfo.errorMessages.name_error_generic}]);this.validator.addValidator("Email",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.email_error_required},{method:kidly.validators.email,message:kidlyInfo.errorMessages.email_error_format},{method:kidly.validators.emailDomain,message:kidlyInfo.errorMessages.email_error_blacklist}]);this.validator.addValidator("Password",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.password_error_required},{method:kidly.validators.minLength,params:{minLength:8},message:kidlyInfo.errorMessages.password_error_format}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.SignUpView.prototype.onSubmittedSuccessfully=function(){this.submitButton.disable();this.passwordRevealer.hidePassword();this.stampEndTime()};kidly.views.SignUpView.prototype.stampEndTime=function(){var n=new Date;this.container.find(".js_submissionEndTime").val(n.toJSON())};kidly.views.SignUpView.prototype.setupBotCatcher=function(){var n=new Date;this.container.find(".js_submissionStartTime").val(n.toJSON())};kidly.views.SignInView=function(n){this.container=n;this.passwordRevealer=new kidly.views.PasswordRevealerView(document.getElementById("Password"));this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_signIn-button"));this.setupValidation()};kidly.views.SignInView.prototype.setupValidation=function(){this.validator=new kidly.views.FormValidatorView(this.container.find("form")[0]);this.validator.addValidator("EmailAddress",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.email_error_required},{method:kidly.validators.email,message:kidlyInfo.errorMessages.email_error_format}]);this.validator.addValidator("Password",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.password_error_required}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.SignInView.prototype.onSubmittedSuccessfully=function(){this.submitButton.disable();this.passwordRevealer.hidePassword()};kidly.views.ResetPasswordView=function(n){this.container=n;this.submitButton=new kidly.views.SubmitButtonView($(".js_resetPassword-button"));this.setupValidation()};kidly.views.ResetPasswordView.prototype.setupValidation=function(){var n=this.container.find("form")[0];if(n){this.validator=new kidly.views.FormValidatorView(n);this.validator.addValidator("EmailAddress",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.email_error_required},{method:kidly.validators.email,message:kidlyInfo.errorMessages.email_error_format}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))}};kidly.views.ResetPasswordView.prototype.onSubmittedSuccessfully=function(){this.submitButton.disable()};kidly.views.NewPasswordView=function(n){this.container=n;this.setupValidation();this.passwordRevealer=new kidly.views.PasswordRevealerView(document.getElementById("Password"));this.passwordRevealer=new kidly.views.PasswordRevealerView(document.getElementById("VerifyPassword"))};kidly.views.NewPasswordView.prototype.setupValidation=function(){var n=this.container.find("form")[0];n&&(this.validator=new kidly.views.FormValidatorView(n),this.validator.addValidator("Password",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.password_error_required},{method:kidly.validators.minLength,params:{minLength:8},message:kidlyInfo.errorMessages.password_error_format}]),this.validator.addValidator("VerifyPassword",[{method:kidly.validators.matches,params:{control:n.elements.Password},message:kidlyInfo.errorMessages.verifyPassword_error_notmatching}]))};kidly.views.EditProfileView=function(n){this.container=n;this.setupValidation()};kidly.views.EditProfileView.prototype.setupValidation=function(){var n=this.container.find("form")[0];this.validator=new kidly.views.FormValidatorView(n);this.validator.addValidator("FirstName",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.firstname_error_required},{method:kidly.validators.maxLength,params:{maxLength:40},message:kidlyInfo.errorMessages.name_error_length},{method:kidly.validators.name,message:kidlyInfo.errorMessages.name_error_format},{method:kidly.validators.maxConsonants,message:kidlyInfo.errorMessages.name_error_format}]);this.validator.addValidator("LastName",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.lastname_error_required},{method:kidly.validators.maxLength,params:{maxLength:40},message:kidlyInfo.errorMessages.name_error_length},{method:kidly.validators.name,message:kidlyInfo.errorMessages.name_error_format},{method:kidly.validators.maxConsonants,message:kidlyInfo.errorMessages.name_error_format}]);this.validator.addValidator("DateOfBirth",[{method:kidly.validators.date,message:kidlyInfo.errorMessages.dateofbirth_error_format}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.ChangePasswordView=function(n){this.container=n;this.passwordRevealer1=new kidly.views.PasswordRevealerView(document.getElementById("NewPassword"));this.passwordRevealer2=new kidly.views.PasswordRevealerView(document.getElementById("ConfirmPassword"));this.passwordRevealer3=new kidly.views.PasswordRevealerView(document.getElementById("CurrentPassword"));this.setupValidation();this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_changePassword-button"))};kidly.views.ChangePasswordView.prototype.setupValidation=function(){var n=this.container.find("form")[0];this.validator=new kidly.views.FormValidatorView(n);this.validator.addValidator("NewPassword",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.password_error_required},{method:kidly.validators.minLength,params:{minLength:8},message:kidlyInfo.errorMessages.password_error_format}]);this.validator.addValidator("ConfirmPassword",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.confirmPassword_error_required},{method:kidly.validators.matches,params:{control:n.elements.NewPassword},message:kidlyInfo.errorMessages.confirmPassword_error_notmatching}]);this.validator.addValidator("CurrentPassword",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.currentPassword_error_required}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.ChangePasswordView.prototype.onSubmittedSuccessfully=function(){this.submitButton.disable()};kidly.views.ChangeEmailView=function(n){this.container=n;this.setupValidation();this.setupSuggestion();this.passwordRevealer=new kidly.views.PasswordRevealerView(document.getElementById("Password"))};kidly.views.ChangeEmailView.prototype.setupSuggestion=function(){var n=this.container.find(".emailSuggestControl"),t=n.find(".text");new kidly.views.EmailSuggestionView(n,t)};kidly.views.ChangeEmailView.prototype.setupValidation=function(){var n=this.container.find("form")[0];this.validator=new kidly.views.FormValidatorView(n);this.validator.addValidator("NewEmailAddress",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.email_error_required},{method:kidly.validators.email,message:kidlyInfo.errorMessages.email_error_format},{method:kidly.validators.emailDomain,message:kidlyInfo.errorMessages.email_error_blacklist}]);this.validator.addValidator("Password",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.password_error_required}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.ScrollView=function(n,t){this.id=n;this.time=t};kidly.views.ScrollView.prototype.scroll=function(){$(window).scrollTo($("#"+this.id),this.time);typeof history.pushState=="function"&&history.pushState(undefined,undefined,"#"+this.id)};kidly.views.DialogView=function(){kidly.views.DialogView.superConstructor.call(this);this.overlayContainer=$('<div class="overlay" />');this.body=$("body");this.container=$('<div class="dialog" />');this.wrapper=$('<div class="dialog-wrapper">');this.contentContainer=$('<div class="dialog-content">');this.container.append(this.wrapper);this.wrapper.append(this.contentContainer);this.body.append(this.overlayContainer);this.body.append(this.container);this.createCloseButton();this.wrapper.on("keydown",$.proxy(this,"onDialogKeyPress"))};kidly.utilities.inherit(kidly.views.DialogView,kidly.utilities.EventEmitter);kidly.views.DialogView.prototype.createCloseButton=function(){this.closeButton=$('<a href="#" class="dialog-close"><\/a>');this.wrapper.on("click",".dialog-close",$.proxy(this,"onCloseButtonClicked"));this.wrapper.append(this.closeButton)};kidly.views.DialogView.prototype.onCloseButtonClicked=function(n){n.preventDefault();this.hide();this.fire("closed")};kidly.views.DialogView.prototype.setHtml=function(n){this.container.html(n)};kidly.views.DialogView.prototype.setContent=function(n){this.contentContainer.html(n)};kidly.views.DialogView.prototype.show=function(n){this.showOverlay();this.container.addClass("dialog-show");n=n||{};this.container.css({top:n.y||this.getTopPosition(),left:n.x||this.getLeftPosition()})};kidly.views.DialogView.prototype.getTopPosition=function(){var t=$(window).height(),i=this.container.height(),r=$(window).scrollTop(),n=(t+-i)/2;return n<0&&(n=0),n+r};kidly.views.DialogView.prototype.getLeftPosition=function(){var t=$(window).width(),i=this.container.width(),r=$(window).scrollLeft(),n=(t+-i)/2;return n<0&&(n=0),n+r};kidly.views.DialogView.prototype.hide=function(){this.container.removeClass("dialog-show");this.hideOverlay()};kidly.views.DialogView.prototype.destroy=function(){this.container.remove();this.overlayContainer.remove()};kidly.views.DialogView.prototype.showOverlay=function(){this.overlayContainer.addClass("overlay-show");this.body.addClass("noScroll")};kidly.views.DialogView.prototype.hideOverlay=function(){this.overlayContainer.removeClass("overlay-show");this.body.removeClass("noScroll")};kidly.views.DialogView.prototype.onDialogKeyPress=function(n){var t=n.which;t===27&&(this.hide(),this.fire("closed"))};kidly.views.BaseFormValidatorView=function(n){kidly.views.BaseFormValidatorView.superConstructor.apply(this);this.form=n;this.errors=[];this.validators=[]};kidly.utilities.inherit(kidly.views.BaseFormValidatorView,kidly.utilities.EventEmitter);kidly.views.BaseFormValidatorView.prototype.addValidator=function(n,t){var i=this.form.elements[n];this.validators.push({controlName:n,rules:t,control:i})};kidly.views.BaseFormValidatorView.prototype.validate=function(){this.errors=[];for(var n=null,r=!0,t,i=0;i<this.validators.length;i++)for(n=this.validators[i],t=0;t<n.rules.length;t++)if(r=n.rules[t].method(n.control,n.rules[t].params),!r){this.errors.push({controlName:n.controlName,message:n.rules[t].message});break}return this.errors.length===0};kidly.views.BaseFormValidatorView.prototype.getErrors=function(){return this.errors};kidly.views.FormValidatorView=function(){kidly.views.FormValidatorView.superConstructor.apply(this,arguments);this.errorSummaryContainer=$(".globalErrorMessage");$(this.form).on("submit",$.proxy(this,"onFormSubmit"));$("form [type=submit]").on("click",function(){$("[type=submit]",$(this).parents("form")).removeAttr("clicked");$(this).attr("clicked","true")})};kidly.utilities.inherit(kidly.views.FormValidatorView,kidly.views.BaseFormValidatorView);kidly.views.FormValidatorView.prototype.onFormSubmit=function(n){var t=$("[type=submit][clicked=true]").attr("name");this.clearInlineErrors();this.hideErrorSummary();this.validate()?this.fire("submittedSuccessfully",n,t):(n.preventDefault(),this.showErrorSummary(),this.showInlineErrors())};kidly.views.FormValidatorView.prototype.showInlineErrors=function(){for(var t=this.getErrors(),n=0,i=t.length;n<i;n++)this.showInlineError(t[n])};kidly.views.FormValidatorView.prototype.showInlineError=function(n){var r='<span class="errorIndicator"> Error<\/span>',u=$("#"+n.controlName),t=u.parents(".groupControl"),i=u.parents(".standardControl"),f,e;t.length?(f=t.find("legend"),f.append(r),t.append('<div class="errorMessage"><p>'+n.message+"<\/p><\/div>")):i.length&&(e=i.find("label"),e.append(r),i.append('<div class="errorMessage"><p>'+n.message+"<\/p><\/div>"))};kidly.views.FormValidatorView.prototype.clearInlineErrors=function(){$(this.form).find(".errorIndicator").remove();$(this.form).find(".errorMessage").remove()};kidly.views.FormValidatorView.prototype.showErrorSummary=function(n){if(this.errorSummaryContainer[0]){var t=n?n:this.getErrorSummaryHtml();this.errorSummaryContainer.removeClass("globalErrorMessage-hidden");this.errorSummaryContainer.find(".globalErrorMessage-message").html(t);$(window).scrollTo(this.errorSummaryContainer,300)}};kidly.views.FormValidatorView.prototype.getErrorSummaryHtml=function(){return"Oops! That's not quite right - please fix any errors below."};kidly.views.FormValidatorView.prototype.hideErrorSummary=function(){this.errorSummaryContainer[0]&&(this.errorSummaryContainer.find(".globalErrorMessage-message").html(""),this.errorSummaryContainer.addClass("globalErrorMessage-hidden"))};kidly.views.CarouselView=function(n){n=n||{};this.$slidesContainer=n.slidesContainer instanceof $?n.slidesContainer:$(n.slidesContainer);this.$slides=this.$slidesContainer.children();this.$leftButton=n.leftButton instanceof $?n.leftButton:$(n.leftButton);this.$rightButton=n.rightButton instanceof $?n.rightButton:$(n.rightButton);this.$dotsContainer=n.dotsContainer instanceof $?n.dotsContainer:$(n.dotsContainer);this.$dots=this.$dotsContainer.children();this.swipableEl=new kidly.utilities.SwipableElement(n.swipableEl||this.$slidesContainer,10);this.classNames=n.classNames||{active:"kd_carousel-slide-isActive",previous:"kd_carousel-slide-isPrevious",next:"kd_carousel-slide-isNext",activeDot:"kd_carousel-carouselDot-isActive"};this.transitionDuration=(parseFloat(this.$slides.css("transition-duration"))||0)*1e3;this.canSlide=!0;this.classNames.left="left";this.classNames.right="right";this.getPreviousSlide().addClass(this.classNames.previous);this.getNextSlide().addClass(this.classNames.next);this.$slides.index(this.getCurrentSlide())===0?(this.getPreviousSlide().addClass(this.classNames.left),this.getCurrentSlide().addClass(this.classNames.left),this.getNextSlide().addClass(this.classNames.left)):this.$slides.index(this.getCurrentSlide())===this.$slides.length-1&&(this.getPreviousSlide().addClass(this.classNames.right),this.getCurrentSlide().addClass(this.classNames.right),this.getNextSlide().addClass(this.classNames.right));this.getActiveDot().addClass(this.classNames.activeDot);this.$leftButton.on("click",$.proxy(this,"onLeftButtonPress"));this.$rightButton.on("click",$.proxy(this,"onRightButtonPress"));this.swipableEl.on("leftSwipe",$.proxy(this,"onRightButtonPress"));this.swipableEl.on("rightSwipe",$.proxy(this,"onLeftButtonPress"))};kidly.views.CarouselView.prototype.onLeftButtonPress=function(){this.canSlide&&(this.canSlide=!1,this.slideLeft(),setTimeout($.proxy(this,"enableSliding"),this.transitionDuration))};kidly.views.CarouselView.prototype.onRightButtonPress=function(){this.canSlide&&(this.canSlide=!1,this.slideRight(),setTimeout($.proxy(this,"enableSliding"),this.transitionDuration))};kidly.views.CarouselView.prototype.enableSliding=function(){this.canSlide=!0};kidly.views.CarouselView.prototype.slideLeft=function(){var t=this.getCurrentSlide(),n=this.getPreviousSlide(),i=this.getNextSlide();n.removeClass(this.classNames.previous);i.removeClass(this.classNames.next);t.removeClass(this.classNames.active);this.$slides.removeClass(this.classNames.left).removeClass(this.classNames.right);this.$dots.removeClass(this.classNames.activeDot);n.addClass(this.classNames.active).addClass(this.classNames.left);this.getPreviousSlide().addClass(this.classNames.previous).addClass(this.classNames.left);this.getNextSlide().addClass(this.classNames.next).addClass(this.classNames.left);this.getActiveDot().addClass(this.classNames.activeDot)};kidly.views.CarouselView.prototype.slideRight=function(){var t=this.getCurrentSlide(),i=this.getPreviousSlide(),n=this.getNextSlide();i.removeClass(this.classNames.previous);n.removeClass(this.classNames.next);t.removeClass(this.classNames.active);this.$slides.removeClass(this.classNames.left).removeClass(this.classNames.right);this.$dots.removeClass(this.classNames.activeDot);n.addClass(this.classNames.active).addClass(this.classNames.right);this.getNextSlide().addClass(this.classNames.next).addClass(this.classNames.right);this.getPreviousSlide().addClass(this.classNames.previous).addClass(this.classNames.right);this.getActiveDot().addClass(this.classNames.activeDot)};kidly.views.CarouselView.prototype.getCurrentSlide=function(){return this.$slides.filter(this.getSelector("active"))};kidly.views.CarouselView.prototype.getPreviousSlide=function(){var n=this.getCurrentSlide(),t=!!this.$slides.filter(this.getSelector("previous"))[0];return t?this.$slides.filter(this.getSelector("previous")):!n.prev()[0]?this.$slides.filter(":last-child"):n.prev()};kidly.views.CarouselView.prototype.getNextSlide=function(){var n=this.getCurrentSlide(),t=!!this.$slides.filter(this.getSelector("next"))[0];return t?this.$slides.filter(this.getSelector("next")):!n.next()[0]?this.$slides.filter(":first-child"):n.next()};kidly.views.CarouselView.prototype.getActiveDot=function(){var n=this.getCurrentSlide(),t=this.$slides.index(n),i=!!this.$slides.filter(this.getSelector("activeDot"))[0];return i?this.$dots.filter(this.getSelector("activeDot")):$(this.$dots[t])};kidly.views.CarouselView.prototype.getSelector=function(n){return"."+this.classNames[n]};kidly.views.PhotoCarouselView=function(n,t){kidly.views.PhotoCarouselView.superConstructor.apply(this);this.container=n;this.options=t;this.selectedIndex=0;this.isConstructed=!1};kidly.utilities.inherit(kidly.views.PhotoCarouselView,kidly.utilities.EventEmitter);kidly.views.PhotoCarouselView.prototype.init=function(){this.isConstructed||(this.setupSlickCarousel(),this.isConstructed=!0)};kidly.views.PhotoCarouselView.prototype.setupSlickCarousel=function(){this.container.on("init",$.proxy(this,"onSlickInitialised"));this.container.on("afterChange",$.proxy(this,"onSlickAfterChanged"));this.container.slick(this.options)};kidly.views.PhotoCarouselView.prototype.destroy=function(){this.container.slick("unslick");this.isConstructed=!1};kidly.views.PhotoCarouselView.prototype.onSlickInitialised=function(){this.fire("init",this)};kidly.views.PhotoCarouselView.prototype.onSlickAfterChanged=function(){var n=this.container.slick("slickCurrentSlide");this.selectedIndex!==n&&(this.selectedIndex=n,this.fire("afterSlideChanged",this,this.selectedIndex))};kidly.views.PhotoCarouselView.prototype.goToSlide=function(n){this.container.slick("slickGoTo",n,!1)};kidly.views.PhotoCarouselView.prototype.getContainer=function(){return this.container};kidly.views.PhotoCarouselView.prototype.getCurrentSlide=function(){return this.container.slick("slickCurrentSlide")};kidly.views.NewInView=function(n){this.container=n instanceof $?n:$(n);this.analyticsUtility=new kidly.utilities.Analytics;this.breakpoint=500;this.carouselView=new kidly.views.PhotoCarouselView(this.container,{mobileFirst:!0,arrows:!1,dots:!1,variableWidth:!0});this.shouldShowCarousel()&&this.carouselView.init();$(".homepage-productPanels").on("click","[data-product-name]",$.proxy(this,"onProductClicked"));$(window).on("resize",$.proxy(this,"onWindowResize"))};kidly.views.NewInView.prototype.onWindowResize=function(){this.shouldShowCarousel()?this.onBreakpointConcession():this.onBreakpointRecession()};kidly.views.NewInView.prototype.onBreakpointConcession=function(){this.carouselView.init()};kidly.views.NewInView.prototype.onBreakpointRecession=function(){this.hasInitializedCarousel()&&this.carouselView.destroy()};kidly.views.NewInView.prototype.shouldShowCarousel=function(){return $(window).width()<this.breakpoint};kidly.views.NewInView.prototype.hasInitializedCarousel=function(){return this.container.hasClass("slick-initialized")};kidly.views.NewInView.prototype.onProductClicked=function(n){n.preventDefault();var t=$(n.currentTarget),i={id:t.data("productId"),name:t.data("productName"),brand:t.data("brand"),colour:t.data("colour"),list:"Homepage New In",url:t.attr("href")};this.analyticsUtility.onProductClick(i,"homepage view")};kidly.views.CrossSellView=function(n){this.container=n instanceof $?n:$(n);this.analyticsUtility=new kidly.utilities.Analytics;this.container.slick({mobileFirst:!0,arrows:!1,dots:!0,slidesToShow:2,slidesToScroll:2,responsive:[{breakpoint:730,settings:{slidesToShow:4,slidesToScroll:4}},{breakpoint:1e3,settings:{slidesToShow:4,slidesToScroll:4,arrows:!0}}]});this.container.on("click","[data-product-name]",$.proxy(this,"onProductClicked"))};kidly.views.CrossSellView.prototype.onProductClicked=function(n){n.preventDefault();var t=$(n.currentTarget),i={id:t.data("productId"),name:t.data("productName"),brand:t.data("brand"),colour:t.data("colour"),list:"Cross Sell",url:t.attr("href")};this.analyticsUtility.onProductClick(i,"product view")};kidly.views.ShareToolsView=function(n){this.view=n;var t=$(".js_shareTools");t[0]&&this.setupShareTools()};kidly.views.ShareToolsView.prototype.setupShareTools=function(){this.shareOpenButton=$(".js_shareButton");this.shareTools=$(".js_shareTools");this.shareCloseButton=$(".js_shareClose");this.shareToolsIsOpen=!1;$(document).on("click",$.proxy(this,"onDocumentClick"));this.shareOpenButton.on("click",$.proxy(this,"onOpenShareToolsClick"));this.shareCloseButton.on("click",$.proxy(this,"onCloseShareToolsClick"))};kidly.views.ShareToolsView.prototype.onOpenShareToolsClick=function(n){n.preventDefault();var t=$(n.target);this.form=t.closest("form");this.shareBrandName=t.data("brand");this.shareProductName=t.data("product");this.shareUrl=t.data("url");this.toggleShareToolsVisibility();ga("send","event",this.view,"click","shareProduct")};kidly.views.ShareToolsView.prototype.onCloseShareToolsClick=function(){this.closeShareTools()};kidly.views.ShareToolsView.prototype.onDocumentClick=function(n){var t=$.contains(this.shareTools[0],n.target)||n.target===this.shareTools[0],i=$.contains(this.shareOpenButton[0],n.target)||$(n.target).hasClass("js_shareButton");!this.shareToolsIsOpen||t||i||this.closeShareTools()};kidly.views.ShareToolsView.prototype.toggleShareToolsVisibility=function(){this.shareToolsIsOpen?this.closeShareTools():this.openShareTools()};kidly.views.ShareToolsView.prototype.openShareTools=function(){this.form[0]&&(navigator.share?navigator.share({title:"Share "+this.shareBrandName+" "+this.shareProductName,url:this.shareUrl}):(this.shareTools.find(".js_shareToolsProduct").text(this.shareProductName),this.shareTools.find(".js_shareToolsFacebook").attr("href","https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(this.shareUrl)),this.shareTools.find(".js_shareToolsFacebook").data("link","https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(this.shareUrl)),this.shareTools.find(".js_shareToolsWhatsapp").attr("href","https://wa.me/?text="+encodeURIComponent(this.shareBrandName+" "+this.shareProductName+", "+this.shareUrl)),this.shareTools.find(".js_shareToolsEmail").attr("href","mailto:?subject=KIDLY%20recommendation&body="+encodeURIComponent(this.shareBrandName+" "+this.shareProductName+",")+"%0D%0A"+encodeURIComponent(this.shareUrl)),this.shareTools.addClass("isOpen"),$("#reamaze-widget-container").hide(),this.shareToolsIsOpen=!0))};kidly.views.ShareToolsView.prototype.closeShareTools=function(){this.shareTools.removeClass("isOpen");$("#reamaze-widget-container").show();this.shareToolsIsOpen=!1};kidly.views.SizeSelectView=function(n){kidly.views.SizeSelectView.superConstructor.call(this);this.selectEl=n;this.sizeAttributes={price:"data-price",discountedPrice:"data-discounted-price",discountDisclaimer:"data-discount-disclaimer",fullPrice:"data-full-price",stock:"data-stock",status:"data-status"};this.selectEl.on("change",$.proxy(this,"onChange"))};kidly.utilities.inherit(kidly.views.SizeSelectView,kidly.utilities.EventEmitter);kidly.views.SizeSelectView.prototype.parseDiscountAttributes=function(n){return{price:n.attr(this.sizeAttributes.price),fullPrice:n.attr(this.sizeAttributes.fullPrice),discountedPrice:n.attr(this.sizeAttributes.discountedPrice),discountDisclaimer:n.attr(this.sizeAttributes.discountDisclaimer),stockDisplayClass:n.attr(this.sizeAttributes.stock),status:n.attr(this.sizeAttributes.status)}};kidly.views.SizeSelectView.prototype.onChange=function(n){var t=$(n.target),i=t.find(":selected");this.fire("change",this.parseDiscountAttributes(i))};kidly.views.ProductDetailsView=function(n){kidly.views.ProductDetailsView.superConstructor.call(this);this.container=n;this.setupGalleryCarousel();this.setupOptionsCarousel();this.setupRoadtestCarousel();this.setupValidation();this.setupDeliveryLearnMore();this.setupCountDown();this.shareTools=new kidly.views.ShareToolsView("product view");this.wishlistSkus=[];this.wishlistService=new kidly.services.WishlistService;this.getWishlistSkus();this.basketAddButton=$(".js_addToBasketButton");this.wishlistAddButton=$(".js_addToWishlistButton");this.wishlistRemoveButton=$(".js_removeWishlistButton");this.stockNotificationAddButton=$(".js_backInStockButton");this.basketAddSubmitButton=new kidly.views.SubmitButtonView(this.basketAddButton);this.wishlistAddSubmitButton=new kidly.views.SubmitButtonView(this.wishlistAddButton);this.wishlistRemoveSubmitButton=new kidly.views.SubmitButtonView(this.wishlistRemoveButton);this.stockNotificationAddSubmitButton=new kidly.views.SubmitButtonView(this.stockNotificationAddButton);this.basketFeedback=$(".js_addToBasketFeedback");this.wishlistFeedback=$(".js_wishlistFeedback");this.stockNotificationFeedback=$(".js_backInStockFeedback");this.sizeSelector=new kidly.views.SizeSelectView(this.container.find(".js_selectSize"));this.sizeSelector.on("change",$.proxy(this,"onSizeSelectChange"));this.sizeGuideScroller=new kidly.views.ScrollView("productDetails-sizeGuide",500);this.sizeGuideLink=$(".mainProductDetails-sizeGuideLink");this.sizeGuideLink.on("click",$.proxy(this,"onSizeGuideLinkClick"));this.analyticsUtility=new kidly.utilities.Analytics;$(".js_productOption-link").on("click","[data-product-id]",$.proxy(this,"onOptionClicked"));this.trackPageView()};kidly.utilities.inherit(kidly.views.ProductDetailsView,kidly.utilities.EventEmitter);kidly.views.ProductDetailsView.prototype.onSizeGuideLinkClick=function(n){n.preventDefault();this.sizeGuideScroller.scroll()};kidly.views.ProductDetailsView.prototype.setupValidation=function(){var n=this.container.find("form"),t,i;if(n[0]){t=new kidly.views.FormValidatorView(n[0]);i=n.find('[name="skuId"]');i&&t.addValidator("skuId",[{method:kidly.validators.notEmpty,message:"Please choose a size first"}]);t.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))}};kidly.views.ProductDetailsView.prototype.updatePrices=function(n){var t=this.container.find(".js_nowPrice"),i=this.container.find(".js_wasPrice"),r=this.container.find(".js_fullPrice"),u=this.container.find(".js_pricePrefix"),f,e;u.length&&(n.price?u.hide():u.show());t.length?typeof n.price!="undefined"?(f=parseFloat(n.price.substr(1)),e=parseFloat(n.fullPrice.substr(1)),f<e?(t.html(n.price),i.html(n.fullPrice),r.html("")):(t.html(""),i.html(""),r.html(n.price))):(t.html(t.data("default")),i.html(i.data("default")),r.html("")):r.html(n.price)};kidly.views.ProductDetailsView.prototype.updateStockStatus=function(n){var t=typeof n.stockDisplayClass!="undefined"?n.stockDisplayClass:"skuDetails-inStock";this.container.find(".js_availability.js_available").length<1&&(t="skuDetails-outOfStock");this.container.find(".stockStatus").addClass("stockStatus-hidden").removeClass("stockStatus");this.container.find("."+t).removeClass("stockStatus-hidden").addClass("stockStatus")};kidly.views.ProductDetailsView.prototype.updateFormButtons=function(n){var t=n.status;this.container.find(".js_availability").addClass("hide");this.container.find(".js_"+t).removeClass("hide")};kidly.views.ProductDetailsView.prototype.onSizeSelectChange=function(n){this.updatePrices(n);this.updateStockStatus(n);this.updateFormButtons(n);this.checkWishlist();this.setStockNotificationButton()};kidly.views.ProductDetailsView.prototype.getWishlistSkus=function(){var n=this.container.find("#productCode").text();this.wishlistService.getWishlistSKUsByProductCode(n,$.proxy(this,"onGetWishlistSkusSuccess"))};kidly.views.ProductDetailsView.prototype.onGetWishlistSkusSuccess=function(n){this.setupWishlistSkus(n.Skus)};kidly.views.ProductDetailsView.prototype.setupWishlistSkus=function(n){n.length!==0&&($("input[name=skuId]").length&&this.changeToWishlistRemove(),$("select[name=skuId]").length&&(this.wishlistSkus=n))};kidly.views.ProductDetailsView.prototype.checkWishlist=function(){var n=$("select[name=skuId]").val();this.wishlistSkus.indexOf(n)>=0?this.changeToWishlistRemove():this.changeToWishlistAdd()};kidly.views.ProductDetailsView.prototype.onSubmittedSuccessfully=function(n,t){n.preventDefault();switch(t){case"addToWishlist":this.wishlistAddSubmitButton.disable();this.fire("productWishlistAddFormSubmitted",$(n.target).serialize());break;case"removeFromWishlist":this.wishlistRemoveSubmitButton.disable();this.fire("productWishlistRemoveFormSubmitted",$(n.target).serialize());break;case"backInStock":this.stockNotificationAddSubmitButton.disable();this.fire("productStockNotificationFormSubmitted",$(n.target).serialize());break;default:this.basketAddSubmitButton.disable();this.fire("productBasketFormSubmitted",$(n.target).serialize())}};kidly.views.ProductDetailsView.prototype.setupGalleryCarousel=function(){this.galleryCarousel=new kidly.views.PhotoCarouselView($(".photos"),{responsive:[{breakpoint:700,settings:{arrows:!1,dots:!0}}],draggable:!0,speed:200,touchThreshold:8});this.galleryCarousel.on("init",$.proxy(function(n){n.getContainer().parent().addClass("initialised")},this));this.galleryCarousel.init();this.galleryCarousel.on("afterSlideChanged",$.proxy(function(n,t){$(".photosWrapper .thumbnail").removeClass("selectedThumbnail");$(".photosWrapper .thumbnail:eq("+t+")").addClass("selectedThumbnail")},this));$(".photosWrapper").on("click",".thumbnail button",$.proxy(function(n){n.preventDefault();$(".photosWrapper .thumbnail").removeClass("selectedThumbnail");$(n.currentTarget).parent().addClass("selectedThumbnail");this.galleryCarousel.goToSlide($(n.currentTarget).attr("data-index"))},this))};kidly.views.ProductDetailsView.prototype.setupOptionsCarousel=function(){var n=$(".js_productOptions"),t=n.find(".productOption--selected").index();n.slick({mobileFirst:!0,slidesToShow:4,slidesToScroll:4,infinite:!1,prevArrow:'<button type="button" class="productOptions-arrow productOptions-arrow--prev slick-prev">Previous<\/button>',nextArrow:'<button type="button" class="productOptions-arrow productOptions-arrow--next slick-next">Next<\/button>'});n.slick("slickGoTo",t)};kidly.views.ProductDetailsView.prototype.setupRoadtestCarousel=function(){var n=$(".roadTest .wrapper"),t=n.find(".roadTestItem");t.length>1&&n.slick({dots:!0,draggable:!0,speed:200,touchThreshold:8,arrows:!0,mobileFirst:!0,responsive:[{breakpoint:1099,settings:{speed:400,dots:!1}}]})};kidly.views.ProductDetailsView.prototype.setupDeliveryLearnMore=function(){this.deliveryScroller=new kidly.views.ScrollView("productDeliveryAndReturns",400);var n=this.container.find(".deliveryInformation-learnMoreLink");n.on("click",$.proxy(this,"onLearnMoreAboutDeliveryLinkClicked"))};kidly.views.ProductDetailsView.prototype.onLearnMoreAboutDeliveryLinkClicked=function(){this.deliveryScroller.scroll()};kidly.views.ProductDetailsView.prototype.setupCountDown=function(){this.timeLeftElement=this.container.find(".deliveryInformation-timeLeft");this.orderByDate=this.timeLeftElement.attr("data-countdown-stop");this.countdownView=new kidly.views.CountdownView(this.timeLeftElement,this.orderByDate);this.countdownView.on("end",$.proxy(this,"onCountdownEnd"));this.orderByDate&&this.countdownView.startTimer()};kidly.views.ProductDetailsView.prototype.onCountdownEnd=function(){this.container.find(".deliveryInformation").remove()};kidly.views.ProductDetailsView.prototype.basketAddSuccess=function(n){this.enableAddToBasketButton();this.basketFeedback.html(n.html);this.basketFeedback.slideDown(250);this.scrollIntoView(this.basketFeedback);var t=$("select[name='skuId']").length?$("select[name='skuId'] option:selected").html().trim():"One size",i={id:$("input[name='ProductId']").val(),name:$("input[name='ProductName']").val(),brand:$("input[name='Brand']").val(),colour:$("input[name='ColourName']").val(),price:$("input[name='Price']").val(),size:t,sku:$("[name='skuId']").val()};this.analyticsUtility.purchaseIntent(i,"add","product view","addToCart")};kidly.views.ProductDetailsView.prototype.basketAddError=function(n){this.basketFeedback.html('<p class="addToBasketFeedback-failed">'+n+"<\/p>");this.basketFeedback.slideDown(250);this.scrollIntoView(this.basketFeedback)};kidly.views.ProductDetailsView.prototype.wishlistAddSuccess=function(n){var t;this.enableWishlistButtons();this.changeToWishlistRemove();this.wishlistFeedback.html(n.html);this.wishlistFeedback.slideDown(250);this.scrollIntoView(this.wishlistFeedback);$("select[name=skuId]").length&&(t=$("select[name=skuId]").val(),this.wishlistSkus.push(t));var i=$("select[name='skuId']").length?$("select[name='skuId'] option:selected").html().trim():"One size",r={id:$("input[name='ProductId']").val(),name:$("input[name='ProductName']").val(),brand:$("input[name='Brand']").val(),colour:$("input[name='ColourName']").val(),price:$("input[name='Price']").val(),size:i,sku:$("[name='skuId']").val()};this.analyticsUtility.purchaseIntent(r,"add","product view","addToWishlist")};kidly.views.ProductDetailsView.prototype.wishlistAddError=function(n){this.wishlistFeedback.html(n);this.wishlistFeedback.slideDown(250);this.scrollIntoView(this.wishlistFeedback)};kidly.views.ProductDetailsView.prototype.wishlistRemoveSuccess=function(){var n;this.enableWishlistButtons();this.changeToWishlistAdd();$("select[name=skuId]").length&&(n=$("select[name=skuId]").val(),this.wishlistSkus.splice($.inArray(n,this.wishlistSkus),1));var t=$("select[name='skuId']").length?$("select[name='skuId'] option:selected").html().trim():"One size",i={id:$("input[name='ProductId']").val(),name:$("input[name='ProductName']").val(),brand:$("input[name='Brand']").val(),colour:$("input[name='ColourName']").val(),price:$("input[name='Price']").val(),size:t,sku:$("[name='skuId']").val()};this.analyticsUtility.purchaseIntent(i,"remove","product view","removeFromWishlist")};kidly.views.ProductDetailsView.prototype.wishlistRemoveError=function(n){this.wishlistFeedback.html('<p class="wishlistFeedback-failed">'+n+"<\/p>");this.wishlistFeedback.slideDown(250);this.scrollIntoView(this.wishlistFeedback)};kidly.views.ProductDetailsView.prototype.changeToWishlistRemove=function(){this.wishlistAddButton.css("display","none");this.wishlistRemoveButton.css("display","block")};kidly.views.ProductDetailsView.prototype.changeToWishlistAdd=function(){this.wishlistAddButton.css("display","block");this.wishlistRemoveButton.css("display","none")};kidly.views.ProductDetailsView.prototype.stockNotificationAddSuccess=function(){if(this.showSkuNotifactionIsSet(),this.stockNotificationFeedback.slideDown(250),this.scrollIntoView(this.stockNotificationFeedback),$("select[name=skuId]").length){var n=$("select[name=skuId] option:selected");n.data("stockNotification","true")}};kidly.views.ProductDetailsView.prototype.showSkuNotifactionIsSet=function(){var n=$("#CustomerEmail").val(),t=n!==undefined?'<p><span class="backInStockFeedback-success">We\'ll email you at <strong>'+n+"<\/strong><\/span><\/p>":"<p><span class=\"backInStockFeedback-success\">We'll email you when it's back in stock<\/span><\/p>";this.stockNotificationAddSubmitButton.disable();this.stockNotificationAddButton.html("All set!");this.stockNotificationAddButton.addClass("backInStockBtn--success");this.stockNotificationFeedback.html(t)};kidly.views.ProductDetailsView.prototype.stockNotificationAddError=function(n){this.stockNotificationFeedback.html('<p class="stockNotificationFeedback-failed">'+n+"<\/p>");this.stockNotificationFeedback.slideDown(250);this.scrollIntoView(this.stockNotificationFeedback)};kidly.views.ProductDetailsView.prototype.enableAddToBasketButton=function(){this.basketAddSubmitButton.enable()};kidly.views.ProductDetailsView.prototype.enableWishlistButtons=function(){this.wishlistAddSubmitButton.enable();this.wishlistRemoveSubmitButton.enable()};kidly.views.ProductDetailsView.prototype.setStockNotificationButton=function(){var n=$("select[name=skuId] option:selected").data("stockNotification");n?(this.showSkuNotifactionIsSet(),this.stockNotificationFeedback.slideDown(0)):this.enableStockNotificationButton()};kidly.views.ProductDetailsView.prototype.enableStockNotificationButton=function(){this.stockNotificationAddButton.removeClass("backInStockBtn--success");this.stockNotificationAddSubmitButton.enable()};kidly.views.ProductDetailsView.prototype.onOptionClicked=function(n){n.preventDefault();var t=$(n.currentTarget),i={id:t.data("productId"),name:$(".mainProductDetails-name-product").text().trim(),brand:$(".mainProductDetails-name-brand").text().trim(),colour:t.data("colour"),list:"Product Options",url:t.attr("href")};this.analyticsUtility.onProductClick(i,"product view")};kidly.views.ProductDetailsView.prototype.scrollIntoView=function(n){var i=n.offset().top,t=$(window).scrollTop(),r=t+$(window).height();i>r&&$("html, body").animate({scrollTop:t+100},800)};kidly.views.ProductDetailsView.prototype.trackPageView=function(){var n={id:kidlyInfo.trackingPixel.productId,name:kidlyInfo.trackingPixel.productName,brand:kidlyInfo.trackingPixel.brandName,value:kidlyInfo.trackingPixel.value,fullValue:kidlyInfo.trackingPixel.fullValue,colour:kidlyInfo.trackingPixel.colourName,url:kidlyInfo.trackingPixel.url,imgUrl:kidlyInfo.trackingPixel.imgUrl};this.analyticsUtility.productView(n)};kidly.views.ProductReviewsView=function(n){this.pageContainer=$(".js_productDetailsPage");this.reviewsContainer=$(n);this.averageReviewContainer=$(".js_averageReviewContainer");this.reviewsService=new kidly.services.ReviewsService;this.pagination=$(".js_pagination");this.LoadMore=this.pagination.find("[data-action]");this.LoadThrobber=this.pagination.find(".loader");this.getReviews();this.LoadMore.on("click",$.proxy(this,"getReviews"));this.setupScroll()};kidly.views.ProductReviewsView.prototype.getReviews=function(){this.LoadMore.hide();this.LoadThrobber.show();this.pageNumber=this.LoadMore.data("page")||1;var n={page:this.pageNumber,productId:this.reviewsContainer.data("id")},t={success:$.proxy(this,"onPaginationResult"),error:$.proxy(this,"onPaginationError",this.pageNumber)};this.reviewsService.getReviewsByProductCode(n,t)};kidly.views.ProductReviewsView.prototype.onPaginationResult=function(n){var r=this.reviewsContainer.find(".js_productReviews-list"),t,i;if(this.LoadThrobber.hide(),n.ProductReviews.length){for(t=0;t<n.ProductReviews.length;t++)i=this.createReviewPanel(t,n),$(r).append(i);n.CurrentPage===1&&this.addReviewsToStructuredData(n);n.NextPage>0&&(this.LoadMore.data("page",n.NextPage),this.LoadMore.show())}else n.NextPage===-1&&this.onPaginationError()};kidly.views.ProductReviewsView.prototype.onPaginationError=function(){this.LoadThrobber.hide();this.pagination.append('<p class="pagination-text">Oh dear... we can\'t find the reviews.<\/p>')};kidly.views.ProductReviewsView.prototype.createReviewPanel=function(n,t){var i=t.ProductReviews[n],f=$(".js_templates .js_productReviewTemplate"),r=f.clone(),e=i.ReviewerFirstName==="Anonymous"?"KIDLY Customer":i.Reviewer,u=i.SizeName==="One Size"?"":i.SizeName,o=i.OptionName!==""&&u!==""?", ":"",s="Reviewing "+i.OptionName+o+u;return r.removeClass("js_productReviewTemplate"),r.find(".js_productReviewTemplate-star").addClass("reviewStars--"+i.Rating).attr("aria-label","Customer rating for the product is "+i.Rating+" out of 5"),r.find(".js_productReviewTemplate-reviewerName").text(e),r.find(".js_productReviewTemplate-date").text(i.ReviewInDays+" ago"),i.ReviewText!==""?r.find(".js_productReviewTemplate-description").html(i.ReviewText):r.find(".js_productReviewTemplate-description").remove(),i.OptionName!==""||u!==""?r.find(".js_productReviewTemplate-skuDetails").text(s):r.find(".js_productReviewTemplate-skuDetails").remove(),i.Replies.length?r.find(".js_productReviewTemplate-feedbackText").append(i.Replies[0]):r.find(".js_productReviewTemplate-feedback").remove(),r};kidly.views.ProductReviewsView.prototype.addReviewsToStructuredData=function(n){var u=$('script[type="application/ld+json"]'),f,i,t,r,e;if(u.length&&(f=u.html().trim(),f.length)){for(i=JSON.parse(f),i.review=[],t=0;t<n.ProductReviews.length;t++)r=n.ProductReviews[t],i.review[t]={},i.review[t]["@type"]="Review",i.review[t].author={},i.review[t].author["@type"]="Person",i.review[t].author.name=r.Reviewer,i.review[t].reviewRating={},i.review[t].reviewRating["@type"]="Rating",i.review[t].reviewRating.ratingValue=r.Rating,i.review[t].reviewRating.bestRating=5,i.review[t].reviewRating.worstRating=1,i.review[t].reviewRating.reviewBody=r.ReviewText;e=JSON.stringify(i);u.html(e)}};kidly.views.ProductReviewsView.prototype.setupScroll=function(){this.reviewScroller=new kidly.views.ScrollView("productReviews",400);this.averageReviewContainer.on("click","a",$.proxy(this,"onScrollToReviewsClicked"))};kidly.views.ProductReviewsView.prototype.onScrollToReviewsClicked=function(n){n.preventDefault();this.reviewScroller.scroll()};kidly.views.ProductListView=function(n,t){this.container=n;this.analyticsUtility=new kidly.utilities.Analytics;$(".products").on("click","[data-product-id]",$.proxy(this,"onProductClicked",t))};kidly.views.ProductListView.prototype.onProductClicked=function(n,t){t.preventDefault();var i=$(t.currentTarget),r={id:i.data("productId"),name:i.data("productName"),brand:i.data("brand"),colour:i.data("colour"),list:n,url:i.find("a").attr("href")},u=n+" view";this.analyticsUtility.onProductClick(r,u)};kidly.views.MegaMenuView=function(){this.mobileMenushowing=!1;this.breakpoint=1200;this.body=$("body");this.container=$("#container");this.backgroundTint=$('<div class="megaMenuTint" />');this.body.append(this.backgroundTint);this.setupDevice();$(window).on("resize",$.debounce(1,$.proxy(this,"onWindowResized")));this.detectTap=!1;$(document).on("touchstart",$.proxy(this,"onDetectTouchStart"));$(document).on("touchmove",$.proxy(this,"onDetectTouchMove"));this.mobileMenuButton=$(".js_mobileMenuOpener");this.mobileMenuContainer=$(".js_megaMenu");this.mobileMenuText=$(".megaMenuOpener-text");this.mobileMenuButton.on("click",$.proxy(this,"onMobileMenuButtonClicked"));$(document).on("touchend",$.proxy(this,"onDocumentClick"));this.swipableEl=new kidly.utilities.SwipableElement(this.mobileMenuContainer,10);this.swipableEl.on("leftSwipe",$.proxy(this,"hideMobileMenu"));this.closeCategoryButton=$(".js_megaMenu-closeCategoryBtn");this.closeCategoryButton.on("click",$.proxy(this,"onCloseCategoryButtonClicked"));this.navBar=$(".megaMenuClick .megaMenu-departments");this.navNodeButton=$(".js_megaMenu-departmentBtn");this.navNodeButton.on("touchend",$.proxy(this,"onNavNodeButtonClicked"));this.navBar.hover($.proxy(this,"onNavMouseEnter"),$.proxy(this,"onNavMouseLeave"))};kidly.views.MegaMenuView.prototype.onWindowResized=function(){this.setupDevice()};kidly.views.MegaMenuView.prototype.setupDevice=function(){this.isSmallDevice()?this.body.addClass("megaMenuTouch").removeClass("megaMenuClick"):this.body.removeClass("megaMenuTouch").addClass("megaMenuClick")};kidly.views.MegaMenuView.prototype.isSmallDevice=function(){return $(window).width()<this.breakpoint};kidly.views.MegaMenuView.prototype.onDetectTouchStart=function(){this.detectTap=!0};kidly.views.MegaMenuView.prototype.onDetectTouchMove=function(){this.detectTap=!1};kidly.views.MegaMenuView.prototype.onMobileMenuButtonClicked=function(n){n.preventDefault();this.toggleMegaMenu()};kidly.views.MegaMenuView.prototype.onDocumentClick=function(n){!this.mobileMenushowing||$.contains(this.mobileMenuContainer[0],n.target)||$.contains(this.container[0],n.target)||this.hideMobileMenu()};kidly.views.MegaMenuView.prototype.toggleMegaMenu=function(){this.mobileMenushowing?this.hideMobileMenu():this.showMobileMenu()};kidly.views.MegaMenuView.prototype.showMobileMenu=function(){this.mobileMenushowing=!0;this.mobileMenuContainer.addClass("megaMenu--visible");this.body.addClass("noScroll megaMenuOpen");this.mobileMenuText.text("close");window.setTimeout($.proxy(function(){this.mobileMenuButton.addClass("megaMenuOpener--active")},this),10)};kidly.views.MegaMenuView.prototype.hideMobileMenu=function(){this.mobileMenushowing=!1;this.mobileMenuContainer.removeClass("megaMenu--visible");this.body.removeClass("noScroll megaMenuOpen");this.mobileMenuText.text("shop");this.mobileMenuButton.removeClass("megaMenuOpener--active");this.closePanel()};kidly.views.MegaMenuView.prototype.onNavNodeButtonClicked=function(n){if(n.preventDefault(),n.type=="click"&&(this.detectTap=!0),this.detectTap){var t=$(n.target).data("id");this.openPanel(t)}};kidly.views.MegaMenuView.prototype.onNavMouseEnter=function(n){var t=$(n.target).find(this.navNodeButton).data("id");this.body.addClass("megaMenuOpen").removeClass("megaMenuClosed");this.openPanel(t)};kidly.views.MegaMenuView.prototype.onNavMouseLeave=function(){this.body.removeClass("megaMenuOpen").addClass("megaMenuClosed");this.closePanel()};kidly.views.MegaMenuView.prototype.openPanel=function(n){$('[data-id="'+n+'"]').closest("ul").addClass("megaMenu-departments--open");$('[data-id="'+n+'"]').closest("li").siblings().addClass("megaMenu-department--inactive");$('[data-id="'+n+'"]').closest("li").addClass("megaMenu-department--active");$('[data-trigger="'+n+'"]').addClass("megaMenu-departmentPanel--visible")};kidly.views.MegaMenuView.prototype.closePanel=function(){$("[data-id").closest("ul").removeClass("megaMenu-departments--open");$("[data-id]").closest("li").removeClass("megaMenu-department--active megaMenu-department--inactive");$("[data-trigger]").removeClass("megaMenu-departmentPanel--visible")};kidly.views.MegaMenuView.prototype.onCloseCategoryButtonClicked=function(n){n.preventDefault();this.closePanel()};kidly.views.SearchMenuView=function(n){kidly.views.SearchMenuView.superConstructor.call(this,{smallSize:n.breakpoint||400});this.$menu=n.menu instanceof $?n.menu:$(n.menu);this.$form=n.form instanceof $?n.form:$(n.form);this.$navButton=n.navButton instanceof $?n.navButton:$(n.navButton);this.$offsetEl=n.offsetEl instanceof $?n.offsetEl:$(n.offsetEl);this.$searchButton=n.searchButton instanceof $?n.searchButton:$(n.searchButton);this.$searchClearInputButton=n.searchClearInputButton instanceof $?n.searchClearInputButton:$(n.searchClearInputButton);this.$searchInput=n.searchInput instanceof $?n.searchInput:$(n.searchInput);this.classNames=n.classNames||{};this.includedElements=n.includedElements||[];var t=$('meta[name="searchKey"]').attr("content"),i=$('meta[name="brandIndex"]').attr("content"),r=$('meta[name="categoryIndex"]').attr("content");this.storeId=$('meta[name="storeId"]').attr("content");this.client=algoliasearch("CXJF3XXST4",t);this.brandIndex=this.client.initIndex(i);this.categoryIndex=this.client.initIndex(r);this.$form.on("submit",$.proxy(this,"onFormSubmit"));this.$searchButton.on("click",$.proxy(this,"onSearchButtonClick"));this.$navButton.on("click",$.proxy(this,"onNavButtonClick"));this.$searchInput.on("keydown",$.proxy(this,"onSearchKeyPress"));this.$searchInput.on("input",$.proxy(this,"setupSearchButtons"));this.$searchClearInputButton.on("click",$.proxy(this,"onSearchClearInputButtonClicked"));this.checkMode($(window).width());this.setupSearchButtons();this.dialog=new kidly.views.DialogView;this.dialog.contentContainer.append(this.$menu);this.$menu.show();this.setupAutoComplete()};kidly.utilities.inherit(kidly.views.SearchMenuView,kidly.utilities.ResponsiveListener);kidly.views.SearchMenuView.prototype.setupAutoComplete=function(){autocomplete(".searchMenu-searchInput",{debug:!0,hint:!1,appendTo:".searchMenu-form",autoWidth:!1,minLength:2},[{source:autocomplete.sources.hits(this.brandIndex,{hitsPerPage:5,filters:"NOT excludedFromStores:"+this.storeId}),displayKey:function(n){return n.brandName?n.brandName:n.BrandName},templates:{suggestion:function(n){var t=n.brandName?n._highlightResult.brandName.value:n._highlightResult.BrandName.value;return"<span>"+autocomplete.escapeHighlightedString(t)+"<\/span>"}}},{source:autocomplete.sources.hits(this.categoryIndex,{hitsPerPage:5}),displayKey:function(n){return n.categoryName?n.categoryName:n.CategoryName},templates:{suggestion:function(n){var t=n.categoryName?n._highlightResult.categoryName.value:n._highlightResult.CategoryName.value;return"<span>"+autocomplete.escapeHighlightedString(t)+"<\/span>"}}}]).on("autocomplete:selected",$.proxy(function(n,t){this.$searchInput.prop("disabled",!0);this.$searchButton.prop("disabled",!0);var i=t.url?t.url:t.URL;window.location.href="/"+i},this))};kidly.views.SearchMenuView.prototype.onNavButtonClick=function(n){var t;n.preventDefault();this.fire("menuActivated");this.dialog.contentContainer.append(this.$menu);this.dialog.show({y:"0px"});this.$searchInput.prop("disabled",!1);this.$searchButton.prop("disabled",!1);this.$searchInput.trigger("focus");t=this.$searchInput.val().length;this.$searchInput[0].setSelectionRange(t,t)};kidly.views.SearchMenuView.prototype.onFormSubmit=function(n){var i=this.$searchInput.val(),t=$(".aa-suggestion span"),r,u;/\S/.test(i)?(r=t.text().toLowerCase().replace(/[^0-9a-z]/gi,""),u=i.toLowerCase().replace(/[^0-9a-z]/gi,""),t.length===1&&r===u?(n.preventDefault(),t.click()):this.fire("search",{term:this.searchValue()})):n.preventDefault()};kidly.views.SearchMenuView.prototype.onSearchKeyPress=function(n){var t=n.which};kidly.views.SearchMenuView.prototype.onSearchClearInputButtonClicked=function(){this.$searchInput.val("");this.setupSearchButtons();this.$searchInput.trigger("focus")};kidly.views.SearchMenuView.prototype.setupSearchButtons=function(){this.$searchInput.val().length>0?(this.$searchButton.addClass(this.classNames.activeSearchButton),this.$searchClearInputButton.css("visibility","visible")):(this.$searchButton.removeClass(this.classNames.activeSearchButton),this.$searchClearInputButton.css("visibility","hidden"))};kidly.views.SearchMenuView.prototype.containsElement=function(n){var t=this.includedElements.concat([this.$navButton[0],this.$menu[0],this.$searchButton[0]]);return this.isInElements(n,t)};kidly.views.SearchMenuView.prototype.isInElements=function(n,t){var i=t instanceof Array?t:[t];return kidly.utilities.list.reduce(function(t,i){return t?t:$(n).is(i)||$.contains(i,n)},!1,i)};kidly.views.SearchMenuView.prototype.searchValue=function(){return this.$searchInput.val()};kidly.views.SecondaryNavigationView=function(n){kidly.views.SecondaryNavigationView.superConstructor.apply(this,arguments);this.container=n;this.accountMenuView=new kidly.views.AccountMenuView;this.accountMenuView.on("menuActivated",$.proxy(this,"onAccountMenuActivated"));this.accountMenuView.on("signOutClicked",$.proxy(this,"onSignOutClicked"));this.accountMenuView.on("notYouClicked",$.proxy(this,"onNotYouClicked"));var e=$(".secondaryNavigation"),t=$(".searchMenu"),o=$(".searchMenu-form"),i=$(".searchMenu-searchInput"),r=$(".searchMenu-searchButton"),u=$(".searchMenu-clearSearchButton"),f=$(".secondaryNavigation-search");if(t[0]&&f[0]&&i[0]&&r[0]&&u[0]){this.searchMenuView=new kidly.views.SearchMenuView({navButton:f,menu:t,offsetEl:e,form:o,searchInput:i,searchButton:r,searchClearInputButton:u,classNames:{container:"searchMenu",activeSearchButton:"searchMenu-searchButton-active"}});this.searchMenuView.on("menuActivated",$.proxy(this,"onSearchMenuActivated"))}};kidly.utilities.inherit(kidly.views.SecondaryNavigationView,kidly.utilities.EventEmitter);kidly.views.SecondaryNavigationView.prototype.onSignOutClicked=function(n){this.fire("signOutClicked",n)};kidly.views.SecondaryNavigationView.prototype.onNotYouClicked=function(n){this.fire("notYouClicked",n)};kidly.views.SecondaryNavigationView.prototype.onAccountMenuActivated=function(){};kidly.views.SecondaryNavigationView.prototype.onSearchMenuActivated=function(){this.accountMenuView.hideMenu()};kidly.views.SecondaryNavigationView.prototype.updateBasketItemCount=function(n){$(".secondaryNavigation-basketItemsCount").html(n);$(".secondaryNavigation-basketItems").addClass("secondaryNavigation-basketItems-hasItems")};kidly.views.SecondaryNavigationView.prototype.updateWishlistItemCount=function(n){$(".secondaryNavigation-wishlistItemsCount").html(n);n>0?$(".secondaryNavigation-wishlistItems").addClass("secondaryNavigation-wishlistItems-hasItems"):$(".secondaryNavigation-wishlistItems").removeClass("secondaryNavigation-wishlistItems-hasItems")};kidly.views.AccountMenuView=function(){kidly.views.AccountMenuView.superConstructor.apply(this,arguments);this.showing=!1;this.breakpoint=1200;this.container=$(".secondaryNavigation");this.link=this.container.find(".secondaryNavigation-profile");this.link.on("click",$.proxy(this,"onMenuClicked"));this.accountMenuContainer=$("#accountMenu");this.dialog=new kidly.views.DialogView;this.dialogClose=$(".dialog-close");this.dialogClose.on("click",$.proxy(this,"hideMenu"));$(document).on("click",$.proxy(this,"onDocumentClick"));if(typeof FB!="undefined"&&typeof FB.getLoginStatus=="function"&&typeof FB.logout=="function"){this.accountMenuContainer.on("click",".accountMenu-notYouLink",$.proxy(this,"onNotYouClicked"));this.accountMenuContainer.on("click",".accountMenu-signOut",$.proxy(this,"onSignOutClicked"))}this.shouldShowOverlay()&&this.onBreakpointConcession();$(window).on("resize",$.debounce(1,$.proxy(this,"onWindowResized")))};kidly.utilities.inherit(kidly.views.AccountMenuView,kidly.utilities.EventEmitter);kidly.views.AccountMenuView.prototype.onWindowResized=function(){this.shouldShowOverlay()?this.onBreakpointConcession():this.onBreakpointRecession()};kidly.views.AccountMenuView.prototype.onBreakpointConcession=function(){this.dialog.contentContainer.append(this.accountMenuContainer);this.showing&&this.dialog.show({y:"0px"})};kidly.views.AccountMenuView.prototype.onBreakpointRecession=function(){this.showing&&this.dialog.hide();this.accountMenuContainer.insertBefore("#main");this.positionMenu()};kidly.views.AccountMenuView.prototype.shouldShowOverlay=function(){return $(window).width()<this.breakpoint};kidly.views.AccountMenuView.prototype.onNotYouClicked=function(n){n.preventDefault();var t={redirectUrl:$(n.currentTarget).attr("href")};this.fire("notYouClicked",t)};kidly.views.AccountMenuView.prototype.onSignOutClicked=function(n){n.preventDefault();var t={redirectUrl:$(n.currentTarget).attr("href")};this.fire("signOutClicked",t)};kidly.views.AccountMenuView.prototype.onDocumentClick=function(n){!this.showing||$.contains(this.accountMenuContainer[0],n.target)||$.contains(this.container[0],n.target)||this.shouldShowOverlay()||this.hideMenu()};kidly.views.AccountMenuView.prototype.onMenuClicked=function(n){n.preventDefault();this.toggleAccountMenu()};kidly.views.AccountMenuView.prototype.toggleAccountMenu=function(){this.showing?this.hideMenu():this.showMenu()};kidly.views.AccountMenuView.prototype.showMenu=function(){this.accountMenuContainer.addClass("accountMenu-isShowing");this.link.addClass("secondaryNavigation-profile-isActive");this.showing=!0;this.shouldShowOverlay()?this.onBreakpointConcession():this.positionMenu();this.fire("menuActivated")};kidly.views.AccountMenuView.prototype.positionMenu=function(){var n=$(".header-inner");this.accountMenuContainer.css({top:n.outerHeight(!0)+1+"px",right:n.offset().left+"px"})};kidly.views.AccountMenuView.prototype.hideMenu=function(){this.accountMenuContainer.removeClass("accountMenu-isShowing");this.link.removeClass("secondaryNavigation-profile-isActive");this.showing=!1};kidly.views.SubmitButtonView=function(n){this.button=n;this.isButton=this.button.is("button");this.originalButtonText=this.isButton?this.button.html():this.button.val()};kidly.views.SubmitButtonView.prototype.disable=function(){this.updateText("Just a sec...");this.button.addClass("submitted");this.button.prop("disabled",!0)};kidly.views.SubmitButtonView.prototype.enable=function(){this.updateText(this.originalButtonText);this.button.removeClass("submitted");this.button.prop("disabled",!1)};kidly.views.SubmitButtonView.prototype.updateText=function(n){this.isButton?this.button.html(n):this.button.val(n)};kidly.views.LinkButtonView=function(n){this.button=n};kidly.views.LinkButtonView.prototype.showLoadingText=function(){this.button.text("Just a sec...");this.button.addClass("clicked")};kidly.views.PasswordRevealerView=function(n){this.el=n;this.passwordControl=$(n);this.showingPassword=!1;this.showText="Show";this.hideText="Hide";this.createButton()};kidly.views.PasswordRevealerView.prototype.createButton=function(){this.button=$('<button class="revealPassword" type="button">'+this.showText+"<\/a>");this.passwordControl.parent().append(this.button);this.button.on("mousedown",function(n){n.preventDefault()});this.button.on("click",$.proxy(this,"onButtonClicked"))};kidly.views.PasswordRevealerView.prototype.onButtonClicked=function(n){n.preventDefault();this.showingPassword?this.hidePassword():this.showPassword()};kidly.views.PasswordRevealerView.prototype.showPassword=function(){this.el.type="text";this.showingPassword=!0;this.button.text(this.hideText)};kidly.views.PasswordRevealerView.prototype.hidePassword=function(){this.el.type="password";this.showingPassword=!1;this.button.text(this.showText)};kidly.views.BasketView=function(n){this.container=n;this.container.on("click",".basket-productQuantity",$.proxy(this,"onQuantityClicked"));this.container.on("click",".basket-deliveryMoreInfo a",$.proxy(this,"onDeliveryMoreInfoClicked"));this.checkoutButton=this.container.find(".js_basket-checkoutButton");this.checkoutButtonView=new kidly.views.LinkButtonView(this.checkoutButton);this.form=new kidly.views.FormView(this.container.find("#checkout-submit"));this.form.formEl.on("submit",$.proxy(this,"onBasketSubmitted"));this.analyticsUtility=new kidly.utilities.Analytics;this.productForm=$(".basket-product form");this.productForm.on("submit",$.proxy(this,"onProductSubmitted"));this.productForm.find("[type=submit]").on("click",function(){$("[type=submit]",$(this).parents("form")).removeAttr("clicked");$(this).attr("clicked","true")});this.deliveryScroller=new kidly.views.ScrollView("basketPropositions-delivery",400);this.toggleTableRow=new kidly.utilities.ToggleTableRow(".js_costSummary",!1);this.togglePromo=new kidly.utilities.ToggleTableRow(".js_discountCode",!1);this.setupCountdown()};kidly.views.BasketView.prototype.setupCountdown=function(){this.timeLeftElement=$(".basketMessage-timeLeft");this.orderByTime=this.timeLeftElement.attr("data-countdown-stop");this.countdownView=new kidly.views.CountdownView(this.timeLeftElement,this.orderByTime);this.countdownView.on("end",$.proxy(this,"onCountdownEnd"));this.orderByTime&&this.countdownView.startTimer()};kidly.views.BasketView.prototype.onCountdownEnd=function(){this.container.find(".basketMessage").remove()};kidly.views.BasketView.prototype.onQuantityClicked=function(n){typeof n.currentTarget.select=="function"&&n.currentTarget.select()};kidly.views.BasketView.prototype.onBasketSubmitted=function(){this.container.find(".js_basket-checkoutButton-icon").hide();this.checkoutButtonView.showLoadingText()};kidly.views.BasketView.prototype.onDeliveryMoreInfoClicked=function(n){n.preventDefault();this.deliveryScroller.scroll()};kidly.views.BasketView.prototype.onProductSubmitted=function(){var t=this.productForm.find("[type=submit][clicked=true]"),r=t.val(),n=t.closest("form"),i={id:n.find("input[name='ProductId']").val(),name:n.find("input[name='ProductName']").val(),brand:n.find("input[name='Brand']").val(),colour:n.find("input[name='ColourName']").val(),price:n.find("input[name='Price']").val(),quantity:n.find("input[name='Quantity']").val(),size:n.parent().find(".basket-productSize").text().trim(),sku:n.find("[name='SkuId']").val()};switch(r){case"Wishlist":this.analyticsUtility.purchaseIntent(i,"add","basket view","addToWishlist");break;case"Remove":this.analyticsUtility.purchaseIntent(i,"remove","basket view","removeFromCart");break;default:return}};kidly.views.BackToTopView=function(n){this.container=n;this.container.on("click","a",$.proxy(this,"onBackToTopClicked"));this.headerScroller=new kidly.views.ScrollView("header",400)};kidly.views.BackToTopView.prototype.onBackToTopClicked=function(n){n.preventDefault();this.headerScroller.scroll()};kidly.views.PageNavigationView=function(){this.showing=!1;this.selector=$(".multibuySelector");this.button=$(".multibuySelector-button");this.navLink=$(".multibuySelector-link");$(this.button).on("click",$.proxy(this,"onSelectorClicked"));$(document).on("click touchstart",$.proxy(this,"onDocumentClick"));this.navLink.on("click",$.proxy(this,"onNavLinkClick"))};kidly.views.PageNavigationView.prototype.onSelectorClicked=function(n){n.preventDefault();this.toggleMenu()};kidly.views.PageNavigationView.prototype.toggleMenu=function(){this.showing?this.hideMenu():this.showMenu()};kidly.views.PageNavigationView.prototype.showMenu=function(){$(this.selector).addClass("multibuySelector--isOpen");this.showing=!0};kidly.views.PageNavigationView.prototype.hideMenu=function(){$(this.selector).removeClass("multibuySelector--isOpen");this.showing=!1};kidly.views.PageNavigationView.prototype.onDocumentClick=function(n){this.showing&&!$.contains(this.selector[0],n.target)&&this.hideMenu()};kidly.views.PageNavigationView.prototype.onNavLinkClick=function(n){n.preventDefault();var t=$(n.currentTarget).attr("href");$(window).scrollTo($(t),400)};kidly.views.ChatUnavailableView=function(){this.showing=!1;this.container=$(".js_chatUnavailable");this.messageBox=$(".js_chatUnavailable-message");this.openChatButton=$(".js_chatUnavailable-button");this.closeChatButton=$(".js_chatUnavailable-close");this.showClass="chatUnavailable-message--show";$(document).on("click touchstart",$.proxy(this,"onDocumentClick"));this.openChatButton.on("click",$.proxy(this,"onChatClick"));this.closeChatButton.on("click",$.proxy(this,"onCloseClick"))};kidly.views.ChatUnavailableView.prototype.onDocumentClick=function(n){this.showing&&!$.contains(this.container[0],n.target)&&this.hideChatMessage()};kidly.views.ChatUnavailableView.prototype.onChatClick=function(n){n.preventDefault();this.toggleChatMessage()};kidly.views.ChatUnavailableView.prototype.onCloseClick=function(n){n.preventDefault();this.hideChatMessage()};kidly.views.ChatUnavailableView.prototype.toggleChatMessage=function(){this.showing?this.hideChatMessage():this.showChatMessage()};kidly.views.ChatUnavailableView.prototype.hideChatMessage=function(){this.messageBox.removeClass(this.showClass);this.showing=!1};kidly.views.ChatUnavailableView.prototype.showChatMessage=function(){this.messageBox.addClass(this.showClass);this.showing=!0};kidly.views.RewardsView=function(n){this.container=n;this.howTheyWorkLink=n.find(".rewards-infoLink a");this.howTheyWorkScroller=new kidly.views.ScrollView("howTheyWork",600);this.howTheyWorkLink.on("click",$.proxy(this,"onHowTheyWorkLinkClick"))};kidly.views.RewardsView.prototype.onHowTheyWorkLinkClick=function(n){n.preventDefault();this.howTheyWorkScroller.scroll()};kidly.views.AddressFinderView=function(n){this.options=n||{};this.options.form=this.options.form||null;this.options.searchInputId=this.options.searchInputId||null;this.options.countryInputId=this.options.countryInputId||null;this.options.validator=this.options.validator||null;this.options.hideAddress=this.options.hideAddress||null;this.options.placeholderText=this.options.placeholderText||"Start typing address";this.addressService=new kidly.services.AddressService("AX34-MC28-ND46-PB21");this.timer=0;this.searchInput=$("#"+this.options.searchInputId);this.countryInput=$("#"+this.options.countryInputId);this.manualCountries=["IRL","ISR","MLT","PRT"];this.initialise()};kidly.views.AddressFinderView.prototype.initialise=function(){this.results="";this.displayedResults="";this.manualAddressLink=this.options.form.find(".addressControls-manualAddress");this.addressLookupLink=this.options.form.find(".addressControls-addressLookup");this.container=this.searchInput.parents(".standardControl");this.checkCountry();this.findEnabled?(this.switchToAddressLookup(),this.options.hideAddress||this.searchInput.val().length===0?this.hideAddressFields():this.addressEntered()):this.addressLookupLink.hide();this.searchInput.on("keydown",$.proxy(this,"onSearchInputKeyUp"));this.searchInput.on("click",$.proxy(this,"findAddress"));this.countryInput.on("change",$.proxy(this,"onCountryChange"));this.manualAddressLink.on("click",$.proxy(this,"onManualAddressClicked"));this.addressLookupLink.on("click",$.proxy(this,"onAddressLookupClicked"));this.options.form.on("mouseenter",".addressSearchResult-item",$.proxy(this,"onSearchResultHover"));this.options.form.on("click",".addressSearchResult-item",$.proxy(this,"onSearchResultClicked"));$("body").on("click",$.proxy(this,"onBodyClick"))};kidly.views.AddressFinderView.prototype.onBodyClick=function(n){$(n.currentTarget).closest("addressSearchResults").length||this.hideResults()};kidly.views.AddressFinderView.prototype.showResults=function(){this.results.length?(this.displayedResults.length>0?this.displayedResults.find(".addressSearchResults-inner").html(this.results):(this.displayedResults=$('<div class="addressSearchResults"><div class="addressSearchResults-inner">'+this.results+"<\/div><\/div>"),$(this.options.form).append(this.displayedResults)),this.displayedResults.find("address-SearchResult-item").first().addClass("addressSearchResult-item-selected"),this.setPosition(this.displayedResults)):this.hideResults()};kidly.views.AddressFinderView.prototype.hideResults=function(){this.displayedResults&&this.displayedResults.length>0&&(this.displayedResults.remove(),this.displayedResults="")};kidly.views.AddressFinderView.prototype.onSearchInputKeyUp=function(n){var r,t,i,u;if(this.findEnabled){switch(n.which){case 13:if(this.displayedResults.length){if(r=this.displayedResults.find(".addressSearchResult-item-selected"),r.length){this.resultId=r.attr("data-id");this.resultType=r.attr("data-type");this.onSearchResultSelected(this.resultId,this.resultType)}return!1}case 27:this.hideResults();this.timer=0;break;case 38:if(!this.displayedResults)return!1;t=this.displayedResults.find(".addressSearchResult-item-selected").removeClass("addressSearchResult-item-selected").prev(".addressSearchResult-item");t.length||(t=$(this.displayedResults).find(".addressSearchResult-item").last());t.addClass("addressSearchResult-item-selected");this.scrollIfRequired(t,this.displayedResults);break;case 40:if(!this.displayedResults)return!1;i=this.displayedResults.find(".addressSearchResult-item-selected").removeClass("addressSearchResult-item-selected").next(".addressSearchResult-item");i.length||(i=$(this.displayedResults).find(".addressSearchResult-item").first());i.addClass("addressSearchResult-item-selected");this.scrollIfRequired(i,this.displayedResults);break;case 16:case 17:case 18:return!1;default:u=this.searchInput.val().length>4?"Searching... keep typing for better result":"Keep typing your address...";this.results='<div class="addressSearch-searching">'+u+"<\/div>";this.showResults();this.delay($.proxy(this,"findAddress"),300)}$(this.container).find(".errorIndicator").remove();$(this.container).find(".errorMessage").remove()}};kidly.views.AddressFinderView.prototype.findAddress=function(){if(this.findEnabled){if(this.searchInput.val().length<4){this.hideResults();return}this.addressService.searchForAddress(this.searchInput.val(),this.countryInput.val(),"",50,$.proxy(this,"onFindAddressResponse"))}};kidly.views.AddressFinderView.prototype.onCountryChange=function(n){n.preventDefault();this.checkCountry();this.findEnabled?($(".address-line1").val(""),this.switchToAddressLookup()):(this.switchToManualEntry(),this.addressLookupLink.hide())};kidly.views.AddressFinderView.prototype.checkCountry=function(){this.countryInput.val()==""?this.searchInput.prop("disabled",!0):this.searchInput.prop("disabled",!1);this.findEnabled=$.inArray(this.countryInput.val(),this.manualCountries)<0};kidly.views.AddressFinderView.prototype.onFindAddressResponse=function(n){$(this.container).find(".errorIndicator").remove();$(this.container).find(".errorMessage").remove();this.hideResults();this.results="";n.Items.length===1&&typeof n.Items[0].Error!="undefined"?this.delay($.proxy(this,"findAddress"),350):n.Items.length===0?this.options.validator.showInlineError({controlName:"Address1",message:"Oops, we couldn't find that address, sorry!"}):(this.results=this.createResultsHtml(n),this.showResults())};kidly.views.AddressFinderView.prototype.onSubQueryCompleted=function(n){this.results+=this.createResultsHtml(n);this.showResults()};kidly.views.AddressFinderView.prototype.createResultsHtml=function(n){for(var i="",r,t=0;t<n.Items.length;t++)n.Items[t].Next!="Find"&&(r='<div class="addressSearchResult-item" data-id="'+n.Items[t].Id+'" data-type="'+n.Items[t].Type+'">'+n.Items[t].Text+" "+n.Items[t].Description+"<\/div>",i+=r);return i};kidly.views.AddressFinderView.prototype.onSearchResultHover=function(n){$(".addressSearchResult-item-selected").removeClass("addressSearchResult-item-selected");$(n.currentTarget).addClass("addressSearchResult-item-selected")};kidly.views.AddressFinderView.prototype.onSearchResultClicked=function(n){this.resultId=$(n.currentTarget).attr("data-id");this.resultType=$(n.currentTarget).attr("data-type");this.onSearchResultSelected(this.resultId,this.resultType)};kidly.views.AddressFinderView.prototype.onSearchResultSelected=function(n,t){this.resultId=n;this.resultType=t;this.resultType=="Address"?(this.addressService.retrieveAddress(this.resultId,$.proxy(this,"onRetrieveAddressResponse")),this.hideResults()):this.addressService.searchForAddress(this.resultId,"",this.resultId,50,$.proxy(this,"onFindAddressResponse"))};kidly.views.AddressFinderView.prototype.onRetrieveAddressResponse=function(n){if($(this.container).find(".errorIndicator").remove(),$(this.container).find(".errorMessage").remove(),n.Items.length===1&&typeof n.Items[0].Error!="undefined"){this.delay($.proxy(this,"retrieveSelectedAddress"),100);return}if(n.Items.length===0)this.options.validator.showInlineError({controlName:"Address1",message:"Oops, something went wrong... try again?"});else{n.Items[0].Company?(this.searchInput.val(n.Items[0].Company),$(".address-line2").val(n.Items[0].Line1),$(".address-line3").val(n.Items[0].Line2).closest(".addressOptionalLine").show()):(this.searchInput.val(n.Items[0].Line1),$(".address-line2").val(n.Items[0].Line2),$(".address-line3").val("").closest(".addressOptionalLine").hide());$(".address-city").val(n.Items[0].City);n.Items[0].Province?$(".address-province").val(n.Items[0].Province):$(".address-province").val(n.Items[0].ProvinceName);var t=n.Items[0].PostalCode;n.Items[0].CountryIso3=="USA"&&(t=t.substr(0,5));$(".address-postcode").val(t);this.addressEntered()}};kidly.views.AddressFinderView.prototype.delay=function(n,t){clearTimeout(this.timer);this.timer=setTimeout(n,t)};kidly.views.AddressFinderView.prototype.onManualAddressClicked=function(n){return n.preventDefault(),this.switchToManualEntry(),!1};kidly.views.AddressFinderView.prototype.onAddressLookupClicked=function(n){return n.preventDefault(),this.switchToAddressLookup(),this.findAddress(),!1};kidly.views.AddressFinderView.prototype.addressEntered=function(){this.showAddressFields();this.manualAddressLink.hide();this.addressLookupLink.hide()};kidly.views.AddressFinderView.prototype.switchToAddressLookup=function(){this.searchInput.prop("autocomplete","nope").prop("placeholder",this.options.placeholderText);this.addressLookupLink.hide();this.manualAddressLink.show();this.hideAddressFields();this.findEnabled=!0};kidly.views.AddressFinderView.prototype.switchToManualEntry=function(){this.searchInput.prop("autocomplete","on").prop("placeholder","").val("").trigger("focus");this.addressLookupLink.show();this.manualAddressLink.hide();this.hideResults();$(".address-line2").val("");$(".address-line3").val("");$(".address-city").val("");$(".address-province").val("");$(".address-postcode").val("");this.showAddressFields();this.findEnabled=!1};kidly.views.AddressFinderView.prototype.hideAddressFields=function(){this.options.form.find(".addressFields").hide();this.options.form.find(".addressOptionalLine").each(function(){$(this).hide()})};kidly.views.AddressFinderView.prototype.showAddressFields=function(){this.options.form.find(".addressFields").show();this.options.form.find(".addressOptionalLine").each(function(){$(this).find("input").val()&&$(this).show()})};kidly.views.AddressFinderView.prototype.scrollIfRequired=function(n,t){var i=t.scrollTop(),u=i+t.height(),r=i+n.position().top,f=r+n.height();(r>=u||f<=i)&&$(t).scrollTop(r)};kidly.views.AddressFinderView.prototype.setPosition=function(n){var t=$(n),r=$(window),u=r.scrollTop(),o=u+r.height(),f=this.searchInput.offset().top,s=f+this.searchInput.height(),i=s+35,h=i+t.height(),e;h<=o&&i>=u?t.css("top",i):(e=f-t.height(),t.css("top",e-10))};kidly.views.AddressFormView=function(n){this.container=n;this.form=new kidly.views.FormView(this.container.find("form")).formEl[0];this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_addressForm-submit"));this.addressFinder=new kidly.views.AddressFinderView({form:this.container,searchInputId:"Form_Address1",validator:this.validator,placeholderText:kidlyInfo.formLabels.delivery_placeholder,countryInputId:"Form_Country"});this.setupForm();$(this.form).on("submit",$.proxy(this,"onFormSubmit"));this.setupValidator()};kidly.views.AddressFormView.prototype.setupValidator=function(){this.validator=new kidly.views.FormValidatorView(this.form);this.validator.addValidator("Form_RecipientName",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.recipient_error_required},{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);$("#Form_PhoneNumber").length&&this.validator.addValidator("Form_PhoneNumber",[{method:kidly.validators.phoneNumber,message:kidlyInfo.errorMessages.phonenumber_error_invalid}]);this.validator.addValidator("Form_Address1",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.address1_error_required},{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Form_Address2",[{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Form_Address3",[{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Form_City",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.city_error_required},{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Form_Province",[{method:kidly.validators.province,params:{country:$("#Form_Country")},message:kidlyInfo.errorMessages.province_error_required},{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin},{method:kidly.validators.provinceShips,params:{country:$("#Form_Country")},message:kidlyInfo.errorMessages.province_error_unavailable}]);this.validator.addValidator("Form_Postcode",[{method:kidly.validators.postcode,params:{country:$("#Form_Country")},message:kidlyInfo.errorMessages.postcode_error_invalid}]);this.validator.addValidator("Form_Country",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.country_error_required}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.AddressFormView.prototype.onFormSubmit=function(){this.formatPostcode()};kidly.views.AddressFormView.prototype.onSubmittedSuccessfully=function(){this.submitButton.disable()};kidly.views.AddressFormView.prototype.setupForm=function(){$(this.form.elements["Form.PhoneNumber"]).on("blur",$.proxy(this,"cleanDigitElement"));this.switchProvince();$(this.form.elements["Form.Country"]).on("change",$.proxy(this,"switchProvince"))};kidly.views.AddressFormView.prototype.cleanDigitElement=function(n){this.removeNonDigitCharacters(n.currentTarget)};kidly.views.AddressFormView.prototype.removeNonDigitCharacters=function(n){n.value=n.value.replace(/[^\d+x]/g,"")};kidly.views.AddressFormView.prototype.formatPostcode=function(){var t=$("#Form_Postcode"),n=t.val().toUpperCase(),i=function(){switch($("#Form_Country").val()){case"AUT":return"A-"+n.replace(/[^0-9]/g,"");case"BEL":return"B-"+n.replace(/[^0-9]/g,"");case"DNK":return"DK-"+n.replace(/[^0-9]/g,"");case"FIN":return"FI-"+n.replace(/[^0-9]/g,"");case"LVA":return"LV-"+n.replace(/[^0-9]/g,"");case"LUX":return"L-"+n.replace(/[^0-9]/g,"");case"NLD":return n.replace("NL-","");case"NOR":return"NO-"+n.replace(/[^0-9]/g,"");case"PRT":return n.replace(/[^0-9]/g,"");case"SWE":return"SE-"+n.replace(/[^0-9 ]/g,"");default:return n}}();t.val(i)};kidly.views.AddressFormView.prototype.switchProvince=function(){this.selectedCountry=$("#Form_Country").val();this.provinceArray=kidlyInfo.countryProvinces;this.provinceValue=$(".address-province").val();this.selectedCountry=="USA"?($(".address-province.text").replaceWith('<select class="select address-province" id="Form_Province" name="Form.Province"><option selected value="">'+kidlyInfo.formLabels.province_options+"<\/option><\/select>"),$.each(this.provinceArray[this.selectedCountry],function(n,t){$("#Form_Province").append('<option value="'+n+'">'+t+"<\/option>")}),$("#Form_Province").val(this.provinceValue)):$(".address-province.select").replaceWith('<input class="text address-province" id="Form_Province" name="Form.Province" type="text value="'+this.provinceValue+'">')};kidly.views.InputClearerView=function(n){n=n||{};this.inputEl=n.inputEl;this.button;this.buttonText="Change";this.createButton()};kidly.views.InputClearerView.prototype.createButton=function(){this.button=$('<a class="clearInput" href="#">'+this.buttonText+"<\/a>");this.inputEl.parent().append(this.button);this.button.on("click",$.proxy(this,"onButtonClicked"))};kidly.views.InputClearerView.prototype.onButtonClicked=function(n){n.preventDefault();this.clearInput();this.hide()};kidly.views.InputClearerView.prototype.clearInput=function(){this.inputEl.val("");this.inputEl.trigger("focus")};kidly.views.InputClearerView.prototype.hide=function(){this.button.remove()};kidly.views.CookieBarView=function(n){n=n||{};n.expireDays===null&&(n.expireDays=this.calculateSafeInfiniteExpiryDate());$.cookieBar(n);this.$cookiebar=$("#cookie-bar")};kidly.views.CookieBarView.prototype.msToDays=function(n){return n/864e5};kidly.views.CookieBarView.prototype.yrsToDays=function(n){return n*365};kidly.views.CookieBarView.prototype.calculateSafeInfiniteExpiryDate=function(){var n=this.msToDays((new Date).getTime()),t=this.msToDays(new Date(Date.UTC(2038,0,1,0,0,0)).getTime())-n,i=n+this.yrsToDays(20);return Math.floor(Math.min(t,i))};kidly.views.TickerView=function(){this.ticker=$(".ticker");this.tickerItems=$(".ticker-items");this.loop()};kidly.views.TickerView.prototype.loop=function(){this.tickerItems.each(function(){(function(n){setInterval(function(){var t=n.find(".current").removeClass("current"),i=t.next().length?t.next():n.children().eq(0);i.addClass("current")},8e3)})($(this))})};kidly.views.ContactHoursView=function(){this.wrapper=$(".contactHours");this.openTime=$(".js_footer").data("helpUtcstart");this.closeTime=$(".js_footer").data("helpUtcend");this.openTime24Local=this.convertTime(this.openTime);this.closeTime24Local=this.convertTime(this.closeTime);this.openTime12Local=this.toTwelveHours(this.openTime24Local);this.closeTime12Local=this.toTwelveHours(this.closeTime24Local);this.openTime24Local<=10&&this.openTime24Local>=4&&this.wrapper.html("We're online "+this.openTime12Local+"-"+this.closeTime12Local)};kidly.views.ContactHoursView.prototype.convertTime=function(n){return this.date=new Date,this.date.setUTCHours(n),this.hours=this.date.getHours(),this.hours};kidly.views.ContactHoursView.prototype.toTwelveHours=function(n){return this.hours=n,this.ampm=this.hours>=12?"pm":"am",this.hours=this.hours%12,this.hours=this.hours?this.hours:12,this.friendlyTime=this.hours+this.ampm,this.friendlyTime};kidly.views.WishlistView=function(n){kidly.views.WishlistView.superConstructor.call(this);this.container=n;this.moveToBasketButton=".js_moveToBasketButton";this.removeItemButton=".js_removeProductButton";this.stockNotificationButton=".js_backInStockButton";this.analyticsUtility=new kidly.utilities.Analytics;this.container.find(this.moveToBasketButton).on("click",$.proxy(this,"onMoveToBasketButtonClicked"));this.container.find(this.removeItemButton).on("click",$.proxy(this,"onRemoveFromBasketButtonClicked"));this.container.find(this.stockNotificationButton).on("click",$.proxy(this,"onStockNotificationClicked"));this.shareTools=new kidly.views.ShareToolsView("wishlist view")};kidly.utilities.inherit(kidly.views.WishlistView,kidly.utilities.EventEmitter);kidly.views.WishlistView.prototype.onMoveToBasketButtonClicked=function(n){if(this.form=$(n.target).closest("form"),this.form[0]){this.submitButton=new kidly.views.SubmitButtonView(this.form.find(this.moveToBasketButton));var t=new kidly.views.FormValidatorView(this.form[0]);t.on("submittedSuccessfully",$.proxy(this,"moveToBasket"))}};kidly.views.WishlistView.prototype.onRemoveFromBasketButtonClicked=function(n){if(this.form=$(n.target).closest("form"),this.form[0]){var t=new kidly.views.FormValidatorView(this.form[0]);t.on("submittedSuccessfully",$.proxy(this,"removeProduct"))}};kidly.views.WishlistView.prototype.onStockNotificationClicked=function(n){if(this.form=$(n.target).closest("form"),this.form[0]){this.submitButton=new kidly.views.SubmitButtonView(this.form.find(this.stockNotificationButton));var t=new kidly.views.FormValidatorView(this.form[0]);t.on("submittedSuccessfully",$.proxy(this,"setStockNotification"))}};kidly.views.WishlistView.prototype.hideSubmitButton=function(){this.form.find('[type="submit"]:not([value="remove"])').hide()};kidly.views.WishlistView.prototype.enableSubmitButton=function(){this.submitButton.enable()};kidly.views.WishlistView.prototype.moveToBasket=function(n){this.submitButton.disable();this.fire("wishlistMoveToBasket",$(n.target).serialize());n.preventDefault()};kidly.views.WishlistView.prototype.displayMoveSuccessMessage=function(n){this.form.find(".js_moveToBasketFeedback").html(n);this.hideSubmitButton();this.form.find(".js_moveToBasketFeedback").show();this.form.find(".js_removeProductButton").hide();var t={id:this.form.find("input[name='ProductId']").val(),name:this.form.find("input[name='ProductName']").val(),brand:this.form.find("input[name='Brand']").val(),colour:this.form.find("input[name='ColourName']").val(),price:this.form.find("input[name='Price']").val(),size:this.form.find(".js_productPanel-size").text().trim(),sku:this.form.find("[name='SkuId']").val()};this.analyticsUtility.purchaseIntent(t,"add","wishlist view","addToCart")};kidly.views.WishlistView.prototype.displayMoveErrorMessage=function(n){this.form.find(".js_moveToBasketFeedback").html(n);this.hideSubmitButton();this.form.find(".js_moveToBasketFeedback").show();this.form.find(".js_removeProductButton").hide()};kidly.views.WishlistView.prototype.removeProduct=function(n){this.fire("wishlistRemoveItem",$(n.target).serialize());n.preventDefault()};kidly.views.WishlistView.prototype.removeProductSuccess=function(){var t,n;this.form.closest(".productPanel").remove();t=this.container.find(".productPanel").length;n=this.container.find(".pagination-text");switch(t){case 0:n.html("I'm empty 😢");this.container.find(".js_wishlist-continueShopping").show();break;case 1:n.html("1 saved thing 😍");break;default:n.find(".js_pagination-count").html(t)}var i={id:this.form.find("input[name='ProductId']").val(),name:this.form.find("input[name='ProductName']").val(),brand:this.form.find("input[name='Brand']").val(),colour:this.form.find("input[name='ColourName']").val(),price:this.form.find("input[name='Price']").val(),size:this.form.find(".js_productPanel-size").text().trim(),sku:this.form.find("[name='SkuId']").val()};this.analyticsUtility.purchaseIntent(i,"remove","wishlist view","removeFromWishlist")};kidly.views.WishlistView.prototype.displayRemoveErrorMessage=function(n){this.form.find(".js_moveToBasketFeedback").html(n);this.form.find(".js_moveToBasketFeedback").show()};kidly.views.WishlistView.prototype.setStockNotification=function(n){this.submitButton.disable();this.fire("productStockNotificationRequested",$(n.target).serialize());n.preventDefault()};kidly.views.WishlistView.prototype.stockNotificationAddSuccess=function(){var n=$("#CustomerEmail").val(),t=n!==undefined?'<p><span class="backInStockFeedback-success">We\'ll email you at <strong>'+n+"<\/strong><\/span><\/p>":"<p><span class=\"backInStockFeedback-success\">We'll email you when it's back in stock<\/span><\/p>";this.form.find(".js_backInStockFeedback").html(t);this.hideSubmitButton();this.form.find(".js_backInStockFeedback").show()};kidly.views.WishlistView.prototype.displayStockNotificationErrorMessage=function(n){this.form.find(".js_backInStockFeedback").html(n);this.hideSubmitButton();this.form.find(".js_backInStockFeedback").show()};kidly.views.checkout={};kidly.views.checkout.DeliveryAddressView=function(n){this.container=n;this.addressFormView=new kidly.views.AddressFormView(this.container.find(".addressForm"));this.recipientNameView=new kidly.views.InputClearerView({inputEl:this.container.find('[name="Form.RecipientName"]')});this.toggleTableRow=new kidly.utilities.ToggleTableRow(".js_costSummary",!1);this.analyticsUtility=new kidly.utilities.Analytics;this.analyticsUtility.checkoutStep({step:2})};kidly.views.checkout.DeliveryAddressOptionsView=function(n){this.container=n;this.form=new kidly.views.FormView(this.container.find("form")).formEl;this.form.on("submit",$.proxy(this,"onFormSubmitted"));this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_chooseAddress-button"));this.form.find(".js_checkoutOptions-option").on("change",$.proxy(this,"onOptionChanged"));this.toggleTableRow=new kidly.utilities.ToggleTableRow(".js_costSummary",!1);this.analyticsUtility=new kidly.utilities.Analytics;this.analyticsUtility.checkoutStep({step:2})};kidly.views.checkout.DeliveryAddressOptionsView.prototype.onOptionChanged=function(n){var t=$(n.currentTarget).closest("div.js_checkoutOptions-option");$(".js_checkoutOptions-option.isSelected").removeClass("isSelected");t.addClass("isSelected")};kidly.views.checkout.DeliveryAddressOptionsView.prototype.onFormSubmitted=function(){this.submitButton.disable()};kidly.views.checkout.DeliveryOptionsView=function(n){this.container=n;this.form=this.container.find("form")[0];this.formView=new kidly.views.FormView(this.form).formEl;this.formView.on("submit",$.proxy(this,"onFormSubmitted"));this.continueButton=this.container.find(".js_chooseDelivery-button");this.submitButton=new kidly.views.SubmitButtonView(this.continueButton);this.formView.find(".js_checkoutOptions-option").on("change",$.proxy(this,"onOptionChanged"));this.giftOptionsContainer=this.container.find(".js_giftOptions-fields");this.giftToggle=this.container.find(".js_giftCheckbox");this.giftToggle.on("click change",$.proxy(this,"onGiftToggleClicked"));this.giftMessage=this.container.find(".js_giftMessage");this.giftMessageMaxChar=140;this.giftMessageMaxLine=3;this.giftMessage.on("input",$.proxy(this,"onGiftMessageInput"));this.giftMessage.on("keyup change",$.proxy(this,"onGiftMessageChange"));this.giftOptionsContainer.length&&this.checkGiftState();this.toggleTableRow=new kidly.utilities.ToggleTableRow(".js_costSummary",!1);this.analyticsUtility=new kidly.utilities.Analytics;this.options={step:3};this.analyticsUtility.checkoutStep(this.options)};kidly.views.checkout.DeliveryOptionsView.prototype.onOptionChanged=function(n){var t=$(n.currentTarget).closest(".js_checkoutOptions-option");$(".js_checkoutOptions-option.isSelected").removeClass("isSelected");t.addClass("isSelected")};kidly.views.checkout.DeliveryOptionsView.prototype.onFormSubmitted=function(n){n.preventDefault();this.submitButton.disable();this.setDeliveryOption()};kidly.views.checkout.DeliveryOptionsView.prototype.setDeliveryOption=function(){this.options.option=$("input[name='Option']:checked").val();this.analyticsUtility.setCheckoutOption(this.options);this.sendDeliveryOption()};kidly.views.checkout.DeliveryOptionsView.prototype.sendDeliveryOption=function(){ga("send","event","Checkout","submit",{hitCallback:this.callbackFunction()})};kidly.views.checkout.DeliveryOptionsView.prototype.callbackFunction=function(){var n=this.form;this.analyticsUtility.createFunctionWithTimeout(function(){n.submit()})};kidly.views.checkout.DeliveryOptionsView.prototype.checkGiftState=function(){this.checkGiftMessage();this.isGift()?this.giftOptionsContainer.show():this.giftOptionsContainer.hide()};kidly.views.checkout.DeliveryOptionsView.prototype.isGift=function(){return this.giftToggle[0].checked};kidly.views.checkout.DeliveryOptionsView.prototype.onGiftToggleClicked=function(){this.checkGiftState()};kidly.views.checkout.DeliveryOptionsView.prototype.checkGiftMessage=function(){var n=this.container.find(".js_giftMessageCharsRemaining"),r=this.giftMessage.val().length,t=this.giftMessageMaxChar-r,u=this.container.find(".js_giftMessageLinesRemaining"),f=this.giftMessage.val().split(/\n/).length,i=this.giftMessageMaxLine-f,e=t===1?"character":"characters",o=i===1?"line":"lines";n.text(t.toString()+" "+e);u.text(i.toString()+" "+o);switch(!0){case t<0||i<0:n.parent().addClass("giftOptions-counter--error").removeClass("giftOptions-counter--warn");break;case t<=10:n.parent().addClass("giftOptions-counter--warn").removeClass("giftOptions-counter--error");break;default:n.parent().removeClass("giftOptions-counter--warn").removeClass("giftOptions-counter--error")}};kidly.views.checkout.DeliveryOptionsView.prototype.onGiftMessageInput=function(n){var t=n.target.selectionStart,i=/[^a-z0-9 .,'’\-!?&\r\n]/gi,r=$(n.target).val();i.test(r)&&($(n.target).val(r.replace(i,"")),t--);n.target.setSelectionRange(t,t)};kidly.views.checkout.DeliveryOptionsView.prototype.onGiftMessageChange=function(){this.checkGiftMessage()};kidly.views.checkout.PaymentOptionsView=function(n){this.container=n;this.continueButton=this.container.find("#continueButton");this.paypalOption=this.container.find("#paymentOption_Paypal");this.form=this.container.find("form")[0];this.formView=new kidly.views.FormView(this.form).formEl;this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_paymentOptions-submit"));this.formView.find(".js_checkoutOptions-option").on("change",$.proxy(this,"onOptionChanged"));this.formView.on("submit",$.proxy(this,"onFormSubmit"));this.toggleTableRow=new kidly.utilities.ToggleTableRow(".js_costSummary",!1);this.analyticsUtility=new kidly.utilities.Analytics;this.options={step:4};this.analyticsUtility.checkoutStep(this.options)};kidly.views.checkout.PaymentOptionsView.prototype.onOptionChanged=function(n){var t=$(n.currentTarget).closest(".js_checkoutOptions-option");$(".js_checkoutOptions-option.isSelected").removeClass("isSelected");t.addClass("isSelected")};kidly.views.checkout.PaymentOptionsView.prototype.onFormSubmit=function(n){n.preventDefault();this.submitButton.disable();this.setPaymentOption()};kidly.views.checkout.PaymentOptionsView.prototype.setPaymentOption=function(){this.options.option=$("input[name='PaymentOption']:checked").val();this.analyticsUtility.setCheckoutOption(this.options);this.sendPaymentOption()};kidly.views.checkout.PaymentOptionsView.prototype.sendPaymentOption=function(){ga("send","event","Checkout","submit",{hitCallback:this.callbackFunction()})};kidly.views.checkout.PaymentOptionsView.prototype.callbackFunction=function(){var n=this.form;this.analyticsUtility.createFunctionWithTimeout(function(){n.submit()})};kidly.views.checkout.PaymentDetailsView=function(n){this.container=n;this.form=this.container.find("form")[0];this.formView=new kidly.views.FormView(this.form);this.setupStripeElements();$(this.form).on("submit",$.proxy(this,"onFormSubmit"));this.expiryPrevious="";this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_paymentDetails-submit"));this.billingAddressContainer=this.container.find(".js_billingAddress-fields");this.checkbox=this.container.find("#HideAddress");this.checkbox.on("click",$.proxy(this,"onHideAddressClicked"));this.container.find("#Country").on("change",$.proxy(this,"switchProvince"));this.checkInitialState();this.addressFinder=new kidly.views.AddressFinderView({form:this.container,searchInputId:"Address1",validator:this.validator,hideAddress:this.isAddressHidden(),placeholderText:"Start typing your billing address",countryInputId:"Country"});this.setupValidation();this.toggleTableRow=new kidly.utilities.ToggleTableRow(".js_costSummary",!1);this.analyticsUtility=new kidly.utilities.Analytics;this.options={step:5};this.analyticsUtility.checkoutStep(this.options)};kidly.views.checkout.PaymentDetailsView.prototype.setupStripeElements=function(){this.stripe=Stripe(kidlyInfo.stripeKey);var n=this.stripe.elements(),t={base:{color:"#555",fontSize:"15px",fontWeight:"300",fontFamily:'"Century Gothic",Helvetica,sans-serif',letterSpacing:"0.05em",":-webkit-autofill":{color:"#555"}},invalid:{color:"#555"}};this.cardNumber=n.create("cardNumber",{style:t,placeholder:""});this.cardNumber.mount("#card-number");this.cardNumber.on("change",function(n){n.error?$("#card-number").data("error",n.error.message):$("#card-number").data("error","")});this.cardExpiry=n.create("cardExpiry",{style:t,placeholder:""});this.cardExpiry.mount("#card-expiry");this.cardExpiry.on("change",function(n){n.error?$("#card-expiry").data("error",n.error.message):$("#card-expiry").data("error","")});this.cardCvc=n.create("cardCvc",{style:t,placeholder:""});this.cardCvc.mount("#card-cvc");this.cardCvc.on("change",function(n){n.error?$("#card-cvc").data("error",n.error.message):$("#card-cvc").data("error","")})};kidly.views.checkout.PaymentDetailsView.prototype.onFormSubmit=function(){this.formatPostcode()};kidly.views.checkout.PaymentDetailsView.prototype.formatPostcode=function(){var t=$("#Postcode"),n=t.val().toUpperCase(),i=function(){switch($("#Country").val()){case"AUT":return"A-"+n.replace(/[^0-9]/g,"");case"BEL":return"B-"+n.replace(/[^0-9]/g,"");case"DNK":return"DK-"+n.replace(/[^0-9]/g,"");case"FIN":return"FI-"+n.replace(/[^0-9]/g,"");case"LVA":return"LV-"+n.replace(/[^0-9]/g,"");case"LUX":return"L-"+n.replace(/[^0-9]/g,"");case"NLD":return n.replace("NL-","");case"NOR":return"NO-"+n.replace(/[^0-9]/g,"");case"PRT":return n.replace(/[^0-9]/g,"");case"SWE":return"SE-"+n.replace(/[^0-9 ]/g,"");default:return n}}();t.val(i)};kidly.views.checkout.PaymentDetailsView.prototype.setupValidation=function(){this.validator=new kidly.views.FormValidatorView(this.form);this.validator.addValidator("Name",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.cardname_error_required},{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Address1",[{method:kidly.validators.notEmptyWhenControlIsNotChecked,params:{checkbox:$("#HideAddress")[0]},message:kidlyInfo.errorMessages.cardaddress_error_required},{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Address2",[{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Address3",[{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("City",[{method:kidly.validators.notEmptyWhenControlIsNotChecked,params:{checkbox:$("#HideAddress")[0]},message:kidlyInfo.errorMessages.cardcity_error_required},{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Province",[{method:kidly.validators.isLatin,message:kidlyInfo.errorMessages.generic_error_notLatin}]);this.validator.addValidator("Postcode",[{method:kidly.validators.postcodeNotEmptyWhenControlIsNotChecked,params:{checkbox:$("#HideAddress")[0],country:$("#Country")},message:kidlyInfo.errorMessages.cardpostcode_error_invalid}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.checkout.PaymentDetailsView.prototype.formatCountryCode=function(){var n=$.trim($("#Country").val());switch(n){case"AUT":return"AT";case"AUS":return"AU";case"BEL":return"BE";case"BGR":return"BG";case"CAN":return"CA";case"HRV":return"HR";case"CYP":return"CY";case"CZE":return"CZ";case"DNK":return"DK";case"EST":return"EE";case"FIN":return"FI";case"FRA":return"FR";case"DEU":return"DE";case"GBR":return"GB";case"GRC":return"GR";case"HUN":return"HU";case"IRL":return"IE";case"ISR":return"IL";case"ITA":return"IT";case"LVA":return"LV";case"LTU":return"LT";case"LUX":return"LU";case"MLT":return"MT";case"NLD":return"NL";case"NZL":return"NZ";case"NOR":return"NO";case"POL":return"PL";case"PRT":return"PT";case"ROU":return"RO";case"SVK":return"SK";case"SVN":return"SI";case"ZAF":return"ZA";case"ESP":return"ES";case"SWE":return"SE";case"CHE":return"CH";case"USA":return"US";default:return n}};kidly.views.checkout.PaymentDetailsView.prototype.onSubmittedSuccessfully=function(n){var t,i,r,u;n.preventDefault();t=$(".StripeElement--empty");i=$(".StripeElement--invalid");t.length||i.length?(this.validator.showErrorSummary(),t.each($.proxy(function(n,t){var i=$(t).attr("id"),r=$(t).data("name");this.validator.showInlineError({controlName:i,message:"Oops! Don't forget the "+r+"."})},this)),i.each($.proxy(function(n,t){var i=$(t).attr("id"),r=$(t).data("error");this.validator.showInlineError({controlName:i,message:r})},this))):(this.submitButton.disable(),r=this.cardNumber,u=kidly.views.checkout.PaymentDetailsView.prototype.formatCountryCode(),this.stripe.createPaymentMethod({type:"card",card:r,billing_details:{name:$.trim($("#Name").val()),address:{line1:$.trim($("#Address1").val()),line2:$.trim($("#Address2").val()),city:$.trim($("#City").val()),postal_code:$.trim($("#Postcode").val()),country:u}}}).then($.proxy(function(n){this.onStripeResponseReceived(n)},this)))};kidly.views.checkout.PaymentDetailsView.prototype.onStripeResponseReceived=function(n){if(n.paymentMethod)this.stripePaymentMethodHandler(n.paymentMethod);else this.onStripeElementError(n.error)};kidly.views.checkout.PaymentDetailsView.prototype.stripePaymentMethodHandler=function(n){this.appendToForm("stripeToken",n.id);this.appendToForm("Token",n.id);this.appendToForm("Last4Digits",n.card.last4);this.appendToForm("Brand",n.card.brand);this.appendToForm("Funding",n.card.funding);this.appendToForm("CreatedTicks",n.created);this.appendToForm("IsLive",n.livemode);this.appendToForm("Type",n.type);var t;t=n.used?n.used:!1;this.appendToForm("Used",t);this.appendToForm("ExpiryMonth",n.card.exp_month);this.appendToForm("ExpiryYear",n.card.exp_year);this.options.option=n.card.brand;this.analyticsUtility.setCheckoutOption(this.options);this.sendPaymentOption()};kidly.views.checkout.PaymentDetailsView.prototype.onStripeElementError=function(n){this.validator.showErrorSummary(n.message);this.submitButton.enable()};kidly.views.checkout.PaymentDetailsView.prototype.appendToForm=function(n,t){$(this.form).append('<input type="hidden" name="'+n+'" value="'+t+'">')};kidly.views.checkout.PaymentDetailsView.prototype.sendPaymentOption=function(){ga("send","event","Checkout","submit",{hitCallback:this.callbackFunction()})};kidly.views.checkout.PaymentDetailsView.prototype.callbackFunction=function(){var n=this.form;this.analyticsUtility.createFunctionWithTimeout(function(){n.submit()})};kidly.views.checkout.PaymentDetailsView.prototype.onHideAddressClicked=function(){this.checkState()};kidly.views.checkout.PaymentDetailsView.prototype.isAddressHidden=function(){return this.checkbox[0].checked};kidly.views.checkout.PaymentDetailsView.prototype.checkInitialState=function(){this.switchProvince();this.isAddressHidden()&&this.hideBillingAddress()};kidly.views.checkout.PaymentDetailsView.prototype.checkState=function(){this.switchProvince();this.isAddressHidden()?this.hideBillingAddress():this.showBillingAddress()};kidly.views.checkout.PaymentDetailsView.prototype.hideBillingAddress=function(){this.billingAddressContainer.hide();this.billingAddressContainer.find("input").each(function(){var n=$(this);n.val(n.attr("data-delivery-default"))});$("#Country").val($("#Country").attr("data-delivery-default"));$("#Province").val($("#Province").attr("data-delivery-default"))};kidly.views.checkout.PaymentDetailsView.prototype.showBillingAddress=function(){this.billingAddressContainer.show();this.billingAddressContainer.find("input").each(function(){var n=$(this);n.val()===n.attr("data-delivery-default")&&n.val("")})};kidly.views.checkout.PaymentDetailsView.prototype.switchProvince=function(){this.selectedCountry=$("#Country option:selected").val();this.provinceArray=kidlyInfo.countryProvinces;this.provinceValue=$(".address-province").val();this.provinceDefaultValue=$(".address-province").attr("data-delivery-default");this.selectedCountry=="USA"?($(".address-province.text").replaceWith('<select class="select address-province" id="Province" name="Province" data-delivery-default="'+this.provinceDefaultValue+'"><option selected value="">'+kidlyInfo.formLabels.province_options+"<\/option><\/select>"),$.each(this.provinceArray[this.selectedCountry],function(n,t){$("#Province").append('<option value="'+n+'">'+t+"<\/option>")}),$("#Province").val(this.provinceValue)):$(".address-province.select").replaceWith('<input class="text address-province" id="Province" name="Province" type="text" data-delivery-default="'+this.provinceDefaultValue+'" value="'+this.provinceValue+'">')};kidly.views.checkout.OrderSummaryView=function(n){this.container=n;this.container.find("form").on("submit",$.proxy(this,"onPlaceOrderFormSubmitted"));this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_placeOrderButton"));this.toggleTableRow=new kidly.utilities.ToggleTableRow(".js_costSummary",!1);this.analyticsUtility=new kidly.utilities.Analytics;this.analyticsUtility.checkoutStep({step:6})};kidly.views.checkout.OrderSummaryView.prototype.onPlaceOrderFormSubmitted=function(){this.submitButton.disable()};kidly.views.checkout.SignUpView=function(n){this.container=n;this.setupValidation();this.setupSuggestion();this.setupBotCatcher();this.passwordRevealer=new kidly.views.PasswordRevealerView(document.getElementById("Password"));this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_checkoutSignUp-button"));this.analyticsUtility=new kidly.utilities.Analytics;this.analyticsUtility.checkoutStep({step:1})};kidly.views.checkout.SignUpView.prototype.setupSuggestion=function(){var n=this.container.find(".emailSuggestControl"),t=n.find(".text");new kidly.views.EmailSuggestionView(n,t)};kidly.views.checkout.SignUpView.prototype.setupValidation=function(){var n=this.container.find("form")[0];this.validator=new kidly.views.FormValidatorView(n);this.validator.addValidator("FirstName",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.firstname_error_required},{method:kidly.validators.maxLength,params:{maxLength:40},message:kidlyInfo.errorMessages.name_error_length},{method:kidly.validators.name,message:kidlyInfo.errorMessages.name_error_format},{method:kidly.validators.maxConsonants,message:kidlyInfo.errorMessages.name_error_format}]);this.validator.addValidator("LastName",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.lastname_error_required},{method:kidly.validators.maxLength,params:{maxLength:40},message:kidlyInfo.errorMessages.name_error_length},{method:kidly.validators.name,message:kidlyInfo.errorMessages.name_error_format},{method:kidly.validators.maxConsonants,message:kidlyInfo.errorMessages.name_error_generic},{method:kidly.validators.nameFaked,params:{control:n.elements.FirstName},message:kidlyInfo.errorMessages.name_error_generic}]);this.validator.addValidator("Email",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.email_error_required},{method:kidly.validators.email,message:kidlyInfo.errorMessages.email_error_format},{method:kidly.validators.emailDomain,message:kidlyInfo.errorMessages.email_error_blacklist}]);this.validator.addValidator("Password",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.password_error_required},{method:kidly.validators.minLength,params:{minLength:8},message:kidlyInfo.errorMessages.password_error_format}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.checkout.SignUpView.prototype.onSubmittedSuccessfully=function(){$("#EmailOptIn:checked").length&&ga("send",{hitType:"event",eventCategory:"Check Box / Radio Button Selections",eventAction:"Tick Checkbox",eventLabel:"Signup Opt-in"});this.submitButton.disable();this.stampEndTime()};kidly.views.checkout.SignUpView.prototype.stampEndTime=function(){var n=new Date;this.container.find(".js_submissionEndTime").val(n.toJSON())};kidly.views.checkout.SignUpView.prototype.setupBotCatcher=function(){var n=new Date;this.container.find(".js_submissionStartTime").val(n.toJSON())};kidly.views.checkout.SignInView=function(n){this.container=n;this.passwordRevealer=new kidly.views.PasswordRevealerView(document.getElementById("Password"));this.submitButton=new kidly.views.SubmitButtonView(this.container.find(".js_welcome-button"));this.analyticsUtility=new kidly.utilities.Analytics;this.setupValidation();this.analyticsUtility.checkoutStep({step:1})};kidly.views.checkout.SignInView.prototype.setupValidation=function(){this.validator=new kidly.views.FormValidatorView(this.container.find("form")[0]);this.validator.addValidator("EmailAddress",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.email_error_required},{method:kidly.validators.email,message:kidlyInfo.errorMessages.email_error_format}]);this.validator.addValidator("Password",[{method:kidly.validators.notEmpty,message:kidlyInfo.errorMessages.password_error_required}]);this.validator.on("submittedSuccessfully",$.proxy(this,"onSubmittedSuccessfully"))};kidly.views.checkout.SignInView.prototype.onSubmittedSuccessfully=function(){this.submitButton.disable()},function(){var n,t,i,r,u,f,e,ht,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt,tt,it,rt,ut,ft,et,ot,st;new kidly.views.CookieBarView({message:'We use <a class="cookie-link" href="/about/privacy" target="_blank">cookies<\/a> to help bring you the best experience.',acceptText:"Accept &amp; Close",expireDays:null,effect:"slide",delay:1e3});new kidly.controllers.FacebookLoginController;n=$(".js_signUp");n[0]&&new kidly.views.SignUpView(n);t=$(".js_signIn");t[0]&&new kidly.views.SignInView(t);i=$(".js_resetPassword");i[0]&&new kidly.views.ResetPasswordView(i);r=$(".js_setNewPassword");r[0]&&new kidly.views.NewPasswordView(r);u=$(".js_editProfile");u[0]&&new kidly.views.EditProfileView(u);f=$(".js_changePassword");f[0]&&new kidly.views.ChangePasswordView(f);e=$(".js_changeEmail");e[0]&&new kidly.views.ChangeEmailView(e);ht=$("#megaMenu");ht[0]&&new kidly.views.MegaMenuView;o=$(".category-products");o[0]&&new kidly.views.CategoryView(o);s=$(".js_pageNavigation");s[0]&&new kidly.views.PageNavigationView(s);h=$(".brand-products");h[0]&&new kidly.views.ProductListView(h,"Brand");c=$(".search-products");c[0]&&new kidly.views.ProductListView(c,"Search Results");l=$(".collapsibleDescription");l[0]&&new kidly.views.CollapsibleDescriptionView(l);a=$(".article-featuredProducts");a[0]&&new kidly.views.ProductListView(a,"Article");v=$(".editorialLanding");v[0]&&new kidly.views.EditorialLandingView(v);y=$(".homepage-productPanels");y[0]&&new kidly.views.NewInView(y);p=$(".crossSellProducts-list");p[0]&&new kidly.views.CrossSellView(p);var ct=$(".js_homepageReviews"),lt=$(".homepage-reviewsInner"),at=$(".homepage-reviewsCarouselLeft"),vt=$(".homepage-reviewsCarouselRight"),yt=$(".homepage-reviewsCarouselDots");ct[0]&&lt[0]&&at[0]&&vt[0]&&yt[0]&&new kidly.views.CarouselView({swipableEl:ct,slidesContainer:lt,leftButton:at,rightButton:vt,dotsContainer:yt,classNames:{active:"homepage-review-isActive",previous:"homepage-review-isPrevious",next:"homepage-review-isNext",activeDot:"homepage-reviewsCarouselDot-isActive"}});new kidly.controllers.SecondaryNavigationController;w=$(".ticker");w[0]&&new kidly.views.TickerView(w);new kidly.controllers.ProductDetailsController;b=$(".js_productReviews");b[0]&&new kidly.views.ProductReviewsView(b);k=$(".backToTop");k[0]&&new kidly.views.BackToTopView(k);d=$(".contactHours");d[0]&&new kidly.views.ContactHoursView(d);g=$(".rewards");g[0]&&new kidly.views.RewardsView(g);nt=$(".basket");nt[0]&&new kidly.views.BasketView(nt);new kidly.controllers.WishlistController;tt=$(".js_checkoutSignIn");tt[0]&&new kidly.views.checkout.SignInView(tt);it=$(".js_checkoutSignUp");it[0]&&new kidly.views.checkout.SignUpView(it);rt=$(".js_deliveryAddress");rt[0]&&new kidly.views.checkout.DeliveryAddressView(rt);ut=$(".js_chooseAddress");ut[0]&&new kidly.views.checkout.DeliveryAddressOptionsView(ut);ft=$(".js_deliveryOptions");ft[0]&&new kidly.views.checkout.DeliveryOptionsView(ft);et=$(".js_paymentOptions");et[0]&&new kidly.views.checkout.PaymentOptionsView(et);ot=$(".js_paymentDetails");ot[0]&&new kidly.views.checkout.PaymentDetailsView(ot);st=$(".orderSummary");st[0]&&new kidly.views.checkout.OrderSummaryView(st);this.myLazyLoad=new LazyLoad({elements_selector:".lazy"})}()