var ChatConsole={Tabs:new Object(),SelectedTabID:"",SelectedTab:function(){return ChatConsole.Tabs[ChatConsole.SelectedTabID];
},TabControllerName:"ChatConsole",FinishedInitializing:false,SendMessage:function(){},LogToDebug:function(){},LogToDebugHTML:function(){}};
ChatConsole.Tabs.Contains=Object.Contains;
var BaseTab=Class.create({TryCatchWrappable:true,ID:"",Name:"",Image:"",InnerObject:null,CanRemove:true,_elTab:null,_elTabContent:null,_ControllerObject:null,_TabsContainer:null,_ContentContainer:null,_RemovingTab:false,CreateTimeChatSession:null,CreateTimePageInstance:null,LastSelectedTime:null,initialize:function(F,D,B,C,H,A,I,E,G){this.ID=F;
this.Name=D;
this.Image=B;
this.InnerObject=H;
this.CreateTimeChatSession=new Date();
this.CreateTimePageInstance=new Date();
this.LastSelectedTime=new Date();
this._ControllerObject=A;
this._TabsContainer=I;
this._ContentContainer=E;
if(typeof G=="undefined"){this.CanRemove=true;
}else{this.CanRemove=G;
}if(!C){C=this._CreateEmptyContent();
}this._elTab=this._CreateTabElement();
this._elTabContent=C;
this._elTab.observe("click",this.SelectTab.bind(this));
A.Tabs[F]=this;
TabsHandler.InsertTab(this);
},_CreateTabElement:function(){var A=new Element("span",{"class":"Tab"});
A.TabObject=this;
A.insert(new Element("span",{"class":"TabLeft"}));
A.insert(new Element("span",{"class":"TabMid"}));
A.insert(new Element("span",{"class":"TabRight"}));
if(this.Image!=null){A.insert(new Element("img",{"class":"TabIcon",src:"/images/tabs/"+this.Image}));
}A.insert(new Element("span",{"class":"TabName"}).update(this.Name.escapeHTML()));
if(this.CanRemove){var B=new Element("span",{"class":"TabCloseButton"});
B.update("&nbsp;");
B.observe("click",this.RemoveTab.bind(this));
A.insert(B);
}return A;
},SelectTab:function(B){var A=false;
if(this._ControllerObject.SelectedTabID!=this.ID){A=true;
if(typeof this._elTabContent.onBeforeSelect!="undefined"){this._elTabContent.onBeforeSelect();
}if(typeof (ChatConsole)!="undefined"&&ChatConsole.FinishedInitializing==true){this.NotifyServerOfTabSelect();
}}TabsHandler.SelectTab(this);
this.LastSelectedTime=new Date();
if(A){if(typeof this._elTabContent.onAfterSelect!="undefined"){this._elTabContent.onAfterSelect();
}}},RemoveTab:function(B){try{if(!B){var B=window.event;
}B.cancelBubble=true;
if(B.stopPropagation){B.stopPropagation();
}}catch(A){}if(!this.CanRemove){return false;
}if(this._RemovingTab==true){return false;
}this._RemovingTab=true;
if(typeof this._elTabContent.onRemove!="undefined"){var C=this._elTabContent.onRemove();
if(C==false){this._RemovingTab=false;
return false;
}}if(typeof (ChatConsole)!="undefined"&&ChatConsole.FinishedInitializing==true){this.NotifyServerOfTabClose();
}TabsHandler.RemoveTab(this);
},NotifyServerOfTabClose:function(){var B=false;
if(this.InnerObject==null){B=true;
}else{if(!(this.InnerObject instanceof Conversation)){B=true;
}}if(B==false){return false;
}var A=new ClientStateCloseTabMessage();
A.PrepareForSending(this.ID);
var C=function(E,D){};
ChatConsole.SendMessage(A,C);
},NotifyServerOfTabSelect:function(){var A=new ClientStateSelectTabMessage();
A.PrepareForSending(this._ControllerObject.TabControllerName,this.ID);
var B=function(D,C){};
ChatConsole.SendMessage(A,B);
},ReplaceContent:function(A){var B=!$(this._elTabContent).visible();
this._ContentContainer.removeChild(this._elTabContent);
this._elTabContent=A;
this._ContentContainer.appendChild(this._elTabContent);
if(B){this._elTabContent.hide();
}},SetName:function(A){this.Name=A;
this._elTab.down(".TabName").update(this.Name.escapeHTML());
TabsHandler.TabNameChanged(this);
},_CreateEmptyContent:function(){return new Element("div",{});
},SetContentInnerHTML:function(B){var A=this._CreateEmptyContent();
A.update(B);
this.ReplaceContent(A);
}});
var ChatTab=Class.create(BaseTab,{initialize:function($super,B,A,D,C,E,F){$super(B,A.truncate(14,"..."),D,C,E,ChatConsole,$("IMTabs"),$("IMTabsContentContainer"),F);
},SelectTab:function($super,A){$super(A);
},RemoveTab:function($super,A){$super(A);
}});
var MainContentTab=Class.create(BaseTab,{initialize:function($super,B,A,D,C,E,F){var G=A;
if(typeof (LoggedUserID)!="undefined"){G=G.truncate(20,"...");
}$super(B,G,D,C,E,MainContentHandler,$("MainContentTabs"),$("MainContentTabsContentContainer"),F);
},SelectTab:function($super,A){$super(A);
},RemoveTab:function($super,A){$super(A);
},CreateWaitingTabContent:function(){var A=new Element("div",{style:"padding: 20px; "});
A.appendChild(CreateAJAXIndicator());
return A;
}});
var TabsHandler={TryCatchWrappable:true,_InitCalled:false,_KTabSeparationX:-10,Init:function(){if(TabsHandler._InitCalled){return true;
}TabsHandler._InitCalled=true;
var E;
var A=$$(".TabsScrollingContainer");
var C;
var B,D;
for(C=0;
C<A.length;
C++){E=A[C];
B=new Element("div",{"class":"ScrollingArrowsContainer"});
D=new Element("span",{"class":"ArrowLeft"}).observe("click",TabsHandler._ScrollLeft);
D.elContainer=E.down(".TabsContainer");
B.insert(D);
D=new Element("span",{"class":"ArrowRight"}).observe("click",TabsHandler._ScrollRight);
D.elContainer=E.down(".TabsContainer");
B.insert(D);
B.hide();
E.insert(B);
E.ArrowsContainer=B;
}},OnWindowResize:function(){$$(".TabsScrollingContainer").each(function(B){try{var C=B.down(".TabsContainer").firstChild.TabObject._ControllerObject.SelectedTab();
TabsHandler._ScrollTabIntoView(C);
}catch(A){}});
},InsertTab:function(A){A._TabsContainer.insert(A._elTab);
TabsHandler._UpdateContainerWidth(A._TabsContainer);
TabsHandler._ApplyZIndexesAndClasses(A._TabsContainer,A._ControllerObject);
A._ContentContainer.insert(A._elTabContent);
A._elTabContent.hide();
},SelectTab:function(A){A._TabsContainer.childElements().invoke("removeClassName","selected");
A._TabsContainer.childElements().invoke("removeClassName","FirstTabselected");
A._ContentContainer.childElements().invoke("hide");
A._elTab.addClassName("selected");
A._elTabContent.show();
if(A._elTab.hasClassName("FirstTab")){A._elTab.addClassName("FirstTabselected");
}A._ControllerObject.SelectedTabID=A.ID;
TabsHandler._UpdateContainerWidth(A._TabsContainer);
TabsHandler._ApplyZIndexesAndClasses(A._TabsContainer,A._ControllerObject);
TabsHandler._ScrollTabIntoView(A);
},RemoveTab:function(B){var C=B._elTab.previousSiblings();
var A=null;
if(C.length>0){var A=C[0].TabObject;
}B._elTab.remove();
B._elTabContent.remove();
delete B._ControllerObject.Tabs[B.ID];
TabsHandler._UpdateContainerWidth(B._TabsContainer);
if(B._ControllerObject.SelectedTabID==B.ID){if(A!=null){A.SelectTab();
}}TabsHandler._ApplyZIndexesAndClasses(B._TabsContainer,B._ControllerObject);
TabsHandler._EnforceScrollingRules(B._TabsContainer);
},TabNameChanged:function(A){TabsHandler._UpdateContainerWidth(A._TabsContainer);
TabsHandler._ApplyZIndexesAndClasses(A._TabsContainer,A._ControllerObject);
},_UpdateContainerWidth:function(D){var C=D.childElements();
var A;
var B=0;
D.style.width="9999px";
for(A=0;
A<C.length;
A++){B+=C[A].getWidth()+TabsHandler._KTabSeparationX;
}B-=TabsHandler._KTabSeparationX;
if(C[0].TabObject.ID==C[0].TabObject._ControllerObject.SelectedTabID){B+=10;
}if(B<150){B=150;
}D.style.width=B+"px";
TabsHandler._CalculateScrollingArrows(D);
},_ApplyZIndexesAndClasses:function(E,D){var C;
var A=E.childElements();
var B;
var F=90;
for(C=0;
C<A.length;
C++){B=A[C];
B.style.zIndex=F;
F-=1;
if(D.SelectedTabID==B.TabObject.ID){B.style.zIndex=95;
}}if(Prototype.Browser.IE){if(B!=null){window.setTimeout(function(){B.toggleClassName("TabRefresherClass");
},10);
}}A[0].addClassName("FirstTab");
},_CalculateScrollingArrows:function(E){var C=E.up(".TabsScrollingContainer");
var B=E.getWidth();
var G=E.positionedOffset().left;
if(!C.ArrowsContainer){TabsHandler.Init();
}if(B>C.getWidth()){C.ArrowsContainer.show();
}else{C.ArrowsContainer.hide();
E.style.left="0";
}var F=C.ArrowsContainer.down(".ArrowLeft");
if(G<0){F.removeClassName("ArrowLeftDisabled");
}else{F.addClassName("ArrowLeftDisabled");
}var A=C.getWidth()-C.ArrowsContainer.getWidth();
var D=C.ArrowsContainer.down(".ArrowRight");
if(G+E.getWidth()>A){D.removeClassName("ArrowRightDisabled");
}else{D.addClassName("ArrowRightDisabled");
}},_FindFirstVisibleTab:function(B){var C=B.positionedOffset().left;
var A=B.childElements();
for(i=0;
i<A.length;
i++){if(A[i].positionedOffset().left+C>=0){return A[i];
}}return null;
},_EnforceScrollingRules:function(C){var B=C.up(".TabsScrollingContainer");
var D;
var A=B.getWidth()-B.ArrowsContainer.getWidth();
D=C.positionedOffset().left;
if(D+C.getWidth()<A){C.style.left=-(C.getWidth()-A)+"px";
}D=C.positionedOffset().left;
if(D>0){C.style.left="0";
}},_ScrollRight:function(){var C=this.elContainer;
var A=TabsHandler._FindFirstVisibleTab(C);
var B=A.next();
if(B){C.style.left=(-B.positionedOffset().left)+"px";
}TabsHandler._EnforceScrollingRules(C);
TabsHandler._CalculateScrollingArrows(C);
},_ScrollLeft:function(){var C=this.elContainer;
var A=TabsHandler._FindFirstVisibleTab(C);
var B=A.previous();
if(B){C.style.left=(-B.positionedOffset().left)+"px";
}TabsHandler._EnforceScrollingRules(C);
TabsHandler._CalculateScrollingArrows(C);
},_ScrollTabIntoView:function(G){var F=G._TabsContainer;
var E=F.up(".TabsScrollingContainer");
var A=E.getWidth()-E.ArrowsContainer.getWidth();
if(!E.ArrowsContainer){TabsHandler.Init();
}var D=G._elTab.getWidth();
var B=G._elTab.positionedOffset().left+F.positionedOffset().left;
var C=B+D;
if(B<0){F.style.left=(-G._elTab.positionedOffset().left)+"px";
}if(C>A){F.style.left=(F.positionedOffset().left-(C-A)-10)+"px";
}TabsHandler._EnforceScrollingRules(F);
TabsHandler._CalculateScrollingArrows(F);
}};
ErrorHandler.TryCatchWrapObjectMethods(TabsHandler);
Event.observe(window,"load",function(){TabsHandler.Init();
});
Event.observe(window,"resize",TabsHandler.OnWindowResize);
var MainContentHandler={TryCatchWrappable:true,Tabs:new Object(),SelectedTabID:"",SelectedTab:function(){return MainContentHandler.Tabs[MainContentHandler.SelectedTabID];
},TabControllerName:"MainContentHandler",Init:function(){if(typeof (LoggedUserID)!="undefined"){new MainContentTab("home","Home",null,$("MainContentDefaultPage"),null,false);
MainContentHandler.Tabs.home.SelectTab();
}},EnsureTabExists:function(B,D,A,C){var E;
var F=false;
if(A==true){F=true;
}if(MainContentHandler.Tabs.Contains(B)){E=MainContentHandler.Tabs[B];
}else{E=new MainContentTab(B,D,null,null,null,C);
F=true;
}if(F){E.SelectTab();
}return E;
},GetExternalItemTabs:function(){var B=new Array();
var A;
for(A in MainContentHandler.Tabs){if(A.startsWith("item-")){B.push(MainContentHandler.Tabs[A]);
}}return B;
},SetInnerHTML:function(A,C,B){var D=MainContentHandler.EnsureTabExists(A,C,false);
D.SetContentInnerHTML(B);
},ShowPage:function(D,E,I,H,F){var G="/members/renderpage.ashx?page="+encodeURIComponent(I)+"&tabid="+encodeURIComponent(D)+"&title="+encodeURIComponent(E);
if(H!=null&&H!=""){G+="&"+H;
}if(F==null||!F){G+="&unique="+new Date().getTime();
}G=AppDomain+G;
var B=MainContentHandler.EnsureTabExists(D,E,true);
B.ReplaceContent(B.CreateWaitingTabContent());
var C=function(J){MainContentHandler._ShowPageCB(J,D,E);
};
var A=new Ajax.Request(G,{method:"get",onSuccess:C,onFailure:AjaxFailure});
$("WriteIndicator").show();
return false;
},_ShowPageCB:function(B,A,C){$("WriteIndicator").hide();
MainContentHandler.SetInnerHTML(A,C,B.responseText);
},ShowIFrame:function(G,H,J,D,I,E){if(D==null||!D){if(MainContentHandler.Tabs.Contains(G)){A=MainContentHandler.Tabs[G];
A.SelectTab();
return A;
}}if(I==null||!I){if(J.include("?")){J+="&";
}else{J+="?";
}J+="unique="+new Date().getTime();
}if(J.indexOf("://")==-1){J=AppDomain+J;
}var A=MainContentHandler.EnsureTabExists(G,H,true,E);
var C=new Element("div");
var K=document.createElement("iframe");
K.src="about: blank";
K.id="iframe-"+G;
K.className="MainContentIFrame";
K.frameborder=0;
K=$(K);
C.insert(K);
A.ReplaceContent(C);
K.src=J;
if(ChatConsole.FinishedInitializing==true){var F=new ClientStateMainContentIFrameMessage();
F.PrepareForSending(G,H,J);
var B=function(M,L){};
ChatConsole.SendMessage(F,B);
}return A;
},ShowExternalItem:function(E,D,A,B){var C=A;
if(B=="B"||B=="S"){C=AppDomain+"/members/PopoutSiteIFrame.aspx?item="+E+"&type="+B;
}var F=MainContentHandler.ShowIFrame("item-"+E,D,C,false,true);
F.ExternalItemURL=A;
F.PopoutConfirmed=B;
F._elTabContent.onBeforeSelect=function(){ChatConsole.ReportViewingItem(E);
};
F._elTabContent.onRemove=function(){ChatConsole.ReportViewingItem(-1);
};
if(ChatConsole.FinishedInitializing==true){ChatConsole.ReportViewingItem(E);
}MainContentHandler._AddExternalItemToolbar(F,E,A);
return false;
},_AddExternalItemToolbar:function(D,C,A){var B;
B=D._elTabContent.down(".SubTabToolbar");
if(B){return false;
}B=new Element("div",{"class":"SubTabToolbar"});
B.insert(new Element("span",{title:"Browse Store","class":"BrowseStoreButton"}).observe("click",function(){window.open(A);
})).insert(new Element("span",{title:"Compare Prices","class":"ComparePricesButton"}).observe("click",function(){Search.DoSearch(D.Name,1,"products");
}).hide()).insert(new Element("span",{title:"Add Stores","class":"AddStoreButton"}).observe("click",function(){MyStores.AddStoreByItem(C,this);
})).insert(new Element("span",{title:"Add to my Items","class":"AddItemButton"}).observe("click",function(){MyItems.AddItem(C,this);
}));
D._elTabContent.insert(B);
}};
ErrorHandler.TryCatchWrapObjectMethods(MainContentHandler);
MainContentHandler.Tabs.Contains=Object.Contains;
Event.observe(window,"load",function(){MainContentHandler.Init();
});
var UIMessages={TryCatchWrappable:true,_elTopNotification:null,ShowTopNotification:function(A,F,C,B){if(B==null){B=10000;
}if(UIMessages._elTopNotification!=null){UIMessages._HideTopNotification(true);
}var D=new Element("div",{"class":"UIMessageTopNotification "+F,style:"display: none;"});
D.insert(A);
UIMessages._elTopNotification=D;
var E;
E=((document.viewport.getWidth()-400)/2)+document.viewport.getScrollOffsets().left;
E=(E<0?0:E);
D.style.left=E+"px";
document.body.appendChild(D);
new Effect.BlindDown(D,{duration:0.2});
if(C==true){var G=new Element("span",{"class":"DialogCloseButton"});
G.observe("click",UIMessages._HideTopNotification);
D.insert(G);
}if(B>-1){D.TimeoutID=window.setTimeout(UIMessages._HideTopNotification,B);
}return D;
},_HideTopNotification:function(B){if(UIMessages._elTopNotification==null){return false;
}var A=UIMessages._elTopNotification;
if(A.TimeoutID>0){window.clearTimeout(A.TimeoutID);
A.TimeoutID=0;
}var C=function(){try{A.remove();
}catch(D){}};
if(B==true){C();
}else{new Effect.Fade(A,{duration:0.5,afterFinish:C});
}UIMessages._elTopNotification==null;
}};
ErrorHandler.TryCatchWrapObjectMethods(UIMessages);
var OnsiteBookmarklet={TryCatchWrappable:true,_elShadow:null,_elBookmarklet:null,_elBookmarkletContent:null,OnClose:null,_ShowShadow:function(){if(OnsiteBookmarklet._elShadow!=null){return false;
}var A=new Element("div",{"class":"OnSiteBookmarkletShadow"});
document.body.appendChild(A);
OnsiteBookmarklet._elShadow=A;
},_HideShadow:function(){if(OnsiteBookmarklet._elShadow==null){return false;
}OnsiteBookmarklet._elShadow.remove();
OnsiteBookmarklet._elShadow=null;
},_ShowOnsiteBookmarklet:function(A,F,B){if(OnsiteBookmarklet._elBookmarklet!=null){return false;
}OnsiteBookmarklet._ShowShadow();
var E=new Element("div",{"class":"OnSiteBookmarklet "+B}).insert(new Element("div",{"class":"OnSiteBookmarkletHeader"}).insert(new Element("h1",{"class":"OnSiteBookmarkletTitle"}).update(A))).insert(new Element("div",{"class":"OnSiteBookmarkletClose"}).observe("click",function(){OnsiteBookmarklet._HideOnsiteBookmarklet();
})).insert(new Element("div",{"class":"OnSiteBookmarkletContents"})).insert(new Element("div",{"class":"OnSiteBookmarkletBottom"}));
document.body.appendChild(E);
var D,C;
D=((document.viewport.getWidth()-E.getDimensions().width)/2)+document.viewport.getScrollOffsets().left;
C=((document.viewport.getHeight()-F)/2)+document.viewport.getScrollOffsets().top;
D=(D<0?0:D);
C=(C<0?0:C);
E.style.left=D+"px";
E.style.top=C+"px";
OnsiteBookmarklet._elBookmarklet=E;
OnsiteBookmarklet._elBookmarkletContent=E.down(".OnSiteBookmarkletContents");
},_HideOnsiteBookmarklet:function(){if(OnsiteBookmarklet._elBookmarklet==null){return false;
}if(typeof OnsiteBookmarklet.OnClose=="function"){if(!OnsiteBookmarklet.OnClose()){return false;
}}OnsiteBookmarklet._HideShadow();
OnsiteBookmarklet._elBookmarklet.remove();
OnsiteBookmarklet._elBookmarklet=null;
OnsiteBookmarklet._elBookmarkletContent=null;
},Hide:function(){OnsiteBookmarklet._HideOnsiteBookmarklet();
},ShowGettingStarted:function(B){var A=function(){createCookie("GettingStartedDismissed","1",720);
return true;
};
return OnsiteBookmarklet._ShowContent("Getting Started","GettingStarted_"+B,600,null,true,A,"");
},ShowHelp:function(C,A,B){return OnsiteBookmarklet._ShowContent(C.innerHTML,"Help",500,"helpid="+A+"_"+B,true,null,"OnsiteBookmarkletHelp");
},ShowWindowInstanceKilled:function(){OnsiteBookmarklet._ShowContent("You have more than one FriendShopper window open","WindowInstanceKilled",300,null,true,null,"OnsiteBookmarkletHelp");
OnsiteBookmarklet._elBookmarklet.down(".OnSiteBookmarkletClose").remove();
return false;
},_ShowContent:function(D,F,C,J,G,H,I){OnsiteBookmarklet._ShowOnsiteBookmarklet(D,C,I);
var K=CreateAJAXIndicator();
OnsiteBookmarklet._elBookmarkletContent.update(K);
OnsiteBookmarklet.OnClose=H;
var E="/onsitebookmarklet/rendercontent.ashx?content="+F;
if(J!=null){E+="&"+J;
}if(G==null||!G){E+="&unique="+new Date().getTime();
}var B=function(L){OnsiteBookmarklet._ShowContentCB(L);
};
var A=new Ajax.Request(E,{method:"get",onSuccess:B,onFailure:AjaxFailure});
return false;
},_ShowContentCB:function(A){if(!OnsiteBookmarklet._elBookmarkletContent){return false;
}OnsiteBookmarklet._elBookmarkletContent.update(A.responseText);
}};
ErrorHandler.TryCatchWrapObjectMethods(OnsiteBookmarklet);
var GettingStarted_Bookmarklet={TryCatchWrappable:true,Init:function(){if(OnsiteBookmarklet._elBookmarkletContent==null){return false;
}var A=OnsiteBookmarklet._elBookmarkletContent;
A.select(".Browser").each(function(C){var B=C.down("input");
C.observe("click",function(){GettingStarted_Bookmarklet._SetSelectedBrowserByInput(B);
});
});
},_SetSelectedBrowserByInput:function(B){if(!B){return false;
}B.checked=true;
OnsiteBookmarklet._elBookmarkletContent.select(".HidableInstructionsContainer").each(function(C){C.hide();
});
var A=B.id.substr(10);
OnsiteBookmarklet._elBookmarkletContent.down("#Instructions"+A).show();
$("BrowserArrow").style.left=(B.positionedOffset().left+31)+"px";
},SetSelectedBrowser:function(A){GettingStarted_Bookmarklet._SetSelectedBrowserByInput($("radBrowser"+A));
}};
ErrorHandler.TryCatchWrapObjectMethods(GettingStarted_Bookmarklet);
