var categoryNamesListed=false;function tabberObj(_1fa){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 _1fa){this[arg]=_1fa[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 _1fd,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;_1fd=e.childNodes;for(i=0;i<_1fd.length;i++){if(_1fd[i].className&&_1fd[i].className.match(this.REclassTab)){t=new Object();t.div=_1fd[i];this.tabs[this.tabs.length]=t;if(_1fd[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_span=document.createElement("span");DOM_li.appendChild(DOM_span);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;}if(t.headingText=="Manage Categories"){DOM_li.onclick=this.listcategories;}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(_1fe){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":_1fe};if(!_1fe){onClickArgs.event=window.event;}rVal=self.onClick(onClickArgs);if(rVal===false){return false;}}self.tabShow(tabberIndex);scroller.reset();return false;};tabberObj.prototype.tabHideAll=function(){var i;for(i=0;i<this.tabs.length;i++){this.tabHide(i);}};tabberObj.prototype.tabHide=function(_201){var div;if(!this.tabs[_201]){return false;}div=this.tabs[_201].div;if(!div.className.match(this.REclassTabHide)){div.className+=" "+this.classTabHide;}this.navClearActive(_201);return this;};tabberObj.prototype.tabShow=function(_203){var div;if(!this.tabs[_203]){return false;}this.tabHideAll();div=this.tabs[_203].div;div.className=div.className.replace(this.REclassTabHide,"");this.navSetActive(_203);if(typeof this.onTabDisplay=="function"){this.onTabDisplay({"tabber":this,"index":_203});}return this;};tabberObj.prototype.navSetActive=function(_205){this.tabs[_205].li.className=this.classNavActive;return this;};tabberObj.prototype.navClearActive=function(_206){var _207="";this.tabs[_206].li.className=_207;return this;};tabberObj.prototype.getActiveTabName=function(){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.className.indexOf("tabberactive")!=-1){return this.tabs[i].li.getElementsByTagName("a")[0].childNodes[0].nodeValue;}}};tabberObj.prototype.getTab=function(_208){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.getElementsByTagName("a")[0].childNodes[0].nodeValue==_208){return this.tabs[i].div;}}};tabberObj.prototype.getTabNav=function(_209){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.getElementsByTagName("a")[0].childNodes[0].nodeValue==_209){return this.tabs[i].li;}}};tabberObj.prototype.getActiveTab=function(){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.className.indexOf("tabberactive")!=-1){return this.tabs[i].div;}}};tabberObj.prototype.getActiveTabIndex=function(){for(i=0;i<this.tabs.length;i++){if(this.tabs[i].li.className.indexOf("tabberactive")!=-1){return i;}}return -1;};function tabberAutomatic(_20a){var _20b,divs,i;if(!_20a){_20a={};}_20b=new tabberObj(_20a);divs=document.getElementsByTagName("div");for(i=0;i<divs.length;i++){if(divs[i].className&&divs[i].className.match(_20b.REclassMain)){_20a.div=divs[i];divs[i].tabber=new tabberObj(_20a);}}return this;}function tabberAutomaticOnLoad(_20c){var _20d;if(!_20c){_20c={};}_20d=window.onload;if(typeof window.onload!="function"){window.onload=function(){tabberAutomatic(_20c);};}else{window.onload=function(){_20d();tabberAutomatic(_20c);};}}if(typeof tabberOptions=="undefined"){tabberAutomaticOnLoad();}else{if(!tabberOptions["manualStartup"]){tabberAutomaticOnLoad(tabberOptions);}}tabberObj.prototype.listhashtags=function(_20e){window.location="/hashtag/manageHashTag.action";};tabberObj.prototype.listcategories=function(_20f){window.location="/category/manageCategory.action";};
tangler.manager.Scroller=function(_7c3,_7c4){this.oArgs=_7c4||{};var _7c5="LI";var _7c6=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(_7c3);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",_7c4,null);this.listItems=[];this.alphabetIndexdTabs=tangler.util.Options.getOptionalArgument("alphabetIndexdTabs",_7c4,[]);this.indexer=Ext.get(tangler.util.Options.getOptionalArgument("indexer",_7c4,null));this.onScroll=_7c4.onScroll;this.onBufferExhausted=_7c4.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 _7c7=this.container.scrollHeight;var _7c8=Math.abs(this.container.clientHeight*0.2);var pos=this.container.scrollTop+this.container.clientHeight;if((pos+_7c8)>=_7c7){this.fireEvent("bufferExhausted");}}_lastScrollTop=this.container.scrollTop;};this.checkAndDisable=function(){var _7ca=this.findElementToShow();var _7cb=false;var _7cc=false;if(this.listItems.length<=_7ca.visibleItemsCount){this.disableScroller(this.UP);this.disableScroller(this.DOWN);return;}if(_7ca.uBound.index==0&&_7ca.lBound.index==_7ca.visibleItemsCount&&_7ca.lBound.index!=-1){this.disableScroller(this.UP);_7cb=true;}if(_7ca.lBound.index==-1){this.disableScroller(this.DOWN);_7cc=true;}if(!_7cb){this.enableScroller(this.UP);}if(!_7cc){this.enableScroller(this.DOWN);}};this.disableScroller=function(_7cd){if(_7cd==this.UP){Ext.get(this.upButton).addClass("scrollerDisabled");}else{Ext.get(this.downButton).addClass("scrollerDisabled");}};this.enableScroller=function(_7ce){if(_7ce==this.UP){Ext.get(this.upButton).removeClass("scrollerDisabled");}else{Ext.get(this.downButton).removeClass("scrollerDisabled");}};this.findElementToShow=function(){var _7cf={uBound:{index:-1,item:null},lBound:{index:-1,item:null},visibleItemsCount:0};var _7d0=Ext.get(this.container);var _7d1=0;var _7d2=this.listItems.length;var _7d3=0;for(var i=0;i<this.listItems.length;i++){var _7d5=Ext.get(this.listItems[i]);var _7d6=_7d5.getOffsetsTo(_7d0)[1]+_7d5.getHeight();if(_7d6<0){_7d1=i+1;}else{if(_7d6>_7d0.getHeight()){_7d2=i;_7cf.lBound={index:i,item:_7d5};break;}}}_7d3=Math.abs(_7d2-_7d1);var _7d7=_7d1-_7d3;_7cf.visibleItemsCount=_7d3;_7d7=_7d7>-1?_7d7:0;_7cf.uBound={index:_7d7,item:Ext.get(this.listItems[_7d7])};return _7cf;};this.scrollIntoView=function(_7d8){var c=Ext.getDom(this.container);var _7da=Ext.get(_7d8);var el=_7da.dom;var o=_7da.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-_7da.getHeight();Ext.get(c).scrollTo("top",y,this.slidingConf);}}c.scrollTop=c.scrollTop;};this.scrollToIndex=function(){var _7e3=arguments[2].letter;var _7e4=null;var _7e5="div[title="+_7e3+"]";_7e4=Ext.get(tabber.getActiveTab()).select(_7e5).elements;if(_7e4!=null&&_7e4.length>0){this.scrollIntoView(_7e4[0].parentNode);}};this.reset=function(){this.listItems=new Array();var _7e6=[];if(this.tabber!=null&&this.tabber.getActiveTab()){this.listItems=Ext.get(tabber.getActiveTab()).select(_7c5).elements;if(this.alphabetIndexdTabs.contains(tabber.getActiveTabName())){if(this.oArgs.indicesForTabs&&this.oArgs.indicesForTabs[this.tabber.getActiveTabName()]){_7e6=this.oArgs.indicesForTabs[this.tabber.getActiveTabName()];}else{var _7e7=Ext.get(tabber.getActiveTab()).select(_7c5+" div.letterIndex").elements;for(var i=0;i<_7e7.length;i++){_7e6.push(_7e7[i].title);}}this.initIndexer(_7e6);this.toggleIndexer(true);}}else{if(Ext.get("categories")){Ext.get("categories").applyStyles({display:"block"});this.listItems=Ext.get("categories").select(_7c5).elements;}else{this.listItems=Ext.get(this.scrollElement).select(_7c5).elements;}}if(this.listItems.length>0){this.scrollIntoView(this.listItems[0]);}if(_7e6.length==0){this.toggleIndexer(false);}this.checkAndDisable();};this.checkForNewEntries=function(){var _7e9=tabber.getActiveTab()||"categories";this.listItems=Ext.get(_7e9).select(_7c5).elements;};this.initIndexer=function(_7ea){tangler.util.Element.removeChildNodes(this.indexer);var _7eb="ABCDEFGHIJKLMNOPQRSTUVWXYZ";var _7ec=new Array();for(var i=0;i<_7eb.length;i++){var li=null;var _7ef=_7eb.charAt(i);if(_7ea.contains(_7ef)){var href=tangler.util.Element.createNode("a",{attributes:[["href","javascript:void(null);"]],children:[document.createTextNode(_7ef)]});tangler.util.Element.getEl(href).on({"click":{fn:this.scrollToIndex,scope:this,letter:_7ef}});li=tangler.util.Element.createNode("li",{children:[href]});}else{li=tangler.util.Element.createNode("li",{children:[document.createTextNode(_7ef)]});}_7ec.push(li);}var ul=tangler.util.Element.createNode("ul",{children:_7ec});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 _7f3=this;Ext.get(this.upButton).on({"click":{fn:_7f3.scrollUp,scope:_7f3}});Ext.get(this.downButton).on({"click":{fn:_7f3.scrollDown,scope:_7f3}});this.observeEvents();this.checkAndDisable();};this.scrollUp=function(){this.scroll(this.UP);};this.scrollDown=function(){this.scroll(this.DOWN);};this.scroll=function(_7f4){var _7f5=this.findElementToShow();if(_7f4==this.UP&&_7f5.uBound.item!=null){this.scrollIntoView(_7f5.uBound.item);}else{if(_7f4==this.DOWN&&_7f5.lBound.item!=null){this.scrollIntoView(_7f5.lBound.item);}}};this.tabberClicked=function(){new Ext.util.DelayedTask(function(){this.reset();},this).delay(50);};this.getStatus=function(){var _7f6=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 _7f8=Ext.get(list).select("LI").elements.length;var _7f9=_7f6.lBound.index==-1?_7f8:_7f6.lBound.index;var _7fa=_7f9-_7f6.visibleItemsCount+1;var _7fb={list:list,totalItems:_7f8,uIndex:_7fa,lIndex:_7f9,scrollContent:this.scrollElement,scrollContainer:this.container};if(this.tabber!=null){_7fb.activeTab=this.tabber.getActiveTabName();}return _7fb;};this.observeElements=function(_7fc){var _7fd=this;for(var i=0;i<_7fc.length;i++){Ext.EventManager.addListener(Ext.get(_7fc[i]),"click",function(){this.tabberClicked();},_7fd,{preventDefault:true});}};if(typeof (tabber)!="undefined"){this.tabber=tabber;this.listItems=Ext.get(tabber.getActiveTab()).select(_7c5).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 _7ff=Ext.get(tabber.getActiveTab()).select(_7c5+" div.letterIndex").elements;for(var i=0;i<_7ff.length;i++){activeList.push(_7ff[i].title);}}this.initIndexer(activeList);}}else{this.listItems=Ext.get(this.scrollElement).select(_7c5).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(_847){this._defaultWidth=550;this._defaultHeight=350;this._defaultRefreshOnClose=true;var _848=tangler.util.Options.getOptionalArgument("width",_847,this._defaultWidth);var _849=tangler.util.Options.getOptionalArgument("height",_847,this._defaultHeight);var _84a=tangler.util.Options.getOptionalArgument("closable",_847,false);this._url=tangler.util.Options.getOptionalArgument("url",_847,"");this._title=tangler.util.Options.getOptionalArgument("title",_847);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:_848,height:_849,autoCreate:true,closable:_84a});};tangler.widget.WindowWrapper.prototype={showWindow:function(_84b){var _84c=tangler.util.Options.getOptionalArgument("refreshOnClose",_84b,this._defaultRefreshOnClose);var _84d=tangler.util.Options.getOptionalArgument("destroyFunction",_84b,null);if(_84c){_84d=tangler.info.Page.refreshPage;}if(_84d!=null){this._window.addListener("hide",_84d);}this._window.setTitle(this._title);this._window.showDialog();},onIFrameLoaded:function(_84e){return function(){var w=tangler.util.Element.getEl(_84e);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(_850,_851){this._window.setContentSize(_850,_851);},destroyFunctionHandler:function(_852,_853){return function(_854,win){if(win==_852){_853();}};}};tangler.widget.DialogWrapper=function(_856,_857){Ext.useShims=true;this._dialogId=_856;this._dialog=null;var _858=tangler.util.Options.getOptionalArgument("width",_857,500);var _859=tangler.util.Options.getOptionalArgument("height",_857,300);var _85a=tangler.util.Options.getOptionalArgument("minWidth",_857,300);var _85b=tangler.util.Options.getOptionalArgument("minHeight",_857,300);var _85c=tangler.util.Options.getOptionalArgument("underlay",_857,"none");var _85d=tangler.util.Options.getOptionalArgument("resizable",_857,true);var _85e=tangler.util.Options.getOptionalArgument("draggable",_857,true);var _85f=tangler.util.Options.getOptionalArgument("modal",_857,true);var _860=tangler.util.Options.getOptionalArgument("closable",_857,false);var _861=tangler.util.Options.getOptionalArgument("BasicDialog",_857,true);var _862=tangler.util.Options.getOptionalArgument("autoCreate",_857,false);var _863=tangler.util.Options.getOptionalArgument("autoHeight",_857,false);var _864=tangler.util.Options.getOptionalArgument("shadow",_857,true);var _865=tangler.util.Options.getOptionalArgument("acceptLabel",_857,null);var _866=tangler.util.Options.getOptionalArgument("declineLabel",_857,null);var _867=tangler.util.Options.getOptionalArgument("acceptFunction",_857,null);var _868=tangler.util.Options.getOptionalArgument("declineFunction",_857,null);var _869=tangler.util.Options.getOptionalArgument("defaultFocus",_857,null);if(_865){if(_867==null){alert("Please set acceptFunction");return;}}if(_866){if(_868==null){alert("Please set declineFunction");return;}}var _86a=tangler.util.Helper.getBrowserSize();if(_858>_86a.width){_858=_86a.width-50;}if(_859>_86a.height){_859=_86a.height-50;}var _86b=null;var _86c=[];if(_865){_86c[0]={text:_865,handler:_867,id:"acceptButton"};}if(_866){_86c[1]={text:_866,handler:_868,id:"declineButton"};}if(_869&&_869==_865){_86b="acceptButton";}else{if(_869&&_869==_866){_86b="declineButton";}}if(!_869){this._dialog=new Ext.Window({applyTo:_856,width:_858,height:_859,minWidth:_85a,minHeight:_85b,constraintoviewport:true,underlay:_85c,resizable:false,draggable:false,modal:_85f,shim:true,collapsible:false,closable:_860,fixedCenter:true,autoHeight:_863,shadow:_864,buttons:_86c});}else{this._dialog=new Ext.Window({applyTo:_856,width:_858,height:_859,minWidth:_85a,minHeight:_85b,constraintoviewport:true,underlay:_85c,resizable:false,draggable:false,modal:_85f,shim:true,collapsible:false,closable:_860,fixedCenter:true,autoHeight:_863,shadow:_864,buttons:_86c,defaultButton:_86b});}if(_865){this._dialog.addButton({text:_865,handler:_867});}if(_866){this._dialog.addButton({text:_866,handler:_868});}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(_870,_871){if(this._dialog==null){return;}this._dialog.resizeTo(_870,_871);this._dialog.setContentSize(_870,_871);this._dialog.center();},showDialog:function(_872){if(this._dialog==null){return;}var elem=tangler.util.Options.getOptionalArgument("element",_872);var _874=tangler.util.Options.getOptionalArgument("anchor",_872,"");if(elem){this._dialog.alignTo(elem,_874);}var _875=tangler.util.Helper.getBrowserSize();if(this._dialog.maximumWidth>_875.width){this._dialog.maximumWidth=(_875.width-50);}this._dialog.show();},isVisible:function(){return (this._dialog!=null&&this._dialog.isVisible());},closeAndDestroy:function(_876){if(this._dialog==null){return;}this._dialog.hide();this._dialog.destroy(_876);},destroy:function(_877){this._dialog.destroy(_877);},hide:function(){if(this._dialog==null){return;}this._dialog.hide();},addListener:function(_878,fn,_87a){if(this._dialog==null){return;}this._dialog.on(_878,fn,this,_87a);},setTitle:function(_87b){if(this._dialog==null){return;}this._dialog.setTitle(_87b);}};
tangler.manager.ProfileState=function(){var _674=null;var _675=function(){this.isFollowed=false;this.isFollower=false;this.isContact=false;this.profileId=0;this.profileOwnerScreenName=null;this.viewerId=0;this.viewType=null;_675.superclass.constructor.call(this);_pState=this;};Ext.extend(_675,Ext.util.Observable,{setFollwer:function(_676){this.isFollower=_676;},getFollower:function(){return this.isFollower;},setFollwed:function(_677){this.isFollowed=_677;},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(_67a){this.isContact=_67a;},isContact:function(){return this.isContact;},setProfileOwnerScreenName:function(_67b){this.profileOwnerScreenName=_67b;},getProfileOwnerScreenName:function(){return this.profileOwnerScreenName;},onAddAsFriend:function(){var _67c=(this.userId!="undefined"&&this.userId!=null)?this.userId:_pState.profileId;var args={button:this.button};DWRUserHandler.addAsFriend(_67c,"",{callback:function(data){_pState._addedFriendCallbackSuccess(data,args);},errorHandler:_pState._addedFriendCallbackFailure});},onToggleFollow:function(){var _67f=(this.userId!="undefined"&&this.userId!=null)?this.userId:0;var _680=(this.followed!="undefined"&&this.followed!=null)?this.followed:_pState.isFollowed;var args=null;if(_67f==0){_67f=_pState.profileId;args={button:this.button};}else{args=this;}args.followUserId=_67f;DWRUserHandler.toggleFollow(_67f,!_680,{callback:function(data){_pState._toggleCallbackSuccess(data,args);},errorHandler:_pState._toggleCallbackFailure});},_toggleCallbackSuccess:function(_683,args){if(!_683){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 _685="";if(args.userId!=null){var _686=!args.followed?"Stop Following ":"Follow ";_685=_686;args.followed=!args.followed;}else{var _686=!_pState.isFollowed?"Stop Following ":"Follow ";_pState.setFollwed(!_pState.isFollowed);_685=_686;}tangler.util.Element.getEl(args.button).update(_685);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(_685);}}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(_674==null){_674=new tangler.widget.DialogWrapper("join-dlg",{minHeight:80,width:230,height:80,draggable:false,resizable:false,acceptLabel:"Ok",defaultFocus:"Ok",acceptFunction:function(){_674.hide();}});}if(_674.isVisible()){return;}_674.showDialog();},init:function(_689){this.isFollower=tangler.util.Options.getOptionalArgument("isFollower",_689,false);this.isFollowed=tangler.util.Options.getOptionalArgument("isFollowed",_689,false);this.profileId=tangler.util.Options.getOptionalArgument("profileId",_689,0);this.profileOwnerScreenName=tangler.util.Options.getOptionalArgument("profileName",_689,null);this.viewerId=tangler.util.Options.getOptionalArgument("viewerId",_689,0);this.viewType=tangler.util.Options.getOptionalArgument("viewType",_689,null);if(!tangler.info.Page.isEmbed()&&!tangler.info.Session.getSecurity().isAuthenticated()){var view=tangler.info.Page.getView();var _68b=null;switch(view){case tangler.info.ViewType.Profile:_68b=tangler.util.Element.getEl("followUserButton");if(_68b!=null){_68b.on("click",tangler.manager.ProfileState.onFollowAsAnonymousUser,this);}break;case tangler.info.ViewType.TopicDiscuss:_68b=tangler.util.Element.getEl("followTopicOwner");if(_68b!=null){_68b.on("click",tangler.manager.ProfileState.onFollowAsAnonymousUser,this);}break;}}}});return new _675();}();
tangler.manager.Conversations=function(){var _210=null;var _211=tangler.util.Element;var _212=tangler.util.Options;var _213=false;var _214="yyyy-MM-dd HH:mm:ss";var _215=new Ext.Template("<div id=\"ft-{topicGId}\" class=\"listBox\">","\t<div class=\"listBoxDetails\">","\t\t<div class=\"listBoxSubDetails\">","\t\t\t<div class=\"listBoxSubDetailTitle ellipsis ellipsisTopic\">","\t\t\t\t<a class=\"ellipsis listTopicName ellipsisTopic\" 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 _216=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 ellipsis ellipsisTopic\">","\t\t\t\t\t<a class=\"ellipsis listTopicName ellipsisTopic\" 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 class=\"ellipsis ellipsisScreename\" href=\"/user/{author}\">{author}</a>","\t\t\t\t\t</span>","\t\t\t\t\t- {createdOn} ago"," \t\t\t\t\tin <span><a href=\"javascript:void(0);\" onclick=\"tangler.manager.HomePage.categoryClicked('{categoryName}');\" class=\"topicCatetoryLink\" title=\"{categoryName}\">{categoryName}</a></span>","\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>");_215.compile();_216.compile();var _217=function(){_217.superclass.constructor.call(this);_210=this;};Ext.extend(_217,Ext.util.Observable,{newConversationsFetched:function(_218,_219){for(var i=0;i<_218.length;i++){var _21b=_218[i].topicDetail.globalId;var _21c=tangler.util.Avatar.getAvatarUrl(_218[i].topicDetail.author.avatar,{height:36,width:36,avatarType:"user"});var _21d=tangler.util.Helper.replaceEscapeHtml(_218[i].topicDetail.name);var _21e=_218[i].topicDetail.author.screenName;var _21f=tangler.util.formatter.showAbstractTime(_218[i].topicDetail.created);var _220=formatDate(_218[i].topicDetail.created,_214);var _221=_218[i].topicDetail.categoryName;var li=tangler.util.Element.createNode("li");_216.append(li,{topicGId:_21b,avatarUrl:_21c,topicName:_21d,author:_21e,createdOn:_21f,categoryName:_221,topicCreateDate:_220});tangler.util.Element.getEl("recentConversationList").dom.appendChild(li);}document.getElementById("scrollStatusMsg").innerHTML="";_219.checkForNewEntries();_219.checkAndDisable();},newConversationsFetchedError:function(data){document.getElementById("scrollStatusMsg").innerHTML="";},myConversationsFetched:function(_224,_225){var _226=_224.list;for(var i=0;i<_226.length;i++){var _228=_226[i].topicDetail.globalId;var _229=tangler.util.Helper.replaceEscapeHtml(_226[i].topicDetail.name);var _224="";if(_226[i].totalMessages==0){_224="No messages posted";}else{_224="Last msg: "+"<span>"+tangler.util.formatter.showAbstractTime(_226[i].lastMessagePosted)+"</span>"+" - Total msgs: "+"<span>"+_226[i].totalMessages+"</span>"+" - Contributors: "+"<span>"+_226[i].contributors+"</span>";}var _22a=formatDate(_226[i].topicDetail.created,_214);var _22b=_226[i].topicDetail.author.screenName;var _22c=tangler.util.formatter.showAbstractTime(_226[i].topicDetail.created);var _22d=formatDate(_226[i].topicDetail.created,_214);var li=tangler.util.Element.createNode("li");_215.append(li,{topicGId:_228,topicName:_229,topicSummary:_224,topicData:_22d});tangler.util.Element.getEl("conversationList").dom.appendChild(li);}document.getElementById("scrollStatusMsg").innerHTML="";_225.checkForNewEntries();_225.checkAndDisable();},myConversationsFetchedError:function(data){document.getElementById("scrollStatusMsg").innerHTML="";},categoryConversationsFetched:function(_230,_231){for(var i=0;i<_230.length;i++){var _233=_230[i].topicDetail.globalId;var _234=tangler.util.Avatar.getAvatarUrl(_230[i].topicDetail.author.avatar,{height:36,width:36,avatarType:"user"});var _235=tangler.util.Helper.replaceEscapeHtml(_230[i].topicDetail.name);var _236=_230[i].topicDetail.author.screenName;var _237=tangler.util.formatter.showAbstractTime(_230[i].topicDetail.created);var _238=_230[i].topicDetail.categoryName;var li=tangler.util.Element.createNode("li");var _23a=formatDate(_230[i].topicDetail.created,_214);_216.append(li,{topicGId:_233,avatarUrl:_234,topicName:_235,author:_236,createdOn:_237,categoryName:_238,topicCreateDate:_23a});Ext.get(li).applyStyles({"margin-bottom":"12px"});tangler.util.Element.getEl("categoriesList").dom.appendChild(li);}document.getElementById("scrollStatusMsg").innerHTML="";var _23b=_231||scroller;if(_23b){_23b.checkForNewEntries();_23b.checkAndDisable();}},categoryConversationsFetchedError:function(data){document.getElementById("scrollStatusMsg").innerHTML="";},fetchContents:function(_23d,_23e){var _23f=_23e.tabber.getActiveTabName();var _240=_23e.tabber.getActiveTab()||"categories";var _241=Ext.get(_240).select("span.topicData").elements;var _242=new Date();if(_241.length>0){var _243=_241[_241.length-1].innerHTML;_242=new Date(getDateFromFormat(_243,_214));}if(_23f=="Conversations"){document.getElementById("scrollStatusMsg").innerHTML="fetching more topics...";DWRUserHandler.getUserConversationsBefore(_23d,_242,{callback:function(_244){_210.myConversationsFetched(_244,_23e);},errorHandler:_210.myConversationsFetchedError});}else{if(_23f=="New Conversations"){document.getElementById("scrollStatusMsg").innerHTML="fetching more topics...";DWRTopicHandler.getRecentTopicsBucket(_242,{callback:function(_245){_210.newConversationsFetched(_245,_23e);},errorHandler:_210.newConversationsFetchedError});}else{if(!_23f){document.getElementById("scrollStatusMsg").innerHTML="fetching more topics...";var _246=Ext.get("categoriesList").select("a.topicCatetoryLink").elements[0];var _247=_246.innerText||_246.textContent;DWRTopicHandler.getTopicsByCategory(_242,_247,{callback:function(_248){_210.categoryConversationsFetched(_248,_23e);},errorHandler:_210.categoryConversationsFetchedError});}}}}});return new _217();}();
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);
}

