function ShareThis(){this.mSource=null;this.mContainer=null;this.mUrlContainer=null;this.mCloseButton=null;this.mRssButton=null;this.mIsClosed=true;this.mTinyUrl=null;this.mShareWidgetImgSrcUrl="";this.mShareWidgetImgHrefUrl="";this.mShareWidgetScriptUrl="";this.CLASSNAME="shareThis";this.CLOSE_BUTTON_CLASSNAME="closeButton";this.RSS_BUTTON_CLASSNAME="rssButton";this.RSS_IMAGE_CLASSNAME="rssImage";this.SHARE_WIDGET_CLASSNAME="addthis_button";this.INSTRCUTION_TEXT="Copy and paste this link into an email or instant message";this.OPACITY=0.9;this.init=function(){this.mContainer=$(document.createElement("div"));this.mUrlContainer=$(document.createElement("input"));this.mCloseButton=$(document.createElement("a"));this.mContainer.addClassName(this.CLASSNAME);this.mContainer.hide();this.mUrlContainer.type="text";this.mCloseButton.href="javascript: var closeButton;";this.mCloseButton.addClassName(this.CLOSE_BUTTON_CLASSNAME);this.mContainer.appendChild(this.mUrlContainer);this.mContainer.insert({top:"<p>"+this.INSTRCUTION_TEXT+"</p>"});this.mContainer.appendChild(this.mCloseButton);document.body.appendChild(this.mContainer);var A=this;YAHOO.util.Event.addListener(this.mSource,"click",function(){A.toggle()});this.mCloseButton.onclick=function(){A.toggle()};this.mUrlContainer.onfocus=function(){Form.Element.select(A.mUrlContainer)};this.mContainer.style.position="absolute";this.mCloseButton.style.position="absolute";this.mCloseButton.style.right=5+"px";this.mCloseButton.style.top=5+"px";this.updatePosition()};this.updatePosition=function(){var A=jshGetWindowSize();var B=this.mSource.cumulativeOffset();if(A[0]>(B[0]+this.mContainer.getWidth())){this.mContainer.style.left=(B[0])+"px"}else{this.mContainer.style.left=(A[0]-(this.mContainer.getWidth()+5))+"px"}this.mContainer.style.top=Math.round(B[1]+this.mSource.getHeight())+"px"};this.show=function(){this.mIsClosed=false;this.updatePosition();this.mContainer.show();this.mSource.blur();this.mCloseButton.blur();if(this.mTinyUrl==null){this.requestTinyUrl();this.mUrlContainer.focus()}else{this.setUrl(this.mTinyUrl);this.mUrlContainer.focus()}};this.hide=function(){this.mIsClosed=true;this.mContainer.hide();this.mSource.blur();this.mCloseButton.blur()};this.toggle=function(){if(this.mIsClosed==true){this.show()}else{this.hide()}};this.render=function(B,A){if(B&&A){if(!this.mSource){this.mSource=B;this.init()}this.setUrl(A)}};this.setUrl=function(A){this.mUrlContainer.value=A};this.setBaseUrl=function(A){this.mBaseUrl=A};this.getBaseUrl=function(){return this.mBaseUrl};this.setTinyUrl=function(A){this.mTinyUrl=A};this.setShareWidgetImgSrcUrl=function(A){this.mShareWidgetImgSrcUrl=A};this.setShareWidgetScriptUrl=function(A){this.mShareWidgetScriptUrl=A};this.setShareWidgetImgHrefUrl=function(A){this.mShareWidgetImgHrefUrl=A};this.requestTinyUrl=function(){addTinyUrl(encodeURIComponent(this.mUrlContainer.value))};this.setRssUrl=function(A){if(this.mContainer!=null){this.mRssButton=$(document.createElement("a"));this.mRssImage=$(document.createElement("div"));this.mRssImage.addClassName(this.RSS_IMAGE_CLASSNAME);this.mRssButton.addClassName(this.RSS_BUTTON_CLASSNAME);this.mRssButton.appendChild(this.mRssImage);this.mRssButton.href=A;this.mRssButton.style.cssFloat="left";this.mRssButton.style.styleFloat="left";this.mContainer.appendChild(this.mRssButton)}};this.constructShareWidget=function(){if($$("a."+this.SHARE_WIDGET_CLASSNAME).length>0){return }if(this.mShareWidgetImgSrcUrl.length==0){return }this.mShareWidgetButton=$(document.createElement("a"));this.mShareWidgetImage=$(document.createElement("img"));this.mShareWidgetImage.alt="Share";this.mShareWidgetImage.border="0";this.mShareWidgetButton.addClassName(this.SHARE_WIDGET_CLASSNAME);this.mShareWidgetButton.href=this.mShareWidgetImgHrefUrl;this.mShareWidgetButton.style.cssFloat="left";this.mShareWidgetButton.style.styleFloat="left";this.mShareWidgetButton.style.marginTop="4px";if($$("a."+this.RSS_BUTTON_CLASSNAME).length>0){this.mShareWidgetButton.style.paddingLeft="5px"}this.mShareWidgetImage.src=this.mShareWidgetImgSrcUrl;if(this.mTinyUrl==null){this.mShareWidgetButton.setAttribute("addthis:url",this.mUrlContainer.value)}else{this.mShareWidgetButton.setAttribute("addthis:url",this.mTinyUrl)}this.mShareWidgetButton.appendChild(this.mShareWidgetImage);this.mContainer.appendChild(this.mShareWidgetButton);Form.Element.select(this.mUrlContainer);if(addthis){addthis.init()}}};
