/* combine : /javascript/desktop/common/modal.min.js*/

var jdw=jdw||{};Array.prototype.peek=function(){return((this.length>0)?this[this.length-1]:null);};String.prototype.parseBoolean=function(defaultVal){var ret=defaultVal;if(this.toLowerCase()==='true'){ret=true;}else if(this.toLowerCase()=='false'){ret=false;}
return ret;};String.prototype.splitWithEscapedCharacters=function(splitChar,escapeChar){var ret=[];var cchar=null;var currentSection="";for(var i=0;i<this.length;i++){cchar=this.charAt(i);if(cchar==splitChar){ret.push(currentSection);currentSection="";}else{if(cchar==escapeChar){currentSection=currentSection+cchar;cchar=this.charAt(++i);}
currentSection=currentSection+cchar;}}
ret.push(currentSection);return ret;};String.prototype.stripEscapeCharacters=function(escapeChar){var ret="";var cchar=null;for(var i=0;i<this.length;i++){cchar=this.charAt(i);if(cchar==escapeChar){cchar=this.charAt(++i);}
ret=ret+cchar;}
return ret;};jdw.ModalsContainer=function(){var containerObj=this;var state={currentModal:null,modalStack:[]};var globalCloseButtonShown=false;var modals={};this.setupModal=function(){if($('body','#jdwModalBackground').length<1){$('body').append('<div id="jdwModalCloseGlobal">'+'<a href="#">Close<span></span></a>'+'</div>'+'<div id="jdwModalBackground"></div>'+'<div id="jdwModalBorder">'+'<div id="jdwModalOuterContent">'+'<div id="jdwModalHeader">'+'<h1 id="jdwModalTitle"></h1>'+'<div id="jdwModalClose" style="display:none;">'+'<a href="#">Close Window<span></span></a>'+'</div>'+'</div>'+'<div id="jdwModalContent"></div>'+'<div id="jdwModalFooter">'+'<div id="jdwModalBack" style="display:none;">'+'<a class="prev btn tertiaryBtn icon-leftarrow" href="#">Back</a>'+'</div>'+'</div>'+'</div>'+'</div>');}
if($('#viewBagContainer').length>=1){$('#jdwModalBorder').addClass('pdp-modal-addtobagpromo orderBuilder')}
if($('#accordion').length>=1){$('#jdw-modalContent').addClass('jdwModal-quickview-pdp')}
this.background=$('body #jdwModalBackground');this.closeGlobal=$('body #jdwModalCloseGlobal');this.contentBorder=$('body #jdwModalBorder');this.outerContentContainer=$("body #jdwModalOuterContent");this.headerContainer=$('body #jdwModalHeader');this.contentContainer=$("body #jdwModalContent");this.footerContainer=$('body #jdwModalFooter');$("#jdwModalClose a").unbind('click').bind('click',function(){return dismissAllModals();});$("#jdwModalCloseGlobal").unbind('click').bind('click',function(){return dismissAllModals();});this.background.unbind('click').bind('click',function(){return dismissAllModals();});$("#jdwModalBack").unbind('click').bind('click',function(){containerObj.hideWebToolkit();reshowPreviousModal();return false;});};this.closeModal=function(){return dismissAllModals();};this.hideWebToolkit=function(){if($("#jdwModalContent").hasClass("webToolkit")){$("#jdwModalContent").removeClass("webToolkit");}};this.showPreviousModal=function(index,url){if(url.length>1){reshowPreviousModal(index,url);}else{reshowPreviousModal(index);}
return false;};this.modalLength=function(){return state.modalStack.length;};this.drawing=false;this.addModal=function(options){modals[options.id]=new jdw.Modal(options);};this.showModal=function(idOrOptions,event){if(typeof event!='undefined'){preventDefault(event);}
var modal=((typeof idOrOptions=='string')?modals[idOrOptions]:new jdw.Modal(idOrOptions));if(modal){this.drawing=true;this.outerContentContainer.css({opacity:0});modal.load(this.contentContainer,postLoadCallback);}};this.bindRelLinks=function(baseElement){$('a[rel^="jdwModal"]',baseElement).each(function(index,element){var options=parseOptions(element);$(element).unbind('click').bind('click',function(event){containerObj.showModal(options,event);});});};this.reAnimate=function(width,height){containerObj.contentBorder.animate({'width':width,'height':height,'marginLeft':0-(width/2),'marginTop':0-(height/2),'opacity':1.0},500,function(){containerObj.outerContentContainer.css({opacity:1});containerObj.drawing=false;containerObj.contentBorder.css('opacity','');containerObj.outerContentContainer.css('opacity','');});};this.modalShown=function(){return state.currentModal!=null;};this.isGlobalCloseButtonShown=function(){return globalCloseButtonShown;};this.moveCloseButton=function(){var outsideModal=state.currentModal.isBiggerThan($("#jdwModalBackground").width(),$("#jdwModalBackground").height());if(outsideModal&&!globalCloseButtonShown){$("#jdwModalCloseGlobal").show();$("#jdwModalCloseGlobal").css('opacity','1.0');$("#jdwModalClose").hide();globalCloseButtonShown=true;}else if(!outsideModal&&globalCloseButtonShown){$("#jdwModalCloseGlobal").hide();$("#jdwModalClose").show();globalCloseButtonShown=false;}else if(!outsideModal&&!globalCloseButtonShown){$("#jdwModalClose").show();}
state.currentModal.handleCloseMove(outsideModal);};reshowPreviousModal=function(index,content){var modal='';containerObj.drawing=true;containerObj.outerContentContainer.css({opacity:0});if(typeof index=='undefined'&&typeof content=='undefined'){modal=state.modalStack.peek();}else{var data=function(){return content;};if(index==0&&typeof content=='undefined'){state.modalStack.pop();modal=state.modalStack[index];}else if(index!=0&&typeof content=='undefined'){modal=state.modalStack.peek();}else if(index==0&&content.length>1){state.modalStack.pop();modal=state.modalStack[index];modal.content=data;}else{modal=state.modalStack.peek();modal.content=data;}}
modal.load(containerObj.contentContainer,postReloadCallback);};postLoadCallback=function(modal){var first=(state.currentModal==null);if(!first){state.modalStack.push(state.currentModal);}
state.currentModal=modal;showHeader();applyHeaderClass();applyContentClass();applyFooterClass();showBackButton(!first);showCloseButton();if(first){containerObj.background.fadeTo('slow',0.5);containerObj.contentBorder.width(0).height(0).show().css({'margin-left':'0px','margin-top':'0px','opacity':0});}
animateResizeContent();};postReloadCallback=function(modal){state.modalStack.pop();var first=(state.modalStack.length==0);state.currentModal=modal;showHeader();applyHeaderClass();applyContentClass();applyFooterClass();showBackButton(!first);showCloseButton();animateResizeContent();};animateResizeContent=function(){$("#jdwModalTitle").html(state.currentModal.headingText);setTimeout(function(){containerObj.contentContainer.width(state.currentModal.width).height(state.currentModal.height);var width=containerObj.contentContainer.outerWidth();var height=containerObj.outerContentContainer.outerHeight();if(state.currentModal.fullHeight){height=state.currentModal.fullHeight;}
containerObj.background.show();containerObj.contentBorder.show();containerObj.contentBorder.animate({'width':width,'height':height,'marginLeft':0-(width/2),'marginTop':0-(height/2),'opacity':1.0},500,function(){containerObj.outerContentContainer.css({opacity:1});containerObj.drawing=false;containerObj.contentBorder.css('opacity','');containerObj.outerContentContainer.css('opacity','');});containerObj.moveCloseButton();},100);};dismissAllModals=function(){if(!containerObj.drawing){if(state.currentModal&&state.currentModal.onClose){if(typeof state.currentModal.onClose==='function'){state.currentModal.onClose();}else{runCallbackFunction(state.currentModal.onClose);}}
state.currentModal=null;state.modalStack=[];var fadeTime=250;containerObj.contentBorder.animate({opacity:0},fadeTime,function(){containerObj.contentBorder.hide()});containerObj.background.animate({opacity:0},fadeTime,function(){containerObj.background.hide()});containerObj.closeGlobal.animate({opacity:0},fadeTime,function(){containerObj.closeGlobal.hide()});containerObj.contentContainer.empty();}
containerObj.hideWebToolkit();globalCloseButtonShown=false;return false;};showBackButton=function(bool){if(bool&&state.currentModal.backButtonDisabled==false){$("#jdwModalBack").show();}else{$("#jdwModalBack").hide();}};showCloseButton=function(){if(state.currentModal.closeButtonDisabled==false){$("#jdwModalClose").show();}else{$("#jdwModalClose").hide();}};showHeader=function(){if(state.currentModal.headerDisabled==false){$("#jdwModalHeader").show();}else{$("#jdwModalHeader").hide();}};applyHeaderClass=function(){if(typeof state.currentModal.headerClass!="undefined"){$("#jdwModalHeader").addClass(state.currentModal.headerClass);}};applyContentClass=function(){if(typeof state.currentModal.contentClass!="undefined"){$("#jdwModalContent").addClass(state.currentModal.contentClass);}};applyFooterClass=function(){if(typeof state.currentModal.footerClass!="undefined"){$("#jdwModalFooter").addClass(state.currentModal.footerClass);}};parseOptions=function(hrefElement){var ret={'id':hrefElement.id,'content':hrefElement.href,'ajax':true};var splitRel=$(hrefElement).attr('rel').splitWithEscapedCharacters(',','\\');for(var i=1;i<splitRel.length;i++){var splitVal=splitRel[i].splitWithEscapedCharacters(':','\\');if(splitVal[0]&&splitVal[1]){ret[splitVal[0].stripEscapeCharacters('\\')]=splitVal[1].stripEscapeCharacters('\\');}}
return ret;};preventDefault=function(event){if(!event){event=window.event;}
if(event){if(event.preventDefault){event.preventDefault();}else{event.returnValue=false;}}};this.bindRelLinks($('body'));$(window).resize(function(event){if(jdw.modalsContainer.modalShown()){jdw.modalsContainer.moveCloseButton();}});};jdw.Modal=function(options){this.id=options.id;this.width=parseInt(options.width);this.height=parseInt(options.height);if(options.fullHeight){this.fullHeight=parseInt(options.fullHeight);}
this.content=options.content;this.headingText=options.headingText;if(options.ajax!=null){this.ajax=((typeof options.ajax=="string")?options.ajax.parseBoolean():options.ajax);}else{this.ajax=true;}
this.loadStartedCallback=options.loadStartedCallback;this.loadCompletedCallback=options.loadCompletedCallback;this.contentLoadCallback=options.contentLoadCallback;this.closeMoveCallback=options.closeMoveCallback;this.linksTriggerModal=options.linksTriggerModal||false;this.onClose=options.onClose;this.backButtonDisabled=options.backButtonDisabled||false;this.closeButtonDisabled=options.closeButtonDisabled||false;this.headerDisabled=options.headerDisabled||false;this.headerClass=options.headerClass;this.contentClass=options.contentClass;this.footerClass=options.footerClass;var modal=this;this.load=function(container,postLoadCallback){if(modal.loadStartedCallback){runCallbackFunction(modal.loadStartedCallback);}
if(this.ajax){$("#jdwModalTitle").html(modal.headingText);container.load(this.content,function(data,status,requestObj){var redirectUrl=requestObj.getResponseHeader('REDIRECT_URL');if(redirectUrl!=null&&redirectUrl.length>0){location.href=redirectUrl.split(',')[0];}else{bindNewLinks(container);if(modal.contentLoadCallback){runCallbackFunction(modal.contentLoadCallback);}
postLoadCallback(modal);}
if(modal.loadCompletedCallback){runCallbackFunction(modal.loadCompletedCallback);}});}else{var extractedContent=$((typeof this.content=="function")?this.content():eval(this.content));container.html(extractedContent);bindNewLinks(container);if(modal.contentLoadCallback){runCallbackFunction(modal.contentLoadCallback);}
postLoadCallback(modal);if(modal.loadCompletedCallback){runCallbackFunction(modal.loadCompletedCallback);}}};this.handleCloseMove=function(movedOutside){if(typeof modal.closeMoveCallback!='undefined'){(function(moveOutsideModal){modal.closeMoveCallback(moveOutsideModal);})(movedOutside);}};this.isBiggerThan=function(width,height){var modalHeight=$("#jdwModalBorder").height();if(isNaN(modalHeight)||(modalHeight==0)){modalHeight=this.fullHeight;}
if(isNaN(modalHeight)||(modalHeight==0)){modalHeight=this.height;}
var modalCloseButtonHeight=$("#jdwModalClose").height();modalHeight=modalHeight+modalCloseButtonHeight;return((width<this.width)||(height<modalHeight));};bindNewLinks=function(domRoot){if(modal.linksTriggerModal){$('a',domRoot).not('a[rel^="jdwModal"]').each(function(index,element){var options={'id':element.id,'content':element.href,'ajax':true,'width':modal.width,'linksTriggerModal':true};$(element).unbind('click').bind('click',function(event){jdw.modalsContainer.showModal(options,event);});});jdw.modalsContainer.bindRelLinks(domRoot);}else{jdw.modalsContainer.bindRelLinks(domRoot);}};runCallbackFunction=function(fn){if(typeof fn==='function'){(function(){fn();})();}else if(typeof fn==='string'){eval(fn+'()');}};};if(!jdw.modalsContainer){jdw.modalsContainer=new jdw.ModalsContainer();}
$(document).ready(function(){jdw.modalsContainer.setupModal();jdw.modalsContainer.bindRelLinks($('body'));});/* complete : /javascript/desktop/common/modal.min.js*/


