function tabberObj(_6b6){var arg;this.div=null;this.classMain="tabber";this.classMainLive="tabberlive";this.classTab="tabbertab";this.classTabDefault="tabbertabdefault";this.classNav="tabbernav";this.classTabHide="tabbertabhide";this.classNavActive="tabberactive";this.titleElements=["h2","h3","h4","h5","h6"];this.titleElementsStripHTML=true;this.removeTitle=true;this.addLinkId=false;this.linkIdFormat="<tabberid>nav<tabnumberone>";for(arg in _6b6){this[arg]=_6b6[arg];}this.REclassMain=new RegExp("\\b"+this.classMain+"\\b","gi");this.REclassMainLive=new RegExp("\\b"+this.classMainLive+"\\b","gi");this.REclassTab=new RegExp("\\b"+this.classTab+"\\b","gi");this.REclassTabDefault=new RegExp("\\b"+this.classTabDefault+"\\b","gi");this.REclassTabHide=new RegExp("\\b"+this.classTabHide+"\\b","gi");this.tabs=new Array();if(this.div){this.init(this.div);this.div=null;}}tabberObj.prototype.init=function(e){var _6b9,i,i2,t,defaultTab=0,DOM_ul,DOM_li,DOM_a,aId,headingElement;if(!document.getElementsByTagName){return false;}if(e.id){this.id=e.id;}this.tabs.length=0;_6b9=e.childNodes;for(i=0;i<_6b9.length;i++){if(_6b9[i].className&&_6b9[i].className.match(this.REclassTab)){t=new Object();t.div=_6b9[i];this.tabs[this.tabs.length]=t;if(_6b9[i].className.match(this.REclassTabDefault)){defaultTab=this.tabs.length-1;}}}DOM_ul=document.createElement("ul");DOM_ul.className=this.classNav;for(i=0;i<this.tabs.length;i++){t=this.tabs[i];t.headingText=t.div.title;if(this.removeTitle){t.div.title="";}if(!t.headingText){for(i2=0;i2<this.titleElements.length;i2++){headingElement=t.div.getElementsByTagName(this.titleElements[i2])[0];if(headingElement){t.headingText=headingElement.innerHTML;if(this.titleElementsStripHTML){t.headingText.replace(/<br>/gi," ");t.headingText=t.headingText.replace(/<[^>]+>/g,"");}break;}}}if(!t.headingText){t.headingText=i+1;}DOM_li=document.createElement("li");if(typeof (this.applyNavOnAnchor)!="undefined"&&this.applyNavOnAnchor!=null&&this.applyNavOnAnchor){DOM_li.onclick=this.navClick;DOM_li.tabber=this;DOM_li.tabberIndex=i;}t.li=DOM_li;DOM_a=document.createElement("a");DOM_a.appendChild(document.createTextNode(t.headingText));DOM_a.href="javascript:void(null);";DOM_a.title=t.headingText;if(t.headingText=="HashTags"){DOM_li.onclick=this.listhashtags;}DOM_a.tabber=this;DOM_a.tabberIndex=i;if(this.addLinkId&&this.linkIdFormat){aId=this.linkIdFormat;aId=aId.replace(/<tabberid>/gi,this.id);aId=aId.replace(/<tabnumberzero>/gi,i);aId=aId.replace(/<tabnumberone>/gi,i+1);aId=aId.replace(/<tabtitle>/gi,t.headingText.replace(/[^a-zA-Z0-9\-]/gi,""));DOM_a.id=aId;}DOM_li.appendChild(DOM_a);DOM_ul.appendChild(DOM_li);}if(typeof (this.navBlock)!="undefined"&&this.navBlock!=null){document.getElementById(this.navBlock).appendChild(DOM_ul);}else{e.insertBefore(DOM_ul,e.firstChild);}e.className=e.className.replace(this.REclassMain,this.classMainLive);this.tabShow(defaultTab);if(typeof this.onLoad=="function"){this.onLoad({tabber:this});}return this;};tabberObj.prototype.navClick=function(_6ba){var rVal,a,self,tabberIndex,onClickArgs;a=this;if(!a.tabber){return false;}self=a.tabber;tabberIndex=a.tabberIndex;a.blur();if(typeof self.onClick=="function"){onClickArgs={"tabber":self,"index":tabberIndex,"event":_6ba};if(!_6ba){onClickArgs.event=window.event;}rVal=self.onClick(onClickArgs);if(rVal===false){return false;}}self.tabShow(tabberIndex);return false;};tabberObj.prototype.tabHideAll=function(){var i;for(i=0;i<this.tabs.length;i++){this.tabHide(i);}};tabberObj.prototype.tabHide=function(_6bd){var div;if(!this.tabs[_6bd]){return false;}div=this.tabs[_6bd].div;if(!div.className.match(this.REclassTabHide)){div.className+=" "+this.classTabHide;}this.navClearActive(_6bd);return this;};tabberObj.prototype.tabShow=function(_6bf){var div;if(!this.tabs[_6bf]){return false;}this.tabHideAll();div=this.tabs[_6bf].div;div.className=div.className.replace(this.REclassTabHide,"");this.navSetActive(_6bf);if(typeof this.onTabDisplay=="function"){this.onTabDisplay({"tabber":this,"index":_6bf});}return this;};tabberObj.prototype.navSetActive=function(_6c1){this.tabs[_6c1].li.className=this.classNavActive;return this;};tabberObj.prototype.navClearActive=function(_6c2){this.tabs[_6c2].li.className="";return this;};tabberObj.prototype.getActiveTabName=function(){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.className=="tabberactive"){return this.tabs[i].li.getElementsByTagName("a")[0].childNodes[0].nodeValue;}}};tabberObj.prototype.getTab=function(_6c3){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.getElementsByTagName("a")[0].childNodes[0].nodeValue==_6c3){return this.tabs[i].div;}}};tabberObj.prototype.getTabNav=function(_6c4){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.getElementsByTagName("a")[0].childNodes[0].nodeValue==_6c4){return this.tabs[i].li;}}};tabberObj.prototype.getActiveTab=function(){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.className=="tabberactive"){return this.tabs[i].div;}}};tabberObj.prototype.getActiveTabIndex=function(){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.className=="tabberactive"){return i;}}return -1;};function tabberAutomatic(_6c5){var _6c6,divs,i;if(!_6c5){_6c5={};}_6c6=new tabberObj(_6c5);divs=document.getElementsByTagName("div");for(i=0;i<divs.length;i++){if(divs[i].className&&divs[i].className.match(_6c6.REclassMain)){_6c5.div=divs[i];divs[i].tabber=new tabberObj(_6c5);}}return this;}function tabberAutomaticOnLoad(_6c7){var _6c8;if(!_6c7){_6c7={};}_6c8=window.onload;if(typeof window.onload!="function"){window.onload=function(){tabberAutomatic(_6c7);};}else{window.onload=function(){_6c8();tabberAutomatic(_6c7);};}}if(typeof tabberOptions=="undefined"){tabberAutomaticOnLoad();}else{if(!tabberOptions["manualStartup"]){tabberAutomaticOnLoad(tabberOptions);}}tabberObj.prototype.listhashtags=function(_6c9){window.location="/hashtag/manageHashTag.action";};
tangler.manager.Scroller=function(_265,_266){this.oArgs=_266||{};var _267="LI";var _268=this;this.UP=-1;this.DOWN=1;this.slidingConf={easing:"easeOut",duration:0.45,callback:function(){this.parent.afterScrolling();}};this.initialized=false;this.scrollSet=Ext.get(_265);this.container=this.scrollSet.select("div.scrollArea").elements[0];this.scrollElement=this.scrollSet.select("div.scrollContent").elements[0];this.tabber=tangler.util.Options.getOptionalArgument("tabber",_266,null);this.listItems=[];this.alphabetIndexdTabs=tangler.util.Options.getOptionalArgument("alphabetIndexdTabs",_266,[]);this.indexer=Ext.get(tangler.util.Options.getOptionalArgument("indexer",_266,null));this.onScroll=_266.onScroll;this.onBufferExhausted=_266.onBufferExhausted;this._lastScrollTop=0;this.scrollOffSet=0;this.upButton=this.scrollSet.select("div.up").elements[0];this.downButton=this.scrollSet.select("div.down").elements[0];this.defaultHeight=0;this.afterScrolling=function(){this.checkAndDisable();this.fireEvent("scrolled");this.checkAndFireBufferExhaustion();};this.checkAndFireBufferExhaustion=function(){if(this.container.scrollTop>this._lastScrollTop){var _269=this.container.scrollHeight;var _26a=Math.abs(this.container.clientHeight*0.2);var pos=this.container.scrollTop+this.container.clientHeight;if((pos+_26a)>=_269){this.fireEvent("bufferExhausted");}}_lastScrollTop=this.container.scrollTop;};this.checkAndDisable=function(){var _26c=this.findElementToShow();var _26d=false;var _26e=false;if(this.listItems.length<=_26c.visibleItemsCount){this.disableScroller(this.UP);this.disableScroller(this.DOWN);return;}if(_26c.uBound.index==0&&_26c.lBound.index==_26c.visibleItemsCount&&_26c.lBound.index!=-1){this.disableScroller(this.UP);_26d=true;}if(_26c.lBound.index==-1){this.disableScroller(this.DOWN);_26e=true;}if(!_26d){this.enableScroller(this.UP);}if(!_26e){this.enableScroller(this.DOWN);}};this.disableScroller=function(_26f){if(_26f==this.UP){Ext.get(this.upButton).addClass("scrollerDisabled");}else{Ext.get(this.downButton).addClass("scrollerDisabled");}};this.enableScroller=function(_270){if(_270==this.UP){Ext.get(this.upButton).removeClass("scrollerDisabled");}else{Ext.get(this.downButton).removeClass("scrollerDisabled");}};this.findElementToShow=function(){var _271={uBound:{index:-1,item:null},lBound:{index:-1,item:null},visibleItemsCount:0};var _272=Ext.get(this.container);var _273=0;var _274=this.listItems.length;var _275=0;for(var i=0;i<this.listItems.length;i++){var _277=Ext.get(this.listItems[i]);var _278=_277.getOffsetsTo(_272)[1]+_277.getHeight();if(_278<0){_273=i+1;}else{if(_278>_272.getHeight()){_274=i;_271.lBound={index:i,item:_277};break;}}}_275=Math.abs(_274-_273);var _279=_273-_275;_271.visibleItemsCount=_275;_279=_279>-1?_279:0;_271.uBound={index:_279,item:Ext.get(this.listItems[_279])};return _271;};this.scrollIntoView=function(_27a){var c=Ext.getDom(this.container);var _27c=Ext.get(_27a);var el=_27c.dom;var o=_27c.getOffsetsTo(c),l=o[0]+c.scrollLeft,t=o[1]+c.scrollTop,b=t+el.offsetHeight,r=l+el.offsetWidth;var ch=c.clientHeight;var ct=parseInt(c.scrollTop,10);var cl=parseInt(c.scrollLeft,10);var cb=ct+ch;var cr=cl+c.clientWidth;Ext.get(c).parent=this;if(el.offsetHeight>ch||t<ct){Ext.get(c).scrollTo("top",t,this.slidingConf);}else{if(b>cb){var y=b-_27c.getHeight();Ext.get(c).scrollTo("top",y,this.slidingConf);}}c.scrollTop=c.scrollTop;};this.scrollToIndex=function(){var _285=arguments[2].letter;var _286=null;var _287="div[title="+_285+"]";_286=Ext.get(tabber.getActiveTab()).select(_287).elements;if(_286!=null&&_286.length>0){this.scrollIntoView(_286[0].parentNode);}};this.reset=function(){this.listItems=new Array();var _288=[];if(this.tabber!=null){this.listItems=Ext.get(tabber.getActiveTab()).select(_267).elements;if(this.alphabetIndexdTabs.contains(tabber.getActiveTabName())){if(this.oArgs.indicesForTabs&&this.oArgs.indicesForTabs[this.tabber.getActiveTabName()]){_288=this.oArgs.indicesForTabs[this.tabber.getActiveTabName()];}else{var _289=Ext.get(tabber.getActiveTab()).select(_267+" div.letterIndex").elements;for(var i=0;i<_289.length;i++){_288.push(_289[i].title);}}this.initIndexer(_288);this.toggleIndexer(true);}}else{this.listItems=Ext.get(this.scrollElement).select(_267).elements;}if(this.listItems.length>0){this.scrollIntoView(this.listItems[0]);}if(_288.length==0){this.toggleIndexer(false);}this.checkAndDisable();};this.checkForNewEntries=function(){this.listItems=Ext.get(tabber.getActiveTab()).select(_267).elements;};this.initIndexer=function(_28b){tangler.util.Element.removeChildNodes(this.indexer);var _28c="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var _28d=new Array();for(var i=0;i<_28c.length;i++){var li=null;var _290=_28c.charAt(i);if(_28b.contains(_290)){var href=tangler.util.Element.createNode("a",{attributes:[["href","javascript:void(null);"]],children:[document.createTextNode(_290)]});tangler.util.Element.getEl(href).on({"click":{fn:this.scrollToIndex,scope:this,letter:_290}});li=tangler.util.Element.createNode("li",{children:[href]});}else{li=tangler.util.Element.createNode("li",{children:[document.createTextNode(_290)]});}_28d.push(li);}var ul=tangler.util.Element.createNode("ul",{children:_28d});if(this.indexer!=null){this.indexer.dom.appendChild(ul);}else{alert("No indexer element defined!");}};this.toggleIndexer=function(show){if(this.indexer==null){return;}if(show&&!this.indexer.isVisible()){this.indexer.slideIn("l",{easing:"easeOut",duration:0.35});}else{if(!show&&this.indexer.isVisible()){this.indexer.slideOut("l",{easing:"easeOut",duration:0.35});}}};this.init=function(){this.initialized=true;var _294=this;Ext.get(this.upButton).on({"click":{fn:_294.scrollUp,scope:_294}});Ext.get(this.downButton).on({"click":{fn:_294.scrollDown,scope:_294}});this.observeEvents();this.checkAndDisable();};this.scrollUp=function(){this.scroll(this.UP);};this.scrollDown=function(){this.scroll(this.DOWN);};this.scroll=function(_295){var _296=this.findElementToShow();if(_295==this.UP&&_296.uBound.item!=null){this.scrollIntoView(_296.uBound.item);}else{if(_295==this.DOWN&&_296.lBound.item!=null){this.scrollIntoView(_296.lBound.item);}}};this.tabberClicked=function(){new Ext.util.DelayedTask(function(){this.reset();},this).delay(50);};this.getStatus=function(){var _297=this.findElementToShow();var list=Ext.get(tabber.getActiveTab()).select("UL").elements[0];if(list.length==0){list=Ext.get(tabber.getActiveTab()).select("OL").elements[0];}var _299=Ext.get(list).select("LI").elements.length;var _29a=_297.lBound.index==-1?_299:_297.lBound.index;var _29b=_29a-_297.visibleItemsCount+1;var _29c={list:list,totalItems:_299,uIndex:_29b,lIndex:_29a,scrollContent:this.scrollElement,scrollContainer:this.container};if(this.tabber!=null){_29c.activeTab=this.tabber.getActiveTabName();}return _29c;};if(typeof (tabber)!="undefined"){this.tabber=tabber;this.listItems=Ext.get(tabber.getActiveTab()).select(_267).elements;if(this.alphabetIndexdTabs.contains(tabber.getActiveTabName())){if(this.oArgs.indicesForTabs&&this.oArgs.indicesForTabs[this.tabber.getActiveTabName()]){activeList=this.oArgs.indicesForTabs[this.tabber.getActiveTabName()];}else{var _29d=Ext.get(tabber.getActiveTab()).select(_267+" div.letterIndex").elements;for(var i=0;i<_29d.length;i++){activeList.push(_29d[i].title);}}this.initIndexer(activeList);}}else{this.listItems=Ext.get(this.scrollElement).select(_267).elements;}if(this.tabber!=null){this.tabber.referer=this;this.tabber.clickFunction=this.tabber.onClick;this.tabber.onClick=function(){this.clickFunction();this.referer.tabberClicked();};}this.init();};Ext.extend(tangler.manager.Scroller,Ext.util.Observable,{observeEvents:function(){this.addEvents({"scrolled":true});this.addEvents({"bufferExhausted":true});if(this.onScroll!=null&&typeof (this.onScroll)!="undefined"){this.on("scrolled",this.onScroll);}if(this.onBufferExhausted!=null&&typeof (this.onBufferExhausted)!="undefined"){this.on("bufferExhausted",this.onBufferExhausted,this);}}});
tangler.widget.WindowWrapper=function(_e5){this._defaultWidth=550;this._defaultHeight=350;this._defaultRefreshOnClose=true;var _e6=tangler.util.Options.getOptionalArgument("width",_e5,this._defaultWidth);var _e7=tangler.util.Options.getOptionalArgument("height",_e5,this._defaultHeight);var _e8=tangler.util.Options.getOptionalArgument("closable",_e5,false);this._url=tangler.util.Options.getOptionalArgument("url",_e5,"");this._title=tangler.util.Options.getOptionalArgument("title",_e5);this._iframe=null;this._loading=tangler.util.Element.createLoadingElement("iframeLoading");this._loading.style.zIndex=1000;this._template=new Ext.Template("<div id=\"iframeDialog\" style=\"visibility:hidden;position:absolute;top:0;\">","\t<div id=\"dlgIFrame\" class=\"x-window-body\">","\t\t<iframe id=\"centerFrame\" name=\"centerFrame\" frameborder=\"no\" style=\"border:0px none;\" scrolling=\"no\" src=\"{url}\" width=\"100%\" height=\"100%\"><div class=\"loader\"><p>","       Loading...","       </p></div></iframe>","\t</div>","</div>");this._template.append(document.body,{url:this._url});if(Ext.isIE){window.frames["centerFrame"].location.href=this._url;}this._window=new tangler.widget.DialogWrapper("iframeDialog",{autoDestroy:false,resizable:false,draggable:false,width:_e6,height:_e7,autoCreate:true,closable:_e8});};tangler.widget.WindowWrapper.prototype={showWindow:function(_e9){var _ea=tangler.util.Options.getOptionalArgument("refreshOnClose",_e9,this._defaultRefreshOnClose);var _eb=tangler.util.Options.getOptionalArgument("destroyFunction",_e9,null);if(_ea){_eb=tangler.info.Page.refreshPage;}if(_eb!=null){this._window.addListener("hide",_eb);}this._window.setTitle(this._title);this._window.showDialog();},onIFrameLoaded:function(_ec){return function(){var w=tangler.util.Element.getEl(_ec);w.select("div").elements[0].style.display="none";w.select("div").elements[0].style.zIndex=0;w.select("iframe").elements[0].style.visibility="visible";w.select("iframe").elements[0].style.zIndex=1000;};},closeWindow:function(){tangler.util.Element.removeChildNodes("dlgIFrame");this._window.hide();},closeAndDestroy:function(){tangler.util.Element.removeChildNodes("dlgIFrame");this._window.closeAndDestroy(true);this._window=null;},destroy:function(){this._window.destroy(true);},resize:function(_ee,_ef){this._window.setContentSize(_ee,_ef);},destroyFunctionHandler:function(_f0,_f1){return function(_f2,win){if(win==_f0){_f1();}};}};tangler.widget.DialogWrapper=function(_f4,_f5){Ext.useShims=true;this._dialogId=_f4;this._dialog=null;var _f6=tangler.util.Options.getOptionalArgument("width",_f5,500);var _f7=tangler.util.Options.getOptionalArgument("height",_f5,300);var _f8=tangler.util.Options.getOptionalArgument("minWidth",_f5,300);var _f9=tangler.util.Options.getOptionalArgument("minHeight",_f5,300);var _fa=tangler.util.Options.getOptionalArgument("underlay",_f5,"none");var _fb=tangler.util.Options.getOptionalArgument("resizable",_f5,true);var _fc=tangler.util.Options.getOptionalArgument("draggable",_f5,true);var _fd=tangler.util.Options.getOptionalArgument("modal",_f5,true);var _fe=tangler.util.Options.getOptionalArgument("closable",_f5,false);var _ff=tangler.util.Options.getOptionalArgument("BasicDialog",_f5,true);var _100=tangler.util.Options.getOptionalArgument("autoCreate",_f5,false);var _101=tangler.util.Options.getOptionalArgument("autoHeight",_f5,false);var _102=tangler.util.Options.getOptionalArgument("shadow",_f5,true);var _103=tangler.util.Options.getOptionalArgument("acceptLabel",_f5,null);var _104=tangler.util.Options.getOptionalArgument("declineLabel",_f5,null);var _105=tangler.util.Options.getOptionalArgument("acceptFunction",_f5,null);var _106=tangler.util.Options.getOptionalArgument("declineFunction",_f5,null);var _107=tangler.util.Options.getOptionalArgument("defaultFocus",_f5,null);if(_103){if(_105==null){alert("Please set acceptFunction");return;}}if(_104){if(_106==null){alert("Please set declineFunction");return;}}var _108=tangler.util.Helper.getBrowserSize();if(_f6>_108.width){_f6=_108.width-50;}if(_f7>_108.height){_f7=_108.height-50;}var _109=null;var _10a=[];if(_103){_10a[0]={text:_103,handler:_105,id:"acceptButton"};}if(_104){_10a[1]={text:_104,handler:_106,id:"declineButton"};}if(_107&&_107==_103){_109="acceptButton";}else{if(_107&&_107==_104){_109="declineButton";}}if(!_107){this._dialog=new Ext.Window({applyTo:_f4,width:_f6,height:_f7,minWidth:_f8,minHeight:_f9,constraintoviewport:true,underlay:_fa,resizable:false,draggable:false,modal:_fd,shim:true,collapsible:false,closable:_fe,fixedCenter:true,autoHeight:_101,shadow:_102,buttons:_10a});}else{this._dialog=new Ext.Window({applyTo:_f4,width:_f6,height:_f7,minWidth:_f8,minHeight:_f9,constraintoviewport:true,underlay:_fa,resizable:false,draggable:false,modal:_fd,shim:true,collapsible:false,closable:_fe,fixedCenter:true,autoHeight:_101,shadow:_102,buttons:_10a,defaultButton:_109});}if(_103){this._dialog.addButton({text:_103,handler:_105});}if(_104){this._dialog.addButton({text:_104,handler:_106});}this._dialog.anchorTo(document.body,"c-c?");this._dialog.on("show",function(id){var div=tangler.util.Element.getEl(id.el);div.setStyle("overflow","auto");var text=div.select(".ext-mb-textarea",true);if(!text.item(0)){text=div.select(".ext-mb-text",true);}if(text.item(0)){text.item(0).dom.select();}},this._dialogId);};tangler.widget.DialogWrapper.prototype={getDialog:function(){return this._dialog;},setContentSize:function(_10e,_10f){if(this._dialog==null){return;}this._dialog.resizeTo(_10e,_10f);this._dialog.setContentSize(_10e,_10f);this._dialog.center();},showDialog:function(_110){if(this._dialog==null){return;}var elem=tangler.util.Options.getOptionalArgument("element",_110);var _112=tangler.util.Options.getOptionalArgument("anchor",_110,"");if(elem){this._dialog.alignTo(elem,_112);}var _113=tangler.util.Helper.getBrowserSize();if(this._dialog.maximumWidth>_113.width){this._dialog.maximumWidth=(_113.width-50);}this._dialog.show();},isVisible:function(){return (this._dialog!=null&&this._dialog.isVisible());},closeAndDestroy:function(_114){if(this._dialog==null){return;}this._dialog.hide();this._dialog.destroy(_114);},destroy:function(_115){this._dialog.destroy(_115);},hide:function(){if(this._dialog==null){return;}this._dialog.hide();},addListener:function(_116,fn,_118){if(this._dialog==null){return;}this._dialog.on(_116,fn,this,_118);},setTitle:function(_119){if(this._dialog==null){return;}this._dialog.setTitle(_119);}};
tangler.manager.ProfileState=function(){var _24d=null;var _24e=function(){this.isFollowed=false;this.isFollower=false;this.isContact=false;this.profileId=0;this.profileOwnerScreenName=null;this.viewerId=0;this.viewType=null;_24e.superclass.constructor.call(this);_pState=this;};Ext.extend(_24e,Ext.util.Observable,{setFollwer:function(_24f){this.isFollower=_24f;},getFollower:function(){return this.isFollower;},setFollwed:function(_250){this.isFollowed=_250;},getFollowed:function(){return this.isFollowed;},setProfileId:function(id){this.profileId=id;},getProfileId:function(){return this.profileId;},setViewerId:function(id){this.viewerId=id;},getViewerId:function(){return this.viewerId;},setContact:function(_253){this.isContact=_253;},isContact:function(){return this.isContact;},setProfileOwnerScreenName:function(_254){this.profileOwnerScreenName=_254;},getProfileOwnerScreenName:function(){return this.profileOwnerScreenName;},onAddAsFriend:function(){var _255=(this.userId!="undefined"&&this.userId!=null)?this.userId:_pState.profileId;var args={button:this.button};DWRUserHandler.addAsFriend(_255,"",{callback:function(data){_pState._addedFriendCallbackSuccess(data,args);},errorHandler:_pState._addedFriendCallbackFailure});},onToggleFollow:function(){var _258=(this.userId!="undefined"&&this.userId!=null)?this.userId:0;var _259=(this.followed!="undefined"&&this.followed!=null)?this.followed:_pState.isFollowed;var args=null;if(_258==0){_258=_pState.profileId;args={button:this.button};}else{args=this;}args.followUserId=_258;DWRUserHandler.toggleFollow(_258,!_259,{callback:function(data){_pState._toggleCallbackSuccess(data,args);},errorHandler:_pState._toggleCallbackFailure});},_toggleCallbackSuccess:function(_25c,args){if(!_25c){Ext.MessageBox.show({title:"Message Warning",msg:"There was some problem while executing your request. <br />Please try after sometimes.",buttons:Ext.MessageBox.OK});}var _25e="";if(args.userId!=null){var _25f=!args.followed?"Stop Following ":"Follow ";_25e=_25f;args.followed=!args.followed;}else{var _25f=!_pState.isFollowed?"Stop Following ":"Follow ";_pState.setFollwed(!_pState.isFollowed);_25e=_25f;}tangler.util.Element.getEl(args.button).update(_25e);Ext.EventManager.removeListener(args.button,"click",tangler.manager.ProfileState.onToggleFollow);Ext.EventManager.addListener(args.button,"click",tangler.manager.ProfileState.onToggleFollow,args,{preventDefault:true});if(tangler.info.Page.getView()==tangler.info.ViewType.TopicDiscuss&&args.userId!=null&&args.userId==_pState.profileId){if(tangler.util.Element.getEl("followTopicOwner")){tangler.util.Element.getEl("followTopicOwner").update(_25e);}}else{if(tangler.info.Page.getView()==tangler.info.ViewType.Profile&&args.userId!=null&&args.userId==_pState.profileId){}}},_toggleCallbackFailure:function(){},_addedFriendCallbackSuccess:function(data,args){if(data==true){Ext.get(args.button).dom.style.display="none";}},_addedFriendCallbackFailure:function(){},onFollowAsAnonymousUser:function(){if(_24d==null){_24d=new tangler.widget.DialogWrapper("join-dlg",{minHeight:80,width:230,height:80,draggable:false,resizable:false,acceptLabel:"Ok",defaultFocus:"Ok",acceptFunction:function(){_24d.hide();}});}if(_24d.isVisible()){return;}_24d.showDialog();},init:function(_262){this.isFollower=tangler.util.Options.getOptionalArgument("isFollower",_262,false);this.isFollowed=tangler.util.Options.getOptionalArgument("isFollowed",_262,false);this.profileId=tangler.util.Options.getOptionalArgument("profileId",_262,0);this.profileOwnerScreenName=tangler.util.Options.getOptionalArgument("profileName",_262,null);this.viewerId=tangler.util.Options.getOptionalArgument("viewerId",_262,0);this.viewType=tangler.util.Options.getOptionalArgument("viewType",_262,null);if(!tangler.info.Page.isEmbed()&&!tangler.info.Session.getSecurity().isAuthenticated()){var view=tangler.info.Page.getView();var _264=null;switch(view){case tangler.info.ViewType.Profile:_264=tangler.util.Element.getEl("followUserButton");if(_264!=null){_264.on("click",tangler.manager.ProfileState.onFollowAsAnonymousUser,this);}break;case tangler.info.ViewType.TopicDiscuss:_264=tangler.util.Element.getEl("followTopicOwner");if(_264!=null){_264.on("click",tangler.manager.ProfileState.onFollowAsAnonymousUser,this);}break;}}}});return new _24e();}();
tangler.manager.Conversations=function(){var _663=null;var _664=tangler.util.Element;var _665=tangler.util.Options;var _666=false;var _667="yyyy-MM-dd HH:mm:ss";var _668=new Ext.Template("<div id=\"ft-{topicGId}\" class=\"listBox\">","\t<div class=\"listBoxDetails\">","\t\t<div class=\"listBoxSubDetails\">","\t\t\t<div class=\"listBoxSubDetailTitle\">","\t\t\t\t<a class=\"listTopicName\" href=\"/conversation/{topicGId}\">{topicName}</a>","\t\t\t</div>","\t\t\t<div class=\"listBoxSubDetailSubTitle\">","\t\t\t  {topicSummary}","\t\t    </div>","\t    </div>","\t\t<a href=\"/conversation/{topicGId}\" class=\"topicView\">View</a>","\t</div>","   <span class=\"topicData\" style=\"visibility:hidden;display:none\">{topicData}</span>","\t<div class=\"listBoxClose\"/>","</div>");var _669=new Ext.Template("<div id=\"rt-{topicGId}\" class=\"listBox\">","       <div class=\"listBoxDetails\">","\t\t\t<div class=\"avatar\">","\t\t\t\t<a href=\"/user/{author}\">","\t\t\t\t\t<img src=\"{avatarUrl}\"/>","\t\t\t\t</a>","\t\t\t</div>","\t\t\t<div class=\"listBoxSubDetails\">","\t\t\t\t<div class=\"listBoxSubDetailTitle\">","\t\t\t\t\t<a class=\"listTopicName\" href=\"/conversation/{topicGId}\">{topicName}</a>","\t\t\t\t</div>","\t\t\t\t<div class=\"listBoxSubDetailSubTitle\">","\t\t\t\t\tBy:","\t\t\t\t\t<span>","\t\t\t\t\t\t<a href=\"/user/{author}\">{author}</a>","\t\t\t\t\t</span>","\t\t\t\t\t- {createdOn} ago","\t\t\t\t</div>","\t\t\t</div>","\t\t\t<a href=\"/conversation/{topicGId}\" class=\"topicView\">View</a>","\t\t</div>","\t\t<span style=\"visibility: hidden; display: none;\" class=\"topicData\">{topicCreateDate}</span>","\t\t<div class=\"listBoxClose\"/>","</div>");_668.compile();_669.compile();var _66a=function(){_66a.superclass.constructor.call(this);_663=this;};Ext.extend(_66a,Ext.util.Observable,{newConversationsFetched:function(_66b,_66c){for(var i=0;i<_66b.length;i++){var _66e=_66b[i].topicDetail.globalId;var _66f=tangler.util.Avatar.getAvatarUrl(_66b[i].topicDetail.author.avatar,{height:36,width:36,avatarType:"user"});var _670=_66b[i].topicDetail.name;var _671=_66b[i].topicDetail.author.screenName;var _672=tangler.util.formatter.showAbstractTime(_66b[i].topicDetail.created);var _673=formatDate(_66b[i].topicDetail.created,_667);var li=tangler.util.Element.createNode("li");_669.append(li,{topicGId:_66e,avatarUrl:_66f,topicName:_670,author:_671,createdOn:_672,topicCreateDate:_673});tangler.util.Element.getEl("recentConversationList").dom.appendChild(li);}document.getElementById("scrollStatusMsg").innerHTML="";_66c.checkForNewEntries();_66c.checkAndDisable();},newConversationsFetchedError:function(data){document.getElementById("scrollStatusMsg").innerHTML="";},myConversationsFetched:function(_676,_677){var _678=_676.list;for(var i=0;i<_678.length;i++){var _67a=_678[i].topicDetail.globalId;var _67b=_678[i].topicDetail.name;var _676="";if(_678[i].totalMessages==0){_676="No messages posted";}else{_676="Last msg: "+"<span>"+tangler.util.formatter.showAbstractTime(_678[i].lastMessagePosted)+"</span>"+" - Total msgs: "+"<span>"+_678[i].totalMessages+"</span>"+" - Contributors: "+"<span>"+_678[i].contributors+"</span>";}var _67c=formatDate(_678[i].topicDetail.created,_667);var _67d=_678[i].topicDetail.author.screenName;var _67e=tangler.util.formatter.showAbstractTime(_678[i].topicDetail.created);var _67f=formatDate(_678[i].topicDetail.created,_667);var li=tangler.util.Element.createNode("li");_668.append(li,{topicGId:_67a,topicName:_67b,topicSummary:_676,topicData:_67f});tangler.util.Element.getEl("conversationList").dom.appendChild(li);}document.getElementById("scrollStatusMsg").innerHTML="";_677.checkForNewEntries();_677.checkAndDisable();},myConversationsFetchedError:function(data){document.getElementById("scrollStatusMsg").innerHTML="";},fetchContents:function(_682,_683){var _684=_683.tabber.getActiveTabName();var _685=Ext.get(_683.tabber.getActiveTab()).select("span.topicData").elements;var _686=new Date();if(_685.length>0){var _687=_685[_685.length-1].innerHTML;_686=new Date(getDateFromFormat(_687,_667));}if(_684=="Conversations"){document.getElementById("scrollStatusMsg").innerHTML="fetching more topics...";DWRUserHandler.getUserConversationsBefore(_682,_686,{callback:function(_688){_663.myConversationsFetched(_688,_683);},errorHandler:_663.myConversationsFetchedError});}else{if(_684=="New Conversations"){document.getElementById("scrollStatusMsg").innerHTML="fetching more topics...";DWRTopicHandler.getRecentTopicsBucket(_686,{callback:function(_689){_663.newConversationsFetched(_689,_683);},errorHandler:_663.newConversationsFetchedError});}}}});return new _66a();}();
function hookEvent(element, eventName, callback)
{
  if(typeof(element) == "string")
    element = document.getElementById(element);
  if(element == null)
    return;
  if(element.addEventListener)
  {
    element.addEventListener(eventName, callback, false);
  }
  else if(element.attachEvent)
    element.attachEvent("on" + eventName, callback);
}

function unhookEvent(element, eventName, callback)
{
  if(typeof(element) == "string")
    element = document.getElementById(element);
  if(element == null)
    return;
  if(element.removeEventListener)
    element.removeEventListener(eventName, callback, false);
  else if(element.detachEvent)
    element.detachEvent("on" + eventName, callback);
}

function getEventTarget(e)
{
  e = e ? e : window.event;
  return e.target ? e.target : e.srcElement;
}

function cancelEvent(e)
{
  e = e ? e : window.event;
  if(e.stopPropagation)
    e.stopPropagation();
  if(e.preventDefault)
    e.preventDefault();
  e.cancelBubble = true;
  e.cancel = true;
  e.returnValue = false;
  return false;
}

function SpinControlAcceleration(increment, milliseconds)
{
  increment = parseFloat(increment);
  if(isNaN(increment) || increment < 0)
    increment = 0;
  
  milliseconds = parseInt(milliseconds);
  if(isNaN(milliseconds) || milliseconds < 0)
    milliseconds = 0;
    
  this.GetIncrement = function()
  { return increment; }
  
  this.GetMilliseconds = function()
  { return milliseconds; }    
}

function SpinControlAccelerationCollection()
{
  var _array = new Array();
  
  this.GetCount = function()
  { return _array.length; }
  
  this.GetIndex = function(index)
  {
    if(index < 0 || index >= _array.length)
      return null;
    
    return _array[index];
  }
  
  this.RemoveIndex = function(index)
  {
    if(index < 0 || index >= _array.length)
      return;
     
    newArray = new Array(); 
    for(var i=0; i<_array.length; i++)
    {
      if(i == index)
        continue;
      newArray.push(_array[i]);
    }
    _array = newArray;
  }
  
  this.Clear = function()
  {
    _array = new Array();
  }
  
  this.Add = function(spa)
  {
    if(spa.constructor != SpinControlAcceleration)
      return;
      
    if(_array.length == 0)
    {
      _array.push(spa);
      return;
    }
    
    var newSec = spa.GetMilliseconds();
    if(newSec > _array[_array.length-1].GetMilliseconds())
    { 
      _array.push(spa);
      return;
    }
    
    var added = false;
    var newArray = new Array();    
    var indexSec;
    for(var i=0; i<_array.length; i++)
    {
      if(added)
      {
        newArray.push(_array[i]);
      }
      else 
      {
        indexSec = _array[i].GetMilliseconds();
        if(indexSec < newSec)
        {
          newArray.push(_array[i]);        
        }
        else if(indexSec == newSec)
        {
          newArray.push(spa);
          added = true;
        }
        else
        {
          newArray.push(_array[i]);
          newArray.push(spa);
          added = true;
        }
      }
    }
    _array = newArray;
    return;     
  }
}

function SpinControl()
{
  var _this = this;
  
  var _accelerationCollection = new SpinControlAccelerationCollection();
  var _callbackArray = new Array();
  var _currentValue = 1;
  var _maximumVal = 100;
  var _minimumVal = 0;
  var _increment = 1;
  var _width = 50;
  
  var _running = 0;
  var _interval = -1;  
  var _timeStart = 0;
  
  var _bodyEventHooked = false;
  
  var _container = document.createElement("DIV");
  _container.className = 'spinContainer';
  
  var _leftEdge = document.createElement("DIV");
  _leftEdge.className = 'spinLeftRightEdge';
  _leftEdge.style.left = '0px';
  
  var _bottomEdge = document.createElement("DIV");
  _bottomEdge.className = 'spinTopBottomEdge';
  _bottomEdge.style.top = '19px';
  
  var _topEdge = document.createElement("DIV");
  _topEdge.className = 'spinTopBottomEdge';
  _topEdge.style.top = '0px';
  
  var _rightEdge = document.createElement("DIV");
  _rightEdge.className = 'spinLeftRightEdge';
  _rightEdge.style.right = '0px';
  
  var _textBox = document.createElement("INPUT");
  _textBox.type = 'hidden';
  _textBox.className = 'spinInput';
  _textBox.value = _currentValue;
  
  var _upButton = document.createElement("DIV");
  _upButton.className = 'spinUpBtn';
  
  var _downButton = document.createElement("DIV");
  _downButton.className = 'spinDownBtn';
  
  /*
   * Because IE 6 and lower don't support the transparent png background 
   * mask that we use for the buttons.
   * So we use a regular old gif instead.
   * This means that, sadly, the button coloring does not work in IE6 and lower.
   */
  var canChangeBtnColors = true;
  if(document.body.filters)
  {
    var arVersion = navigator.appVersion.split("MSIE");
    var version = parseFloat(arVersion[1]);
    if(version < 7)
    {
      canChangeBtnColors = false;
      _downButton.style.backgroundImage = 'url(spin_control_buttons.gif)';
      _upButton.style.backgroundImage = 'url(spin_control_buttons.gif)';
      _downButton.style.backgroundColor = '#FFFFFF';
      _upButton.style.backgroundColor = '#FFFFFF';
    }
  }
  
  _container.appendChild(_leftEdge);
  _container.appendChild(_bottomEdge);
  _container.appendChild(_topEdge);
  _container.appendChild(_rightEdge);
  _container.appendChild(_textBox);
  _container.appendChild(_upButton);
  _container.appendChild(_downButton);  
  
  function Run()
  {
    if(_running == 0)
      return;
    
    var elapsed = new Date().getTime() - _timeStart;
    var inc = _increment;
    
    if(_accelerationCollection.GetCount() != 0)
    {
      inc = 0;
      for(var i = 0; i<_accelerationCollection.GetCount(); i++)
      {
        if(elapsed < _accelerationCollection.GetIndex(i).GetMilliseconds())
          break;
        
        inc = _accelerationCollection.GetIndex(i).GetIncrement();
      }    
    }
    else if(elapsed < 600)
    {
      return;
    }
    
    DoChange(inc);
  }
  
  function CancelRunning()
  {
    _running = 0;
    if(_interval != -1)
    {
      clearInterval(_interval);
      _interval = -1;
    }
  }
  
  function DoChange(inc)
  {
    var newVal = _currentValue + inc * _running;
    UpdateCurrentValue(newVal);
  }
  
  function StartRunning(newState)
  {
    if(_running != 0)
      CancelRunning();

    _running = newState;
  
    DoChange(_increment);
    
    _timeStart = new Date().getTime();
    _interval = setInterval(Run, 150);
  }
  
  function UpdateCurrentValue(newVal)
  {
    /*if(newVal <_minimumVal)
      newVal = _minimumVal;
    if(newVal > _maximumVal)
      newVal = _maximumVal;*/
  
    newVal = Math.round(1000*newVal)/1000;
    
    if(newVal < _textBox.value)
    	scroller.scrollDown();
    else
    	scroller.scrollUp();
    
    _textBox.value = newVal;
    if(newVal == _currentValue)
      return;
    
    _currentValue = newVal;
    
    for(var i=0; i<_callbackArray.length; i++)
      _callbackArray[i](_this, _currentValue);
  }
  
  function UpPress(e)
  {
    _upButton.className = 'spinUpBtnPress';
    _downButton.className = 'spinDownBtn';
    StartRunning(1);
    _textBox.focus();
    return cancelEvent(e);
  }
  
  function DownPress(e)
  {
    _upButton.className = 'spinUpBtn';
    _downButton.className = 'spinDownBtnPress';
    StartRunning(-1);
    _textBox.focus();
    return cancelEvent(e);
  }
 
  function UpHover(e)
  {
    if(!_bodyEventHooked)
      hookEvent(document.body, 'mouseover', ClearBtns);
      
    _upButton.className = 'spinUpBtnHover';
    _downButton.className = 'spinDownBtn';
    CancelRunning();
    return cancelEvent(e);
  }
  
  function DownHover(e)
  {
    if(!_bodyEventHooked)
      hookEvent(document.body, 'mouseover', ClearBtns);
      
    _upButton.className = 'spinUpBtn';
    _downButton.className = 'spinDownBtnHover';
    CancelRunning();
    return cancelEvent(e);
  }
  
  function ClearBtns(e)
  {
    var target = getEventTarget(e);
    if(target == _upButton || target == _downButton)
      return;
    _upButton.className = 'spinUpBtn';
    _downButton.className = 'spinDownBtn';
    CancelRunning();
    
    if(_bodyEventHooked)
    {
      unhookEvent(document.body, 'mouseover', ClearBtns);
      _bodyEventHooked = false;
    }
    return cancelEvent(e);
  }
  
  function BoxChange()
  {
    var val = parseFloat(_textBox.value);
    if(isNaN(val))
      val = _currentValue;
    
    UpdateCurrentValue(val);
  }
  
  function MouseWheel(e)
  {
    e = e ? e : window.event;
    var movement = e.detail ? e.detail / -3 : e.wheelDelta/120;
    UpdateCurrentValue(_currentValue + _increment * movement);
    return cancelEvent(e);
  }
  
  function TextFocused(e)
  {
    hookEvent(window, 'DOMMouseScroll', MouseWheel);
    hookEvent(document, 'mousewheel', MouseWheel);
    return cancelEvent(e);
  }
  
  function TextBlur(e)
  {
    unhookEvent(window, 'DOMMouseScroll', MouseWheel);
    unhookEvent(document, 'mousewheel', MouseWheel);
    return cancelEvent(e);
  }
  
  this.StartListening = function()
  {
    hookEvent(document.getElementById('scrollSet'), 'mouseover', TextFocused);
    document.getElementById('scrollSet').onmouseout = function(){
    	unhookEvent(window, 'DOMMouseScroll', MouseWheel);
    	unhookEvent(document, 'mousewheel', MouseWheel);
    }
  }
   
  this.StopListening = function()
  {
    unhookEvent(_upButton, 'mousedown', UpPress); 
    unhookEvent(_upButton, 'mouseup', UpHover);
    unhookEvent(_upButton, 'mouseover', UpHover);
    
    unhookEvent(_downButton, 'mousedown', DownPress); 
    unhookEvent(_downButton, 'mouseup', DownHover);
    unhookEvent(_downButton, 'mouseover', DownHover);
    
    unhookEvent(_textBox, 'change', BoxChange);
    unhookEvent(_textBox, 'focus', TextFocused);
    unhookEvent(_textBox, 'blur', TextBlur);
    
    
    if(_bodyEventHooked)
    {
      unhookEvent(document.body, 'mouseover', ClearBtns);
      _bodyEventHooked = false;
    }
  }
  
  this.SetMaxValue = function(value)
  {
     value = parseFloat(value);
     if(isNaN(value))
       value = 1;
     _maximumVal = value;
       
    UpdateCurrentValue(_currentValue);
  }
   
  this.SetMinValue = function(value)
  {
     value = parseFloat(value);
     if(isNaN(value))
       value = 0;
     _minimumVal = value;
     
    UpdateCurrentValue(_currentValue);
  }
  
  this.SetCurrentValue = function(value)
  {
    value = parseFloat(value);
    if(isNaN(value))
      value = 0;
     
    UpdateCurrentValue(value);
  }
  
  this.SetWidth = function(value)
  {
    value = parseInt(value);
    if(isNaN(value) || value < 25)
      value = 25;
      
    _width = value;
    
    _container.style.width = _width + 'px';
    _bottomEdge.style.width = (_width - 1) + 'px';
    _topEdge.style.width = (_width - 1) + 'px';
    _textBox.style.width = (_width - 20) + 'px';  
  }
  
  this.SetIncrement = function(value)
  {
    value = parseFloat(value);
    if(isNaN(value))
      value = 0;
    if(value < 0)
      value = -value;
    
    _increment = value;
  }
  
  this.SetBackgroundColor = function(color)
  {
    _container.style.backgroundColor = color;
    _textBox.style.backgroundColor = color;
  }
  
  this.SetButtonColor = function(color)
  {
    if(!canChangeBtnColors)
      return;
      
    _upButton.style.backgroundColor = color;
    _downButton.style.backgroundColor = color;
  }
  
  this.SetFontColor = function(color)
  {
    _textBox.style.color = color;
  }
  
  this.SetBorderColor = function(color)
  {
    _topEdge.style.backgroundColor = color;
    _bottomEdge.style.backgroundColor = color;
    _leftEdge.style.backgroundColor = color;
    _rightEdge.style.backgroundColor = color;
  }
  
  this.AttachValueChangedListener = function(listener)
  {
    for(var i=0; i<_callbackArray.length; i++)
      if(_callbackArray[i] == listener)
        return;
        
    _callbackArray.push(listener);  
  }
  
  this.DetachValueChangedListener = function(listener)
  {
    newArray = new Array();
    for(var i=0; i<_callbackArray.length; i++)
      if(_callbackArray[i] != listener)
        newArray.push(_callbackArray[i]);
        
    _callbackArray = newArray;  
  }

  this.GetContainer = function()
  { return _container; }

  this.GetCurrentValue = function()
  { return _currentValue; }

  this.GetMaxValue = function()
  { return _maximumVal; }
   
  this.GetMinValue = function()
  { return _minimumVal; }
   
  this.GetWidth = function()
  { return _width; }
  
  this.GetIncrement = function()
  { return _increment; }
  
  this.GetAccelerationCollection = function()
  { return _accelerationCollection; }
  
  _this.SetWidth(_width);
}
