define(["core"],function(a){return a.create_module("orderConfirmed",function(c){var u,h,s,p,k,b,m,g,t,z,l,o,d,i,v,w,q,r,n,y,j,f,x=false; function e(C,B){var A=new RegExp(B,"");return A.test(C);}return{init:function(A){s=this; settings=A;u=c.getContainer();p=document.getElementsByTagName("body")[0];l=c.find(".amexSecurityCode")[0]; o=c.find(".alert .heading")[0];d=c.find(".alert .message")[0];w=c.find(".amexRewardOptIn")[0]; q=c.find(".amexSecondChance")[0];v=c.find("#orderDetailsContainer")[0];t=c.find(".outletLink")[0]; k=c.find(".linkOrderDetails .textunit")[0];c.addEvent(t,"click",s.e_btnOutletLink); f=c.find("#scandicLink");if(f&&f.length){f=f[0];}c.listen({showAmexComplete:s.l_showAmexComplete,"show-Amex-Error":s.l_showAmexError,"show-scandic-anchor":s.l_showScandicAnchor}); c.library({name:"showHide"},c);this.library.showHide.init({sourceClassName:["icon-more","icon-less"],sourceElementIcon:"span.icon",targetClassName:"shrink",callback:this.updateOrderDetailsLinkText}); s.getSettings();s.initLinks();s.showAmexRedeemPoints();s.checkFormValidation();},updateOrderDetailsLinkText:function(A){if(A){k.innerHTML=j.seeOrderDetails; c.removeClass(u,"expanded");c.slideUp(v);}else{k.innerHTML=j.hideOrderDetails;c.addClass(u,"expanded"); c.slideDown(v);}},destroy:function(){},initLinks:function(){c.addEvent(c.find(".amexSecurityCodeHelp"),"click",s.notify_amexSecurityCodeHelp); c.addEvent(c.find(".btn_checkPoints"),"click",s.checkPoints);c.addEvent(c.find(".formcontainer",document.body),"submit",s.submitForm); },getSettings:function(){if(typeof settings==="object"){if(typeof settings.amexRedeemPoints==="object"){z=settings.amexRedeemPoints; }if(typeof settings.translations==="object"){y=(typeof settings.translations["free"]==="string")?settings.translations["free"]:"free"; }if(typeof settings.validation==="object"){validationObject=settings.validation;}if(typeof settings.amexRedeemPoints==="object"){i=settings.amexRedeemPoints["errors"]; }j=(typeof settings.translations==="object")?settings.translations:a.log("Translations settings error"); r=(typeof settings.moneyFormat==="string")?settings.moneyFormat:"%3$s %1$d.%2$02d"; n=(typeof settings.currencySymbol==="string")?settings.currencySymbol:"€";}else{r="%3$s %1$d.%2$02d"; n="€";}},checkFormValidation:function(){if(l){c.addEvent(l,"keyup",s.e_NumberValidation); var A=l.getAttribute(c.DATA_ATTR+"validation");if(A!==null){c.addEvent(l,"blur",s.e_change); if(l.value){c.triggerEvent(l,"blur");}}}},getNextSibling:function(A){do{A=A.nextSibling; }while(A&&A.nodeType!=1);return A;},showAmexRedeemPoints:function(){var A=c.find("#amexRedeemPoints")[0]; if(z.isAmexCard==true){A.style.display="block";if(z.isAmexRewardOptIn==true){var B=c.find(".amexRewardOptIn")[0]; if(B){B.style.display="block";}}else{if(z.isAmexRewardOptIn==false){c.find(".amexSecondChance")[0].style.display="inline-block"; c.addEvent(c.find(".amexSecondChance a")[0],"click",s.showAmexRewardOptIn);c.addEvent(c.find(".amexSecondChance .icon")[0],"click",s.showAmexRewardOptIn); }}}},showAmexRewardOptIn:function(){w.style.display="block";q.style.display="none"; return false;},e_print:function(){var A=window.navigator;if(A.appName=="Opera"||A.appName=="Netscape"){setTimeout("window.print()",1000); }else{window.print();}},e_toggleRow:function(E){var D=E.currentTarget;var C=c.find("#"+E.currentTarget.getAttribute(c.DATA_ATTR+"ID"))[0]; var A=c.find("."+E.currentTarget.getAttribute(c.DATA_ATTR+"ID")+" .subTotal")[0]; var B=c.find(".icon",D);if(c.hasClass(D,"active")){c.removeClass(B,"icon-less");c.addClass(B,"icon-more"); c.removeClass(D,"active");c.slideUp(C,400);A.style.display="block";}else{c.removeClass(B,"icon-more"); c.addClass(B,"icon-less");c.addClass(D,"active");c.slideDown(C,400);A.style.display="none"; }},e_btnOutletLink:function(A){s.notify_showOutletLayer();A.preventDefault();},submitForm:function(A){A.preventDefault(); s.e_change({currentTarget:l});s.checkPoints();},checkPoints:function(){var A=l.value; if(s.validateForm()){s.notify_amexPointsRedemption(A);}},validateForm:function(){var A=l.getAttribute(c.DATA_ATTR+"validation"); if(A!==null){if(l.value){c.triggerEvent(l,"blur");}}var B=(c.find(".alert:visible")[0]); if(B){s.showError({title:i.securityCode["title"],message:i.securityCode["msg"]}); }return(!B);},e_change:function(C){var B=C.currentTarget;var D=B.getAttribute(c.DATA_ATTR+"validation"); var A=false;if(typeof validationObject[D]=="object"){if(validationObject[D]["testEmpty"]){if(!(B.type=="radio"||B.type=="checkbox")){if(!(B.value)){A=true; }}}if(validationObject[D]["testPattern"]){if(B.value){A=e(B.value,validationObject[D]["testPattern"])==true?false:true; }}}if(A){c.addClass(B,"error");c.addClass(c.parent(B)[0],"error");s.showError({title:i.securityCode["title"],message:i.securityCode["msg"]}); if(!x){x=true;c.addEvent(this,"keyup",s.e_change);}}else{if(x){x=false;c.removeEvent(this,"keyup",s.e_change); }s.hideSecurityCodeError();c.removeClass(B,"error");c.removeClass(c.parent(B)[0],"error"); }},e_NumberValidation:function(A){this.value=this.value.replace(/[^0-9]/g,"");},hideSecurityCodeError:function(){var A=c.find("div.alert")[0]; c.addClass(A,"is-hidden");},l_showAmexComplete:function(A){if(typeof A==="object"){c.find(".amexComplete")[0].style.display="block"; c.find(".amexSteps")[0].style.display="none";c.find(".activityPoints")[0].innerHTML=A.activityPoints; c.find(".MRPointsBalance")[0].innerHTML=A.MRPointsBalance;c.find(".activityAmount")[0].innerHTML=s.printSF(A.activityAmount); c.find(".TMOrderAmount")[0].innerHTML=s.printSF(A.TMOrderAmount);}},l_showScandicAnchor:function(A){if(f){c.removeClass(f,"hide"); }},printSF:function(C){try{C=parseFloat(C).toFixed(2);var B=C.split("."),A,E;var A=(B[1])?parseFloat(B[0]):0; var E=(B[1])?parseFloat(B[1]):0;return(C>0)?c.printSF(r,A,E,n):y;}catch(D){a.log("ERROR: "+D); }},l_showAmexError:function(B){if(typeof B.error==="object"){var A=(typeof B.error.isAmexEnabled==="boolean")?B.error.isAmexEnabled:false; if(!A){s.showAmexFailed(B);}}else{a.log("ERROR: error does not exist or is not an object"); }},showError:function(A){var B=c.find("div.alert")[0];c.removeClass(B,"is-hidden"); o.innerHTML=A.title;d.innerHTML=A.message;},showAmexFailed:function(A){c.find(".amexFailed")[0].style.display="block"; c.find(".amexSteps")[0].style.display="none";c.find(".msg")[0].innerHTML=A.error.message; },notify_amexSecurityCodeHelp:function(){c.notify({type:"show-amexSecurityCodeHelp"}); },notify_amexPointsRedemption:function(A){c.notify({type:"show-amexPointsRedemption",data:A}); return false;},notify_showOutletLayer:function(){c.notify({type:"show-outletLayer",data:null}); }};});});