if(!Nutrilett){var Nutrilett={}}(function($){var forms={};$(function(){$("html").removeAttr("class");forms=new Nutrilett.Forms();var plugins=new Nutrilett.LoadPlugins();var topNav=new Nutrilett.TopNav();var blogs=new Nutrilett.Blogs();var products=new Nutrilett.Products();var myPage=new Nutrilett.MyPage();var personalization=new Nutrilett.Personalization();var topCarousel=new Nutrilett.TopCarousel("#topCarousel");var options=new Nutrilett.Options();var translations=[]});Nutrilett.Options=function(){this.Options=function(){print()};var print=function(){$(".print a").live("click",function(){window.print();return false})};this.Options()};Nutrilett.LoadPlugins=function(){this.LoadPlugins=function(){$.jGrowl.defaults.life=1000;$.jGrowl.defaults.closer=false;$.jGrowl.defaults.position="top-left";$("a.lightbox").fancybox({padding:15,autoScale:false,autoDimensions:false,overlayColor:"#000",overlayOpacity:0.6,scrolling:"auto",hideOnOverlayClick:true,width:800,height:400})};this.LoadPlugins()};Nutrilett.TopCarousel=function(selector){var holder=$(selector),lnkNav=holder.find("nav a"),slides=holder.find(".slides li"),slidesCount=slides.length,currInd=0,timeoutId,delay=4000;this.TopCarousel=function(){nav()};var nav=function(){lnkNav.each(function(){var self=$(this);self.click(function(){if(!self.hasClass("selected")){var ind2Go=lnkNav.index(self);go2Slide(ind2Go)}return false})});timeoutId=setTimeout(function(){go2Slide(1)},delay)};var doAutoRotateStep=function(){clearTimeout(timeoutId);timeoutId=setTimeout(function(){go2Slide(currInd+1)},delay)};var updateNav=function(lnkPos){lnkNav.removeClass("selected");lnkNav.eq(lnkPos).addClass("selected")};var go2Slide=function(ind2Go){if(ind2Go>=slidesCount){ind2Go=0}slides.fadeOut("slow");slides.eq(ind2Go).fadeIn("slow");updateNav(ind2Go);currInd=ind2Go;doAutoRotateStep()};this.TopCarousel()};Nutrilett.Personalization=function(){var utils=new Nutrilett.Utils(),common=new Nutrilett.Common();this.Personalization=function(){login();forgotPassword();signup();changePassword()};var changePassword=function(){var btnChange=".btnSubmit.btnChangePassword";$(btnChange).live("click",function(){var validator=new Nutrilett.Validation(".changePassword");return validator.isValid()})};var forgotPassword=function(){var lnkForgotPassword=".forgotPassword",btnRetrievePassword=".retrievePassword";$(btnRetrievePassword).live("click",function(){var validator=new Nutrilett.Validation(common.sels.fancyBox),self=$(this);if(validator.isValid()){var opts={data:{email:$(common.sels.fancyBox+' input[id$="uiTxtEmail"]').val()},url:"/Services/PersonalizationFlowService.asmx/RetrievePassword",beforeSend:function(){$(common.sels.fancyBox+" .errorsSummary").empty();common.enableBtnSubmitLoader(true,self)},success:function(result){result=$.parseJSON(result.d);if(!result.IsError){setTimeout(function(){forgotPasswordConfirmation()},common.opts.lightBoxLoadingTime)}else{$(common.sels.fancyBox+" .errorsSummary").text(result.ErrorMessage);common.enableBtnSubmitLoader(false,self)}}};utils.ajax(opts)}return false});$(lnkForgotPassword).live("click",function(){var opts={url:"/Services/PersonalizationFlowService.asmx/GetForgotPasswordControl",beforeSend:function(){common.showPopup()},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts);return false});function forgotPasswordConfirmation(){var opts={data:{email:$(common.sels.fancyBox+' input[id$="uiTxtEmail"]').val()},url:"/Services/PersonalizationFlowService.asmx/GetForgotPasswordConfirmationControl",beforeSend:function(){common.showPopup()},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts)}};var login=function(){var lnkShowLogin=".logIn",btnDoLogin="input.btnLogin";$(lnkShowLogin).live("click",function(){var opts={url:"/Services/PersonalizationFlowService.asmx/GetLogInControl",data:{redirectUrl:($(this).hasClass("inspiration"))?window.location.pathname:""},beforeSend:function(){common.showPopup()},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts);return false});$(btnDoLogin).live("click",function(){var validator=new Nutrilett.Validation(common.sels.fancyBox),self=$(this);if(validator.isValid()){var opts={data:{email:$(common.sels.fancyBox+' input[id$="uiTxtUserName"]').val(),password:$(common.sels.fancyBox+' input[id$="uiTxtPassword"]').val(),rememberMe:$(common.sels.fancyBox+' input[id$="uiCbxRememberMe"]:checked').length?true:false},url:"/Services/PersonalizationFlowService.asmx/LogIn",beforeSend:function(){common.enableBtnSubmitLoader(true,self);$(common.sels.fancyBox+" .errorsSummary").empty()},success:function(result){result=$.parseJSON(result.d);if(result.IsError){$(common.sels.fancyBox+" .errorsSummary").text(result.ErrorMessage);common.enableBtnSubmitLoader(false,self)}else{_gaq.push(["_trackEvent","Login","Success"]);window.location=$("#myPageRedirectUrl").val()}}};utils.ajax(opts)}})};var isLogged=function(){return $("body").hasClass("logged")};var signup=function(){var lnkSignUpStart=$(".signUp"),btnDoSignUp=common.sels.fancyBox+" .btnSignUp",rbDietPlan='input[type="radio"][name="uiRblDietPlan"]';$(rbDietPlan).live("click",function(){var self=$(this),lmtAge=self.data("age");$("#lblOverAge span").text(lmtAge);$("#errOverAge span").text(lmtAge)});lnkSignUpStart.live("click",function(){if(isLogged()){var growlContent=translations.SignUpAlreadyLoggedContent,growlHeader=translations.SignUpAlreadyLoggedHeader;utils.growl(growlHeader,growlContent);return false}var opts={url:"/Services/PersonalizationFlowService.asmx/GetSignUpControl",beforeSend:function(){common.showPopup()},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts);return false});$(".measurements .btnSubmit").live("click",function(){var validator=new Nutrilett.Validation(".measurements");return validator.isValid()});$(btnDoSignUp).live("click",function(){var validator=new Nutrilett.Validation(common.sels.fancyBox),self=$(this),isXYearsOld=$(common.sels.fancyBox+' input[id$="uiCbXYearsOld"]').is(":checked"),weight=$(common.sels.fancyBox+' input[id$="uiTxtWeight"]').val(),height=$(common.sels.fancyBox+' input[id$="uiTxtHeight"]').val(),email=$(common.sels.fancyBox+' input[id$="uiTxtEmail"]').val();if(validator.isValid()){var opts={data:{email:email},url:"/Services/PersonalizationFlowService.asmx/IsUserExists",beforeSend:function(){common.enableBtnSubmitLoader(true,self)},success:function(result){if(!result.d){$("span.error.alreadyTakenEmail").hide();doSignUp()}else{$("span.error.alreadyTakenEmail").show();common.enableBtnSubmitLoader(false,self)}}};utils.ajax(opts);function doSignUp(){if(!isXYearsOld){window.location=$("#notXYearsOldRedirectUrl").val();return false}if(!isValidBmi(weight,height/100)){window.location=$("#bmiTooLowRedirectUrl").val();return false}var dataToPost={dietPlan:$(common.sels.fancyBox+' input[name="uiRblDietPlan"]:checked').val(),xYearsOld:isXYearsOld,male:$(common.sels.fancyBox+' input[name="uiRblGender"]:checked').val(),firstName:$(common.sels.fancyBox+' input[id$="uiTxtFirstName"]').val(),lastName:$(common.sels.fancyBox+' input[id$="uiTxtLastName"]').val(),email:email,password:$(common.sels.fancyBox+' input[id$="uiTxtPassword"]').val(),confirmPassword:$(common.sels.fancyBox+' input[id$="uiTxtConfirmPassword"]').val(),weight:weight,height:height,subscribeToNewsletter:$(common.sels.fancyBox+' input[id$="uiCbSubscribeToNewsletter"]').is(":checked")};opts={data:dataToPost,beforeSend:function(){common.enableBtnSubmitLoader(true,self)},url:"/Services/PersonalizationFlowService.asmx/SignUp",success:function(result){result=$.parseJSON(result.d);if(!result.IsError){window.location=$("#editMeasurementsRedirectUrl").val()}else{common.showPopup("Sorry! Something is wrong...")}}};_gaq.push(["_trackEvent","Diet plan","Signup Confirmation",$.trim($('label[for="'+$(common.sels.fancyBox+' input[name="uiRblDietPlan"]:checked').attr("id")+'"]').text())]);if($(common.sels.fancyBox+' input[id$="uiCbSubscribeToNewsletter"]').is(":checked")){_gaq.push(["_trackEvent","Newsletter","Signup"])}utils.ajax(opts);return true}}return false})};var isValidBmi=function(weight,height){var limitBmi=$("#minBmi").val(),bmi=weight/(height*height);return(bmi>limitBmi)};this.Personalization()};Nutrilett.MyPage=function(){var utils=new Nutrilett.Utils(),common=new Nutrilett.Common(),myPageHolder=".myPage",ourChart={},that=this;this.MyPage=function(){if($(myPageHolder).length){loadLibs();tabs();changeEmail();subscribe();changePassword();changeDietProgram();changeName();accordion(".accordionBox");goToDietPlan()}};var goToDietPlan=function(){$("a.lnkDietPlan").live("click",function(){$.scrollTo("#myPageNav",500)})};var changeName=function(){var lnkStart=".changeName",btnDoChange=common.sels.fancyBox+" .btnChangeName";$(lnkStart).live("click",function(){var opts={data:{local:utils.getLocale()},url:"/Services/PersonalizationFlowService.asmx/GetChangeNameControl",beforeSend:function(){common.showPopup()},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts);return false});$(btnDoChange).live("click",function(){var validator=new Nutrilett.Validation(common.sels.fancyBox),self=$(this);if(validator.isValid()){var firstName=$(common.sels.fancyBox+' input[id$="uiTxtFirstName"]').val(),lastName=$(common.sels.fancyBox+' input[id$="uiTxtLastName"]').val();var opts={data:{firstName:firstName,lastName:lastName},url:"/Services/PersonalizationFlowService.asmx/ChangeName",beforeSend:function(){common.enableBtnSubmitLoader(true,self);$(common.sels.fancyBox+" .errorsSummary").empty()},success:function(result){result=$.parseJSON(result.d);if(result.IsError){$(common.sels.fancyBox+" .errorsSummary").text(result.ErrorMessage);common.enableBtnSubmitLoader(false,self)}else{var growlContent=translations.ChangeNameSuccessContent,growlHeader=translations.ChangeNameSuccessHeader;utils.growl(growlHeader,growlContent);$.fancybox.close();$(".userNameLine").text(firstName+" "+lastName)}}};utils.ajax(opts)}})};var accordion=function(selector){var headers=selector+" .acHeader",contents=selector+" .acContent",i=0;$(headers).live("click",function(){var self=$(this);if(!i){if(self.hasClass("open")){$(headers).removeClass("open");i++;self.next(".acContent").slideToggle(500,function(){i--})}else{$(headers).removeClass("open");self.addClass("open");if($(contents+":visible").length){i++;$(contents+":visible").slideToggle(500,function(){i--})}i++;self.next(".acContent").slideToggle(500,function(){i--})}}})};var changeDietProgram=function(){var lnkStart="a.changeDietProgram",btnDoChange=common.sels.fancyBox+" .changeProgram a.startLink";$(lnkStart).live("click",function(){var opts={data:{local:utils.getLocale()},url:"/Services/PersonalizationFlowService.asmx/GetChangeDietProgramControl",beforeSend:function(){_gaq.push(["_trackEvent","Diet plan","Change plan start"]);common.showPopup()},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts);return false});$(btnDoChange).live("click",function(){var self=$(this);if(self.parents(".chosen").length){return false}var opts={data:{selectedProgram:self.data("dietId")},url:"/Services/PersonalizationFlowService.asmx/ChangeDietProgram",beforeSend:function(){common.showPopup()},success:function(result){result=$.parseJSON(result.d);if(!result.IsError){setTimeout(function(){var growlContent=translations.ChangeProgramSuccessContent,growlHeader=translations.ChangeProgramSuccessHeader;utils.growl(growlHeader,growlContent);$.fancybox.close();_gaq.push(["_trackEvent","Diet plan","Change plan completed"]);setTimeout(function(){window.location.reload()},1000)},common.opts.lightBoxLoadingTime)}else{}}};utils.ajax(opts);return false})};var changePassword=function(){var lnkStart=".changePassword",btnDoChange=common.sels.fancyBox+" .btnChangePassword";$(lnkStart).live("click",function(){var opts={data:{local:utils.getLocale()},url:"/Services/PersonalizationFlowService.asmx/GetChangePasswordControl",beforeSend:function(){common.showPopup()},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts);return false});$(btnDoChange).live("click",function(){var validator=new Nutrilett.Validation(common.sels.fancyBox),self=$(this);if(validator.isValid()){var opts={data:{currentPassword:$(common.sels.fancyBox+' input[id$="uiTxtCurrentPassword"]').val(),newPassword:$(common.sels.fancyBox+' input[id$="uiTxtNewPassword"]').val()},url:"/Services/PersonalizationFlowService.asmx/ChangePassword",beforeSend:function(){common.enableBtnSubmitLoader(true,self);$(common.sels.fancyBox+" .errorsSummary").empty()},success:function(result){result=$.parseJSON(result.d);if(result.IsError){$(common.sels.fancyBox+" .errorsSummary").text(result.ErrorMessage);common.enableBtnSubmitLoader(false,self)}else{var growlContent=translations.ChangePasswordSuccessContent,growlHeader=translations.ChangePasswordSuccessHeader;utils.growl(growlHeader,growlContent);$.fancybox.close()}}};utils.ajax(opts)}})};var subscribe=function(){var chk="input#subscribe",loader="#subscribeLoader",error="#subscribeError";$(chk).live("click",function(){var self=$(this),opts={data:{subscribe:self.is(":checked")},url:"/Services/PersonalizationFlowService.asmx/ChangeSubscription",beforeSend:function(){$(loader).show();$(error).hide()},success:function(result){setTimeout(function(){$(loader).hide();result=$.parseJSON(result.d);if(result.IsError){$(error).show();if(self.attr("checked")){self.removeAttr("checked");self.siblings(".tfCheckbox").removeClass("tfChecked")}else{self.attr("checked","checked");self.siblings(".tfCheckbox").addClass("tfChecked")}}else{var growlContent=self.is(":checked")?translations.SubscribeSuccessContent:translations.SubscribeOffSuccessContent,growlHeader=translations.SubscribeSuccessHeader;utils.growl(growlHeader,growlContent);_gaq.push(["_trackEvent","Newsletter",self.is(":checked")?"Signup":"Signoff"])}},common.opts.lightBoxLoadingTime)}};utils.ajax(opts)})};var changeEmail=function(){var lnkStart="a.changeEmail",btnDoChange=common.sels.fancyBox+" .btnChangeEmail";$(lnkStart).live("click",function(){var opts={data:{local:utils.getLocale()},url:"/Services/PersonalizationFlowService.asmx/GetChangeEmailControl",beforeSend:function(){common.showPopup()},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts);return false});$(btnDoChange).live("click",function(){var validator=new Nutrilett.Validation(common.sels.fancyBox),self=$(this);if(validator.isValid()){var newEmail=$(common.sels.fancyBox+' input[id$="uiTxtNewEmail"]').val();var opts={data:{newEmail:newEmail},url:"/Services/PersonalizationFlowService.asmx/ChangeEmail",beforeSend:function(){common.enableBtnSubmitLoader(true,self);$(common.sels.fancyBox+" .errorsSummary").empty()},success:function(result){result=$.parseJSON(result.d);if(result.IsError){$(common.sels.fancyBox+" .errorsSummary").text(result.ErrorMessage);common.enableBtnSubmitLoader(false,self)}else{var growlContent=translations.ChangeEmailSuccessContent,growlHeader=translations.ChangeEmailSuccessHeader;utils.growl(growlHeader,growlContent);$.fancybox.close();$("#userEmail").text(newEmail)}}};utils.ajax(opts)}})};var updateDietPlansTab=function(dietPlanId){if(that.getCurrentTab()!="#dietplan"){return false}if(typeof(dietPlanId)=="undefined"){dietPlanId=""}var opts={data:{local:utils.getLocale(),dietPlanId:dietPlanId},url:"/Services/UserControlService.asmx/GetMyProfileDietPlanTabHtml",beforeSend:function(){},success:function(result){if(result.d){$("#dietplanbox").html(innerShiv(result.d))}else{common.showPopup("Something went wrong...")}}};utils.ajax(opts)};var updateMyProfileTab=function(){var opts={data:{local:utils.getLocale()},url:"/Services/UserControlService.asmx/GetMyProfilePageTabHtml",beforeSend:function(){},success:function(result){if(result.d){$("#myprofilebox").html(innerShiv(result.d));TofslaFormsStart()}else{common.showPopup("Something went wrong...")}}};utils.ajax(opts)};var updateDashboardTab=function(){var opts={data:{local:utils.getLocale()},url:"/Services/UserControlService.asmx/GetMyProfileGraphHtml",beforeSend:function(){},success:function(result){if(result.d){$("#dashboardbox").html(innerShiv(result.d));initChart();if(that.getCurrentTab()=="#dashboard"){drawChart()}}else{common.showPopup("Something went wrong...")}}};utils.ajax(opts)};var drawChart=function(){$.plot($("#chart"),[ourChart.chart,ourChart.goalLine],ourChart.options);$("#chart").css("visibility","visible")};var initChart=function(){var allWeights=$("#chart").data("chart"),showWeights=[],weekTranslation=translations.Week,j;var allWeeks=[];for(j=0;j<allWeights.length;j++){allWeeks.push(allWeights[j][0])}allWeeks=getUniqueValues(allWeeks);for(j=0;j<allWeights.length;j++){if(allWeights[j][2]){showWeights.push([$.inArray(allWeights[j][0],allWeeks)*7+allWeights[j][2],allWeights[j][1]])}}for(j=0;j<allWeeks.length;j++){allWeeks[j]=allWeeks[j]+" "+weekTranslation}ourChart.goal=$("#chart").data("goal");ourChart.goalLineCoord=[];ourChart.chart={data:showWeights,label:translations.MyPageWeight,lines:{show:true,lineWidth:1},points:{show:true,lineWidth:1,fill:true,fillColor:"#000",radius:3,symbol:"circle"},color:"#000"};ourChart.options={shadowSize:0,xaxis:{ticks:[[0,allWeeks[0]],[7,allWeeks[1]],[14,allWeeks[2]],[21,allWeeks[3]],[28,allWeeks[4]]]},tickDecimals:0,grid:{show:true,color:"#a6d7a6",backgroundColor:"#fff",axisMargin:10,borderWidth:1,borderColor:"#a6d7a6"}};for(j=0;j<35;j+=0.5){ourChart.goalLineCoord.push([j,ourChart.goal])}ourChart.goalLine={data:ourChart.goalLineCoord,label:translations.MyPageYourGoal,lines:{show:false,lineWidth:1},points:{show:true,lineWidth:1,fill:true,radius:2,fillColor:"#f4714a",symbol:"circle"},color:"#f4714a"};function getUniqueValues(arr){var i,l=arr.length,r=[];r.push(arr[0]);for(i=1;i<l;i++){if(arr[i-1]!=arr[i]){r.push(arr[i])}}return r}};var dashBoard=function(){initChart();addMeasure();function addMeasure(){var addMeasurebox=".updateYourMeasurements",validator=new Nutrilett.Validation(addMeasurebox);$(myPageHolder+" input.btnAddMeasures").live("click",function(e){var opts={data:{local:utils.getLocale()},url:"/Services/UserControlService.asmx/GetUpdateYourMeasurenmentHtml",beforeSend:function(){common.showPopup();_gaq.push(["_trackEvent","Profile","Update start"])},success:function(result){setTimeout(function(){common.showPopup(result.d)},common.opts.lightBoxLoadingTime)}};utils.ajax(opts);return false});$(addMeasurebox+" .btnSubmit").live("click",function(){var self=$(this);if(validator.isValid()){var weight=$("#newWeight").val();var opts={data:{weight:weight,waist:$("#newWaist").val()},url:"/Services/UserControlService.asmx/UpdateMeasurenment",beforeSend:function(){common.enableBtnSubmitLoader(true,self)},success:function(result){result=$.parseJSON(result.d);if(result.IsError){common.showError(result.ErrorMessage);common.enableBtnSubmitLoader(false,self)}else{$.fancybox.close();updateDashboardTab();updateMyProfileTab();_gaq.push(["_trackEvent","Profile","Update completed"])}}};utils.ajax(opts)}return false})}};this.getCurrentTab=function(){return $(myPageHolder+" nav.tabs li.active a").attr("href")};var loadLibs=function(){yepnope({test:$(myPageHolder).length&&$.browser.msie&&parseInt($.browser.version,10)<9,yep:"/js/nutrilett/plugins/excanvas.min.js"});yepnope({test:$(myPageHolder).length,yep:["/js/nutrilett/plugins/jquery.flot.min.js","/js/nutrilett/plugins/jquery.flot.resize.js"],complete:function(){dashBoard();if(that.getCurrentTab()=="#dashboard"){drawChart()}}})};var tabs=function(){var lnkTabs=$(myPageHolder+" .tabs a"),liTabs=$(myPageHolder+" .tabs li"),activeLi,activeLink,boxTabs=$(".myPage .content > div");if(!liTabs.length){return false}$.history.init(goToTab);lnkTabs.click(function(){var url=createHash($(this).attr("href").split("#")[1]);$.history.load(url);return false});function goToTab(hash){var vars=[],hashLine=hash,hashes=hashLine.split("&"),firstLink=lnkTabs.eq(0);for(var i=0;i<hashes.length;i++){hashLine=hashes[i].split("=");vars.push(hashLine[0]);vars[hashLine[0]]=hashLine[1]}if(typeof(vars.tab)=="undefined"){vars.tab=firstLink.data("tab")}activeLink=$(myPageHolder+' a[data-tab="'+vars.tab+'"]');if(activeLink.length){activeLi=activeLink.parents("li")}liTabs.removeClass("active");activeLi.addClass("active");boxTabs.hide();$("#"+vars.tab+"box").show();if(!hash){hash="tab="+vars.tab}if(typeof(vars.mp)!="undefined"){updateDietPlansTab(vars.mp);$.scrollTo("#myPageNav",500)}else{updateDietPlansTab();$.history.load(hash)}if(typeof(vars.mp)=="undefined"){if(typeof(window.myPageTrackingUrl)=="undefined"){window.myPageTrackingUrl="My page - "+vars.tab}else{_gaq.push(["_trackPageview","My page - "+vars.tab])}}if(typeof(ourChart)!="undefined"&&typeof($.plot)=="function"&&vars.tab=="dashboard"){drawChart()}else{$("#chart").html("")}}function createHash(tab){var hash="tab="+tab;return hash}};this.MyPage()};Nutrilett.Products=function(){var shopLoading=false;var utils=new Nutrilett.Utils();this.Products=function(){shop();nutritionFacts();initSeeAll()};var shop=function(){var btnAddToCart=$(".btnAddToCart"),allTxtQ2Buy=$(".quantityToBuy");allTxtQ2Buy.live("keydown",function(event){if(event.keyCode!=46&&event.keyCode!=8&&event.keyCode!=9&&(event.keyCode<37||event.keyCode>40)&&(event.keyCode<48||event.keyCode>57)&&(event.keyCode<96||event.keyCode>105)){event.preventDefault()}});btnAddToCart.live("click",function(event){var self=$(this),txtQuantityToBuy=self.parents(".addToCart").find(".quantityToBuy");if(txtQuantityToBuy.val()!=""&&txtQuantityToBuy.val()!=null&&txtQuantityToBuy.val()>0){var growlContent=translations.PleaseWait+"...";var growlHeader=translations.ShopAddingToCart;utils.growl(growlHeader,growlContent);postData(txtQuantityToBuy.attr("data-product-code"),$.trim(txtQuantityToBuy.val()),txtQuantityToBuy.attr("data-catalog-id"))}event.preventDefault()});var $calculator=$("#calculator");if($calculator.length){var minScrollHeight=$calculator.offset().top;var maxScrollHeight=$(".mainFooter").offset().top-$calculator.height()-20;$(window).load(function(){floatCalculator($calculator)}).scroll(function(){floatCalculator($calculator)}).resize(function(){floatCalculator($calculator)})}var floatCalculator=function($calculator){$calculator.css({width:$calculator.parent().width()-4});var minScrollHeight=$calculator.parent().offset().top;var maxScrollHeight=$(".mainFooter").offset().top-$calculator.height()-30;if(maxScrollHeight<$(window).scrollTop()){$calculator.removeClass().addClass("bAligned").css({left:"auto"})}else{if(minScrollHeight<$(window).scrollTop()){$calculator.removeClass().addClass("floatingCalculator").css({left:$calculator.parent().offset().left})}else{$calculator.removeClass().addClass("tAligned").css({left:"auto"})}}};var btnProductDecrease=$(".btnProductDecrease");btnProductDecrease.live("click",function(event){var amount=$(this).siblings(".quantity");if(!shopLoading){shopLoading=true;if($.trim(amount.text())==1){removeFromShoppingCart($(this))}else{decreaseProductQuantityByOne($(this))}updateTotalPrice();updateCartInfo(false)}else{var growlContent=translations.PleaseWait+"...";var growlHeader=translations.ShopLoadingShop;utils.growl(growlHeader,growlContent)}event.preventDefault()});var btnProductIncrease=$(".btnProductIncrease");btnProductIncrease.live("click",function(event){if(!shopLoading){shopLoading=true;increaseProductQuantityByOne($(this));updateTotalPrice();updateCartInfo(false)}else{var growlContent=translations.PleaseWait+"...";var growlHeader=translations.ShopLoadingShop;utils.growl(growlHeader,growlContent)}event.preventDefault()});var btnProductRemove=$(".btnProductRemove");btnProductRemove.live("click",function(event){removeFromShoppingCart($(this));updateCartInfo(false);updateTotalPrice();event.preventDefault()});var postData=function(productCode,quantity,catalogId){var opts={data:{productCode:productCode,quantity:quantity,catalogId:catalogId},url:"/Services/ShopService.asmx/AddToShoppingCart",success:function(result){updateContentAfterPost(result);updateCartInfo(true)}};utils.ajax(opts)};var updateContentAfterPost=function(result){var shoppingCartItemsAmount=$("#shoppingCartItemsAmount"),txtQuantityToBuy=$(".quantityToBuy");txtQuantityToBuy.val(1);shoppingCartItemsAmount.text(result.d)};var updateCartInfo=function(showGrowl){var cartLink=$("#cartLink"),shoppingCart=$(".shoppingCart");shoppingCart.remove();$(".topHeader").append('<div class="shoppingCartLoading">'+translations.Loading+"...</div>");var opts={data:{currentItemId:cartLink.data("id")},url:"/Services/ShopService.asmx/GetShoppingCartSummary",success:function(result){var cartInfo=result.d;shoppingCart.remove();$(".shoppingCartLoading").remove();$(".topHeader").append(cartInfo);shopLoading=false;var utils=new Nutrilett.Utils(),opts={url:"/Services/ShopService.asmx/GetPriceSummary",success:function(result){var result=$.parseJSON(result.d);if(showGrowl){var growlContent=$("#cartLink").text()+'<br/><div class="clearfix"><strong class="left">'+translations.ShopTotalPrice+'</strong><strong class="right">'+result.TotalPrice+"</strong></div>";var growlHeader=translations.ShopProductAdded;utils.growl(growlHeader,growlContent)}}};utils.ajax(opts)}};utils.ajax(opts)};var increaseProductQuantityByOne=function(element){var opts={data:{productCode:element.data("productcode").substring(1)},url:"/Services/ShopService.asmx/IncreaseQuantityByOne",success:function(result){$('li[id="productLine-'+element.data("position")+'"] .quantity').text(result.d)}};utils.ajax(opts)};var decreaseProductQuantityByOne=function(element){var opts={data:{productCode:element.data("productcode").substring(1)},url:"/Services/ShopService.asmx/DecreaseQuantityByOne",success:function(result){$('li[id="productLine-'+element.data("position")+'"] .quantity').text(result.d)}};utils.ajax(opts)};var updateTotalPrice=function(){var opts={url:"/Services/ShopService.asmx/GetPriceSummary",success:function(result){result=$.parseJSON(result.d);$("#VAT").text(result.VatPrice);$("#subTotalPrice").text(result.SubtotalPrice);$("#shippingPrice, span.shippingPrice").text(result.ShippingPrice);$("#totalPrice strong").text(result.TotalPrice)}};utils.ajax(opts)};var removeFromShoppingCart=function(element){var opts={data:{productCode:element.data("productcode").substring(1)},url:"/Services/ShopService.asmx/RemoveFromShoppingCart",success:function(result){$('li[id="productLine-'+element.data("position")+'"]').fadeOut("slow",function(){$(this).remove();if($("li.product").length==0){$(".shoppingAction .btnWrapper").hide()}})}};utils.ajax(opts)};var payButton=$(".payButton");payButton.live("click",function(event){var boolCheckTerms=checkTerms();if(boolCheckTerms){htmlToShow='<div id="loadingPayment">'+translations.Loading+"...</div>";$.fancybox({padding:15,content:htmlToShow,autoScale:true,scrolling:"no",overlayColor:"#000",overlayOpacity:0.6,hideOnOverlayClick:false,showCloseButton:false})}return boolCheckTerms});function checkTerms(){var termsAccepted=$(".acceptTerms input").is(":checked");if(!termsAccepted){$("#errorTermsNotAccepted").show()}return termsAccepted}$("#cartLink").live({mouseover:function(){showShoppingCart()},mouseout:function(){hideShoppingCart()}});var showShoppingCart=function(){$("#cartInfo").stop().css({display:"block"}).animate({top:32,opacity:1},200,"swing")};var hideShoppingCart=function(){$("#cartInfo").stop().animate({top:28,opacity:0},200,"swing",function(){$(this).css({display:"none"})})};$(".chkBillingAddress").live("click",function(){checkBillingAddress($(this))});function checkBillingAddress(element){if(element.find("input").is(":checked")){$("#billingAddress").slideUp("fast","swing",function(){$(".billingName").val("ValidationStopper");$(".billingStreet").val("ValidationStopper");$(".billingPostalCode").val("9999");$(".billingCity").val("ValidationStopper");$('.errorMsg ul li:contains("Billing")').remove()})}else{$(".billingName").val("");$(".billingStreet").val("");$(".billingPostalCode").val("");$(".billingCity").val("");$("#billingAddress").slideDown("fast","swing")}}};var nutritionFacts=function(){var lnkSeeAllNutrition=$("#seeAllNutrition"),allNutritionsBox=$("#allNutritions");lnkSeeAllNutrition.click(function(){allNutritionsBox.toggle();return false})};var initSeeAll=function(){var lnkSeeAll=$("a#showAllProducts"),productsBox=$("#productListContainer"),loadingBox=$("#loadingProducts");lnkSeeAll.click(function(){var self=$(this),dataToPost={currentItemId:self.data("currentItemId"),productCount:self.data("productCount")};showAllProducts(dataToPost);return false});var showAllProducts=function(dataToPost){var opts={data:dataToPost,url:"/Services/ProductService.asmx/GetProducts",beforeSend:function(){toggleSeeMoreBoxContent()},success:function(result){productsBox.append(innerShiv(result.d));lnkSeeAll.remove();toggleSeeMoreBoxContent()}};utils.ajax(opts)};var toggleSeeMoreBoxContent=function(){loadingBox.toggle();lnkSeeAll.toggle()}};var productListItems=$("#productListContainer > li");if(productListItems.length){utils.equalHeight(productListItems)}this.Products()};Nutrilett.Blogs=function(){this.Blogs=function(){initSeeMore()};var initSeeMore=function(){var utils=new Nutrilett.Utils(),lnkSeeMore=$("a#showMorePosts"),blogPostsBox=$("#blogPosts"),loadingBox=$("#loadingNewPosts"),totalPosts=lnkSeeMore.data("totalPosts"),postsPerPage=lnkSeeMore.data("postsPerPage"),totalRequests=Math.ceil(totalPosts/postsPerPage),currentRequest=1;lnkSeeMore.click(function(){var self=$(this),dataToPost={currentItemId:self.data("currentItemId"),startIndex:self.data("nextBlogPost"),categoryId:self.data("categoryId")};showMorePosts(dataToPost);self.data("nextBlogPost",self.data("nextBlogPost")+self.data("postsPerPage"));return false});var showMorePosts=function(dataToPost){var opts={data:dataToPost,url:"/Services/InspirationService.asmx/GetInspirationPosts",beforeSend:function(){toggleSeeMoreBoxContent()},success:function(result){if(!$.trim(result.d)){lnkSeeMore.remove()}else{blogPostsBox.append(innerShiv(result.d))}if(++currentRequest<totalRequests){toggleSeeMoreBoxContent()}else{loadingBox.parents(".seeMoreBox").remove()}}};utils.ajax(opts)};var toggleSeeMoreBoxContent=function(){loadingBox.toggle();lnkSeeMore.toggle()}};this.Blogs()};Nutrilett.TopNav=function(){this.TopNav=function(){var lnkTopLevel=$(".topNav > ul > li > a");lnkTopLevel.each(function(){var self=$(this),topLevelLnkHolder=self.parent("li"),subMenu=self.parent().find(".subMenuBox"),subMenuWidth=subMenu.outerWidth(),leftShift=self.position(),leftMargin=-subMenuWidth/2,topNavWidth=$(".topNav").outerWidth();leftShift=leftShift.left+self.outerWidth()/2;if(subMenu.length){var cssSet={left:"auto",right:"auto","margin-left":"auto"};if(-leftMargin>leftShift){cssSet["margin-left"]=0;cssSet.left=0}else{cssSet["margin-left"]=leftMargin;cssSet.left=leftShift}if(cssSet["margin-left"]){if(leftShift-leftMargin>topNavWidth){cssSet.right=0;cssSet.left="auto";cssSet["margin-left"]="auto"}}subMenu.css(cssSet).parent().parent().addClass("parent")}if(subMenu.length){self.hover(function(){subMenu.show();if(!topLevelLnkHolder.hasClass("selected")){self.addClass("active")}});topLevelLnkHolder.mouseleave(function(){subMenu.hide();if(!topLevelLnkHolder.hasClass("selected")){self.removeClass("active")}})}})};this.TopNav()};Nutrilett.Forms=function(){var that=this;this.Forms=function(){that.initRequiredFields();that.initFormHints();that.fireEnterKey()};this.fireEnterKey=function(parent){if(typeof(parent)=="undefined"){parent=""}$(parent+" .fields input:visible").live("keyup",function(event){if(event.keyCode=="13"){$(this).parents(".fields").find(".btnSubmit").click()}})};this.initRequiredFields=function(parent){if(typeof(parent)=="undefined"){parent=""}var lblRequiredSelector=parent+" label.required";$(lblRequiredSelector).each(function(){var self=$(this),requiredMarkHtml='<span class="requiredMark">*</span>';self.append(requiredMarkHtml)})};this.initFormHints=function(parent){if(typeof(parent)=="undefined"){parent=""}var holderSelector=parent+" .txtInput",lblTitles=$(holderSelector+" label"),txtInputs=$(holderSelector+" input[type='text']");lblTitles.click(function(){var self=$(this);self.hide();self.parents(holderSelector).find("input[type='text']").focus()});txtInputs.blur(function(){var self=$(this);if(!jQuery.trim(self.val())){self.parents(holderSelector).find("label").show()}else{self.parents(holderSelector).find("label").hide()}});txtInputs.focus(function(){$(this).parents(holderSelector).find("label").hide()});txtInputs.each(function(){var self=$(this);if(jQuery.trim(self.val())){self.parents(holderSelector).find("label").hide()}})};this.Forms()};Nutrilett.Utils=function(){var that=this;this.ajax=function(options){var ajaxPostType="post",ajaxContentType="application/json; charset=utf-8",ajaxDataType="json";var defaults={data:{},type:ajaxPostType,contentType:ajaxContentType,dataType:ajaxDataType,url:"",success:function(result){var res=eval(result);res=eval("("+res.d+")");if($.isFunction(options.callBack)){options.callBack(res)}},error:function(xmlHttpRequest){if($.isFunction(options.serverError)){options.serverError(xmlHttpRequest)}}};var opts=$.extend({},defaults,options);opts.data=$.toJSON(opts.data);$.ajax(opts)};this.equalHeight=function(elements){var maxHeight=0;if(elements.length){elements.each(function(){if($(this).height()>maxHeight){maxHeight=$(this).height()}});elements.css("min-height",maxHeight)}};this.growl=function(strHeader,strContent){$.jGrowl(strContent,{header:strHeader,open:function(){},beforeOpen:function(){$(".jGrowl-notification:gt(0)").each(function(){$(this).hide("fast")});that.setGrowlPosition()}})};this.setGrowlPosition=function(){$("#jGrowl").css("left",($("form > .wrapper").offset().left+$("form > .wrapper").width()-275))};this.getLocale=function(){var lang=window.location.hostname;lang=(lang=lang.match(/\.([a-z,A-Z]{2,6})$/))?lang[1]:"da";return lang}};Nutrilett.Common=function(){var that=this;this.opts={lightBoxLoadingTime:1000};this.sels={fancyBox:"#fancybox-content"};this.enableBtnSubmitLoader=function(isEnable,btn){if(isEnable){btn.parents(".btnWrapper").addClass("loading")}else{btn.parents(".btnWrapper").removeClass("loading")}};this.showError=function(errorMsg){$(that.sels.fancyBox).find(".errorsSummary").html(errorMsg)};this.showPopup=function(htmlToShow){if(typeof(htmlToShow)=="undefined"){htmlToShow='<div id="loadingPopup"></div>'}$.fancybox({padding:15,content:htmlToShow,autoScale:true,scrolling:"no",overlayColor:"#000",overlayOpacity:0.6,onClosed:function(){},onStart:function(){},onComplete:function(){TofslaFormsStart(that.sels.fancyBox);forms.initFormHints(that.sels.fancyBox);forms.initRequiredFields(that.sels.fancyBox);$(that.sels.fancyBox).find('input[type="text"]:first').focus();$(that.sels.fancyBox+" .btnClose").click(function(){$.fancybox.close();return false})}})};this.setGrowlPosition=function(){$("#jGrowl").css("left",($("form > .wrapper").offset().left+$("form > .wrapper").width()-275))};this.createHash=function(root){return root}};Nutrilett.Validation=function(parent){this.isValid=function(){var fieldsToValidate=$(parent+" input.validated:visible, "+parent+" textarea.validated:visible"),isValid=false;fieldsToValidate.each(function(){var self=$(this);if(self.hasClass("required")&&!isValidRequired(self)){return isValid=true}if(self.hasClass("email")&&!isValidByRegex("email",self)){return isValid=true}if(self.hasClass("date")&&!isValidByRegex("date",self)){return isValid=true}if(self.hasClass("number")&&!isValidByRegex("number",self)){return isValid=true}if(self.hasClass("floatnumber")&&!isValidByRegex("floatnumber",self)){return isValid=true}if(self.hasClass("phone")&&!isValidByRegex("phone",self)){return isValid=true}if(self.hasClass("passwordConfirm")&&!isValidMatch("passwordConfirm","password")){return isValid=true}if(self.hasClass("emailConfirm")&&!isValidMatch("emailConfirm","email")){return isValid=true}});return !isValid};var isValidMatch=function(firstFieldSelector,secondFieldSelector){var firstField=$(parent+" ."+firstFieldSelector),secondField=$(parent+" ."+secondFieldSelector),errorMsg=firstField.parents("dl.field").find("span.error."+firstFieldSelector);firstField.parents("dl.field").find("span.error").hide();return reInitValidator((firstField.val()!==secondField.val())?"error":"ok",errorMsg,firstField)};var isValidRequired=function(currInput){var currValue=currInput.is(":checkbox")?(currInput.is(":checked")?"true":""):currInput.val();var errorMsg=currInput.parents("dl.field").find("span.error.required");currInput.parents("dl.field").find("span.error").hide();return reInitValidator(!jQuery.trim(currValue)?"error":"ok",errorMsg,currInput)};var isValidByRegex=function(key,currInput){var currValue=jQuery.trim(currInput.val()),errorMsg=currInput.parents("dl.field").find("span.error."+key),pattern;currInput.parents("dl.field").find("span.error").hide();switch(key){case"email":pattern=/^([a-zA-Z0-9._%\-+]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})*$/;break;case"date":pattern=/^((0?[1-9]|[12][0-9]|3[01])[-/.](0?[1-9]|1[012])[-/.](19|20)?[0-9]{2})*$/;break;case"number":pattern=/^[1-9]\d*$/;break;case"floatnumber":pattern=/^[1-9][\d.]*$/;break;case"phone":pattern=/[0-9\ \+]{8,}/;break;default:pattern=""}return reInitValidator((currValue.match(pattern)===null)?"error":"ok",errorMsg,currInput)};var reInitValidator=function(status,errorMsg,currInput){if(status=="error"){errorMsg.show();currInput.addClass("error")}else{errorMsg.hide();currInput.removeClass("error")}return(status=="ok")}}})(jQuery);
