if(top!=self&&self.location.pathname.indexOf("action/progal")!=1&&self.location.pathname.indexOf("pro")!=1&&self.location.pathname.indexOf("osc4p")!=1&&self.location.pathname.indexOf('action/publishing')!=1&&self.location.pathname.indexOf('calendar/View')!=-1&&self.location.pathname.indexOf('action/cards')!=1&&self.location.pathname.indexOf('action/photocards')!=1)top.location=self.location;var currURL=location.pathname;var httpsPath="https://"+reqHttpPath;var signinURL=httpsPath+"/secure/sign_in.jsp?http="+reqHttpPath;var realsigninURL=httpsPath+"/secure/sign_in.jsp?http="+reqHttpPath+"&m=1";var signupURL=httpsPath+"/secure/sign_up.jsp?http="+reqHttpPath;var pixelHrule='<div><img src="'+uiBase+'/navcolor_W.gif" width="100%" height=1></div>';var thickHrule='<img src="'+uiBase+'/thickHrule_W.gif" width=478 height=11><br>';var thinHrule='<img src="'+uiBase+'/thinHrule_W.gif" vspace=8 width=170 height=6><br>';function opt(str){document.write(str);}
function vSpace(howHigh){opt('<div><img src="http://web1.shutterfly.com/img_/misc/sp.gif" width=1 height='+howHigh+' border=0 alt=""></div>');}
function hSpace(howWide){opt('<img src="http://web1.shutterfly.com/img_/misc/sp.gif" width='+howWide+' height=1 border=0 alt=""><br>');}
function write2ColumnDefinition(){opt('<tr><td width=15 height=1 nowrap></td><td width=15 nowrap></td><td width=200 nowrap></td><td width=260 nowrap></td><td width=15 nowrap></td><td width=20 nowrap></td><td width=170 nowrap></td><td width=5 nowrap></td></tr>\n');}
function closeWin(winRef){if(winRef)
if(!winRef.closed)winRef.close();return null;}
function swapImg(imgName,imgSrc){if(typeof document[imgName]!='undefined')document[imgName].src=imgSrc;}
var agt=navigator.userAgent.toLowerCase();is_major=parseInt(navigator.appVersion);is_minor=parseFloat(navigator.appVersion);is_ie=((agt.indexOf("msie")!=-1)&&(agt.lastIndexOf(")")==agt.length-1)||((typeof window.opera!="undefined")&&window.opera));is_ie5=(is_ie&&(is_major==4)&&(agt.indexOf("msie 5.0")!=-1));is_ie5up=(is_ie&&(is_major==4)&&(agt.indexOf("msie 4.0")==-1));is_nav=(navigator.appName.indexOf("Netscape")!=-1);is_win=((agt.indexOf("win")!=-1)||(agt.indexOf("16bit")!=-1));is_mac=(agt.indexOf("mac")!=-1);is_nav4=(is_nav&&is_major==4);is_nav6=(is_nav&&(is_major>4));is_safari=agt.indexOf("safari")!=-1;function handleResize(){document.location.reload(false);}
if(is_nav4&&(is_minor>4.08)){window.captureEvents(Event.RESIZE);window.onResize=handleResize;}
OliveButton.width=OliveButton.height=15;OliveButton.counter=0;OliveButton.im=new Array(16);OliveButton.im[0]=uiBase+"/cross1_B.gif";OliveButton.im[1]=uiBase+"/cross1_R.gif";OliveButton.im[2]=uiBase+"/arrow1_B.gif";OliveButton.im[3]=uiBase+"/arrow1_R.gif";OliveButton.im[4]=uiBase+"/arrow2_B.gif";OliveButton.im[5]=uiBase+"/arrow2_R.gif";OliveButton.im[6]=uiBase+"/arrow3_B.gif";OliveButton.im[7]=uiBase+"/arrow3_R.gif";OliveButton.im[8]=uiBase+"/arrow4_B.gif";OliveButton.im[9]=uiBase+"/arrow4_R.gif";OliveButton.im[10]=uiBase+"/arrow5_B.gif";OliveButton.im[11]=uiBase+"/arrow5_R.gif";OliveButton.im[12]=uiBase+"/arrow6_B.gif";OliveButton.im[13]=uiBase+"/arrow6_R.gif";OliveButton.im[14]=uiBase+"/check6_B.gif";OliveButton.im[15]=uiBase+"/check6_R.gif";OliveButton.noneSelectedMsg="Please make a selection first.";var obWid=false;function OliveButton(btn,label,onclick,mode,vGap){if(!mode)mode="2col";if(!vGap)vGap=9;if(!OliveButton.prototype.over){OliveButton.prototype.over=_OliveButton_over;OliveButton.prototype.out=_OliveButton_out;OliveButton.prototype.click=_OliveButton_click;}
this.btn=btn;this.status=label;this.checked=0;this.preload=new Image(15,15);this.preload.src=OliveButton.im[(2*btn)+1];this.onclick=onclick;if(typeof this.onclick=="string")this.onclick=new Function("state",this.onclick);var imgOliveName=("imgOlive"+OliveButton.counter++);var linkHTML='<a href="#" name="&lid='+label+'" onMouseOver="if (document.'+imgOliveName+') return document.'+imgOliveName+'._ob.over();" onMouseOut="if (document.'+imgOliveName+') return document.'+imgOliveName+'._ob.out();" onClick="return document.'+imgOliveName+'._ob.click();">';var linkImgHTML='<a href="#" class="orgOliveImg" name="&lid='+label+'" onMouseOver="if (document.'+imgOliveName+') return document.'+imgOliveName+'._ob.over();" onMouseOut="if (document.'+imgOliveName+') return document.'+imgOliveName+'._ob.out();" onClick="return document.'+imgOliveName+'._ob.click();">';var imageHTML='<img name="'+imgOliveName+'" src="'+OliveButton.im[(2*btn)]+'" width='+OliveButton.width+' height='+OliveButton.height+' alt="" border=0 align=top>'
var tab1='<tr><td valign=top width=15 nowrap>';var tab2='</td><td'+((obWid)?" width=155 nowrap":"")+'>';var tab3='</td></tr><tr><td colspan=2 height='+vGap+'><spacer type=block width=1 height='+vGap+'></td></tr>';var str="";if(mode.indexOf("2col")==0){if(mode=="2colB")label="<b>"+label+"</b>";str=tab1+linkImgHTML+imageHTML+'</a>'+tab2+linkHTML+label+'</a>'+tab3;}
else if(mode.indexOf("inline")==0){str=linkImgHTML+imageHTML+'</a>'+linkHTML+label+'</a>';if(mode=="inline")str='<span class=sm>'+str+'</span>';}
else if(mode=="currentPic")
str=tab1+imageHTML+tab2+"<span class=label>"+label+"</span>"+tab3;document.writeln(str);this.image=document.images[imgOliveName];this.image._ob=this;}
function _OliveButton_over(){this.image.src=OliveButton.im[(2*this.btn+1)];self.status=this.status;return true;}
function _OliveButton_out(){this.image.src=OliveButton.im[(2*this.btn)];self.status="";return true;}
function _OliveButton_click(){this.checked=!this.checked;this.onclick(this.checked);return false;}
function writeSelectOptions(){opt('<p class=sm>Select: <a href="javascript:selectAll()">all</a> | <a href="javascript:deselectAll()">none</a></p>');}
function sfAlert(msgInfo,msgType){alert(sfMsgFmt(msgInfo,msgType));}
function sfConfirm(msgInfo,msgType){if(!msgType)msgType="con";return confirm(sfMsgFmt(msgInfo,msgType));}
function sfMsgFmt(msgInfo,msgType){if(msgType=="warn")msgType="WARNING!";else if(msgType=="err")msgType="ALERT:";else if(msgType=="con")msgType="CONFIRM:";else msgType="INFO:";var msg="";if(brandDir=="SFLY")msg="Shutterfly ";msg+=msgType+"\n\n"+msgInfo;return msg;}
if(typeof defaultCookieDomain=="undefined"||defaultCookieDomain==null){defaultCookieDomain=".shutterfly.com"}
function Cookie(document,name,hours,path,domain,secure){this.$document=document;this.$name=name;if(hours)
this.$expiration=new Date((new Date()).getTime()+hours*3600000);else this.$expiration=null;if(path)this.$path=path;else this.$path="/";if(domain)this.$domain=domain;else this.$domain=defaultCookieDomain;if(secure)this.$secure=true;else this.$secure=false;}
function _Cookie_store(){var cookieval="";for(var prop in this){if((prop.charAt(0)=='$')||((typeof this[prop])=='function'))continue;if(cookieval!="")cookieval+='&';cookieval+=prop+':'+escape(this[prop]);}
if(cookieval!=""){cookieval="\""+cookieval+"\"";}
var cookie=this.$name+'='+cookieval;if(this.$expiration)cookie+='; expires='+this.$expiration.toGMTString();if(this.$path)cookie+='; path='+this.$path;if(this.$domain)cookie+='; domain='+this.$domain;if(this.$secure)cookie+='; secure';this.$document.cookie=cookie;}
function _Cookie_load(){var allcookies=this.$document.cookie;if(allcookies=="")return false;var start=allcookies.indexOf(this.$name+'=');if(start==-1)return false;start+=this.$name.length+1;var end=allcookies.indexOf(';',start);if(end==-1)end=allcookies.length;var cookieval=allcookies.substring(start,end);if(cookieval.charAt(0)=="\""){if(cookieval.charAt(cookieval.length-1)=="\""){cookieval=cookieval.substring(1,cookieval.length-1);}
else{cookieval=cookieval.substring(1,cookieVal.length);}}
var a=cookieval.split('&');for(var i=0;i<a.length;i++)
a[i]=a[i].split(':');for(var i=0;i<a.length;i++){this[a[i][0]]=unescape(a[i][1])};return true;}
function _Cookie_remove(){var cookie;cookie=this.$name+'=';if(this.$path)cookie+='; path='+this.$path;if(this.$domain)cookie+='; domain='+this.$domain;cookie+='; expires=Fri, 02-Jan-1970 00:00:00 GMT';this.$document.cookie=cookie;}
new Cookie();Cookie.prototype.store=_Cookie_store;Cookie.prototype.load=_Cookie_load;Cookie.prototype.remove=_Cookie_remove;if(typeof userDataCookieName=="undefined"||userDataCookieName==null){userDataCookieName="sflyData2";}
var userData=new Cookie(document,userDataCookieName,8640,"/",defaultCookieDomain);userData.load();var CURprintsize=1;if(userData.pSize)CURprintsize=userData.pSize;function openInMain(url){if(!url)url="/help/index.jsp";if(self.opener){if(self.opener.forwardToUrl){self.opener.forwardToUrl(url);}else{self.opener.location.href=url;}}
self.close();return false;}
var popup=null;function openPopup(url){closeWin(popup);popup=window.open(url,"pop_win","height=400,width=500,location=no,menubars=no,scrollbars=yes,toolbars=no,resizable=yes");}
function openPopupToSize(url,width,height){closeWin(popup);popup=window.open(url,"pop_win","height="+height+",width="+width+",location=no,menubars=no,scrollbars=yes,toolbars=no,resizable=yes");}
function openDemoPopupToSize(url,width,height){closeWin(popup);popup=window.open(url,"pop_win","height="+height+",width="+width+",location=no,menubars=no,scrollbars=no,toolbars=no,resizable=yes");}
function openHelpPopup(url){openPopupToSize(url,790,661);}
function openSlideWin(auto,aid,idx){document.location.href="slideshow.jsp"+((auto)?"?auto=1":"?auto=0")+((aid)?("&aid="+aid):"")+((idx)?("&idx="+idx):"")+"&js="+new Date().getTime();return false;}
function rmBreak(str){var idx=str.indexOf("<br>");return((idx>-1)?(str.substring(0,idx)+" "+str.substring(idx+4)):str);}
function writeNext(nextURL,nextMsg){opt('<table width=170 cellspacing=0 cellpadding=0 border=0>');opt('<tr><td width=95 rowspan=2><br></td>');opt('  <td width=75 align=center><a href="'+nextURL+'" onMouseOver=\'self.status="'+rmBreak(nextMsg)+'"; return true\' onMouseOut="self.status=\'\'; return true"><img src="'+uiBase+'/next_B.gif" width=67 height=26 alt="Next" border=0></a></td></tr>');opt('<tr><td class=blp>'+nextMsg+'</td></tr></table>');}
function writeNextMulti(nextURL,nextMsg,hbxLid){opt('<table width=170 cellspacing=0 cellpadding=0 border=0>');opt('<tr><td width=95 rowspan=2><br></td>');opt('  <td width=75 align=center><a href="'+nextURL+'" onMouseOver=\'self.status="'+rmBreak(nextMsg)+'"; return true\' onMouseOut="self.status=\'\'; return true" name="&lid='+hbxLid+'"><img src="'+uiBase+'/next_B.gif" width=67 height=26 alt="Next" border=0></a></td></tr>');opt('<tr><td class=blp>'+nextMsg+'</td></tr></table>');}
function writeNextPrev(nextURL,nextMsg,prevURL,prevMsg){opt("<table width=170 cellspacing=0 cellpadding=0 border=0>");opt("<tr><td width=75 align=center><a href='"+prevURL+"' onMouseOver=\"self.status='"+rmBreak(prevMsg)+"'; return true\" onMouseOut=\"self.status=''; return true\">");opt("<img src='"+uiBase+"/back_B.gif' width=65 height=26 alt='back' border=0></a></td>");opt("<td width=20 rowspan=2 nowrap><br></td>");opt("<td width=75 align=center><a href='"+nextURL+"' onMouseOver=\"self.status='"+rmBreak(nextMsg)+"'; return true\" onMouseOut=\"self.status=''; return true\">");opt(((nextURL)?"<img src='"+uiBase+"/next_B.gif' width=67 height=26 alt='next' border=0>":"")+"</a></td></tr>");opt("<tr><td height=26 class=blp>"+prevMsg+"</td>");opt("<td class=blp>"+nextMsg+"</td></tr></table>");}
function showKey(evt){var theKey
if(is_nav4){theKey=evt.which;}
else if(is_ie){theKey=window.event.keyCode;keyStroke(theKey);}
return false;}
function nn4KP(){if(is_nav4){document.captureEvents(Event.KEYPRESS);document.onKeyPress=showKey;}}
function hbxStrip(a){a=a.split("|").join("");a=a.split("&").join("");a=a.split("'").join("");a=a.split("#").join("");a=a.split("$").join("");a=a.split("%").join("");a=a.split("^").join("");a=a.split("*").join("");a=a.split(":").join("");a=a.split("!").join("");a=a.split("<").join("");a=a.split(">").join("");a=a.split("~").join("");a=a.split(";").join("");a=a.split(" ").join("+");return a;}
function canJSBookmark(){if(window.external&&(navigator.platform=='Win32'||(window.ScriptEngine&&ScriptEngine().indexOf('InScript')+1))){return true;}else{return false;}}
function optBookmark(img,label){if(canJSBookmark()){opt('<a href="" onclick="bookmark(');opt(')" ');if(window.opera&&window.print){opt('rel="sidebar" ');}
opt('/>');if(typeof label!="undefined"&&label!=null&&(typeof img=="undefined"||img==null)){opt(label);}else if(typeof img!="undefined"&&img!=null){opt('<img src="');opt(img);opt('"/>');}else{opt('Bookmark');}
opt('</a>');}}
function bookmark(url,title){if(typeof url=="undefined"||url==null){url=location.href;}
if(typeof title=="undefined"||title==null){if(document.title){title=document.title;}else{title="";}}
if(window.sidebar&&window.sidebar.addPanel){window.sidebar.addPanel(title,url,"");}else if(window.external&&(navigator.platform=='Win32'||(window.ScriptEngine&&ScriptEngine().indexOf('InScript')+1))){window.external.AddFavorite(url,title);}else if(window.opera&&window.print){return true;}else if(document.layers){}else{}}
var Drag={obj:null,init:function(o,oRoot,minX,maxX,minY,maxY,bSwapHorzRef,bSwapVertRef,fXMapper,fYMapper)
{o.onmousedown=Drag.start;o.hmode=bSwapHorzRef?false:true;o.vmode=bSwapVertRef?false:true;o.root=oRoot&&oRoot!=null?oRoot:o;if(o.hmode&&isNaN(parseInt(o.root.style.left)))o.root.style.left="0px";if(o.vmode&&isNaN(parseInt(o.root.style.top)))o.root.style.top="0px";if(!o.hmode&&isNaN(parseInt(o.root.style.right)))o.root.style.right="0px";if(!o.vmode&&isNaN(parseInt(o.root.style.bottom)))o.root.style.bottom="0px";o.minX=typeof minX!='undefined'?minX:null;o.minY=typeof minY!='undefined'?minY:null;o.maxX=typeof maxX!='undefined'?maxX:null;o.maxY=typeof maxY!='undefined'?maxY:null;o.xMapper=fXMapper?fXMapper:null;o.yMapper=fYMapper?fYMapper:null;o.root.onDragStart=new Function();o.root.onDragEnd=new Function();o.root.onDrag=new Function();},start:function(e)
{var o=Drag.obj=this;e=Drag.fixE(e);var y=parseInt(o.vmode?o.root.style.top:o.root.style.bottom);var x=parseInt(o.hmode?o.root.style.left:o.root.style.right);o.root.onDragStart(x,y);o.lastMouseX=e.clientX;o.lastMouseY=e.clientY;if(o.hmode){if(o.minX!=null)o.minMouseX=e.clientX-x+o.minX;if(o.maxX!=null)o.maxMouseX=o.minMouseX+o.maxX-o.minX;}else{if(o.minX!=null)o.maxMouseX=-o.minX+e.clientX+x;if(o.maxX!=null)o.minMouseX=-o.maxX+e.clientX+x;}
if(o.vmode){if(o.minY!=null)o.minMouseY=e.clientY-y+o.minY;if(o.maxY!=null)o.maxMouseY=o.minMouseY+o.maxY-o.minY;}else{if(o.minY!=null)o.maxMouseY=-o.minY+e.clientY+y;if(o.maxY!=null)o.minMouseY=-o.maxY+e.clientY+y;}
document.onmousemove=Drag.drag;document.onmouseup=Drag.end;return false;},drag:function(e)
{e=Drag.fixE(e);var o=Drag.obj;var ey=e.clientY;var ex=e.clientX;var y=parseInt(o.vmode?o.root.style.top:o.root.style.bottom);var x=parseInt(o.hmode?o.root.style.left:o.root.style.right);var nx,ny;if(o.minX!=null)ex=o.hmode?Math.max(ex,o.minMouseX):Math.min(ex,o.maxMouseX);if(o.maxX!=null)ex=o.hmode?Math.min(ex,o.maxMouseX):Math.max(ex,o.minMouseX);if(o.minY!=null)ey=o.vmode?Math.max(ey,o.minMouseY):Math.min(ey,o.maxMouseY);if(o.maxY!=null)ey=o.vmode?Math.min(ey,o.maxMouseY):Math.max(ey,o.minMouseY);nx=x+((ex-o.lastMouseX)*(o.hmode?1:-1));ny=y+((ey-o.lastMouseY)*(o.vmode?1:-1));if(o.xMapper)nx=o.xMapper(y)
else if(o.yMapper)ny=o.yMapper(x)
Drag.obj.root.style[o.hmode?"left":"right"]=nx+"px";Drag.obj.root.style[o.vmode?"top":"bottom"]=ny+"px";Drag.obj.lastMouseX=ex;Drag.obj.lastMouseY=ey;Drag.obj.root.onDrag(nx,ny);return false;},end:function()
{document.onmousemove=null;document.onmouseup=null;Drag.obj.root.onDragEnd(parseInt(Drag.obj.root.style[Drag.obj.hmode?"left":"right"]),parseInt(Drag.obj.root.style[Drag.obj.vmode?"top":"bottom"]));Drag.obj=null;},fixE:function(e)
{if(typeof e=='undefined')e=window.event;if(typeof e.layerX=='undefined')e.layerX=e.offsetX;if(typeof e.layerY=='undefined')e.layerY=e.offsetY;return e;}};function go(url){document.location.href=url;}
function animateCSS(element,numFrames,timePerFrame,animation,whendone){var frame=0;var time=0;var intervalId=setInterval(displayNextFrame,timePerFrame);function displayNextFrame(){if(frame>=numFrames){clearInterval(intervalId);if(whendone)whendone(element);return;}
for(var cssprop in animation){try{element.style[cssprop]=animation[cssprop](frame,time);}catch(e){}}
frame++;time+=timePerFrame;}}
var popAreaObj;function popShow(){if(document.all)setSelect("hidden");var startY=popHandleObj.lastMouseY;popShadeRtObj.style.visibility=popShadeBtObj.style.visibility="visible";animateCSS(popAreaObj,12,30,{top:function(frame,time){return+startY+(frame*21)-232+"px";},clip:function(frame,time){return"rect("+(220-(frame*(21)))+"px 566px 286px 0)";},visibility:function(){return"visible";}});return false;}
function popHide(){if(document.all)setSelect("visible");var startY=popHandleObj.lastMouseY;animateCSS(popAreaObj,12,30,{top:function(frame,time){return+startY+((11-frame)*21)-232+"px";},clip:function(frame,time){return"rect("+(220-((11-frame)*21))+"px 566px 286px 0)";},visibility:function(){return"visible";}},function(){popAreaObj.style.visibility=popShadeRtObj.style.visibility=popShadeBtObj.style.visibility="hidden";prShow(popAreaObj.getAttribute("prOpener"));});return false;}
function prShow(id){if(id){if(document.getElementById("well"+id).className=="hideWell"){document.getElementById("well"+id).className="well300Block";var wellAbsObj=document.getElementById("wellAbs"+id);wellAbsObj.style.position="absolute";wellAbsObj.style.zIndex="1";wellAbsObj.style.clip="rect(0px 0px 0px 0px)";animateCSS(wellAbsObj,8,30,{clip:function(frame,time){return"rect("+(105-(15*frame))+"px 300px 135px 0px)";},marginTop:function(frame,time){return+((-105)+(15*frame))+"px";}});}}}
var xmlReq;function loadXMLDoc(url){xmlReq=false;if(window.XMLHttpRequest){try{xmlReq=new XMLHttpRequest();}catch(e){xmlReq=false;}}else if(window.ActiveXObject){try{xmlReq=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xmlReq=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){xmlReq=false;}}}
if(xmlReq&&url){xmlReq.onreadystatechange=processReqChange;xmlReq.open("GET",url,true);xmlReq.send("");}
return xmlReq;}
loadXMLDoc();function processReqChange(){if(xmlReq.readyState==4){if(xmlReq.status==200){updateDisplay();}else{alert("There was a problem retrieving the XML data:\n"+xmlReq.statusText);}}}
function updateDisplay(){popContentObj.innerHTML=xmlReq.responseText;popShow();}
function setPromoWindow(url){var myWidth=800,myHeight=600;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;myHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;myHeight=document.documentElement.clientHeight;}
popX=myWidth-566;popY=myHeight-300;try{var tmp=document.createElement('div');tmp.setAttribute('id','popArea');tmp.style.zIndex="100";tmp.style.left=popX+'px';popAreaObj=document.body.appendChild(tmp);tmp=document.createElement('div');tmp.setAttribute('id','popShadeRt');popShadeRtObj=popAreaObj.appendChild(tmp);tmp=document.createElement('div');tmp.setAttribute('id','popShadeBt');popShadeBtObj=popAreaObj.appendChild(tmp);tmp=document.createElement('div');tmp.setAttribute('id','popFrame');popFrameObj=popAreaObj.appendChild(tmp);tmp=document.createElement('div');tmp.setAttribute('id','popHandle');popHandleObj=popFrameObj.appendChild(tmp);tmp=document.createElement('input');tmp.setAttribute('type','image');tmp.setAttribute('src','/img_/misc/popup_close_box.gif');tmp.setAttribute('value','close');popInputBtnObj=popHandleObj.appendChild(tmp);popInputBtnObj.onclick=function(){return popHide()};tmp=document.createElement('div');tmp.setAttribute('id','popContent');popContentObj=popFrameObj.appendChild(tmp);Drag.init(popHandleObj,popAreaObj);popHandleObj.lastMouseY=popY;}
catch(e){popWindowPromo(url)}}
function popPromo(url,well){var well=well||"";if(document.location.href.indexOf("https://")==-1)
if(xmlReq){var xmlURL=url+((url.indexOf("?")==-1)?"?":"&")+"layer=1";if(!popAreaObj)
setPromoWindow(url);loadXMLDoc(xmlURL);popAreaObj.setAttribute("prOpener",well);return false;}
else{popWindowPromo(url);}
return false;}
function popPromoPhotoContest(url,well){var well=well||"";if(document.location.href.indexOf("https://")==-1)
if(xmlReq){var xmlURL=url+((url.indexOf("?")==-1)?"?":"&")+"layer=1";if(!popAreaObj)setPromoWindow(url);if(loadXMLDoc(xmlURL)){popAreaObj.setAttribute("prOpener",well);return false;}
return false;}
popWindowPromo(url);return false;}
function popWindowPromo(url){var xpos=screen.width-570;var ypos=screen.height-320;dotWin=window.open(url,"Offer","height=232,width=507,location=no,menubars=no,scrollbars=no,toolbars=no,resizable=no, screenX="+xpos+",screenY="+ypos+",left="+xpos+",top="+ypos);}
function initPromo(url,well){var page=currURL.substring(currURL.lastIndexOf("/")+1,currURL.lastIndexOf("."));var tmpData=new Cookie(document,"sT","","/");tmpData.load();if(!(tmpData.pop&&(tmpData.pop.indexOf(page)>-1))){tmpData.pop=(tmpData.pop)?(tmpData.pop+page):page;tmpData.store();popPromo(url,well);if(xmlReq)document.getElementById("well"+well).className="hideWell";}
return false;}
function setSelect(hiddenVisible){for(j=0;j<document.forms.length;j++){var theForm=document.forms[j]
for(i=0;i<theForm.elements.length;i++){if(theForm.elements[i].type=="select-one")
theForm.elements[i].style.visibility=hiddenVisible;}}}
var dotWin=null;function pop(url){popPromo(url);}
function hasUnsupportedCharacters(userText,unsupportedCharacters){var unSupportedChar="";var textCharToCompare="";var matched=false;for(var i=0;i<userText.length;i++){textCharToCompare=userText.charCodeAt(i);matched=false;if(textCharToCompare>255){matched=true;break;}else{for(var j=0;j<unsupportedCharacters.length;j++){unSupportedChar=unsupportedCharacters[j];if(textCharToCompare==unSupportedChar){matched=true;break;}}}}
return matched;}
dojo.provide("sfly.component.sflystore.ProductListComponent");dojo.require("sfly.component.PageComponent");dojo.require("dijit.layout.ContentPane");dojo.declare("sfly.component.sflystore.ProductListComponent",[sfly.component.PageComponent,dijit.layout.ContentPane],{_TRIGGERHEIGHT:1500,_TRIGGERPERCENT:.85,_PAGE_DIVIDER_MIN:60,_handler:null,_serviceCall:null,_onmouseouts:{},_onclicks:{},_onhovers:{},_pageWasReset:false,serviceUrl:'',infiniteScroll:false,colsUp:4,seoUrl:'',categoryCode:'',numberOfPages:1,pageNumber:1,filterStr:'',restrictProductSummary:false,isSecure:false,sortType:'',productModel:null,compareModel:null,colorPalette:null,filterColor:'',lowerThumbHeight:0,additionalHeight:0,deductedHeight:0,missingHeight:0,moreSizesLabel:'',selectToCompareLabel:'',pageLabel:'',constructor:function(){this._events={"skuProductChangedAction":"skuProductChangedAction","nextPageActionRequested":"nextPageActionRequested","prevPageActionRequested":"prevPageActionRequested","viewPageActionRequested":"viewPageActionRequested","viewAllActionRequested":"viewAllActionRequested","sortPageActionRequested":"sortPageActionRequested","compareProductRequestedByIndex":"compareProductRequestedByIndex","compareProductDeleteRequested":"compareProductDeleteRequested","compareProductDeletedAction":"compareProductDeletedAction","compareProductAddedAction":"compareProductAddedAction","filtersChangedAction":"filtersChangedAction","productsUpdatedAction":"productsUpdatedAction"};this._subscribeToEvent(new sfly.framework.EventDependency(this._events.skuProductChangedAction,this,"productSkuHasChanged"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.nextPageActionRequested,this,"nextPage"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.prevPageActionRequested,this,"prevPage"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.viewPageActionRequested,this,"viewPage"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.viewAllActionRequested,this,"viewAll"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.sortPageActionRequested,this,"sortPage"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductDeletedAction,this,"_checkComparedThumb"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductAddedAction,this,"updateComparedThumb"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.filtersChangedAction,this,"filterPage"));},postCreate:function(){this._enableOnScroll();var i,checkedMark,node,nodeList=dojo.query(".thumbBlock",this.domNode),num=nodeList?nodeList.length:0;if(this.compareModel){var products=this.compareModel.getProductsToCompare(),total=products?products.length:0;for(i=0;i<total;i++){this.updateComparedThumb(products[i]);}}
for(i=0;i<num;i++){node=nodeList[i];this._setupHover(node);checkedMark=dojo.query(".compareCheckOn",node)[0];if(checkedMark)
this._setupClick(checkedMark);}
this._loadingNode=dojo.byId('productListStatus');return this.inherited(arguments);},_setupHover:function(node){try{if(this._onhovers[node.id]==null)
this._onhovers[node.id]=dojo.connect(node,"onmouseover",this,"hoverOnThumb");}catch(e){console.log(e);}},_setupClick:function(node){if(this._onclicks[node.id]==null)
this._onclicks[node.id]=dojo.connect(node,"onclick",dojo.hitch(this,"toggleCompareCheck"));},_releaseAllHandlers:function(){var h,clicks=this._onclicks,hovers=this._onhovers,mouseouts=this._onmouseouts;for(h in clicks)
dojo.disconnect(clicks[h]);for(h in hovers)
dojo.disconnect(hovers[h]);for(h in mouseouts)
dojo.disconnect(mouseouts[h]);this._onclicks={};this._onhovers={};this._onmouseouts={};},hoverOnThumb:function(e){var hoverNode=e.currentTarget,index,node,nodeList=dojo.query(".overThumb",hoverNode),num=nodeList?nodeList.length:0,thumbImageDiv=dojo.query(".thumbImageDiv",hoverNode)[0],productSummaryName=dojo.query(".productSummaryName",hoverNode)[0];thumbImageDiv.style.zIndex=productSummaryName.style.zIndex=hoverNode.style.zIndex=3;for(var i=0;i<num;i++){node=nodeList[i];if(dojo.hasClass(node,"compareCheck")||dojo.hasClass(node,"compareCheckOn")){index=parseInt(node.id);if(this._onmouseouts[index]==null)
this._onmouseouts[index]=dojo.connect(hoverNode,"onmouseout",this,"clearHover");if(!dojo.hasClass(node,"compareCheckOn")){try{this._setupClick(node);}catch(e){console.log(e);}}}
if(node.style.visibility!="visible")
node.style.visibility="visible";}},clearHover:function(e){var hoverNode=e.currentTarget,node,nodeList=dojo.query(".overThumb",hoverNode),num=nodeList?nodeList.length:0,thumbImageDiv=dojo.query(".thumbImageDiv",hoverNode)[0],productSummaryName=dojo.query(".productSummaryName",hoverNode)[0];thumbImageDiv.style.zIndex=productSummaryName.style.zIndex=hoverNode.style.zIndex="";for(var i=0;i<num;i++){node=nodeList[i];if(!dojo.hasClass(node,"compareCheckOn"))
node.style.visibility="hidden";}},toggleCompareCheck:function(e){if(!this.productModel)
return;var node=e.currentTarget,img=node.firstChild;var index=parseInt(node.id),product=this.productModel.getOrderedProduct(index);if(!dojo.hasClass(node,"compareCheckOn")){dojo.addClass(node,"compareCheckOn");img.src="http://web1.shutterfly.com/img_/sflystore/quickview_check_mark_checked.jpg";var evt=new sfly.framework.Event(this._events.compareProductRequestedByIndex,{index:index,skuCode:product.currentSkuCode});this._dispatchEvent(evt);}else{var evt=new sfly.framework.Event(this._events.compareProductDeleteRequested,{uid:product.uid,skuCode:product.currentSkuCode});this._dispatchEvent(evt);}},getKey:function(uid,skuCode){return uid+"_"+skuCode;},updateComparedThumb:function(comparedProduct){if(!this.productModel)
return;var uid=comparedProduct.uid,skuCode=comparedProduct.currentSkuCode,key=this.getKey(uid,skuCode),product=this.productModel.getProduct(uid);if(product&&product.currentSkuCode==skuCode){var node=dojo.byId(String(uid));if(node){this._updateComparedThumbNode(node.parentNode,true);}}},_checkComparedThumb:function(obj){if(this.compareModel){var uid=String(obj.uid),skuCode=obj.skuCode,node=dojo.byId(uid);if(node){if(this.compareModel.isProductInCompare(uid,skuCode)){this._updateComparedThumbNode(node.parentNode,true);}else{this._updateComparedThumbNode(node.parentNode,false);}}else{}}},_updateComparedThumbNode:function(node,on){if(on){node.firstChild.src="http://web1.shutterfly.com/img_/sflystore/quickview_check_mark_checked.jpg";dojo.addClass(node,"compareCheckOn");node.style.visibility="visible";}else{node.firstChild.src="http://web1.shutterfly.com/img_/sflystore/quickview_check_mark_unchecked.jpg";dojo.removeClass(node,"compareCheckOn");node.style.visibility="hidden";}},_setupComparedThumb:function(span,uid,skuCode){if(this.compareModel&&this.compareModel.isProductInCompare(uid,skuCode)){this._updateComparedThumbNode(span,true);}},productSkuHasChanged:function(eventActionObj){if(!this.productModel)
return;try{var uid=eventActionObj.uid,img=dojo.byId("thumbImage_"+uid);if(img){var skuCode=eventActionObj.skuCode,skuView=this.productModel.getSkuView(uid,skuCode),block=img.parentNode.parentNode.parentNode,newUrl=skuView.seoUrl;img.src=skuView.thumbUrl;dojo.query("a",block).forEach(function(anchor){anchor.href=newUrl});this._checkComparedThumb({uid:uid,skuCode:eventActionObj.skuCode});}}catch(e){console.log(e);}},filterPage:function(obj){this.filterStr=obj.filterStr;this._updatePage();},sortPage:function(obj){this.sortType=obj.sortType;this._updatePage();},prevPage:function(){if(this.pageNumber>1){this.viewPage({pageNum:this.pageNumber-1});}},nextPage:function(){if(this.pageNumber<this.numberOfPages){this.viewPage({pageNum:this.pageNumber+1});}},viewAll:function(){this.viewPage({pageNum:0});},viewPage:function(obj){this.pageNumber=obj.pageNum;this._reloadPage();},_resetPage:function(){this.pageNumber=0;this._pageWasReset=true;this._releaseAllHandlers();this.colorPalette.removeAllColors();if(this.productModel)
this.productModel.removeAllProducts();},_reloadPage:function(){var queryOptions={};queryOptions.pageNumber=this.pageNumber;if(this.sortType)
queryOptions.sortType=this.sortType;queryOptions.filterOptions=this.filterStr?this.filterStr:"";document.location.href=this.seoUrl+"?"+dojo.objectToQuery(queryOptions);},_updatePage:function(){if(!this.infiniteScroll){this._reloadPage();}else{this._resetPage();this._fetch();}},_hitThreshold:function(relative){var w=dojo.window.getBox();if(relative){var p=dojo.position(dojo.byId("rightContent")),extraH=p.h-w.h-250;if(extraH==0)
extraH=1;var percent=(0-p.y)/extraH;return(percent>=this._TRIGGERPERCENT);}else{return(dojo.marginBox(this.domNode.parentNode).h-w.t<this._TRIGGERHEIGHT);}},_onScroll:function(e){if(this._hitThreshold())
this._fetch();},_getNumOfPhotos:function(minPhotos,maxPhotos){var str;if(minPhotos==0&&maxPhotos==0)
str="Text only";else if(minPhotos==1&&minPhotos==maxPhotos)
str="For 1 photo";else if(minPhotos==maxPhotos)
str="For "+minPhotos+" photos";else
str="For "+minPhotos+" to "+maxPhotos+" photos";return str;},_getPrice:function(pricingSummary){var str;if(pricingSummary){var onSale=false;str=pricingSummary.priceRange?"From ":"";if((pricingSummary.bestAmountSaleType>0)&&(pricingSummary.saleType.saleTypeId!=2)&&(pricingSummary.origPrice!=pricingSummary.unitPrice)){onSale=true;str+='<span class="strikethru">';}
str+="$"+pricingSummary.origPrice.toFixed(2);if(onSale){str+='</span>'+'<span class="cat_pricing_highlight">&nbsp;$'+pricingSummary.unitPrice.toFixed(2)+'</span>';}}else{str='<span class="cat_pricing_highlight">&nbsp;</span>';}
return str;},_openQuickView:function(index,e){if(this.productModel)
this.productModel.showProduct(index);dojo.stopEvent(e);},_makeOverlay:function(thumbDiv){var thumbShadow=document.createElement("div");thumbShadow.className="overThumb thumbShadow";var thumbOverlay=document.createElement("div");thumbOverlay.className="thumbBlockOverlay";thumbShadow.appendChild(thumbOverlay);thumbDiv.appendChild(thumbShadow);},_makeCompareCheck:function(thumbImageDiv,productView,index){var span2=document.createElement("span");span2.className="overThumb compareCheck";span2.id=index;span2.innerHTML='<img class="compareCheckMark" id="'+productView.uid+'" src="http://web1.shutterfly.com/img_/sflystore/quickview_check_mark_unchecked.jpg" />&nbsp;'+this.selectToCompareLabel;this._setupClick(span2);this._setupComparedThumb(span2,productView.uid,productView.skuView.skuCode);thumbImageDiv.appendChild(span2);},_makeThumbImage:function(thumbImageDiv,productView){var anchor=document.createElement("a");anchor.id="thumbNameLink";anchor.className="ahover";anchor.href=productView.skuView.seoUrl;anchor.innerHTML='<img id="thumbImage_'+productView.uid+'" class="thumbImage" src="'+productView.skuView.thumbUrl+'" >';thumbImageDiv.appendChild(anchor);return anchor;},_makeMoreSizes:function(thumbImageDiv){var span=document.createElement("span");span.className="overThumb moreSizes";var p=document.createElement("p");p.innerHTML=this.moreSizesLabel;span.appendChild(p);thumbImageDiv.appendChild(span);},_makeThumbName:function(summaryDiv,productView){var thumbNameDiv=document.createElement("div");thumbNameDiv.className="thumbName";var anchor=document.createElement("a");anchor.className="ahover";anchor.href=productView.skuView.seoUrl;anchor.innerHTML=productView.shortName;thumbNameDiv.appendChild(anchor);summaryDiv.appendChild(thumbNameDiv);return anchor;},_makeQuickViewDecal:function(summaryDiv){var span=document.createElement("span");span.className="overThumb qvHover";summaryDiv.appendChild(span);return span;},_makeThumbnail:function(productView,index,height,lowerNetHeight,showProdTypeName,showNumOfPhotos){var uid=productView.uid,thumbBlock=document.createElement("div");if(dojo.isIE)
height+=15;height+=lowerNetHeight+this.additionalHeight;thumbBlock.className="thumbBlock";thumbBlock.style.height=height+"px";thumbBlock.id="thumbBlock_"+uid;if(index%this.colsUp==3)
thumbBlock.style.clear="right";var thumbDiv=document.createElement("div");thumbDiv.className="thumbDiv";this._makeOverlay(thumbDiv);var span=document.createElement("span");span.className="thumbSpan";thumbDiv.appendChild(span);var thumbImageDiv=document.createElement("div");thumbImageDiv.className="thumbImageDiv";this._makeCompareCheck(thumbImageDiv,productView,index);var thumbImage=this._makeThumbImage(thumbImageDiv,productView);if(this._onclicks["thumbImage_"+uid]==null)
this._onclicks["thumbImage_"+uid]=dojo.connect(thumbImage,"onclick",dojo.hitch(this,"_openQuickView",index));if(productView.productGroupId&&this.moreSizesLabel!='')
this._makeMoreSizes(thumbImageDiv);thumbDiv.appendChild(thumbImageDiv);var summaryDiv=document.createElement("div");summaryDiv.style.height=lowerNetHeight+"px";summaryDiv.className="productSummaryName";var decal=this._makeQuickViewDecal(summaryDiv);if(this._onclicks["thumbDecal_"+uid]==null)
this._onclicks["thumbDecal_"+uid]=dojo.connect(decal,"onclick",dojo.hitch(this,"_openQuickView",index));var thumbName=this._makeThumbName(summaryDiv,productView);if(this._onclicks["thumbName_"+uid]==null)
this._onclicks["thumbName_"+uid]=dojo.connect(thumbName,"onclick",dojo.hitch(this,"_openQuickView",index));if(productView.logicalProdType){var div=document.createElement("div");div.innerHTML=productView.logicalProdType;summaryDiv.appendChild(div);}
if(showProdTypeName){var div=document.createElement("div");div.innerHTML=productView.formFactor;summaryDiv.appendChild(div);}
if(showNumOfPhotos){var div=document.createElement("div");div.innerHTML=this._getNumOfPhotos(productView.minPhotos,productView.maxPhotos);summaryDiv.appendChild(div);}
var div=document.createElement("div");div.style.clear="both";summaryDiv.appendChild(div);var span5=document.createElement("span");span5.className="cat_item_price";span5.innerHTML=this._getPrice(productView.pricingSummary);summaryDiv.appendChild(span5);thumbDiv.appendChild(summaryDiv);thumbBlock.appendChild(thumbDiv);if(this.colorPalette)
this._makeCBM(summaryDiv,productView);this._setupHover(thumbBlock);return thumbBlock;},_makeCBM:function(div,productView){var num=productView.productSkuList.length;if(num>1){var cbmDiv=document.createElement("div"),uid=productView.uid,skuCode=null,lowerColor,i,altColorView;cbmDiv.className="thumbColorSwatches";cbmDiv.id="ColorSwatches_"+uid;div.appendChild(cbmDiv);for(i=0;i<num;i++){altColorView=productView.productSkuList[i];lowerColor=altColorView.color.toLowerCase();if(this.filterColor==lowerColor){skuCode=altColorView.skuCode;}
this.colorPalette.addColor(uid,altColorView.styleId,altColorView.skuCode,lowerColor,altColorView.hexColor);}
if(skuCode==null){skuCode=productView.skuView.skuCode;}
this.colorPalette.setCurrentSkuCode(uid,skuCode);this.colorPalette.drawSwatches(cbmDiv,true,uid);}},_broadcast:function(total){var evt=new sfly.framework.Event(this._events.productsUpdatedAction,{total:total});this._dispatchEvent(evt);},_errorCallback:function(e){console.log("ProductListComponent: "+e);this._serviceCall=null;},_makePageDivider:function(){var textDiv=document.createElement("div");textDiv.className="productListDividerLabel";textDiv.appendChild(document.createTextNode(this.pageLabel+" "+this.pageNumber));var hrDiv=document.createElement("div");hrDiv.className="productListDividerLine";hrDiv.appendChild(document.createElement("hr"));var div=document.createElement("div");div.className="productListDivider";div.appendChild(textDiv);div.appendChild(hrDiv);this.domNode.appendChild(div);},_drawProducts:function(productListView){var productView,products=productListView.products,total=productListView.totalProductsCount,showProdTypeName=productListView.showProdTypeName,showNumOfPhotos=productListView.showNumOfPhotos,numProducts=products?products.length:0,rowHeights=productListView.rowHeights,rowHeight,colsUp=this.colsUp,index=productListView.startIndex-1,numRendered=0,str='',thumb,div,skuViewList,numSkuViews,skuView,domNode=this.domNode,lowerNetHeight=this.lowerThumbHeight;if(!showProdTypeName)
lowerNetHeight-=this.deductedHeight;if(!showNumOfPhotos)
lowerNetHeight-=this.deductedHeight;if(this._pageWasReset){if(domNode!=null){while(domNode.hasChildNodes()){domNode.removeChild(domNode.firstChild);}}}
if(this.pageNumber>1&&total>this._PAGE_DIVIDER_MIN){this._makePageDivider();}
this.numberOfPages=productListView.numberOfPages;for(var i=0;i<numProducts;i++){productView=products[i];if(numRendered%colsUp==0)
rowHeight=rowHeights[Math.floor(i/colsUp)];if(rowHeight==0||rowHeight==undefined)
rowHeight=this.missingHeight;try{thumb=this._makeThumbnail(productView,index,rowHeight,lowerNetHeight,showProdTypeName,showNumOfPhotos);if(i==0)
thumb.style.clear="left";domNode.appendChild(thumb);if(this.productModel){skuViewList=productView.productSkuList;numSkuViews=skuViewList.length;if(numSkuViews>0){skuProducts={};for(var j=0;j<numSkuViews;j++){skuView=skuViewList[j];skuProducts[skuView.skuCode]={styleId:skuView.styleId,color:skuView.color,hex:skuView.hexColor,seoUrl:skuView.seoUrl,thumbUrl:skuView.thumbUrl,merchSmallUrl:skuView.merchSmallUrl};}}else{skuProducts=null;}
this.productModel.addProduct(index,productView.uid,productView.displayName,productView.sizeId,productView.itemId,productView.skuView.skuCode,skuProducts);}
index++;numRendered++;}catch(e){console.log("ProductListComponent: Error on product #: "+index);}}
this._standby(false);if(this._pageWasReset){if(!dojo.isIE)
dojo.fadeIn({node:this.domNode,duration:100}).play();this._enableOnScroll();this._pageWasReset=false;}
this._serviceCall=null;this._broadcast(total);},_fetchCallback:function(productListView){if(this._pageWasReset&&!dojo.isIE){var _this_=this,fx=dojo.fadeOut({node:this.domNode,duration:100});dojo.connect(fx,"onEnd",function(){_this_._drawProducts(productListView);});fx.play();}else{this._drawProducts(productListView);}},_standby:function(on){if(on){if(dojo.isIE)
dojo.style(this._loadingNode,"display","block");else
dojo.fadeIn({node:this._loadingNode,duration:300}).play();}else{if(dojo.isIE)
dojo.style(this._loadingNode,"display","none");else
dojo.fadeOut({node:this._loadingNode,duration:300}).play();}},_fetch:function(){if(this._serviceCall){return;}
var pageNum=++this.pageNumber;if(pageNum<=this.numberOfPages){var requestParams={"categoryCode":this.categoryCode,"filters":this.filterStr,"pageNum":pageNum,"sortType":this.sortType,"sortOrder":'',"colsUp":this.colsUp,"restrictProductSummary":this.restrictProductSummary,"isSecure":this.isSecure};this._standby(true);this._serviceCall=new sfly.framework.ServiceCall(this,"_fetchCallback","_errorCallback","getProductList",requestParams,this.serviceUrl,"ProductListComponent:productListService");this._requestServiceCall(this._serviceCall);if(s&&scw&&!this._pageWasReset){var saveCustomPageName=scw.customPageName;scw.customPageName=scw.customPageName+" | "+pageNum;translateScwBase();s.t();scw.customPageName=saveCustomPageName;translateScwBase();}}else{}
if(pageNum>=this.numberOfPages){this._disableOnScroll();}},_enableOnScroll:function(){if(this.infiniteScroll&&(this._handler==null)&&(this.pageNumber!=0)&&(this.pageNumber<this.numberOfPages)){this._handler=dojo.connect(window,"onscroll",this,"_onScroll");}},_disableOnScroll:function(){if(this._handler){dojo.disconnect(this._handler);this._handler=null;}}});dojo.provide("sfly.component.sflystore.CompareProductsComponent");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.CompareProductsComponent",sfly.component.PageComponent,{serviceUrl:'',constructor:function(serviceUrl){this.serviceUrl=serviceUrl;this._events={"compareProductAddedAction":"compareProductAddedAction","compareProductDeletedAction":"compareProductDeletedAction","compareProductDeleteRequested":"compareProductDeleteRequested","compareProductAddRequested":"compareProductAddRequested"};this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductAddRequested,this,"addToCompareAndSession"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductDeleteRequested,this,"removeFromCompare"));this._productsToCompare=[];this._productsToCompareByKey={};},getKey:function(uid,skuCode){return uid+"_"+skuCode;},isProductInCompare:function(uid,skuCode){var key=this.getKey(uid,skuCode),product=this._productsToCompareByKey[key];if(product!=undefined&&product!=null){return true;}else{return false;}},getProductsToCompare:function(){return this._productsToCompare;},getProduct:function(uid,skuCode){try{return this._productsToCompareByKey[this.getKey(uid,skuCode)];}catch(e){return null;}},removeFromCompare:function(obj){var uid=obj.uid,skuCode=obj.skuCode;if(uid!=null&&this.isProductInCompare(uid,skuCode)){if(this.serviceUrl!=null&&this.serviceUrl!=''){var requestParams={"uid":uid,"skuCode":skuCode};this._serviceCall=new sfly.framework.ServiceCall(this,"_removeFromCompareComplete","_removeFromCompareFailed","removeFromCompare",requestParams,this.serviceUrl,"CompareProductsComponent:compareProductsService");this._requestServiceCall(this._serviceCall);}
delete this._productsToCompareByKey[this.getKey(uid,skuCode)];for(var i=0;i<this._productsToCompare.length;i++){var product=this._productsToCompare[i];if(product.uid==uid){this._productsToCompare.splice(i,1);break;}}
var evt=new sfly.framework.Event(this._events.compareProductDeletedAction,requestParams);this._dispatchEvent(evt);}else{}},addToCompareAndSession:function(product_json){var product=dojo.fromJson(product_json);if(product!=null){if(this.serviceUrl!=null&&this.serviceUrl!=''){var requestParams={"uid":product.uid,"skuCode":product.currentSkuCode};this._serviceCall=new sfly.framework.ServiceCall(this,"_addToCompareComplete","_addToCompareFailed","addToCompare",requestParams,this.serviceUrl,"CompareProductsComponent:compareProductsService");this._requestServiceCall(this._serviceCall);}
this.addToCompare(product);}},addToCompare:function(product){if(product&&!this.isProductInCompare(product.uid,product.currentSkuCode)){this._productsToCompare.push(product);this._productsToCompareByKey[this.getKey(product.uid,product.currentSkuCode)]=product;var evt=new sfly.framework.Event(this._events.compareProductAddedAction,product);this._dispatchEvent(evt);}},_addToCompareComplete:function(response){},_addToCompareFailed:function(response){},_removeFromCompareComplete:function(reponse){},_removeFromCompareFailed:function(response){}});dojo.provide("sfly.component.sflystore.CompareProductsDrawer");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.CompareProductsDrawer",[sfly.component.PageComponent,dijit._Widget],{_closed:false,total:0,model:null,openedIcon:"",closedIcon:"",_cookie:null,cookieName:"",cookieKey:"",cookiePath:"",cookieDomain:"",cookieHours:0,_handler:null,_initialDrawerTop:0,_drawer:null,constructor:function(options){this._events={"compareProductAddedAction":"compareProductAddedAction","compareProductDeletedAction":"compareProductDeletedAction","compareProductDeleteRequested":"compareProductDeleteRequested"};this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductAddedAction,this,"compareProductWasAdded"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductDeletedAction,this,"compareProductWasDeleted"));},postCreate:function(){if(this.model){var products=this.model.getProductsToCompare();this.total=products?products.length:0;for(var i=0;i<this.total;i++){this.addComparedProduct(products[i]);}}
if(this.total>0){this._fillDrawer();}
if(!this._hasDrawerClosedCookie()){this.openDrawer(true);this._closed=false;}else{this._closed=true;}
this._drawer=dojo.byId("compareProductsDrawerContainer");dojo.connect(window,"onscroll",this,"_onScroll");dojo.connect(dojo.byId("compareProductEmpty"),"onclick",this,"closeDrawer");this._updateDisplay();return this.inherited(arguments);},_onScroll:function(e){var drawer_top=dojo.position(this._drawer).y,boundary=0;if(drawer_top<=boundary&&this._drawer.className==""){if(this._initialDrawerTop==0)
this._initialDrawerTop=dojo.position(this._drawer,true).y;this._drawer.className="fixedDrawer";}else{if(this._drawer.className=="fixedDrawer"){var t=dojo.window.getBox().t;if(this._initialDrawerTop==0)
this._initialDrawerTop=153;if(t<=this._initialDrawerTop){this._drawer.className="";}}}},_getCookie:function(){if(this._cookie==null)
this._cookie=new Cookie(window.document,this.cookieName,this.cookieHours,this.cookiePath,this.cookieDomain);return this._cookie;},_hasDrawerClosedCookie:function(){if(this.cookieKey==null)
return false;var cookie=this._getCookie();cookie.load();return(cookie[this.cookieKey]==1);},_setDrawerClosedCookie:function(closed){if(this.cookieKey!=null){var cookie=this._getCookie();cookie[this.cookieKey]=(closed?1:0);cookie.store();}},compareProductWasAdded:function(product){this.total++;this.addComparedProduct(product);if(this.total==1){this._fillDrawer();}
this._updateDisplay();},compareProductWasDeleted:function(obj){this.removeComparedProduct(obj.uid,obj.skuCode);},requestToDelete:function(uid,skuCode){var evt=new sfly.framework.Event(this._events.compareProductDeleteRequested,{uid:uid,skuCode:skuCode});this._dispatchEvent(evt);this.removeComparedProduct(uid,skuCode);},removeComparedProduct:function(uid,skuCode){var key=this.getKey(uid,skuCode),el=dojo.byId("compareProduct_"+key);if(el){el.parentNode.removeChild(el);this.total--;if(this.total==1){this._fillDrawer();}
this._updateDisplay();}},getKey:function(uid,skuCode){return uid+"_"+skuCode;},addComparedProduct:function(product){var div=document.createElement("div"),skuCode=product.currentSkuCode,key=this.getKey(product.uid,skuCode);div.className="compareDrawerProduct";div.id="compareProduct_"+key;dojo.connect(div,"onmouseover",dojo.hitch(this,"mouseOverProduct",key));dojo.connect(div,"onmouseout",dojo.hitch(this,"mouseOutProduct",key));var span=document.createElement("span");span.id="compareDelete_"+key;span.style.display="none";span.className="compareDrawerDelete";dojo.connect(span,"onclick",dojo.hitch(this,"requestToDelete",product.uid,skuCode));div.appendChild(span);var img=document.createElement("img");img.className="compareDrawerImage";img.src=product.skuProducts[skuCode].merchSmallUrl;div.appendChild(img);var parentNode=dojo.byId('compareProductFilled');parentNode.insertBefore(div,parentNode.firstChild);},mouseOverProduct:function(key){dojo.byId('compareDelete_'+key).style.display='';},mouseOutProduct:function(key){dojo.byId('compareDelete_'+key).style.display='none';},_emptyDrawer:function(){dojo.byId('compareDrawer').className='compareDrawerEmpty';dojo.byId('compareProductFilled').style.display='none';dojo.byId('compareProductEmpty').style.display='';},_fillDrawer:function(){dojo.byId('compareDrawer').className='compareDrawer';dojo.byId('compareProductFilled').style.display='';dojo.byId('compareProductEmpty').style.display='none';},_updateDisplay:function(){dojo.byId("compareDrawerTotal").innerHTML=this.total;if(this.total==0){this._emptyDrawer();}
if(dojo.isIE){var w=32+104*this.total;if(w>760)
w=760;if(w<344)
w=344;this.domNode.style.width=w;}},closeDrawer:function(){var _this_=this,fx=dojo.fx.wipeOut({node:"compareDrawer",duration:400});dojo.connect(fx,"onEnd",function(){_this_._closed=true;});dojo.byId("compareDrawerIndicator").src=this.closedIcon;fx.play();this._setDrawerClosedCookie(true);},_trackDrawerOpen:function(){if(s!=null&&scw!=null){var linkname="Compare cards",pageName=scw.pageName,both=pageName+' | '+linkname;s.linkTrackVars='prop12,prop13,prop14,prop26,eVar39,eVar40,eVar41';s.prop12=pageName;s.prop13=linkname;s.prop14=both;s.prop26='Compare Card';s.eVar39=pageName;s.evar40=linkname;s.eVar41=both;s.tl(null,'o','cc_moduleexpand');}},openDrawer:function(onInit){var drawer=dojo.byId('compareDrawer');if(this.total>0){drawer.className='compareDrawer';}else{drawer.className='compareDrawerEmpty';}
if(!onInit){this._trackDrawerOpen();this._setDrawerClosedCookie(false);}
var _this_=this,fx=dojo.fx.wipeIn({node:"compareDrawer",duration:400});dojo.connect(fx,"onEnd",function(){_this_._closed=false;});dojo.byId("compareDrawerIndicator").src=this.openedIcon;fx.play();},toggleDrawer:function(){if(this._closed)
this.openDrawer(false);else
this.closeDrawer();}});dojo.provide("sfly.component.sflystore.CompareProductsQuickView");dojo.require("sfly.component.sflystore.StationeryDialog");dojo.declare("sfly.component.sflystore.CompareProductsQuickView",sfly.component.sflystore.StationeryDialog,{_visibleContainerWidth:954,_elementSize:106,_distanceToPan:212,_compareModel:null,_currentKey:null,constructor:function(options,compareModel,elementContainerNode,leftNode,rightNode){this._events={"compareProductAddedAction":"compareProductAddedAction","compareProductDeletedAction":"compareProductDeletedAction","quickViewClosedAction":"quickViewClosedAction"};this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductAddedAction,this,"productAdded"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductDeletedAction,this,"removeFromCompare"));this._compareModel=compareModel;this._elementContainerNode=elementContainerNode;this._elementContainerWidth=0;this._elementContainerCurrentLeft=0;if(leftNode!=null&&rightNode!=null){dojo.connect(leftNode,"onclick",this,"_scrollRight");dojo.connect(rightNode,"onclick",this,"_scrollLeft");}
this._leftArrow=leftNode;this._rightArrow=rightNode;if(dojo.isIE){if(dojo.isIE<7){this._elementSize=this._elementSize+1;this._distanceToPan=this._elementSize*2;}}
this.postCreate();},postCreate:function(){if(this._compareModel){var products=this._compareModel.getProductsToCompare(),num=products.length;for(var i=0;i<num;i++){this.addComparedProduct(products[i]);}
this._updateArrows();}},_closeStationeryWindow:function(){if(this.zoomWinHandle!=null){this.zoomWinHandle.hide();}
var evt=new sfly.framework.Event(this._events.quickViewClosedAction,{});this._dispatchEvent(evt);},_animateScroll:function(newLeft){dojo.animateProperty({node:this._elementContainerNode,onEnd:dojo.hitch(this,'_updateArrows'),properties:{left:newLeft}}).play();},_scrollLeft:function(){var left=dojo.style(this._elementContainerNode,'left');if(this._elementContainerWidth>this._visibleContainerWidth&&(Math.abs(left))<this._elementContainerWidth-this._visibleContainerWidth){var newLeft=left-this._distanceToPan;if(Math.abs(newLeft)>this._elementContainerWidth-this._visibleContainerWidth){newLeft=-1*(this._elementContainerWidth-this._visibleContainerWidth);}
this._animateScroll(newLeft);}},_scrollRight:function(){var left=dojo.style(this._elementContainerNode,'left');if(this._elementContainerWidth>this._visibleContainerWidth&&left<0){var newLeft=left+this._distanceToPan;if(newLeft>0){newLeft=0;}
this._animateScroll(newLeft);}},productAdded:function(product){this.addComparedProduct(product);},_updateArrows:function(){var needArrows=this._elementContainerWidth>this._visibleContainerWidth,currentLeft=dojo.style(this._elementContainerNode,'left'),showRight=(Math.abs(currentLeft)+this._visibleContainerWidth)<this._elementContainerWidth;this._leftArrow.style.visibility=(needArrows&&currentLeft<0)?"visible":"hidden";this._rightArrow.style.visibility=(needArrows&&showRight)?"visible":"hidden";},removeFromCompare:function(obj){var uid=obj.uid,skuCode=obj.skuCode,key=this._compareModel.getKey(uid,skuCode),element=dojo.byId(key+"_compareProductsElement");if(element){element.parentNode.removeChild(element);this._elementContainerWidth-=this._elementSize;dojo.style(this._elementContainerNode,'width',this._elementContainerWidth);if(this._elementContainerWidth<=this._visibleContainerWidth){dojo.style(this._elementContainerNode,'left',0);}else{var currentLeft=dojo.style(this._elementContainerNode,'left');if(Math.abs(currentLeft)+this._visibleContainerWidth>this._elementContainerWidth){var delta=this._elementContainerWidth-this._visibleContainerWidth
dojo.style(this._elementContainerNode,'left',-1*delta);}}}
var currentKey=this._currentKey;if(currentKey!=null&&currentKey==key){this._currentKey=null;dojo.style(this._elementContainerNode,'left',0);}
this._updateArrows();},addComparedProduct:function(product){this._elementContainerWidth=this._compareModel.getProductsToCompare().length*(this._elementSize);if(dojo.isIE){if(dojo.isIE<7){this._elementContainerWidth+=1;}}
dojo.style(this._elementContainerNode,'width',this._elementContainerWidth);var skuCode=product.currentSkuCode,uid=product.uid,key=this._compareModel.getKey(uid,skuCode);var div=document.createElement("div");div.className="compareProductsElement";div.id=key+"_compareProductsElement";var img=document.createElement("img");img.className="compareProductsQuickViewThumb";img.src=product.skuProducts[skuCode].merchSmallUrl;div.appendChild(img);dojo.connect(img,"onclick",dojo.hitch(this,"showComparedProduct",uid,skuCode));var parentNode=dojo.byId('compareProductsElements');parentNode.appendChild(div);this._updateArrows();},showComparedProduct:function(uid,skuCode){var key=this._compareModel.getKey(uid,skuCode);if(this._currentKey!=key){if(this._currentKey!=null)
this._unselectProduct(this._currentKey);this._currentKey=key;this._selectProduct(key);this._updateUI(uid,skuCode);}},showProduct:function(){if(this.zoomWinHandle==null){this.zoomWinHandle=sflyWindowMgr.createWindow(this._winOptions);}
var product=this._compareModel._productsToCompare[0];this.showComparedProduct(product.uid,product.currentSkuCode);this.zoomWinHandle.show();this.sizeWorkarounds();var tabNode=dojo.byId(this._winOptions.id+"_compareProductsGreenTab");if(tabNode==null){tabNode=document.createElement("div");tabNode.id=this._winOptions.id+"_compareProductsGreenTab";tabNode.appendChild(this.zoomWinHandle.titleNode);tabNode.appendChild(this.zoomWinHandle.closeButtonNode);this.zoomWinHandle.titleBar.appendChild(tabNode);dojo.style(tabNode,{float:"right",width:181,height:25,backgroundImage:dojo.style(this.zoomWinHandle.titleBar,"backgroundImage")});}},_updateUI:function(uid,skuCode){var product=this.getProduct(uid,skuCode);if(product){this._updateContent(product);}},_getContentUrl:function(product){return product.skuProducts[product.currentSkuCode].seoUrl+"&quickView=true&compareProducts=true";},_selectProduct:function(key){var elementNode=dojo.byId(key+"_compareProductsElement"),imageNode=elementNode.children[0];dojo.removeClass(imageNode,'compareProductsQuickViewThumb');dojo.addClass(imageNode,'compareProductsQuickViewThumbSelected');},_unselectProduct:function(key){var elementNode=dojo.byId(key+"_compareProductsElement"),imageNode=elementNode.children[0];dojo.removeClass(imageNode,'compareProductsQuickViewThumbSelected');dojo.addClass(imageNode,'compareProductsQuickViewThumb');},getProduct:function(uid,skuCode){if(uid!=null&&skuCode!=null)
return this._compareModel.getProduct(uid,skuCode);else
return this._compareModel._productsToCompare[0];}});dojo.provide("sfly.component.sflystore.ProductComponent");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.ProductComponent",sfly.component.PageComponent,{constructor:function(options){var dependency=new sfly.framework.EventDependency("skuProductChangedAction",this,"productSkuHasChanged");this._subscribeToEvent(dependency);if(options.styleId&&options.skuCode)
this._updateBtn(options.styleId,options.skuCode);},productSkuHasChanged:function(eventActionObj){this._updateBtn(eventActionObj.styleId,eventActionObj.skuCode);},_updateBtn:function(styleId,skuCode){dojo.query("a.primary").forEach(function(node){node.href=node.href.replace(/styleId=\d+/,"styleId="+styleId);node.href=node.href.replace(/skuCode=\d+/,"skuCode="+skuCode);});}});dojo.provide("sfly.component.sflystore.FilterCategoryListComponent");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.FilterCategoryListComponent",[sfly.component.PageComponent,dijit._Widget],{openIcon:'',closeIcon:'',emptyIcon:'',checkedIcon:'',filterStr:'',useAjax:false,serviceUrl:'',categoryCode:'',_filterOptions:[],constructor:function(options){this._events={"filtersChangedAction":"filtersChangedAction","filterValueChangedAction":"filterValueChangedAction"};this._subscribeToEvent(new sfly.framework.EventDependency(this._events.filterValueChangedAction,this,"filterChanged"));},startup:function(){var hash=document.location.hash;if(hash)
this.filterStr=hash.replace("#abn_","");dojo.connect(dojo.global,"onbeforeunload",dojo.hitch(this,'rememberFilters'));if(this.filterStr!='')
this._filterOptions=this.filterStr.split("|");this.inherited(arguments);if(hash)
this._updateFilters();},rememberFilters:function(){var filterStr=this._getFilterString();if(filterStr!=""){try{if(typeof history.replaceState=='function'){var loc=document.location,query=dojo.queryToObject(loc.search.substring(1));query['filterOptions']=filterStr;delete query['clearFilterOption'];query['selectFilterOption']=this._filterOptions[this._filterOptions.length-1];var url=loc.protocol+"//"+loc.host+loc.pathname+"?"+dojo.objectToQuery(query);history.replaceState({},null,url);}else{document.location="#"+"abn_"+filterStr;}}catch(e){}}},filterChanged:function(obj){this.toggleFilterInList(obj.id);var widget=dijit.byId(obj.id);if(s&&scw&&widget){var pageName=scw.pageName,linkName=widget.trackingString;s.linkTrackVars='prop13,prop14,prop23,eVar39,eVar40,eVar41';s.prop13=linkName;s.prop14=pageName+' |'+linkName;s.prop23=linkName;s.eVar39=pageName;s.evar40=linkName;s.eVar41=pageName+' |'+linkName;s.tl(null,'o',linkName);}
this._broadcast(obj.id,obj.selected);},resetFilters:function(){var i,widget,filters=this._filterOptions,num=filters.length;for(i=0;i<num;i++){widget=dijit.byId(filters[i]);if(widget){widget.toggleFilter(false);}}
this._filterOptions=[];this._broadcast();},toggleFilterInList:function(id){var i,filters=this._filterOptions,num=filters.length;for(i=0;i<num;i++){if(filters[i]==id){filters.splice(i,1);return false;}}
filters.push(id);return true;},urlEncodeIfNecessary:function(s){var regex=/[\\\"<>\.;]/;var hasBadChars=regex.exec(s)!=null;return hasBadChars&&typeof encodeURIComponent!=UNDEF?encodeURIComponent(s):s;},_updateFilters:function(){var i,filterId,widget,filters=this._filterOptions,num=filters.length;for(i=0;i<num;i++){filterId=this.urlEncodeIfNecessary(filters[i]);widget=dijit.byId(filterId);if(widget){widget.toggleFilter(true);}else{filterId=null;}}
if(num==1&&filterId)
this._broadcast(filterId,true);else if(num>1)
this._broadcast();},_getFilterString:function(){var i,filterStr="",filters=this._filterOptions,num=filters.length;for(i=0;i<num;i++){filterStr+="|"+filters[i];}
return filterStr.substring(1);},_broadcast:function(id,selected){var filterStr=this._getFilterString(),selectFilterOption="",clearFilterOption="";if(!this.useAjax){var form=document.filterForm;form.filterOptions.value=filterStr;form.submit();}else{if(id){if(selected)
selectFilterOption=id;else
clearFilterOption=id;}
var evt=new sfly.framework.Event(this._events.filtersChangedAction,{filterStr:filterStr});this._dispatchEvent(evt);var params={categoryCode:this.categoryCode,filterOptions:filterStr,selectFilterOption:selectFilterOption,clearFilterOption:clearFilterOption};this._serviceCall=new sfly.framework.ServiceCall(this,"_fetchCallback","_errorCallback","getFacetCounts",params,this.serviceUrl,"FilterCategoryListComponent:filterCategoryListService");this._requestServiceCall(this._serviceCall);}},_fetchCallback:function(obj){var i,j,numOptions,widget,options,filterList=obj.filterCategoryList,numFilters=filterList?filterList.length:0;for(i=0;i<numFilters;i++){optionList=filterList[i].filterOptionList;numOptions=optionList?optionList.length:0;for(j=0;j<numOptions;j++){options=optionList[j];try{dijit.byId(options.id).updateFilter(options);}catch(e){}}}},_errorCallback:function(e){console.log("FilterCategoryListComponent error: "+dojo.toJson(e));},toggleFilterGroup:function(filterType,elm){var div=document.getElementById("block_"+filterType);if(div.style.display==""){div.style.display="none";elm.src=this.openIcon;}else{div.style.display="";elm.src=this.closeIcon;}}});dojo.provide("sfly.component.sflystore.AbnFilter");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.AbnFilter",[sfly.component.PageComponent,dijit._Widget],{id:'',trackingString:'',facetSelected:false,facetDisabled:false,count:0,clickNode:null,_events:{},constructor:function(options){this._events={"filterValueChangedAction":"filterValueChangedAction"};},updateFilter:function(filterOption){this.count=filterOption.count;this.facetDisabled=(filterOption.count==0);this.facetSelected=filterOption.selected;},filterOptionChanged:function(){if(!this.facetSelected&&this.count==0)
return;this.toggleFilter(!this.facetSelected);var evt=new sfly.framework.Event(this._events.filterValueChangedAction,{id:this.id,selected:this.facetSelected});this._dispatchEvent(evt);}});dojo.provide("sfly.component.sflystore.AbnColorFilter");dojo.require("sfly.component.sflystore.AbnFilter");dojo.declare("sfly.component.sflystore.AbnColorFilter",sfly.component.sflystore.AbnFilter,{anchorNode:null,constructor:function(options){this._events={"filterValueChangedAction":"filterValueChangedAction"};},updateFilter:function(filterOption){this.inherited(arguments);if(this.anchorNode){this.anchorNode.alt=this.anchorNode.title=filterOption.displayName+" ("+this.count+")";if(this.facetDisabled){this.anchorNode.className="FilterDisabled";this.anchorNode.removeAttribute("href");}else{if(this.facetSelected)
this.anchorNode.className="FilterSelected";else
this.anchorNode.className="";this.anchorNode.href="javascript:dijit.byId('"+this.id+"').filterOptionChanged();";}}},startup:function(){this.anchorNode=dojo.byId("filter_"+this.id);return this.inherited(arguments);},toggleFilter:function(facetSelected){if(this.anchorNode){this.facetSelected=facetSelected;if(facetSelected)
this.anchorNode.className="FilterSelected";else
this.anchorNode.className="";}}});dojo.provide("sfly.component.sflystore.AbnIconFilter");dojo.require("sfly.component.sflystore.AbnFilter");dojo.declare("sfly.component.sflystore.AbnIconFilter",sfly.component.sflystore.AbnFilter,{urlPrefix:'',imgNode:null,_connect:null,anchorNode:null,startup:function(){this.imgNode=dojo.byId("img_"+this.id);this.anchorNode=dojo.byId("filter_"+this.id);return this.inherited(arguments);},updateFilter:function(filterOption){this.inherited(arguments);if(this.imgNode&&this.anchorNode){this.imgNode.alt=this.imgNode.title="("+this.count+")";if(this.facetDisabled){dojo.addClass(this.domNode,"abnItemDisabled");this.imgNode.src=this.urlPrefix+"_disabled.jpg";this.anchorNode.removeAttribute("href");}else{dojo.removeClass(this.domNode,"abnItemDisabled");if(this.facetSelected)
this.imgNode.src=this.urlPrefix+"_on.jpg";else
this.imgNode.src=this.urlPrefix+"_off.jpg";this.anchorNode.href="javascript:dijit.byId('"+this.id+"').filterOptionChanged();";}}},toggleFilter:function(facetSelected){if(this.imgNode){this.facetSelected=facetSelected;if(facetSelected)
this.imgNode.src=this.urlPrefix+"_on.jpg";else
this.imgNode.src=this.urlPrefix+"_off.jpg";}}});dojo.provide("sfly.component.sflystore.AbnTextFilter");dojo.require("sfly.component.sflystore.AbnFilter");dojo.declare("sfly.component.sflystore.AbnTextFilter",sfly.component.sflystore.AbnFilter,{checkedIcon:'',emptyIcon:'',disabledIcon:'',imgNode:null,_connect:null,startup:function(){this.imgNode=dojo.byId("img_"+this.id);this.countNode=dojo.query(".filterItemCount",this.domNode)[0];this.labelNode=dojo.query(".filterItemLabel,.filterItemLabelOff",this.domNode)[0];return this.inherited(arguments);},updateFilter:function(filterOption){this.inherited(arguments);if(this.countNode){this.countNode.innerHTML="("+this.count+")";}
if(this.labelNode&&this.imgNode){if(this.facetDisabled){this.labelNode.className="FilterItemLabelOff";this.imgNode.className="filterImg";this.imgNode.src=this.disabledIcon;if(this._connect!=null){dojo.disconnect(this._connect);this._connect=null;this.imgNode.onclick="";}}else{this.labelNode.className="FilterItemLabel";this.imgNode.className="filterImgHand";if(this.facetSelected)
this.imgNode.src=this.checkedIcon;else
this.imgNode.src=this.emptyIcon;if(this._connect!=null)
this._connect=dojo.connect(this.imgNode,"onclick",this,"filterOptionChanged");}}},toggleFilter:function(facetSelected){if(this.imgNode){this.facetSelected=facetSelected;if(facetSelected)
this.imgNode.src=this.checkedIcon;else if(this.facetDisabled)
this.imgNode.src=this.disabledIcon;else
this.imgNode.src=this.emptyIcon;}}});dojo.provide("sfly.component.sflystore.StationeryDialog");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.StationeryDialog",sfly.component.PageComponent,{constructor:function(options){this._winOptions={id:"quickViewWindow",title:" ",width:1012,height:600,iframe:true,src:"",content:dojo.byId("quickViewContent"),closeCallback:dojo.hitch(this,"_closeStationeryWindow")};for(var opt in options){if(this._winOptions[opt]!=null){this._winOptions[opt]=options[opt];}}
this.zoomWinHandle=null;},sizeWorkarounds:function(){var b=dojo.body(),dialog=this.zoomWinHandle,node=dialog.domNode,viewport=dojo.window.getBox(),p=dialog._relativePosition,bb=p?null:dojo._getBorderBox(node),l=Math.floor(viewport.l+(p?p.x:(viewport.w-bb.w)/2)),t=Math.floor(viewport.t+(p?p.y:(viewport.h-bb.h)/2));if(t<0)
t=0;if(l<0)
l=0;dojo.style(node,{left:l+"px",top:t+"px"});if(!dojo.hasClass(b,"dojoMove"))
dojo.addClass(b,"dojoMove");dojo.style(dialog.containerNode,{width:"auto",height:"auto",overflow:"visible"});dialog.layout();},_updateContent:function(product){var contentUrl=this._getContentUrl(product);if(this._winOptions.iframe){var frame=document.getElementById(this._winOptions.id+"-iFrame");var frameDoc=frame.contentDocument||frame.contentWindow;if(frameDoc){if(frameDoc.document){frameDoc=frameDoc.document;}
if(frameDoc.body){frameDoc.body.innerHTML="";}}
this.zoomWinHandle.setUrl(contentUrl);}else{var targetNode=dojo.byId(this._winOptions.id+"-productContent");targetNode.innerHTML="&nbsp;";var xhrArgs={url:contentUrl,handleAs:"text",load:dojo.hitch(this,"_contentLoaded"),error:function(error){targetNode.innerHTML="An unexpected error occurred: "+error;}}
var deferred=dojo.xhrGet(xhrArgs);}},_contentLoaded:function(data){var targetNode=dojo.byId(this._winOptions.id+"-productContent");targetNode.innerHTML=data;dojo.style(this.zoomWinHandle.containerNode,{width:"auto",height:"auto",overflow:"visible"});this.zoomWinHandle.layout();},_closeStationeryWindow:function(){if(this.zoomWinHandle!=null){this.zoomWinHandle.hide();}},forwardToUrl:function(url){location.href=url;}});dojo.provide("sfly.component.sflystore.QuickView");dojo.require("sfly.component.sflystore.StationeryDialog");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.QuickView",sfly.component.sflystore.StationeryDialog,{constructor:function(options){this._events={"skuProductChangedAction":"skuProductChangedAction","compareProductAddRequested":"compareProductAddRequested","compareProductRequestedByIndex":"compareProductRequestedByIndex","compareProductDeleteRequested":"compareProductDeleteRequested","quickViewClosedAction":"quickViewClosedAction"};this._subscribeToEvent(new sfly.framework.EventDependency(this._events.skuProductChangedAction,this,"productSkuHasChanged"));this._subscribeToEvent(new sfly.framework.EventDependency(this._events.compareProductRequestedByIndex,this,"requestForCompareByIndex"));this.numOfProducts=0;this._currentProducts={};this._orderedProducts=[];this._currentIndex=-1;},_closeStationeryWindow:function(){if(this.zoomWinHandle!=null){this.zoomWinHandle.hide();}
var evt=new sfly.framework.Event(this._events.quickViewClosedAction,{});this._dispatchEvent(evt);},requestForCompareByIndex:function(obj){var product=this.getOrderedProduct(obj.index);this.requestForCompare(product);},requestForCompare:function(product){if(product){var evt=new sfly.framework.Event(this._events.compareProductAddRequested,dojo.toJson(product));this._dispatchEvent(evt);}},requestForRemoveCompare:function(uid,skuCode){var evt=new sfly.framework.Event(this._events.compareProductDeleteRequested,{uid:uid,skuCode:skuCode});this._dispatchEvent(evt);},showProduct:function(index){if(this.zoomWinHandle==null){this.zoomWinHandle=sflyWindowMgr.createWindow(this._winOptions);this._attachEvents();}
this._currentIndex=index;this._updateUI();this.zoomWinHandle.show();this.sizeWorkarounds();},getKey:function(uid,skuCode){return uid;},getProduct:function(uid){try{if(uid==null||uid=="PIP")
uid=this._orderedProducts[this._currentIndex];return this._currentProducts[uid];}catch(e){console.error(e);return null;}},getSkuView:function(uid,skuCode){try{return this._currentProducts[uid].skuProducts[skuCode];}catch(e){return null;}},getOrderedProduct:function(index){var uid=this._orderedProducts[index];return this._currentProducts[uid];},addProduct:function(index,uid,name,sizeId,itemId,skuCode,skuProducts){this.numOfProducts++;var product={uid:uid,name:name,sizeId:sizeId,itemId:itemId,currentSkuCode:skuCode,skuProducts:skuProducts};this._currentProducts[uid]=product;this._orderedProducts[index]=uid;},removeAllProducts:function(){this.numOfProducts=0;this._currentProducts={};this._orderedProducts=[];this._currentIndex=-1;},productSkuHasChanged:function(eventActionObj){var product=this.getProduct(eventActionObj.uid);if(product){product.currentSkuCode=eventActionObj.skuCode;}},_updateUI:function(){var product=this.getProduct();if(product){this._updateContent(product);}},_getContentUrl:function(product){return product.skuProducts[product.currentSkuCode].seoUrl+"&quickView=true";},_attachEvents:function(){var prevImg=dojo.byId("zoom_prevImg");var prevLink=dojo.byId("zoom_prevLink");dojo.connect(prevImg,"onclick",this,"_getPreviousProduct");dojo.connect(prevLink,"onclick",this,"_getPreviousProduct");var nextImg=dojo.byId("zoom_nextImg");var nextLink=dojo.byId("zoom_nextLink");dojo.connect(nextImg,"onclick",this,"_getNextProduct");dojo.connect(nextLink,"onclick",this,"_getNextProduct");},_getPreviousProduct:function(){if(this._currentIndex>0)
this._currentIndex--;else
this._currentIndex=this.numOfProducts-1;this._updateUI();},_getNextProduct:function(){if(this._currentIndex<(this.numOfProducts-1))
this._currentIndex++;else
this._currentIndex=0;this._updateUI();}});dojo.provide("sfly.component.sflystore.ColorPalette");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.ColorPalette",sfly.component.PageComponent,{constructor:function(options){this._events={"skuProductChangedAction":"skuProductChangedAction"};this._multiColorUrl=options.multi;this._filterColor=options.filterColor;this._moreLabel=options.moreLabel;this.MAX_THUMB_COLORS=4;this.MAX_PIP_COLORS=20;this._containers={};this._skuToStyleId={};this._onclicks={};},setCurrentSkuCode:function(uid,skuCode){this._containers[uid].currentSkuCode=skuCode;},getCurrentSkuCode:function(uid){return this._containers[uid].currentSkuCode;},setCurrentIndex:function(uid,index){this._containers[uid].currentIndex=index;},getCurrentIndex:function(uid){return this._containers[uid].currentIndex;},_newContainer:function(){return{skus:[],currentSkuCode:0,currentIndex:0};},addColor:function(uid,styleId,skuCode,color,hexColor){if(!this._containers[uid]){this._containers[uid]=this._newContainer();}
if(hexColor.charAt(0)=='m')
hexColor=null;var index=this._containers[uid].skus.push({"skuCode":skuCode,"color":color,"hexColor":hexColor});this._skuToStyleId[skuCode]=styleId;if(this._filterColor&&this._filterColor==color)
this.setCurrentIndex(uid,index-1);return index-1;},removeAllColors:function(){this._containers={};this._skuToStyleId={};var h,clicks=this._onclicks;for(h in clicks)
dojo.disconnect(clicks[h]);this._onclicks={};},onClickColor:function(event){var div=event.currentTarget,colorItemDiv=div.parentNode,uid=div.uid,skuCode=div.skuCode;var oldSel=dojo.byId("swatch_"+uid+"_"+this.getCurrentSkuCode(uid));if(oldSel&&oldSel.parentNode)
oldSel.parentNode.className="ColorItem";colorItemDiv.className="ColorItemSelected";this.setCurrentSkuCode(uid,skuCode);var evt=new sfly.framework.Event(this._events.skuProductChangedAction,{uid:uid,styleId:this._skuToStyleId[skuCode],skuCode:skuCode});this._dispatchEvent(evt);},drawPalette:function(showAsThumb,uid){var swatches=dojo.byId("ColorSwatches_"+uid);if(swatches){this.drawSwatches(swatches,showAsThumb,uid);}},drawSwatches:function(swatches,showAsThumb,uid){var swatchSize=showAsThumb?"Thumb":"PIP",div,colorItemDiv,oneSkuProduct,skuCode,skuProducts=this._containers[uid].skus,numSkus=skuProducts.length,numColors=Math.min(numSkus,showAsThumb?this.MAX_THUMB_COLORS:this.MAX_PIP_COLORS),endIndex=numSkus-1,width=0,currentIndex=showAsThumb?this.getCurrentIndex(uid):0;for(var count=0,i=currentIndex;i<=endIndex&&count<numColors;count++,i++){oneSkuProduct=skuProducts[i];skuCode=oneSkuProduct.skuCode;colorItemDiv=document.createElement('div');colorItemDiv.className=(skuCode==this.getCurrentSkuCode(uid))?"colorItemSelected":"colorItem";div=document.createElement('div');div.uid=uid;div.skuCode=skuCode;div.id="swatch_"+uid+"_"+skuCode;div.className="colorSwatch"+swatchSize;if(oneSkuProduct.hexColor){div.style.backgroundColor=oneSkuProduct.hexColor;}else{div.style.backgroundImage="url("+this._multiColorUrl+")";}
if(this._onclicks[skuCode]==null)
this._onclicks[skuCode]=dojo.connect(div,"onclick",this,"onClickColor");colorItemDiv.appendChild(div);swatches.appendChild(colorItemDiv);if((count<endIndex)&&(i==endIndex)&&(currentIndex!=0)){i=-1;}
width+=27;}
if(showAsThumb){if(numSkus>numColors){var more=document.createElement("div");more.className="colorPaletteMoreColors";more.innerHTML=this._moreLabel;swatches.appendChild(more);width+=38;}
swatches.style.width=width;}else{this.setPaletteDisplay(true);}},setPaletteDisplay:function(showPalette){var paletteContainer=dojo.byId("colorPaletteContainer");if(paletteContainer)
paletteContainer.style.display=showPalette?"":"none";}});dojo.provide("sfly.component.sflystore.SubNav");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.SubNav",sfly.component.PageComponent,{constructor:function(){var z=document.getElementById("categoryItemLink_1");var csNav=document.getElementById("csMenuContainer");if(z&&csNav){var csOClassName=(z.className?z.className:"");z.onmouseover=function(){csNav.style.display="block";z.className+=" active";}
z.onmouseout=function(){csNav.style.display="none";z.className=csOClassName;}}
var a=document.getElementById("saleNavigation");var b=document.getElementById("saleContainer");if(a&&b){a.onmouseover=function(){b.style.display="block";a.style.borderTop="1px solid #ccccae";a.style.borderLeft="1px solid #ccccae";a.style.borderRight="1px solid #ccccae";}
a.onmouseout=function(){b.style.display="none";a.style.borderTop="1px solid #fff";a.style.borderLeft="1px solid #fff";a.style.borderRight="1px solid #fff";}}}});dojo.provide("sfly.component.sflystore.ProductListNavBar");dojo.require("sfly.component.PageComponent");dojo.declare("sfly.component.sflystore.ProductListNavBar",sfly.component.PageComponent,{constructor:function(options){this._events={"nextPageAction":"nextPageActionRequested","prevPageAction":"prevPageActionRequested","viewPageAction":"viewPageActionRequested","viewAllAction":"viewAllActionRequested","sortPageActionRequested":"sortPageActionRequested","productsUpdatedAction":"productsUpdatedAction"};this._tracking=options.tracking;this._subscribeToEvent(new sfly.framework.EventDependency(this._events.productsUpdatedAction,this,"_productsUpdated"));},_productsUpdated:function(obj){var total=obj.total;dojo.query(".showItems").forEach(function(node){node.innerHTML="Showing: "+total+((total>1)?" items":" item");});},nextPage:function(){this._dispatchEvent(new sfly.framework.Event(this._events.nextPageAction,{}));},prevPage:function(){this._dispatchEvent(new sfly.framework.Event(this._events.prevPageAction,{}));},viewPage:function(pageNum){this._dispatchEvent(new sfly.framework.Event(this._events.viewPageAction,{"pageNum":parseInt(pageNum)}));},viewAll:function(){this._dispatchEvent(new sfly.framework.Event(this._events.viewAllAction,{}));},sortPage:function(sortType,oldSortType){this._dispatchEvent(new sfly.framework.Event(this._events.sortPageActionRequested,{"sortType":sortType}));dojo.query("."+sortType+"_selected").forEach(function(node){dojo.style(node,"display","");});dojo.query("."+oldSortType+"_selected").forEach(function(node){dojo.style(node,"display","none");});if(s&&scw){var pageName=scw.pageName,linkName=this._tracking[sortType];s.linkTrackVars='prop13,prop14,eVar39,eVar40,eVar41';s.prop13=linkName;s.prop14=pageName+' |'+linkName;s.eVar39=pageName;s.evar40=linkName;s.eVar41=pageName+' |'+linkName;s.tl(null,'o',linkName);}}});dojo.provide("sfly.component.sflystore.RecentProductsComponent");dojo.require("sfly.component.PageComponent");dojo.require("dijit.layout.ContentPane");dojo.declare("sfly.component.sflystore.RecentProductsComponent",[sfly.component.PageComponent,dijit.layout.ContentPane],{_serviceCall:null,serviceUrl:'',uid:0,numOfViews:0,MAX:5,_containerNode:null,constructor:function(){this._events={"quickViewClosedAction":"quickViewClosedAction"};this._subscribeToEvent(new sfly.framework.EventDependency(this._events.quickViewClosedAction,this,"_requestToUpdate"));},postCreate:function(){this._containerNode=dojo.byId("recentlyViewedContainer");this._updateVisibility();},_clearRecentProducts:function(){if(this._containerNode!=null){while(this._containerNode.hasChildNodes()){this._containerNode.removeChild(this._containerNode.firstChild);}}
this.numOfViews=0;},_updateVisibility:function(){dojo.style(this.domNode,"opacity",this.numOfViews>0?"1":"0");},_makeThumbnail:function(productView){var thumbBlock=document.createElement("div");thumbBlock.className="thumbBlock";var thumbImageDiv=document.createElement("div");thumbImageDiv.className="thumbImageDiv";var thumbImage=this._makeThumbImage(thumbImageDiv,productView);if(thumbImage)
thumbImageDiv.appendChild(thumbImage);var summaryDiv=document.createElement("div");summaryDiv.className="productSummaryName";this._makeThumbName(summaryDiv,productView);if(productView.logicalProdType){var div=document.createElement("div");div.innerHTML=productView.logicalProdType;summaryDiv.appendChild(div);}else if(productView.formFactor){var div=document.createElement("div");div.innerHTML=productView.formFactor;summaryDiv.appendChild(div);}
thumbBlock.appendChild(thumbImageDiv);thumbBlock.appendChild(summaryDiv);return thumbBlock;},_makeThumbImage:function(thumbImageDiv,productView){var anchor=null;if(productView.skuView&&productView.skuView.seoUrl&&productView.imageUrl){anchor=document.createElement("a");anchor.id="thumbNameLink";anchor.className="ahover";anchor.href=productView.skuView.seoUrl;anchor.innerHTML='<img id="thumbImage_'+productView.uid+'" class="thumbImage" src="'+productView.imageUrl+'" >';thumbImageDiv.appendChild(anchor);}
return anchor;},_makeThumbName:function(summaryDiv,productView){var thumbNameDiv=document.createElement("div");thumbNameDiv.className="thumbName";var anchor=document.createElement("a");anchor.className="ahover";anchor.href=productView.skuView.seoUrl;anchor.innerHTML=productView.shortName;thumbNameDiv.appendChild(anchor);summaryDiv.appendChild(thumbNameDiv);return anchor;},_errorCallback:function(e){console.log("RecentProductsComponent: error "+e);this._serviceCall=null;},_fetchCallback:function(recentProductsView){var i,div,container=dojo.byId("recentlyViewedContainer"),products=recentProductsView.products,numProducts=products?products.length:0;this._clearRecentProducts();if(this._containerNode!=null){for(i=0;i<numProducts;i++){this._containerNode.appendChild(this._makeThumbnail(products[i]));div=document.createElement("div");div.style.clear="both";this._containerNode.appendChild(div);}}
this.numOfViews=numProducts;this._updateVisibility();dojo.fadeIn({node:"recentlyViewedContainer",duration:500}).play();this._serviceCall=null;},_requestToUpdate:function(){if(this._serviceCall)
return;var _this_=this,requestParams={},fx=dojo.fadeOut({node:"recentlyViewedContainer",duration:500});dojo.connect(fx,"onEnd",function(){_this_._serviceCall=new sfly.framework.ServiceCall(_this_,"_fetchCallback","_errorCallback","getRecentProducts",requestParams,_this_.serviceUrl,"RecentProductsComponent:recentProductsService");_this_._requestServiceCall(_this_._serviceCall);});fx.play();}});
