/*
 * ShareThis Widget Version 3.1.0-rc1
 * 3/26/09 ShareThis.com 
 */
var Widget=new Class({Implements:Events,shareables:[],shareablesKey:"",shareableIndex:0,authToken:"",user:null,maxContactSearchResults:5,initialize:function(){this.user=new Widget.User(this);window.contacts=this.contacts;this.pages=this.initializePages(this.pages)},setMaxContactSearchResults:function(max){this.maxContactSearchResults=max},userIsSignedIn:function(){return this.user.isSignedIn()},signIn:function(){var err_set=false;var err="";if($("textAuthUsername").value===""){err+="Please enter your username.\n";err_set=true}if($("textAuthPassword").value===""){err+="Please enter your password.";err_set=true}if(!err_set){this.user.signIn($("textAuthUsername").value,$("textAuthPassword").value)}else{widget.validationFailed(err)}},signOut:function(){forgetUser();this.user.signOut()},sortAddressBook:function(by){if(this.pages.addressbook&&this.pages.addressbook.addressBook){this.pages.addressbook.addressBook.sort(by)}},jumpToServiceInAddressBook:function(serviceTag){if(this.pages.addressbook&&this.pages.addressbook.addressBook){this.pages.addressbook.addressBook.scrollToService(serviceTag)}},postTypePad:function(){var username=$("inputTpUsername").value;var password=$("inputTpPassword").value;if($("typepadRememberMe").checked){var rememberme=1}else{var rememberme=0}if($("typepadForgetMe").value==="true"){var forgetme=1}else{var forgetme=0}var err="";var err_set=false;if(!username&&!blogid){err_set=true;err+="Please enter a username.\n"}if(!password&&!blogid){err_set=true;err+="Please enter a password.\n"}if(err_set){widget.validationFailed(err)}else{if(document.getElementById("tpSelect")){var blogid=$("tpSelect").get("value")}var data="";var atag="<a href="+glo_url+">"+decodeURIComponent(glo_title)+"</a>";if(glo_content!==""){atag=""}atag=encodeURIComponent(atag);if(!blogid){data="username="+username+"&password="+password+"&d="+glo_content+atag+"&draft="+glo_tpDraft+"&t=glo_title&return=json&rememberme="+rememberme+"&forgetme="+forgetme}else{data="blogid="+blogid+"&d="+glo_content+atag+"&draft="+glo_tpDraft+"&password="+password+"&t=glo_title&username="+username+"&return=json&rememberme="+rememberme+"&forgetme="+forgetme}var request=new Request({method:"post",url:"/api/postTypePad_ws.php",data:data,onSuccess:this.postTypePad_onSuccess.bind(this)});this.fireEvent("postToServiceRequested","typepad");request.send()}},postTypePad_onSuccess:function(responseText,responseXML){var resp=JSON.decode(responseText);if(resp.status.toLowerCase()=="success"){this.fireEvent("postToServiceSucceeded","typepad")}if(resp.status.toLowerCase()=="failure"){if(resp.errorMessage&&resp.errorMessage.toLowerCase()=="auth_failed"){this.fireEvent("postToServiceFailed",["typepad","Invalid Username or Password"])}if(resp.errorMessage&&resp.errorMessage.toLowerCase()=="multiple"){this.fireEvent("postToServiceNeedsMoreInfo",["typepad","You have successfully signed on. Please select a blog.",resp.data])}else{this.fireEvent("postToServiceFailed",["typepad","Unable to connect to your blog."])}}},postBlogger:function(){var username=$("inputBloggerUsername").value;var password=$("inputBloggerPassword").value;if($("bloggerRememberMe").checked){var rememberme=1}else{var rememberme=0}if($("bloggerForgetMe").value==="true"){var forgetme=1}else{var forgetme=0}var err="";var err_set=false;if(!username&&!blogid){err_set=true;err+="Please enter a username.\n"}if(!password&&!blogid){err_set=true;err+="Please enter a password.\n"}if(err_set){widget.validationFailed(err)}else{if(document.getElementById("bloggerSelect")){var blogid=$("bloggerSelect").get("value")}var data="";var atag="<a href="+glo_url+">"+decodeURIComponent(glo_title)+"</a>";if(glo_content!==""){atag=""}atag=encodeURIComponent(atag);if(!blogid){data="username="+username+"&password="+password+"&d="+glo_content+atag+"&draft="+glo_bloggerDraft+"&t="+glo_title+"&return=json&rememberme="+rememberme+"&forgetme="+forgetme}else{data="username="+username+"&password="+password+"&d="+glo_content+atag+"&draft="+glo_bloggerDraft+"&t="+glo_title+"&return=json&blogid="+blogid+"&rememberme="+rememberme+"&forgetme="+forgetme}var request=new Request({method:"post",url:"/api/postBlogger_ws.php",data:data,onSuccess:this.postBlogger_onSuccess.bind(this)});this.fireEvent("postToServiceRequested","blogger");request.send()}},postBlogger_onSuccess:function(responseText,responseXML){var resp=JSON.decode(responseText);if(resp.status.toLowerCase()=="success"){this.fireEvent("postToServiceSucceeded","blogger")}if(resp.status==="FAILURE"){if(resp.errorMessage&&resp.errorMessage.toLowerCase()==="auth_failed"){this.fireEvent("postToServiceFailed",["blogger","Invalid Username or Password"])}else{if(resp.errorMessage&&resp.errorMessage.toLowerCase()==="multiple"){this.fireEvent("postToServiceNeedsMoreInfo",["blogger","You have successfully signed on. Please select a blog.",resp.data])}else{this.fireEvent("postToServiceFailed",["blogger","Unable to connect to your blog."])}}}},postOrkut:function(){var username=$("inputOrkutUsername").value;var password=$("inputOrkutPassword").value;var comment=$("txtOrkutComment").value;if(comment==="optional"){comment=""}comment=encodeURIComponent(comment);if($("orkutRememberMe").checked){var rememberme=1}else{var rememberme=0}if($("orkutForgetMe").value==="true"){var forgetme=1}else{var forgetme=0}var err="";var err_set=false;var captcha="";var atag="<a href="+glo_url+">"+decodeURIComponent(glo_title)+"</a>";if(glo_content!==""){atag=""}atag=encodeURIComponent(atag);if(!username){err_set=true;err+="Please enter a username.\n"}if(!password){err_set=true;err+="Please enter a password.\n"}if(Orkutcaptcha){if($("inputOrkutCaptcha").value===""){err_set=true;err="Please enter the captcha.\n"}else{captcha=$("inputOrkutCaptcha").value}}if(err_set){widget.validationFailed(err)}else{var data="";if(Orkutcaptcha){var tmp="cookiefile="+encodeURIComponent(glo_Orkutcookiefile)+"&post_token="+encodeURIComponent(glo_Orkutpost_token)+"&signature="+encodeURIComponent(glo_Orkutsignature)+"&postdata="+encodeURIComponent(glo_Orkutpostdata)+"&captcha="+captcha+"&rememberme="+rememberme+"&forgetme="+forgetme;data=tmp}else{data="username="+username+"&password="+password+"&d="+glo_content+atag+"&t=glo_title&comments="+comment+"&return=json&rememberme="+rememberme+"&forgetme="+forgetme}var request=new Request({method:"post",url:"/api/postOrkut_ws.php",data:data,onSuccess:this.postOrkut_onSuccess.bind(this)});this.fireEvent("postToServiceRequested","orkut");request.send()}},postOrkut_onSuccess:function(responseText,responseXML){var resp=JSON.decode(responseText);if(resp.status.toLowerCase()==="success"){glo_Orkutcaptchaurl="";glo_Orkutcookiefile="";glo_Orkutpost_token="";glo_Orkutsignature="";glo_Orkutpostdata="";Orkutcaptcha=false;$("orkutCaptchaImage").addClass("hidden");$("orkutCaptcha").addClass("hidden");this.fireEvent("postToServiceSucceeded","orkut")}else{if(resp.statusMessage&&resp.statusMessage.toLowerCase()==="need_captcha"){glo_Orkutcaptchaurl=resp.data.captchaurl;glo_Orkutcookiefile=resp.data.cookiefile;glo_Orkutpost_token=resp.data.post_token;glo_Orkutsignature=resp.data.signature;glo_Orkutpostdata=resp.data.postdata;Orkutcaptcha=true;$("orkutPostData").addClass("hidden");$("orkutCaptcha").removeClass("hidden");var img='<img alt="orkut captcha image" src="'+glo_Orkutcaptchaurl+'" height="70" width="200">';$("orkutCaptchaImage").set("html",img);$("orkutCaptchaImage").removeClass("hidden");this.fireEvent("postToServiceNeedsMoreInfo",["orkut","Captcha entry required."])}else{this.fireEvent("postToServiceFailed",["orkut",resp.statusMessage])}}},postLive_journal:function(){var username=$("inputLive_journalUsername").value;var password=$("inputLive_journalPassword").value;var comment=$("txtLive_journalComment").value;if(comment==="optional"){comment=""}comment=encodeURIComponent(comment);if($("livejournalRememberMe").checked){var rememberme=1}else{var rememberme=0}if($("livejournalForgetMe").value==="true"){var forgetme=1}else{var forgetme=0}var err="";var err_set=false;if(!username){err_set=true;err+="Please enter a username.\n"}if(!password){err_set=true;err+="Please enter a password.\n"}var atag="<a href="+glo_url+">"+decodeURIComponent(glo_title)+"</a>";if(glo_content!==""){atag=""}atag=encodeURIComponent(atag);if(err_set){widget.validationFailed(err)}else{var data="";data="username="+username+"&password="+password+"&d="+comment+"<br/><br/>"+glo_content+atag+"&t="+glo_title+"&return=json&rememberme="+rememberme+"&forgetme="+forgetme;var request=new Request({method:"post",url:"/api/postLiveJournal_ws.php",data:data,onSuccess:this.postLive_journal_onSuccess.bind(this)});this.fireEvent("postToServiceRequested","livejournal");request.send()}},postLive_journal_onSuccess:function(responseText,responseXML){var resp=JSON.decode(responseText);if(resp.status.toLowerCase()==="success"){this.fireEvent("postToServiceSucceeded","livejournal")}else{this.fireEvent("postToServiceFailed",["orkut","Error while trying to post to your blog."])}},postFriendster:function(){var username=$("inputFriendsterUsername").value;var password=$("inputFriendsterPassword").value;var section=$("txtFriendster").get("value");var comment=$("txtFriendsterComment").value;if(comment==="optional"){comment=""}comment=encodeURIComponent(comment);if($("friendsterRememberMe").checked){var rememberme=1}else{var rememberme=0}if($("friendsterForgetMe").value==="true"){var forgetme=1}else{var forgetme=0}var err="";var err_set=false;if(!username){err_set=true;err+="Please enter a username.\n"}if(!password){err_set=true;err+="Please enter a password.\n"}if(err_set){widget.validationFailed(err)}else{var atag="<a href="+glo_url+">"+decodeURIComponent(glo_title)+"</a>";atag=encodeURIComponent(atag);if(glo_content!==""){atag=""}var data="";data="username="+username+"&password="+password+"&d="+glo_content+comment+"<br/><br/>"+atag+"&t="+glo_title+"&category="+section+"&return=json&rememberme="+rememberme+"&forgetme="+forgetme;var request=new Request({method:"post",url:"/api/postFriendster_ws.php",data:data,onSuccess:this.postFriendster_onSuccess.bind(this)});this.fireEvent("postToServiceRequested","friendster");request.send()}},postFriendster_onSuccess:function(responseText,responseXML){var resp=JSON.decode(responseText);if(resp.status.toLowerCase()==="success"){this.fireEvent("postToServiceSucceeded","friendster")}else{if(resp.errorMessage&&resp.errorMessage.toLowerCase()=="auth_failed"){this.fireEvent("postToServiceFailed",["friendster","Incorrect Username or Password"])}else{this.fireEvent("postToServiceFailed",["friendster",resp.errorMessage||"Could not post to Friendster."])}}},postWordpress:function(){var username=$("inputWpUsername").value;var password=$("inputWpPassword").value;var url=$("inputWpURL").value;if($("wordpressRememberMe").checked){var rememberme=1}else{var rememberme=0}if($("wordpressForgetMe").value==="true"){var forgetme=1}else{var forgetme=0}var err="";var err_set=false;if(!username){err_set=true;err+="Please enter a username.\n"}if(!password){err_set=true;err+="Please enter a password.\n"}if(!url){err_set=true;err+="Please enter a url.\n"}var atag="<a href="+glo_url+">"+decodeURIComponent(glo_title)+"</a>";if(glo_content!==""){atag=""}atag=encodeURIComponent(atag);if(err_set){this.validationFailed(err)}else{var data="";data="username="+username+"&password="+password+"&d="+glo_content+atag+"&t="+glo_title+"&return=json&url="+url+"&rememberme="+rememberme+"&forgetme="+forgetme;var request=new Request({method:"post",url:"/api/postWordPress_ws.php",data:data,onSuccess:this.postWordpress_onSuccess.bind(this)});this.fireEvent("postToServiceRequested","wordpress");request.send()}},postWordpress_onSuccess:function(responseText,responseXML){var resp=JSON.decode(responseText);if(resp.status.toLowerCase()==="success"){this.fireEvent("postToServiceSucceeded","wordpress")}else{if(resp.errorMessage&&resp.errorMessage.toLowerCase()==="connection_failed"){this.fireEvent("postToServiceFailed",["wordpress","Unable to connect to your blog."])}else{if(resp.errorMessage&&resp.errorMessage.toLowerCase()=="auth_failed"){this.fireEvent("postToServiceFailed",["wordpress","Please Check Username and Password."])}else{if(resp.statusMessage&&(resp.statusMessage.toLowerCase()=="post_failed"||resp.statusMessage.toLowerCase()=="post_wordpress_service_failed")){this.fireEvent("postToServiceFailed",["wordpress","Post Failed."])}else{this.fireEvent("postToServiceFailed",["wordpress","Unable to connect to your blog."])}}}}},setImportContactService:function(serviceTag){this.currentImportContactService=this.contactSources[serviceTag];this.fireEvent("importContactServiceChanged",serviceTag)},importContacts:function(service,username,password){var data="service="+service.protocolName+"&username="+username+"&password="+password;var request=new Request({method:"post",url:"/api/importContacts_ws.php",data:data,onSuccess:(function(responseText,responseXML){var resp=JSON.decode(responseText);if(resp.status==="SUCCESS"&&resp.data){for(var i=0;i<resp.data.contacts.length;i++){if(!("service" in resp.data.contacts[i])){var guess=Widget.Contact.guessServiceForAddress(resp.data.contacts[i].address,service.protocolName);if(!guess){guess=service.protocolName}resp.data.contacts[i].service=guess}}if(this.userIsSignedIn()){var successHandler=null;var failureHandler=null;successHandler=(function(){this.fireEvent("importContactsSucceeded",{nContacts:resp.data.contacts.length,rawData:resp.data.contacts});this.user.removeEvent("addContactsToAccountSucceeded",successHandler);this.user.removeEvent("addContactsToAccountFailed",failureHandler)}).bind(this);this.user.addEvent("addContactsToAccountSucceeded",successHandler);failureHandler=(function(){this.fireEvent("importContactsFailed");this.user.removeEvent("addContactsToAccountSucceeded",successHandler);this.user.removeEvent("addContactsToAccountFailed",failureHandler)}).bind(this);this.user.addEvent("addContactsToAccountFailed",failureHandler);this.user.addContactsToAccount(resp.data.contacts)}else{this.user.addContactsLocally(resp.data.contacts);this.fireEvent("importContactsSucceeded",{nContacts:resp.data.contacts.length,rawData:resp.data.contacts})}}else{if(resp.errorMessage=="LOGIN_FAILED :: Invalid credentials"){widget.popModalWorkingSheet();widget.pushModalErrorSheet("Invalid Username or password.")}else{this.fireEvent("importContactsFailed")}}}).bind(this)});request.send();this.fireEvent("importContactsRequested")},updatePreview:function(index){if(this.shareables[index].icon!==""){$("icon").set("html",'<img src="'+this.shareables[index].icon+'" width="100" />')}if(this.shareables[index].url!==""){$("title").set("html",'<a href="'+this.shareables[index].url+'" target="_blank">'+this.shareables[index].title+"</a>")}else{$("title").set("html",this.shareables[index].title)}$("summary").set("html",this.shareables[index].summary);$("content").set("html",this.shareables[index].content)},saveToShareBox:function(tags,objects){if(tags=="Separated by commas"){tags=""}var destination=[{type:"sharethis.com",address:(glo_destinationAddress?glo_destinationAddress:"")}];if(typeof tags=="string"){tags=tags.replace(/\s*,\s*/g,",").split(",").join(",")}else{if(typeof tags=="object"&&"length" in tags){tags=tags.join(",")}}if(!objects||!objects.length||objects.length==0){objects=[{type:"default",url:glo_url,title:decodeURIComponent(glo_title),thumbnail:glo_thumb,embed:encodeURIComponent(Url.decode(glo_content)),description:(glo_description?glo_description:""),tags:(tags?tags:"")}]}var sender=(glo_userEmail&&glo_userEmail.length?encodeURIComponent(glo_userEmail):"");var request=new Request({method:"post",url:"/api/createDestination_ws.php",data:{publisher:glo_publisher,objects:encodeURIComponent(JSON.encode(objects)),destinations:encodeURIComponent(JSON.encode(destination)),sessionID:glo_sessionID,destinationType:"Social","return":"JSON",sender:sender},onSuccess:(function(responseText,responseXML){var response=JSON.decode(responseText);if(response.status){switch(response.status){case"SUCCESS":widget.fireEvent("saveToShareBoxSucceeded");break;case"FAILURE":widget.fireEvent("saveToShareBoxFailed");default:break}}else{widget.fireEvent("saveToShareBoxFailed")}}).bind(this)});request.send()},extractDomainFromURL:function(url,keepWWW){var domain=url.replace(/(\w+):\/\/([^\/:]+)(:\d*)?([^# ]*)/,"$2");if(!keepWWW&&domain.toLowerCase().indexOf("www.")==0){domain=domain.substring(4)}return domain},setCookie:function(name,value){var current_date=new Date;var exp_y=current_date.getFullYear();var exp_m=current_date.getMonth()+2;var exp_d=current_date.getDate();var cookie_string=name+"="+escape(value);if(exp_y){var expires=new Date(exp_y,exp_m,exp_d);cookie_string+="; expires="+expires.toGMTString()}cookie_string+="; domain="+escape(".sharethis.com")+";path=/";document.cookie=cookie_string},getCookie:function(cookie_name){var results=document.cookie.match("(^|;) ?"+cookie_name+"=([^;]*)(;|$)");if(results){return(unescape(results[2]))}else{return false}},deleteCookie:function(name){var path="/";var domain=".sharethis.com";document.cookie=name+"="+((path)?";path="+path:"")+((domain)?";domain="+domain:"")+";expires=Thu, 01-Jan-1970 00:00:01 GMT"},validationFailed:function(message){widget.pushModalErrorSheet(message.replace(/\n/g,"<br/>"))},truncateText:function(text,maxWidth,charWidth){var charWidth=charWidth||8;var ellipsisWidth=charWidth*2.5;var pixelsOver=((text.length*charWidth)-(maxWidth-ellipsisWidth));if(pixelsOver>0){return text.substring(0,text.length-Math.ceil(pixelsOver/charWidth))+"&hellip;"}return text},_deferTimers:{},deferWhile:function(tag,f,delay){if(this._deferTimers[tag]>=0){clearTimeout(this._deferTimers[tag])}this._deferTimers[tag]=setTimeout((function(){this._deferTimers[tag]=-1;f()}).bind(this),(delay||10))},_frozenFocusHandler:function(event){if(event.target.hasClass("frozen")){event.target.blur()}},freezeTextInput:function(inputElement){inputElement.addClass("frozen");inputElement.addEvent("focus",this._frozenFocusHandler);inputElement.blur()},unfreezeTextInput:function(inputElement){inputElement.removeClass("frozen");inputElement.removeEvent("focus",this._frozenFocusHandler)},_profilers:[],pushProfiler:function(message){this._profilers.push({start:$time(),message:message})},popProfiler:function(){if(Browser.Engine.trident){var p=this._profilers.pop();var s="";for(var i=0;i<this._profilers.length;i++){s+="   "}alert(s+p.message+" ["+($time()-p.start)+"]")}else{var p=this._profilers.pop();var s="";for(var i=0;i<this._profilers.length;i++){s+="   "}}}});if(!window.console||!console.firebug){var names=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];window.console={};for(var i=0;i<names.length;++i){window.console[names[i]]=function(){}}}var glo_tabs="web,post,email";var glo_send_services="email,myspace,aim,sms";var glo_tabArray=[];glo_tabArray=glo_tabs.split(",");var glo_charset="utf-8";var glo_services="";var glo_default_services="facebook,digg,delicious,ybuzz,twitter,stumbleupon,reddit,technorati,mixx,blogger,typepad,wordpress,google_bmarks,windows_live,myspace,fark,bus_exchange,propeller,newsvine,linkedin,friendfeed,blinklist,furl,blogmarks,yahoo_bmarks,slashdot,n4g,mister_wong,faves,current,simpy,meneame,yigg,oknotizie,fresqui,diigo,care2,funp,kirtsy,xanga,sphinn,dealsplus,orkut,friendster,livejournal";var glo_default_swArray=[];glo_default_swArray=glo_default_services.split(",");var glo_style="default";var glo_publisher="";var glo_headerbg="#999999";var glo_headerTitle="";var glo_headerfg="#ffffff";var glo_inactivebg="#D2D2D2";var glo_inactivefg="#424242";var glo_linkfg="#222";var glo_embeds=false;var glo_popup=false;var glo_offsetLeft=0;var glo_offsetTop=0;var glo_isLoggedIn=false;var glo_authToken="";var glo_userName="";var glo_userEmail="";var glo_myspace="";var glo_facebook="";var glo_aim="";var glo_greyBoxNum=0;var glo_contProto=[];var glo_contName=[];var glo_contAdd=[];var glo_contRes=[];var glo_contResNum=0;var glo_swArray=[];var glo_swArray_more=[];var glo_msgArray=[];var glo_hostname="";var glo_location="";var glo_url="";var glo_title="";var glo_type="default";var glo_content="";var glo_summary="";var glo_icon="";var glo_category="";var glo_updated="";var glo_published="";var glo_author="";var glo_totalRegSW=0;var glo_tpDraft=1;var glo_bloggerDraft=1;var glo_guid="";var glo_guid_index=null;var glo_title_array=[];var glo_summary_array=[];var glo_content_array=[];var glo_url_array=[];var glo_icon_array=[];var glo_category_array=[];var glo_updated_array=[];var glo_published_array=[];var glo_author_array=[];var glo_type_array=[];var glo_tags_array=[];var glo_thumb_array=[];var glo_description_array=[];var glo_last_search="";var glo_thumb="";var glo_tags="";var glo_description="";var glo_Orkutcaptchaurl="";var glo_Orkutcookiefile="";var glo_Orkutpost_token="";var glo_Orkutsignature="";var glo_Orkutpostdata="";var Orkutcaptcha=false;var glo_num_diggs=0;var glo_digg_comments=0;var glo_pageOptions=false;var glo_swDiv="";var glo_oldQS="";var glo_destinations="";var glo_page_url="";var glo_page_title="";var glo_jsonStr="";var glo_jsonArray=[];var glo_destinationAddress="";var glo_destinationType="Social";var glo_options_popup=false;var displayNum=20;var glo_last_url="";var glo_last_url2="";var glo_initRun=false;var domReady=false;var bufferArgs=[];var bufferValue=[];var bufferRunArgs=[];var glo_sessionID=null;var glo_thumbImageTag="";var glo_browser="";var glo_toolbar=false;function css_browser_selector(u){var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g="gecko",w="webkit",s="safari",h=document.getElementsByTagName("html")[0],b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?("ie ie"+RegExp.$1):is("firefox/2")?g+" ff2":is("firefox/3")?g+" ff3":is("gecko/")?g:/opera(\s|\/)(\d+)/.test(ua)?"opera opera"+RegExp.$2:is("konqueror")?"konqueror":is("chrome")?w+" "+s+" chrome":is("applewebkit/")?w+" "+s+(/version\/(\d+)/.test(ua)?" "+s+RegExp.$1:""):is("mozilla/")?g:"",is("j2me")?"mobile":is("iphone")?"iphone":is("ipod")?"ipod":is("mac")?"mac":is("darwin")?"mac":is("webtv")?"webtv":is("win")?"win":is("freebsd")?"freebsd":(is("x11")||is("linux"))?"linux":"","js"];c=b.join(" ");h.className+=" "+c;return c}var glo_browser=css_browser_selector(navigator.userAgent);var tstArray=[];function fragObj(inFrag,query){this.frag=inFrag;this.qs=query}function readyTest(){console.log("readyTest");for(var i=0;i<tstArray.length;i++){var tmp=tstArray[i].frag+" = \n"+tstArray[i].qs;console.log(tstArray[i].frag);console.log(tstArray[i].qs);alert(tmp)}}function setGlobals(strArg,value){var answer="";if(value===0){answer="No"}if(value===1){answer="Yes"}switch(strArg){case"tabs":glo_tabs=value;glo_tabArray=value.split(",");widget.fireEvent("tabPrefsChanged",{tabs:glo_tabArray});break;case"charset":glo_charset=value;break;case"services":glo_servces=value;glo_swArray=value.split(",");break;case"style":glo_style=value;break;case"publisher":glo_publisher=value;break;case"headerbg":glo_headerbg=value;$$(".header-color").setStyle("background-color",value);break;case"inactivebg":glo_inactivebg=value;$$(".nav-inactive-color").setStyle("background-color",value);break;case"inactivefg":glo_inactivefg=value;$$(".nav-inactive-color").setStyle("color",value);break;case"linkfg":glo_linkfg=value;setTimeout("widget.fireEvent('linkForegroundColorChanged', glo_linkfg)",10);break;case"embeds":glo_embeds=value;break;case"popup":glo_popup=value;break;case"offsetLeft":glo_offsetLeft=value;break;case"offsetTop":glo_offsetTop=value;break;case"auth":glo_authToken=value;break;case"userEmail":glo_userEmail=value;$("textAuthInfoEmail").set("html",value);break;case"userName":glo_userName=value;break;case"facebook":glo_facebook=value;break;case"myspace":glo_myspace=value;break;case"aim":glo_aim=value;break;case"contProto":glo_contProto.push(value);break;case"contName":glo_contName.push(value);break;case"contAdd":glo_contAdd.push(value);break;case"contName":glo_contRes.push(value);break;case"contResNum":glo_contResNum=value;break;case"loggedIn":glo_isLoggedIn=value;if(glo_isLoggedIn===true){$("boxToYourAddr").addClass("hidden");$$(".guest").addClass("hidden")}else{$("boxToYourAddr").removeClass("hidden");$$(".guest").removeClass("hidden")}break;case"hostname":glo_hostname=encodeURIComponent(value);break;case"location":glo_location=encodeURIComponent(value);break;case"url":if(value!==glo_url&&value!==undefined){if(typeof (value)!=="string"){try{glo_url=value.href}catch(err){}}else{glo_url=value}glo_thumbImageTag='<img src="http://sharethis.com/share/thumb?url='+glo_url+'" width="100">';$("previewUrl").set("text",widget.extractDomainFromURL(glo_url));widget.fireEvent("shareableURLChanged",glo_url)}break;case"title":try{glo_title=value;value=decodeURIComponent(value);glo_title=value}catch(err){}glo_title=encodeURIComponent(glo_title);value=encodeURIComponent(value);if(glo_title==""||glo_title=="undefined"){glo_title=decodeURIComponent(glo_url)}value=decodeURIComponent(value);if(value.length>80){value=value.slice(0,77);value+="..."}$("previewTitle").set("text",value);widget.fireEvent("shareableTitleChanged",glo_title);break;case"type":glo_type=value;break;case"icon":glo_icon=value;if(value.length>5){glo_thumbImageTag=value}widget.fireEvent("shareableURLChanged",value);break;case"category":glo_category=value;break;case"updated":glo_updated=value;break;case"published":glo_published=value;break;case"author":glo_author=value;break;case"summary":glo_summary=value;break;case"content":glo_content=encodeURIComponent(value);break;case"glo_tpDraft":glo_tpDraft=value;break;case"glo_bloggerDraft":glo_bloggerDraft=value;break;case"guid":if(glo_guid===""&&value!==null&&value!=="null"){glo_guid=value;getObjects()}break;case"guid_index":glo_guid_index=value;setValues();break;case"glo_title_array":glo_title_array.push(value);break;case"glo_type_array":glo_type_array.push(value);break;case"glo_summary_array":glo_summary_array.push(value);break;case"glo_content_array":glo_content_array.push(value);break;case"glo_url_array":glo_url_array.push(value);break;case"glo_icon_array":glo_icon_array.push(value);break;case"glo_category_array":glo_category_array.push(value);break;case"glo_updated_array":glo_updated_array.push(value);break;case"glo_published_array":glo_published_array.push(value);break;case"glo_author_array":glo_author_array.push(value);break;case"glo_thumb":glo_thumb=value;break;case"glo_tags":glo_tags=value;break;case"glo_description":glo_description=value;glo_description=encodeURIComponent(glo_description);widget.fireEvent("shareableDescriptionChanged",glo_description&&glo_description!="undefined"?glo_description:"");break;case"glo_thumb_array":glo_thumb_array.push(value);break;case"glo_tags_array":glo_tags_array.push(value);break;case"glo_description_array":glo_description_array.push(value);break;case"pageTitle":glo_page_title=value;break;case"pageURL":glo_page_url=value;break;case"sessionID":glo_sessionID=value;break;case"headerTitle":glo_headerTitle=value;widget.fireEvent("headerTitleChanged",value);break;case"headerfg":glo_headerfg=value;widget.fireEvent("headerFGColorChanged",value);break;case"send_services":glo_send_servicesArray=value;send_servicesChanged(value);break;case"post_services":setGlobals("services",value);break;case"glo_toolbar":glo_toolbar=value;$("close_button").set("style","display:inline");break;default:break}}function addToOptions(a){var temp=[];temp=a.split("=");temp[0]=decodeURIComponent(temp[0]);temp[1]=decodeURIComponent(temp[1]);try{temp[0]=decodeURIComponent(temp[0]);temp[1]=decodeURIComponent(temp[1])}catch(err){}tstArray.push(new fragObj(temp[0],temp[1]));setGlobals(temp[0],temp[1])}function addToOptionsBuffer(a){var temp=[];temp=a.split("=");temp[0]=decodeURIComponent(temp[0]);temp[1]=decodeURIComponent(temp[1]);try{temp[0]=decodeURIComponent(temp[0]);temp[1]=decodeURIComponent(temp[1])}catch(err){}tstArray.push(new fragObj(temp[0],temp[1]));bufferArgs.push(temp[0]);bufferValue.push(temp[1])}function selectContact(blah){var id=blah.id;id=id.replace(/select_contact_/,"");for(var i=0;i<widget.pages.addressbook.addressBook.contacts.length;i++){if(widget.pages.addressbook.addressBook.contacts[i].id==id){widget.pages.addressbook.addressBook.contacts[i].toggleSelect()}}}function checkBufferArg(testStr){var returnVal=false;for(var i=0;i<bufferRunArgs.length;i++){if(bufferRunArgs[i]==testStr){returnVal=true}}return returnVal}function processBuffer(){bufferArgs.reverse();bufferValue.reverse();for(var i=0;i<bufferArgs.length;i++){if(checkBufferArg(bufferArgs[i])===false){bufferRunArgs.push(bufferArgs[i]);setGlobals(bufferArgs[i],bufferValue[i])}}createSwList()}function send_servicesChanged(services){var svc_arr=[];svc_arr=services.split(",");var email=false;var myspace=false;var aim=false;var sms=false;for(var i=0;i<svc_arr.length;i++){if(svc_arr[i]=="email"){email=true}else{if(svc_arr[i]=="myspace"){myspace=true}else{if(svc_arr[i]=="aim"){aim=true}else{if(svc_arr[i]=="sms"){sms=true}}}}}if(email==false){$("send_email").setStyle("display","none")}if(myspace==false){$("send_myspace").setStyle("display","none")}if(aim==false){$("send_aim").setStyle("display","none")}if(sms==false){$("send_sms").setStyle("display","none")}if(email==false&&myspace==false&&aim==false&&sms==false){$("send_section").getChildren().each(function(child){child.setStyle("display","none")})}return"services_changed"}var FragmentPump=new Class({Extends:Events,fragTimer:"",initialize:function(interval){FragmentPump.fragTimer=setInterval(this.checkFragment.bind(this),5)},startint:function(){setInterval(this.checkFragment.bind(this),250)},checkFragment:function(){var hash=document.location.hash.substring(1);if(hash.length>0&&hash!==glo_oldQS){var args=hash.split("/");glo_oldQS=hash;var cmd=args.shift();this.fireEvent(cmd,args)}}});var fragmentPump=new FragmentPump();function bindEvents(){fragmentPump.addEvent("init",init.bind(this));fragmentPump.addEvent("show",show.bind(this));fragmentPump.addEvent("popup",popup.bind(this));fragmentPump.addEvent("data",data.bind(this));fragmentPump.addEvent("test",test.bind(this));fragmentPump.addEvent("widget",widget.bind(this))}function init(){if(glo_initRun===false){glo_initRun=true;for(var i=0;i<arguments.length;i++){var num=i+1;if(arguments[i]!=""&&arguments[i]!=" "){addToOptionsBuffer(arguments[i])}}glo_pageOptions=true;if(domReady===true){processBuffer()}glo_initRun=true}}function test(){readyTest()}function data(){for(var i=0;i<arguments.length;i++){addToOptions2(arguments[i])}}function show(){for(var i=0;i<arguments.length;i++){addToOptions(arguments[i])}}function popup(){clearInterval(fragmentPump.fragTimer);clearInterval(FragmentPump.fragTimer);fragmentPump.startint();glo_options_popup=true;displayNum=24;for(var i=0;i<arguments.length;i++){var num=i+1;addToOptionsBuffer(arguments[i])}if(domReady===true){processBuffer()}glo_initRun=true}function widget(){if(arguments.length){var kvPairs=arguments[0].split("=");for(var i=0;i<kvPairs.length;i+=2){switch(kvPairs[i]){case"screen":widget.showPage(kvPairs[i+1]);break}}}}bindEvents();function addToOptions2(a){var temp=[];temp=a.split("=");temp[0]=decodeURIComponent(temp[0]);try{temp[0]=decodeURIComponent(temp[0]);temp[1]=decodeURIComponent(temp[1])}catch(err){}if(temp[0]=="pageHost"){setGlobals("hostname",temp[1])}else{if(temp[0]=="pagePath"){setGlobals("location",temp[1])}}tstArray.push(new fragObj(temp[0],temp[1]));if(temp[1]=="done"){if(glo_initRun===false){document.location.hash=glo_initFrag}clearInterval(fragmentPump.fragTimer);clearInterval(FragmentPump.fragTimer);fragmentPump.startint();glo_jsonStr=glo_jsonArray.join("");try{glo_jsonStr=decodeURIComponent(glo_jsonStr);glo_jsonStr=decodeURIComponent(glo_jsonStr);glo_jsonStr=decodeURIComponent(glo_jsonStr)}catch(err){}processFrag()}else{if(temp[0]=="jsonData"){glo_jsonArray.push(temp[1])}}}function forgetUser(){setGlobals("loggedIn",false);$("boxToYourAddr").removeClass("hidden");setGlobals("auth","");setGlobals("userName","");setGlobals("userEmail","");setGlobals("myspace","");setGlobals("facebook","");setGlobals("aim","");setGlobals("contProto",[]);setGlobals("contName",[]);setGlobals("contAdd",[]);setGlobals("contResNum",0);emptyInputs();widget.deleteCookie("ShareUT");glo_contProto=[];glo_contName=[];glo_contAdd=[];glo_contRes=[];glo_contResNum=0}function emptyInputs(){$$("input[type=text]").set("value","");$$("input[type=password]").set("value","");$$("input[type=password]").set("value","");$$("textarea").set("value","");$("typepadSelectContainer").set("html","");$("bloggerSelectContainer").set("html","")}function logSW(network){var url="http://r.sharethis.com/log?event=click&publisher="+encodeURIComponent(glo_publisher)+"&hostname="+encodeURIComponent(glo_hostname)+"&location="+encodeURIComponent(glo_location)+"&destinations="+network+"&ts"+(new Date()).getTime()+"&title="+glo_title+"&url="+encodeURIComponent(glo_url)+"&sessionID="+glo_sessionID;var logger=new Image(1,1);logger.src=url;logger.onload=function(){return };var url2="http://l.sharethis.com/log?event=click&publisher="+encodeURIComponent(glo_publisher)+"&hostname="+encodeURIComponent(glo_hostname)+"&location="+encodeURIComponent(glo_location)+"&destinations="+network+"&ts"+(new Date()).getTime()+"&title="+glo_title+"&url="+glo_url+"&sessionID="+glo_sessionID;var logger2=new Image(1,1);logger2.src=url2;logger2.onload=function(){return };glo_destinationType="Social";sendDestination(network)}function logEvent(destination1,eventType){var url="http://r.sharethis.com/log?event="+eventType;url+="&publisher="+encodeURIComponent(glo_publisher);url+="&hostname="+encodeURIComponent(glo_hostname);url+="&location="+encodeURIComponent(glo_location);url+="&destinations="+destination1;url+="&ts"+(new Date()).getTime();url+="&title="+encodeURIComponent(glo_title);url+="&url="+encodeURIComponent(glo_url);url+="&sessionID="+glo_sessionID;var logger=new Image(1,1);logger.src=url;logger.onload=function(){return };var url2="http://l.sharethis.com/log?event="+eventType;url2+="&publisher="+encodeURIComponent(glo_publisher);url2+="&hostname="+encodeURIComponent(glo_hostname);url2+="&location="+encodeURIComponent(glo_location);url2+="&destinations="+destination1;url2+="&ts"+(new Date()).getTime();url2+="&title="+encodeURIComponent(glo_title);url2+="&url="+encodeURIComponent(glo_url);url2+="&sessionID="+glo_sessionID;var logger2=new Image(1,1);logger2.src=url2;logger2.onload=function(){return };if(eventType=="post"){glo_destinationType="Post";sendDestination(destination1)}}function createSwList(){var carouselItems=[];var defaultServicesCSV=glo_default_services;var defaultServices=glo_default_swArray;var userPrefs=widget.user.getShareServiceHistory().map(function(item){return item.service});var publisherPrefs=glo_swArray;if(!userPrefs.length&&!publisherPrefs.length){setGlobals("services",defaultServicesCSV)}var respectUserPrefs=false;$each(defaultServices,function(name,i){var link=widget.getServiceLink(defaultServices[i]);var publisherIndex=publisherPrefs.indexOf(defaultServices[i]);var userIndex=userPrefs.indexOf(defaultServices[i]);carouselItems.push({getContent:function(){return link},hasPublisherPref:(publisherIndex>-1),hasUserPref:(respectUserPrefs?(userIndex>-1):false),stIndex:i,publisherIndex:publisherIndex,userIndex:userIndex,tag:defaultServices[i]})});widget.carousel.setDataSource(carouselItems);if(glo_pageOptions==true){setTimeout("widget.fireEvent('linkForegroundColorChanged', glo_linkfg)",10)}}function popupOpen(blah){var source="";var anchors=blah.getElementsByTagName("a");for(var i=0;i<anchors.length;i++){var anchor=anchors[i];source=anchor.href}window.open(source,"stpopup","width=970,height=700,location=1,toolbar=1,scrollbars=1,menubar=1,resizable=1");return false}function popupOpen2(blah){var source=blah.href;try{window.open(source,"stpopup","width=970,height=700,location=1,toolbar=1,scrollbars=1,menubar=1,resizable=1")}catch(err){}return false}function getObjects(){var request=new Request({method:"post",url:"/api/getCache_ws.php",data:"key="+glo_guid+"&return=json",onSuccess:getObjects_onSuccess});request.send()}function getObjects_onSuccess(responseText,responseXML){var response=JSON.decode(responseText);if(response.status=="SUCCESS"){var newJsonData=Url.decode(response.data);var newResp=JSON.decode(newJsonData);for(i=0;i<newResp.length;i++){setGlobals("glo_title_array",newResp[i].title);setGlobals("glo_type_array",newResp[i].type);setGlobals("glo_summary_array",newResp[i].summary);setGlobals("glo_content_array",newResp[i].content);setGlobals("glo_url_array",newResp[i].url);setGlobals("glo_icon_array",newResp[i].icon);setGlobals("glo_category_array",newResp[i].category);setGlobals("glo_updated_array",newResp[i].updated);setGlobals("glo_published_array",newResp[i].published);setGlobals("glo_author_array",newResp[i].author);setGlobals("glo_thumb_array",newResp[i].icon);if(newResp[i].tags){setGlobals("glo_tags_array",newResp[i].tags)}if(newResp[i].description){setGlobals("glo_description_array",newResp[i].description)}}setValues()}else{console.log(response.status)}}function processFrag(){try{glo_jsonStr=decodeURIComponent(glo_jsonStr)}catch(err){}var tmp=glo_jsonStr;var newResp=[];try{tmp=decodeURIComponent(tmp)}catch(err){}try{tmp=decodeURIComponent(tmp)}catch(err){}newResp=eval(tmp);for(var i=0;i<newResp.length;i++){setGlobals("glo_title_array",newResp[i].title);setGlobals("glo_type_array",newResp[i].type);setGlobals("glo_summary_array",newResp[i].summary);setGlobals("glo_content_array",newResp[i].content);setGlobals("glo_url_array",newResp[i].url);setGlobals("glo_icon_array",newResp[i].icon);setGlobals("glo_category_array",newResp[i].category);setGlobals("glo_updated_array",newResp[i].updated);setGlobals("glo_published_array",newResp[i].published);setGlobals("glo_author_array",newResp[i].author);setGlobals("glo_thumb_array",newResp[i].icon);if(newResp[i].tags){setGlobals("glo_tags_array",newResp[i].tags)}if(newResp[i].description){setGlobals("glo_description_array",newResp[i].description)}}setValues()}var Url={encode:function(string){return escape(this._utf8_encode(string))},decode:function(string){return this._utf8_decode(unescape(string))},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c)}else{if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128)}else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128)}}}return utftext},_utf8_decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++}else{if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2}else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3}}}return string}};function setValues(){if(glo_guid_index!==null&&glo_url_array.length>0){setGlobals("url",glo_url_array[glo_guid_index]);setGlobals("title",glo_title_array[glo_guid_index]);setGlobals("type",glo_type_array[glo_guid_index]);setGlobals("summary",glo_summary_array[glo_guid_index]);setGlobals("content",glo_content_array[glo_guid_index]);setGlobals("icon",glo_icon_array[glo_guid_index]);setGlobals("category",glo_category_array[glo_guid_index]);setGlobals("updated",glo_updated_array[glo_guid_index]);setGlobals("published",glo_published_array[glo_guid_index]);setGlobals("author",glo_author_array[glo_guid_index]);setGlobals("glo_tags",glo_tags_array[glo_guid_index]);setGlobals("glo_thumb",glo_thumb_array[glo_guid_index]);setGlobals("glo_description",glo_description_array[glo_guid_index]);createSwList();getTinyURL(glo_url_array[glo_guid_index]);widget.fireEvent("shareableValuesUpdated")}}function searchName(searchStr){var results=[];var reg=new RegExp("^"+searchStr);for(var i=0;i<widget.user.contacts.length&&results.length<widget.maxContactSearchResults;i++){var tmp_name=widget.user.contacts[i].name.toLowerCase();if(reg.test(tmp_name)){results.push(i)}}return results}function searchName2(searchStr){var results=[];var reg=new RegExp("^ "+searchStr);for(var i=0;i<widget.user.contacts.length&&results.length<widget.maxContactSearchResults;i++){var tmp_name=widget.user.contacts[i].name.toLowerCase();if(reg.test(tmp_name)){results.push(i)}}return results}function searchName3(searchStr){var results=[];if(searchStr.search(/ /)>=0){var tmp_name1="";var tmp_name2="";var tmp_name=searchStr.toLowerCase();tmp_name=tmp_name.split(" ");if(tmp_name.length>1){tmp_name1=tmp_name[0];tmp_name2=tmp_name[1]}var reg=new RegExp("^"+tmp_name1);var reg2=new RegExp(" "+tmp_name2,"gi");for(var i=0;i<widget.user.contacts.length&&results.length<widget.maxContactSearchResults;i++){tmp_name=widget.user.contacts[i].name.toLowerCase();if(reg.test(tmp_name)&&reg2.test(tmp_name)){results.push(i)}}}return results}function searchName4(searchStr){var results=[];var tmp_name1="";var tmp_name2="";searchStr=searchStr.toLowerCase();for(var i=0;i<widget.user.contacts.length&&results.length<widget.maxContactSearchResults;i++){tmp_name=widget.user.contacts[i].name.toLowerCase();var reg=new RegExp(" "+searchStr,"gi");if(reg.test(tmp_name)){results.push(i)}}return results}function searchName5(searchStr){var results=[];var tmp_name1="";var tmp_name2="";var tmp_name=searchStr.toLowerCase();if(tmp_name.length>1){tmp_name1=tmp_name[0];tmp_name2=tmp_name.substring(1)}var reg=new RegExp("^"+tmp_name1);var reg2=new RegExp(" "+tmp_name2,"gi");for(var i=0;i<widget.user.contacts.length&&results.length<widget.maxContactSearchResults;i++){tmp_name=widget.user.contacts[i].name.toLowerCase();if(reg.test(tmp_name)&&reg2.test(tmp_name)){results.push(i)}}return results}function searchAdd(searchStr){var isNum=false;if(searchStr>=0){var a="\\+?1?"+searchStr+"[0-9]*";var reg=new RegExp(a);isNum=true}else{if(searchStr[0]=="@"){var reg=new RegExp(searchStr,"gi")}else{var reg=new RegExp("^"+searchStr)}}var i=0;var results=[];for(var i=0;i<widget.user.contacts.length&&results.length<widget.maxContactSearchResults;i++){var tmp_add=widget.user.contacts[i].address.toLowerCase();if(reg.test(tmp_add)){results.push(i)}}return results}function txtGreyBox(id,newAdd){var type=glo_contProto[id];var name=glo_contName[id];var disp_address=glo_contAdd[id];var address=glo_contAdd[id];var divid="greyBox_"+id;var addId="addBox_"+id;var parentID="paren_"+divid;var rtnStr="";var dispType="";if(type==="EMAIL"){type="E-mail"}if(type==="AIM"){type="AIM"}if(type==="MYSPACE"){type="MySpace"}if(type==="SMS"){type="SMS"}if(glo_greyBoxNum%2===0){rtnStr+='<div id="'+parentID+'" class="boxRecipientsItem even">'}else{rtnStr+='<div id="'+parentID+'" class="boxRecipientsItem odd">'}rtnStr+='<span class="txtRecipientsItemDisplay">'+name+"</span>";rtnStr+='			<span class="txtRecipientsItemUsing"> using '+type+"</span>";if(newAdd===true&&glo_isLoggedIn===true){rtnStr+='	<div id="'+addId+'" class="boxRecipientsItemAdd" onclick="showAddAnother(this);"/></div>'}rtnStr+='			<div id="'+divid+'" class="boxRecipientsItemDelete" onclick="delGreyItem(this);"/></div>';rtnStr+="</div>";hideSuggest();return rtnStr}function delGreyItem(blah){var d=document.getElementById("boxAddressList");var rm=document.getElementById("paren_"+blah.id);var id=blah.id;id=id.replace(/greyBox_/,"");removeFromQueue(id);d.removeChild(rm);if(glo_msgArray.length==0){$("boxAddressList").addClass("hidden")}}function hideSuggest(){$("boxToMessage").setStyle("z-index","10");$("boxToYourAddr").setStyle("z-index","10");$("txtTo").set("value","");glo_selected_item=0;$$(".activeItem").removeClass("activeItem")}function showSuggest(){$("boxToMessage").setStyle("z-index","1");$("boxToYourAddr").setStyle("z-index","1")}function hoverSelection(blah){var tempId=blah.id;$$(".activeItem").removeClass("activeItem");$(tempId).addClass("activeItem")}function addToSenders(blah){var id=blah.id;id=id.replace(/uniq_/,"");addToMsg(id);var outHTML="";glo_greyBoxNum=$$("div[id^=paren_greyBox_]").length;outHTML+=txtGreyBox(id);$("boxAddressList").set("html",$("boxAddressList").get("html")+outHTML);$("boxAddressList").setStyle("display","block");hideSuggest();$("txtTo").value=""}function addToSenders2(id){addToMsg(id);var outHTML="";glo_greyBoxNum=$$("div[id^=paren_greyBox_]").length;outHTML+=txtGreyBox(id,true);$("boxAddressList").set("html",$("boxAddressList").get("html")+outHTML);$("boxAddressList").setStyle("display","block");hideSuggest();$("txtTo").value=""}function clearMsgQueue(){glo_msgArray.empty()}function addToMsg(contact){glo_msgArray.push(contact)}function removeFromQueue(contact){glo_msgArray.erase(contact)}function processSendQueue(){var recipients=[];var destinations=[];glo_msgArray.each(function(contact){if(contact.service=="sms"){var number=contact.address.replace(/[^\d]/g,"");if(number[0]!="1"){number="1"+number}contact.address=number}recipients.push({type:contact.service,name:contact.name,address:contact.address});destinations.push(contact.service)});glo_destinations=destinations.join(",").toLowerCase();recipients=JSON.encode(recipients);createMessage(recipients)}function createMessage(recipients){glo_msgArray=[];var err_isTrue=false;if(glo_isLoggedIn===false){var tmpEml=$("txtYourAddr").value;if(isEmail(tmpEml)){glo_userEmail=tmpEml}else{alert("Please enter your valid E-mail address");err_isTrue=true}}if(!recipients.length){alert("Please enter a recipient");err_isTrue=true}var sender=glo_userEmail;var subject=decodeURIComponent(glo_title);if(subject==""||subject=="undefined"){subject=decodeURIComponent(glo_url)}glo_type="";var comment=$("txtMessage").value;var publisher=glo_publisher;glo_content=Url.decode(glo_content);glo_content=encodeURIComponent(glo_content);if(!glo_description||glo_description==undefined||glo_description=="undefined"){glo_description=""}if(!glo_summary||glo_summary==undefined||glo_summary=="undefined"){glo_summary=""}if(!glo_tags){glo_tags=""}var objects=[];objects[0]={type:glo_type,url:glo_url,title:glo_title,thumbnail:glo_thumb,embed:glo_content,description:glo_summary,tags:glo_tags};objects=JSON.encode(objects);var data="sender="+encodeURIComponent(sender)+"&subject="+encodeURIComponent(subject)+"&comment="+encodeURIComponent(comment)+"&publisher="+publisher+"&objects="+encodeURIComponent(objects)+"&recipients="+encodeURIComponent(recipients)+"&sessionID="+glo_sessionID+"&return=JSON";if(!err_isTrue){var request=new Request({method:"post",url:"/api/createMessage_ws.php",data:data,onSuccess:createMessage_onSuccess});request.send();widget.fireEvent("createMessageRequested")}}function createMessage_onSuccess(responseText,responseXML){logEvent(glo_destinations,"share");var resp=JSON.decode(responseText);if(resp.status==="SUCCESS"){emptyInputs();glo_msgArray=[];widget.fireEvent("createMessageSucceeded")}else{widget.fireEvent("createMessageFailed",resp.statusMessage)}}var glo_selected_item=0;function selectActive(elem){$$(".activeItem").removeClass("activeItem");var a=document.getElementById(elem);a.addClass("activeItem")}function determineType(str,blur){if(str!==""){var type="";var idToAdd=0;var selectedType=$("txtUsing").value;if(selectedType==="ALL"){if(isEmail(str)){type="EMAIL"}else{if(isAIM(str)){type="AIM"}else{if(isPhone(str)){type="SMS"}}}}else{if(selectedType==="SMS"){if(isPhone(str)){type="SMS"}else{if(!blur){alert("Not a valid Phone Number")}type="";document.getElementById("txtTo").value=""}}else{if(selectedType==="AIM"){if(isAIM(str)){type="AIM"}else{if(!blur){alert("Not a valid AIM Screen Name")}type="";document.getElementById("txtTo").value=""}}else{if(selectedType==="EMAIL"){if(isEmail(str)){type="EMAIL"}else{type="";if(!blur){alert("Not a valid E-mail address")}}}else{if(selectedType==="MYSPACE"){if(isEmail(str)){type="EMAIL"}else{if(isAIM(str)){type="AIM"}else{if(isPhone(str)){type="SMS"}}}}}}}}if(document.getElementById("txtTo").value!==""&&(type=="MYSPACE"||type=="EMAIL"||type=="AIM"||type=="SMS")&&type!=="undefined"&&type!==undefined){setGlobals("contProto",type);setGlobals("contName",str);setGlobals("contAdd",str);var id=glo_contAdd.length-1;return id}else{return false}if(!blur){document.getElementById("txtTo").focus()}}}function isEmail(str){if(str.match(/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/)){return true}else{return false}}function isPhone(str){str=str.replace(/[^\d]/g,"");if(str.length===10||str.length===11){if(str.match(/^1?[2-9]\d{9}$/)){return true}else{return false}}else{return false}}function isAIM(str){if(str.match(/^[a-z][a-z0-9]{2,15}$/i)){return true}else{return false}}function register(){var eml=$("registerEmailInput").value;var nme=$("registerNameInput").value;var nick=$("registerNickInput").value;var pass1=$("registerPasswordInput").value;var pass2=$("registerPassword2Input").value;var err="";if(eml==""){err+="Please enter an E-mail address.<br/>"}if(!isEmail(eml)){err+="Please enter a valid E-mail address.<br/>"}if(nme==""){err+="Please enter your Name.<br/>"}if(!nick.length){err+="Please enter a username.<br/>"}if(pass1==""){err+="Please enter a password.<br/>"}else{if(pass1.length<6){err+="Password must be at least 6 characters.<br/>"}}if(pass1!==pass2){err+="Please confirm that your passwords match.<br/>"}if(err.length){widget.validationFailed(err.replace(/<br\/>/gi,"\n"))}else{var data="email="+eml+"&password="+pass1+"&name="+nme+"&nickname="+nick;var request=new Request({method:"post",url:"/api/createUser_ws.php",data:data,onSuccess:register_OnSuccess.bind(this)});widget.fireEvent("registerUserRequested");request.send()}}function register_OnSuccess(responseText,responseXML){var resp=JSON.decode(responseText);if(resp.status==="SUCCESS"){widget.user.acquireAuth(resp.data.token);$$(".working").addClass("hidden");$$(".success").removeClass("hidden");$("registerSubmit").removeClass("hidden");widget.fireEvent("registerUserSucceeded",widget.user);emptyInputs()}else{if(resp.errorMessage){widget.fireEvent("registerUserFailed",resp.errorMessage)}else{if(resp.statusMessage==="USER_ALREADY_EXISTS"){widget.fireEvent("registerUserFailed","E-mail address or Username is already in use.")}else{widget.fireEvent("registerUserFailed","Could not complete registration.")}}}}function getDiggs(url){if(url!==""&&url!==" "&&url!==glo_last_url&&url!=="undefined"&&url!==undefined){var data="url="+url;var request=new Request({method:"post",url:"/api/getDiggs_ws.php",data:data,onSuccess:getDiggs_onSuccess});glo_last_url=url;request.send()}}function getDiggs_onSuccess(responseText,responseXML){var resp=JSON.decode(responseText);glo_num_diggs=widget.nDiggs=resp.data.diggs;glo_digg_comments=widget.nDiggComments=resp.data.comments;widget.fireEvent("nDiggsAcquired",glo_num_diggs);widget.fireEvent("nDiggCommentsAcquired",glo_digg_comments)}function getTinyURL(url){if(url!==""&&url!==" "&&url!==glo_last_url2&&url!==undefined&&url!=="undefined"){var data="url="+url;var request=new Request({method:"post",url:"/api/getTinyURL_ws.php",data:data,onSuccess:getTinyURL_onSuccess});glo_last_url2=url;request.send()}}function getTinyURL_onSuccess(responseText,responseXML){try{var resp=JSON.decode(responseText);var twitURL=encodeURIComponent(resp.data.tinyURL)}catch(err){var twitURL=glo_url}widget.tinyURL=twitURL;widget.fireEvent("tinyURLAcquired",widget.tinyURL)}function HexToR(h){return parseInt((cutHex(h)).substring(0,2),16)}function HexToG(h){return parseInt((cutHex(h)).substring(2,4),16)}function HexToB(h){return parseInt((cutHex(h)).substring(4,6),16)}function cutHex(h){return(h.charAt(0)==="#")?h.substring(1,7):h}function luminescence(color){var rgb={};if(color.length===7){rgb=[parseInt("0x"+color.substring(1,3))/255,parseInt("0x"+color.substring(3,5))/255,parseInt("0x"+color.substring(5,7))/255]}else{if(color.length===4){rgb=[parseInt("0x"+color.substring(1,2))/15,parseInt("0x"+color.substring(2,3))/15,parseInt("0x"+color.substring(3,4))/15]}}var r=rgb[0],g=rgb[1],b=rgb[2];var min=Math.min(r,Math.min(g,b));var max=Math.max(r,Math.max(g,b));return(min+max)/2}var closetimeout;function suggestAutoClose(){closetimeout=setTimeout("hideSuggest()",750)}function suggestCancelClose(){if(closetimeout){clearTimeout(closetimeout)}}function sendDestination(destination1){var destAddress=glo_destinationAddress;glo_type="default";glo_content=Url.decode(glo_content);glo_content=encodeURIComponent(glo_content);if(!glo_description||glo_description==undefined||glo_description=="undefined"){glo_description=""}if(!glo_tags||glo_tags==undefined){glo_tags=""}var objects="";var destination="";objects=[{type:glo_type,url:glo_url,title:decodeURIComponent(glo_title),thumbnail:glo_thumb,embed:glo_content,description:glo_description,tags:glo_tags}];objects=JSON.encode(objects);destination=[{type:destination1,address:destAddress}];destination=JSON.encode(destination);var eml="";if(glo_userEmail==""){eml=""}else{eml="&sender="+encodeURIComponent(glo_userEmail)}var data="publisher="+glo_publisher+"&objects="+encodeURIComponent(objects)+"&destinations="+encodeURIComponent(destination)+"&destinationType="+glo_destinationType+"&sessionID="+glo_sessionID+"&return=json"+eml;var url="/api/createDestination_ws.php?"+data;var logger=new Image(1,1);logger.src=url;logger.onload=function(){console.dir(logger);return }}function populateSavedCredentials(credentials){if(!credentials){return }for(var i=0;i<=credentials.length;i++){if(credentials[i]){try{if(document.getElementById("post_"+credentials[i].service)){$(credentials[i].service+"RememberMe").checked=true;var inputfields=$(credentials[i].service+"Form").getElementsByClassName("text");if(inputfields.length==3){inputfields[0].disabled=true;inputfields[1].disabled=true;inputfields[2].disabled=true;inputfields[0].value=credentials[i].url;inputfields[1].value=credentials[i].username;inputfields[2].value=credentials[i].password}else{inputfields[0].disabled=true;inputfields[1].disabled=true;inputfields[0].value=credentials[i].username;inputfields[1].value=credentials[i].password}}}catch(err){}}}}Widget.Page=new Class({Implements:Events,id:"",pages:{},widget:null,domContainer:null,shown:false,firstShow:true,initialize:function(widget,props){this.widget=widget;if(props){for(var p in props){if(typeof props[p]!="function"){this[p]=props[p]}}}if(this.id.length){this.domContainer=$(this.id)}if(this.pages){this.pages=widget.initializePages(this.pages)}},onShow:function(){this.shown=true;if(this.firstShow){this.firstShow=false}},onHide:function(){this.shown=false},isShown:function(){return this.shown},onReady:function(){},bindReturnKeyToSubmission:function(){this.domContainer.getElements("input[type=text], input[type=password]").each((function(input){input.addEvent("keyup",(function(event){if(event.key=="enter"&&!widget.showingAlert){this.submitForm()}}).bind(this))}).bind(this))},submitForm:function(){},bindHelpText:function(input,text){var textColor=input.getStyle("color");if(!input.get("value").length){input.set("value",text);input.setStyle("color","#888")}input.addEvent("blur",(function(){if(!this.get("value").length){this.set("value",text);this.setStyle("color","#888")}}).bind(input));input.addEvent("focus",(function(){if(this.get("value")==text){this.set("value","");this.setStyle("color",textColor)}}).bind(input))}});Widget.implement({pages:{home:{id:"home_page",myspaceMenuOpen:false,_resizeShortcutsOnShow:false,showMyspaceMenu:function(){$("myspace_menu").removeClass("hidden");$("send_myspace").getParent().addClass("active");this.myspaceMenuOpen=true;var f=null;f=(function(event){if(event.target!=$("myspace_send_to_friend")&&event.target!=$("myspace_post_to_profile")){this.hideMyspaceMenu();this.domContainer.removeEvent("click",f);this.domContainer.getElement(".carousel").getElements("a").each(function(element){element.removeEvent("click",f)})}}).bind(this);this.domContainer.addEvent("click",f);this.domContainer.getElement(".carousel").getElements("a").each(function(element){element.addEvent("click",f)})},hideMyspaceMenu:function(){$("myspace_menu").addClass("hidden");$("send_myspace").getParent().removeClass("active");this.myspaceMenuOpen=false},buildShortcutList:function(recipients){$("recent_recipients").getChildren().each(function(child){if(child.nodeName.toLowerCase()!="h4"){child.destroy()}});for(var i=0;i<3&&i<recipients.length;i++){var e=new Element("span",{"class":"shortcut"});var a=new Element("a",{href:"#",title:recipients[i].address+" ("+recipients[i].service+")"});a.set("html",recipients[i].name);a.addEvent("click",(function(){var enclosedRecipient=recipients[i];return(function(event){var existingContact=widget.user.searchContactsExact(enclosedRecipient.service.toLowerCase(),enclosedRecipient.address);if(existingContact){existingContact.select()}else{var newContacts=widget.user.addContactsLocally([enclosedRecipient]);setTimeout(function(){newContacts[0].select()},1)}widget.showPage("send");event.stop()})})());$("recent_recipients").grab(e.grab(a))}if(this.isShown()){this.resizeShortcuts()}else{if(recipients.length){this._resizeShortcutsOnShow=true}else{$("recent_recipients").addClass("hidden")}}},hideShortcutList:function(){$("recent_recipients").getChildren().each(function(child){if(child.nodeName.toLowerCase()!="h4"){child.destroy()}});$("recent_recipients").addClass("hidden")},resizeShortcuts:function(){$("recent_recipients").removeClass("hidden");$("recent_recipients").getChildren().getLast().addClass("last");var anchors=[];var total=0;$("recent_recipients").getChildren().each(function(item){var anchor=item.getElement("a");var width=item.getSize().x;if(anchor){anchors.push({anchor:anchor,width:width})}total+=width});while(total>295){anchors.sort(function(a,b){return b.width-a.width});var str=anchors[0].anchor.get("html");anchors[0].anchor.set("html",str.substring(0,str.length-3)+"&hellip;");anchors[0].width=anchors[0].anchor.getSize().x;total=0;$("recent_recipients").getChildren().each(function(item){total+=item.getSize().x})}},onShow:function(){this.parent();$("home_button").getParent().addClass("active");if(this._resizeShortcutsOnShow){this.resizeShortcuts();this._resizeShortcutsOnShow=false}},onHide:function(){this.parent();this.hideMyspaceMenu();$("home_button").getParent().removeClass("active")},onReady:function(){$("myspace_menu").setStyles({top:($("send_myspace").getCoordinates().bottom-6)+"px",left:($("send_myspace").getCoordinates().left-6)+"px"});$("send_email").addEvent("click",function(event){widget.pages.addressbook.addressBook.svc="email";widget.showPage("send");event.stop()});$("send_aim").addEvent("click",function(event){if(widget.user.hasContactsOnService("aim")){widget.showPage("addressbook");widget.pages.addressbook.addressBook._clearList();widget.pages.addressbook.addressBook.svc="aim";$("abLoading").setStyle("display","inline");setTimeout("widget.pages.addressbook.addressBook.sort('aim')",1)}else{widget.showPage("import");setTimeout(function(){widget.setImportContactService("aim")},1)}event.stop()});$("send_myspace").addEvent("click",(function(event){if(!this.myspaceMenuOpen){this.showMyspaceMenu()}else{this.hideMyspaceMenu()}event.stop()}).bind(this));$("myspace_send_to_friend").addEvent("click",(function(event){if(widget.user.hasContactsOnService("myspace")){widget.showPage("addressbook");widget.pages.addressbook.addressBook._clearList();$("abLoading").setStyle("display","inline");widget.pages.addressbook.addressBook.svc="myspace";setTimeout("widget.pages.addressbook.addressBook.sort('myspace')",1)}else{widget.showPage("import");setTimeout(function(){widget.setImportContactService("myspace")},1)}event.stop()}).bind(this));widget.addEvent("shareableValuesUpdated",function(){var link=widget.getServiceLink("myspace");link.set("id","myspace_post_to_profile").set("text","Post To Profile").removeClass("myspace");link.replaces($("myspace_post_to_profile"))});$("send_sms").addEvent("click",(function(event){if(widget.user.hasContactsOnService("sms")){widget.showPage("addressbook");widget.pages.addressbook.addressBook._clearList();widget.pages.addressbook.addressBook.svc="sms";$("abLoading").setStyle("display","inline");setTimeout("widget.pages.addressbook.addressBook.sort('sms')",1)}else{widget.showPage("send")}event.stop()}).bind(this));$("save_section").getElement("a.sharebox").addEvent("click",(function(event){if(widget.userIsSignedIn()){widget.showPage("sharebox")}else{widget.showPage("register");widget.displayNotification("You must register to save items to a ShareBox.");var signedIn=leftPage=null;signedIn=function(){widget.showPage("sharebox");widget.removeEvent("signInComplete",signedIn);widget.removeEvent("pageHidden",leftPage)};leftPage=function(page){widget.removeEvent("signInComplete",signedIn);widget.removeEvent("pageHidden",leftPage)};widget.addEvent("signInComplete",signedIn);widget.addEvent("pageHidden",leftPage)}event.stop()}));widget.user.addEvent("infoChanged",(function(){createSwList()}).bind(this));widget.user.addEvent("recipientHistoryChanged",(function(recipientsContainer){widget.deferWhile("recipientHistoryIsChanging",(function(){if(widget.user.isSignedIn()&&glo_tabArray.contains("email")){this.buildShortcutList(recipientsContainer.recipients)}}).bind(this))}).bind(this));widget.user.addEvent("signedOut",(function(){this.hideShortcutList()}).bind(this));widget.carousel=this.carousel=new Widget.Carousel(this.domContainer.getElement(".carousel"),(!glo_tabArray.contains("email")?Widget.Carousel.initialState_more:Widget.Carousel.initialState_less));widget.addEvent("tabPrefsChanged",function(tabsContainer){if(!tabsContainer.tabs.contains("email")){$("send_section").getChildren().each(function(child){child.addClass("hidden")});$("contacts_info").addClass("hidden");widget.carousel.showMore()}});this.parent()}},sharebox:{id:"sharebox_page",onReady:function(){$("sharebox_submit").addEvent("click",function(event){widget.saveToShareBox($("sharebox_tags").get("value"));event.stop()});if(glo_tags_array&&glo_tags_array.length){$("sharebox_tags").set("value",glo_tags_array.join(","))}widget.addEvent("shareableURLChanged",(function(url){var domain=widget.extractDomainFromURL(url);$("sharebox_previewUrl").set("text",domain);if(url.length){$("sharebox_previewThumb").set("src",glo_thumbImageTag)}else{$("sharebox_previewThumb").addClass("hidden")}$("sharebox_preview").removeClass("hidden")}).bind(this));widget.addEvent("shareableTitleChanged",(function(title){$("sharebox_previewTitle").set("text",decodeURIComponent(title))}).bind(this));widget.addEvent("shareableDescriptionChanged",(function(description){$("sharebox_previewDescription").set("text",description)}).bind(this));this.parent();widget.addEvent("saveToShareBoxSucceeded",function(){widget.showPage("done");$("done_message").set("text","This item was successfully saved to your ShareBox.")});widget.addEvent("saveToShareBoxFailed",function(){widget.pushModalErrorSheet("Could not save to your ShareBox.")})},onShow:function(){if(this.firstShow){this.bindHelpText($("sharebox_tags"),"Separated by commas")}widget.user.addEvent("signedOut",this.runAway.bind(this));this.parent()},onHide:function(){widget.user.removeEvent("signedOut",this.runAway.bind(this))},runAway:function(){widget.showPage("home")}},register:{id:"register_page",onShow:function(){this.parent()},onReady:function(){$("registerSubmit").addEvent("click",(function(){this.submitForm()}).bind(this));widget.addEvent("registerUserRequested",function(){widget.pushModalWorkingSheet("Creating your account&hellip;")});widget.addEvent("registerUserSucceeded",function(){widget.popModalWorkingSheet();setTimeout(function(){widget.showPage("home")},10)});widget.addEvent("registerUserFailed",function(message){widget.popModalWorkingSheet();widget.pushModalErrorSheet(message)});this.bindReturnKeyToSubmission();this.parent()},submitForm:function(){register()}},send:{id:"send_page",toField:null,onShow:function(){if(this.firstShow){this.bindHelpText($("txtYourAddr"),"Your Email Address")}$("privacyLink").removeClass("hidden");this.parent();this.toField.onPageShown()},onHide:function(){this.parent();$("privacyLink").addClass("hidden");widget.user.contactServiceFilters=[];this.toField.onPageHidden()},onReady:function(){this.toField=new Widget.ToField(widget,$("send_to_field"));$("addressbook_button").addEvent("click",(function(event){if(widget.user.contacts.length){widget.pages.addressbook.addressBook.blockStart=0;widget.pages.addressbook.addressBook.domContainer.set("html","");widget.pages.addressbook.addressBook.makeArray();widget.showPage("addressbook");$("abLoading").setStyle("display","inline");setTimeout("widget.pages.addressbook.addressBook.addBlock()",10)}else{widget.showPage("import");widget.displayNotification("Import contacts to add them to your address book.")}event.stop()}.bind(this)));$("previewCloseLink").addEvent("click",function(event){$("preview").addClass("hidden");$("linkPreview").removeClass("hidden");$("previewCloseLink").addClass("hidden");event.stop()});$("linkPreview").addEvent("click",function(event){$("preview").removeClass("hidden");$("previewThumb").set("html","<img width='100' src='"+glo_thumbImageTag+"'/>");$("linkPreview").addClass("hidden");$("previewCloseLink").removeClass("hidden");event.stop()});$("btnShareSend").addEvent("click",(function(){var recipients=widget.user.getSelectedContacts();if(recipients.length<25){recipients.each(function(contact){addToMsg(contact)});processSendQueue()}else{alert("Please enter less than 25 recipients")}}).bind(this));widget.user.addEvent("signedIn",function(){$("boxToYourAddr").addClass("hidden");$("boxToFromLabel").addClass("hidden")});widget.user.addEvent("signedOut",function(){$("boxToYourAddr").removeClass("hidden");$("boxToFromLabel").removeClass("hidden")});widget.addEvent("createMessageRequested",(function(){widget.pushModalWorkingSheet()}).bind(this));widget.addEvent("createMessageSucceeded",(function(){widget.popModalWorkingSheet();widget.showPage("done");widget.user.getUserAccountInfo()}).bind(this));widget.addEvent("createMessageFailed",(function(){widget.popModalWorkingSheet();widget.pushModalErrorSheet("Could not send your message.")}).bind(this));this.parent()}},"import":{id:"import_page",nImportsOnShow:0,onReady:function(){$("import_list").getElements("li").each(function(item,index){item.getElement("a").addEvents({click:function(event){widget.setImportContactService(item.getChildren()[0].get("class"));event.stop()}})});$("import_contacts_submit").addEvent("click",(function(event){this.submitForm();event.stop()}).bind(this));widget.addEvent("importContactsRequested",function(){widget.pushModalWorkingSheet("Importing contacts&hellip;")});widget.addEvent("importContactsSucceeded",function(contactInfo){widget.popModalWorkingSheet();widget.displayNotification("Success! "+contactInfo.nContacts+" contacts imported.");emptyInputs()});widget.addEvent("importContactsFailed",function(){widget.popModalWorkingSheet();widget.pushModalErrorSheet("Could not retrieve your contacts.")});$("import_contacts_done").addEvent("click",(function(){if(this.nImportsOnShow!=widget.user.contacts.length){widget.showPage("addressbook");$("abLoading").setStyle("display","inline");setTimeout("widget.pages.addressbook.addressBook.addBlock()",10)}else{widget.showPage("send")}}).bind(this));widget.addEvent("importContactServiceChanged",(function(serviceTag){if(this.isShown()){var service=widget.contactSources[serviceTag];var importBox=this.domContainer.getElement(".mbox");importBox.getElement("h4").set("html",service.title);importBox.getElement("h4").set("class",serviceTag);var item=null;$("import_list").getElements("li").each(function(i){if(i.getElement("a").hasClass(serviceTag)){item=i}});if(item){this.pointImportPointerAt(item)}}}).bind(this));this.bindReturnKeyToSubmission();this.parent()},submitForm:function(){var service=widget.currentImportContactService;var username=$("import_contacts_username").get("value");var password=$("import_contacts_password").get("value");widget.importContacts(widget.currentImportContactService,username,password)},onShow:function(){this.nImportsOnShow=widget.user.contacts.length;if(this.firstShow){setTimeout(function(){widget.setImportContactService("gmail")},1)}$("privacyLink").removeClass("hidden");this.parent()},onHide:function(){$("privacyLink").addClass("hidden");this.parent()},pointImportPointerAt:function(pointToItem){var y=pointToItem.getPosition(pointToItem.getParent()).y;var pointer=$$(".mboxpoint")[0];var importBox=$$(".mbox")[0];pointer.set("tween",{duration:0});pointer.tween("top",y+(pointToItem.getSize().y/2)-(pointer.getSize().y/2)+5);$("import_list").getElements("li").each(function(selectedItem){if(selectedItem!==pointToItem){selectedItem.removeClass("selected")}else{selectedItem.addClass("selected")}})}},addressbook:{id:"addressbook_page",addressBook:null,onReady:function(){this.addressBook=new Widget.AddressBookView(widget,$("addressbook_container"));$("addressbook_goto_import").addEvent("click",(function(event){widget.pages.addressbook.addressBook.svc="all";widget.showPage("import");event.stop()}));widget.user.addEvent("contactsChanged",function(){if(widget.user.contacts.length==0){$("addressbook_goto_import").set("text","Import Contacts")}else{$("addressbook_goto_import").set("text","Import More Contacts")}});$("addressbook_sort_by_name").addEvent("click",(function(event){this.addressBook.sort("name");event.stop()}).bind(this));$("addressbook_sort_by_service").addEvent("click",(function(event){this.addressBook.sort("service");event.stop()}).bind(this));this.addressBook.addEvent("sortingChanged",function(newSortType){if(newSortType=="service"){$("addressbook_sort_by_service").addClass("selected");$("addressbook_sort_by_name").removeClass("selected")}else{if(newSortType=="name"){$("addressbook_sort_by_name").addClass("selected");$("addressbook_sort_by_service").removeClass("selected")}}});if(this.addressBook.sortBy=="name"){$("addressbook_sort_by_name").addClass("selected")}else{if(this.addressBook.sortBy=="service"){$("addressbook_sort_by_service").addClass("selected")}}this.parent()},onShow:function(){this.addressBook.deferRendering=false},onHide:function(){this.addressBook.deferRendering=true}},done:{id:"done_page",onReady:function(){$("doneScreenOk").addEvent("click",function(event){widget.user.deselectContacts();clearMsgQueue();widget.showPage("home");event.stop()});this.parent()},onHide:function(){$("done_message").set("text","Your message was successfully shared!")}},post:{id:"post_page",onShow:function(){$("privacyLink").removeClass("hidden");this.parent()},onHide:function(){$("privacyLink").addClass("hidden");this.parent()},onReady:function(){widget.addEvent("postToServiceRequested",function(serviceTag){widget.pushModalWorkingSheet('<span class="'+serviceTag+'">Posting your share to '+widget.services[serviceTag].title+"</span>")});widget.addEvent("postToServiceSucceeded",function(serviceTag){logEvent(serviceTag,"post");widget.popModalWorkingSheet();widget.showPage("done")});widget.addEvent("postToServiceFailed",function(serviceTag,error){widget.popModalWorkingSheet();widget.pushModalErrorSheet(error)});widget.addEvent("postToServiceNeedsMoreInfo",function(serviceTag,message){widget.popModalWorkingSheet();widget.displayNotification(message)})},pages:{wordpress:{id:"post_wordpress",onReady:function(){$("btnWpSubmit").addEvent("click",function(){widget.postWordpress()});this.bindReturnKeyToSubmission();this.parent()},submitForm:function(){widget.postWordpress()}},blogger:{id:"post_blogger",onReady:function(){$("btnBloggerPost").addEvent("click",function(){setGlobals("glo_bloggerDraft",0);widget.postBlogger()});$("btnBloggerPublish").addEvent("click",function(){setGlobals("glo_bloggerDraft",1);widget.postBlogger()});$("btnBloggerSubmit").addEvent("click",function(){widget.postBlogger()});widget.addEvent("postToServiceNeedsMoreInfo",function(serviceTag,message,data){var blogname=[];var blogid=[];var blOptions="";for(var i=0;i<data.blogs.length;i++){blogname.push(data.blogs[i].blogname);blogid.push(data.blogs[i].blogid)}blOptions='<select id="bloggerSelect">';for(i=0;i<blogname.length;i++){blOptions+='<option value="'+blogid[i]+'">'+blogname[i]+"</option>"}blOptions+="</select>";this.freezeTextInput($("inputBloggerUsername"));this.freezeTextInput($("inputBloggerPassword"));$("btnBloggerSubmit").removeClass("hidden");$("btnBloggerPost").addClass("hidden");$("btnBloggerPublish").addClass("hidden");$("bloggerSelectContainer").set("html",blOptions);$("bloggerSelectLabel").removeClass("hidden");$("bloggerSelectContainer").removeClass("hidden")});this.bindReturnKeyToSubmission();this.parent()},submitForm:function(){setGlobals("glo_bloggerDraft",0);widget.postBlogger()}},typepad:{id:"post_typepad",onReady:function(){$("btnTpPost").addEvent("click",function(){setGlobals("glo_tpDraft",0);widget.postTypePad()});$("btnTpPublish").addEvent("click",function(){setGlobals("glo_tpDraft",1);widget.postTypePad()});$("btnTpSubmit").addEvent("click",function(){widget.postTypePad()});widget.addEvent("postToServiceNeedsMoreInfo",function(serviceTag,message,data){if(serviceTag=="typepad"){var blogname=[];var blogid=[];var tpOptions="";for(var i=0;i<data.blogs.length;i++){blogname.push(data.blogs[i].blogName);blogid.push(data.blogs[i].blogid)}tpOptions="<select id='tpSelect'>";for(i=0;i<blogname.length;i++){tpOptions+='<option value="'+blogid[i]+'">'+blogname[i]+"</option>"}tpOptions+="</select>";this.freezeTextInput($("inputTpUsername"));this.freezeTextInput($("inputTpPassword"));$("btnTpSubmit").removeClass("hidden");$("btnTpPost").addClass("hidden");$("btnTpPublish").addClass("hidden");$("typepadSelectContainer").set("html",tpOptions);$("typepadSelectLabel").removeClass("hidden");$("typepadSelectContainer").removeClass("hidden")}});this.bindReturnKeyToSubmission();this.parent()},submitForm:function(){setGlobals("glo_tpDraft",0);widget.postTypePad()}},orkut:{id:"post_orkut",onReady:function(){$("txtOrkutComment").value="optional";$("txtOrkutComment").addEvent("focus",function(){if($("txtOrkutComment").value==="optional"){$("txtOrkutComment").value=""}});$("btnOrkutSubmit").addEvent("click",function(){widget.postOrkut()});this.bindReturnKeyToSubmission();this.parent()},submitForm:function(){widget.postOrkut()},onShow:function(){glo_Orkutcaptchaurl="";glo_Orkutcookiefile="";glo_Orkutpost_token="";glo_Orkutsignature="";glo_Orkutpostdata="";Orkutcaptcha=false}},livejournal:{id:"post_livejournal",onReady:function(){$("txtLive_journalComment").value="optional";$("txtLive_journalComment").addEvent("focus",function(){if($("txtLive_journalComment").value==="optional"){$("txtLive_journalComment").value=""}});$("btnLive_journalSubmit").addEvent("click",function(){widget.postLive_journal()});this.bindReturnKeyToSubmission();this.parent()},submitForm:function(){widget.postLive_journal()}},friendster:{id:"post_friendster",onReady:function(){$("txtFriendsterComment").value="optional";$("txtFriendsterComment").addEvent("focus",function(){if($("txtFriendsterComment").value==="optional"){$("txtFriendsterComment").value=""}});$("btnFriendsterSubmit").addEvent("click",function(){widget.postFriendster()});this.bindReturnKeyToSubmission();this.parent()},submitForm:function(){widget.postFriendster()}}}}},pageHistory:[],_currentPage:null,showPage:function(path,obj){if(!obj&&path!=this.pageHistory.getLast()){this.pageHistory.push(path)}path=(typeof path=="string"?path.split("/"):path);obj=(obj?obj:widget);var page=path.shift();for(var name in obj.pages){if(name==page){$(obj.pages[name].id).removeClass("hidden");this.fireEvent("pageShown",obj.pages[name]);this._currentPage=obj.pages[name]}else{if(!$(obj.pages[name].id).hasClass("hidden")){$(obj.pages[name].id).addClass("hidden");this.fireEvent("pageHidden",obj.pages[name])}}}if(path.length){this.showPage(path,obj.pages[page])}},showPreviousPage:function(){if(this.pageHistory.length>1){this.pageHistory.pop();this.showPage(this.pageHistory.getLast())}},hideOverlays:function(){$$(".overlay").addClass("hidden")},initializePages:function(obj){var result={};for(var pageName in obj){var pageClass=new Class($extend({Extends:Widget.Page},obj[pageName]));result[pageName]=new pageClass(this);this.addEvent("pageShown",(function(enclosedPage){return function(shownPage){if(shownPage==enclosedPage){shownPage.onShow()}}})(result[pageName]),true);this.addEvent("pageHidden",(function(enclosedPage){return function(hiddenPage){if(hiddenPage==enclosedPage){hiddenPage.onHide()}}})(result[pageName]),true)}return result},readyPages:function(obj){for(var pageName in obj){obj[pageName].onReady();if("pages" in obj[pageName]){this.readyPages(obj[pageName].pages)}}},getCurrentPage:function(){return this._currentPage},getCurrentTopLevelPage:function(){for(var name in widget.pages){if(widget.pages[name].isShown()){return widget.pages[name]}}return null},_lastFocus:null,captureLastFocus:function(target){this._lastFocus=target},getCurrentFocus:function(){return this._lastFocus},_modalCovers:[],_workingCovers:[],displayNotification:function(text){var elementToCover=widget.getCurrentTopLevelPage().domContainer;var cover=new Element("div",{"class":"notification_sheet collapsed"});cover.grab(new Element("div",{style:"font-weight:bold; text-align:center; margin:5px auto; width:337x"}).set("html",text));elementToCover.grab(cover);setTimeout(function(){cover.get("tween").addEvent("complete",function(){cover.destroy()});cover.set("tween",{duration:"normal"});cover.tween("height","0px");setTimeout(function(){cover.destroy()},1000)},2500);cover.set("tween",{duration:"short"});cover.tween("height","30px")},pushModalSheet:function(message,type,callback){var widgetContainer=$("container");var cover=new Element("div",{"class":"modal_sheet faded_out"});var smoke=new Element("div",{"class":"smoke"});var errorContainer=new Element("div",{"class":"modal_message_container"});var height=widgetContainer.getSize().y-(2*parseInt(widgetContainer.getStyle("border-width")));cover.grab(smoke);cover.setStyles("height",height);smoke.setStyle("height",height);errorContainer.grab(new Element("div",{"class":type}).set("html",message));errorContainer.grab(new Element("input",{"class":"button",type:"button",value:"OK"}).addEvent("click",function(event){widget.popModalSheet();if(typeof callback=="function"){callback()}event.stop()}));errorContainer.setStyles({height:height,top:"40px"});widgetContainer.grab(cover.grab(errorContainer));cover.set("tween",{duration:"short"});var currentFocus=this.getCurrentFocus();if(currentFocus){currentFocus.blur()}var keyHandler=function(event){if(event.key=="enter"||event.key=="esc"){widget.popModalSheet()}};cover.get("tween").addEvent("complete",function(){document.addEvent("keyup",keyHandler)});this._modalCovers.push({latentFocus:currentFocus,cover:cover,keyHandler:keyHandler});cover.fade("hide").fade("in")},popModalSheet:function(){if(this._modalCovers.length){var obj=this._modalCovers.pop();document.removeEvent("keyup",obj.keyHandler);obj.cover.destroy();if(obj.latentFocus){obj.latentFocus.focus()}}},pushModalErrorSheet:function(errorMessage,onOKClicked){this.pushModalSheet(errorMessage,"error",onOKClicked)},pushModalNotificationSheet:function(message,onOKClicked){this.pushModalSheet(message,"notification",onOKClicked)},popModalNotificationSheet:function(){this.popModalSheet()},popModalErrorSheet:function(){this.popModalSheet()},pushModalWorkingSheet:function(statusMessage){var widgetContainer=$("container");var cover=new Element("div",{"class":"modal_sheet faded_out"});var smoke=new Element("div",{"class":"smoke"});var spinnerContainer=new Element("div",{"class":"spinner_container"});var height=widgetContainer.getSize().y-(2*parseInt(widgetContainer.getStyle("border-width")));cover.grab(smoke);cover.setStyles("height",height);smoke.setStyle("height",height);spinnerContainer.grab(new Element("div",{"class":"working_text"}).set("html",statusMessage));spinnerContainer.grab(new Element("div",{"class":"loading32"}));spinnerContainer.setStyles({height:height});widgetContainer.grab(cover.grab(spinnerContainer));cover.set("tween",{duration:"short"});cover.fade("hide").fade("in");this._workingCovers.push(cover)},popModalWorkingSheet:function(){if(this._workingCovers.length){this._workingCovers.pop().destroy()}},closeLoginBox:function(){$("loginBox").get("morph").removeEvents("complete").addEvent("complete",function(){$("loginBox").addClass("hidden");$("linkSignIn").addEvent("click",function(){widget.openLoginBox()})});$("loginBox").morph({height:"0px",top:"0px"})},openLoginBox:function(){$("loginBox").setStyles({height:"0px",top:"0px"}).removeClass("hidden");$("loginBox").get("morph").removeEvents("complete").addEvent("complete",function(){$("textAuthUsername").focus();$("linkSignIn").removeEvents()});$("loginBox").morph({height:(Browser.Engine.trident?"150px":"140px"),top:(Browser.Engine.trident?"-150px":"-140px")})}});Widget.implement({services:{reddit:{title:"Reddit",submitUrl:"http://reddit.com/submit?url={url}&title={title}",destination:"reddit.com"},digg:{title:"Digg",submitUrl:"http://digg.com/submit?phase=2&url={url}&title={title}",destination:"digg.com",onCreate:function(element){if(widget.nDiggs){element.set("title",widget.nDiggs+" Diggs, "+widget.nDiggComments+" Comments");element.set("text","Digg ("+widget.nDiggs+")")}else{getDiggs(glo_url);widget.addEvent("nDiggsAcquired",(function(nDiggs){element.set("title",widget.nDiggs+" Diggs, "+widget.nDiggComments+" Comments");element.set("text","Digg ("+widget.nDiggs+")")}).bind(this))}}},facebook:{title:"Facebook",submitUrl:"http://www.facebook.com/share.php?u={url}&t={title}",destination:"facebook.com"},myspace:{title:"MySpace",submitUrl:"http://www.myspace.com/Modules/PostTo/Pages/?l=3&u={url}&t={title}&c={content}%3Cp%3EPowered+by+%3Ca+href%3D%22http%3A%2F%2Fsharethis.com%22%3EShareThis%3C%2Fa%3E%3C%2Fp%3E",destination:"myspace.com"},delicious:{title:"Delicious",submitUrl:"http://del.icio.us/post?url={url}&title={title}",destination:"del.icio.us"},twitter:{title:"Twitter",destination:"twitter.com",submitUrl:"",onCreate:function(element){if(widget.tinyURL){element.set("href","http://twitter.com/timeline/home/?status="+glo_title+" "+widget.tinyURL+"+via+%40ShareThis")}else{widget.addEvent("tinyURLAcquired",(function(tinyurl){this.onCreate(element)}).bind(this))}}},stumbleupon:{title:"Stumbleupon",submitUrl:"http://www.stumbleupon.com/submit?url={url}&title={title}",destination:"stumbleupon.com"},ybuzz:{title:"Buzz Up!",submitUrl:"http://buzz.yahoo.com/buzz?targetUrl={url}&headline={title}&src=sharethis",destination:"buzz.yahoo.com"},mixx:{title:"Mixx",submitUrl:"http://www.mixx.com/submit?page_url={url}",destination:"mixx.com"},technorati:{title:"Technorati",submitUrl:"http://www.technorati.com/faves?add={url}",destination:"technorati.com"},google_bmarks:{title:"G Bookmarks",submitUrl:"http://www.google.com/bookmarks/mark?op=edit&bkmk={url}&title={title}",destination:"google.com"},yahoo_bmarks:{title:"Y! Bookmarks",submitUrl:"http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&u={url}&t={title}",destination:"bookmarks.yahoo.com"},windows_live:{title:"Live",submitUrl:"https://favorites.live.com/quickadd.aspx?marklet=1&mkt=en-us&url={url}&title={title}&top=1",destination:"favorites.live.com"},propeller:{title:"Propeller",submitUrl:"http://www.propeller.com/submit/?U={url}&T={title}",destination:"propeller.com"},friendfeed:{title:"FriendFeed",submitUrl:"http://friendfeed.com/share?url={url}&title={title}",destination:"friendfeed.com"},newsvine:{title:"Newsvine",submitUrl:"http://www.newsvine.com/_tools/seed&save?popoff=0&u={url}&h={title}",destination:"newsvine.com"},xanga:{title:"Xanga",submitUrl:"http://www.xanga.com/private/editorx.aspx?t={title}&u={url}&s={content}",destination:"xanga.com"},linkedin:{title:"LinkedIn",submitUrl:"http://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}&summary=&source=",destination:"linkedin.com"},blinklist:{title:"Blinklist",submitUrl:"http://blinklist.com/index.php?Action=Blink/addblink.php&Url={url}&Title={title}",destination:"blinklist.com"},furl:{title:"Furl",submitUrl:"http://furl.net/storeIt.jsp?u={url}&t={title}",destination:"furl.net"},slashdot:{title:"Slashdot",submitUrl:"http://slashdot.org/bookmark.pl?url={url}&title={title}",destination:"slashdot.org"},n4g:{title:"N4G",submitUrl:"http://www.n4g.com/tips.aspx?url={url}&title={title}",destination:"ng4.com"},mister_wong:{title:"Mr Wong",submitUrl:"http://www.mister-wong.com/index.php?action=addurl&bm_url={url}&bm_description={title}",destination:"mister-wong.com"},blogmarks:{title:"Blogmarks",submitUrl:"http://blogmarks.net/my/new.php?mini=1&url={url}&title={title}",destination:"blogmarks.net"},faves:{title:"Faves",submitUrl:"http://www.faves.com/Authoring.aspx?u={url}&t={title}",destination:"faves.com"},current:{title:"Current",submitUrl:"http://current.com/clipper.htm?url={url}&title={title}&src=st",destination:"current.com"},fark:{title:"Fark",submitUrl:"http://cgi.fark.com/cgi/farkit.pl?u={url}&h={title}",destination:"cgi.fark.com"},bus_exchange:{title:"Add to BX",submitUrl:"http://bx.businessweek.com/api/add-article-to-bx.tn?url={url}",destination:"bx.businessweek.com",aTitle:"Business Exchange"},simpy:{title:"Simpy",submitUrl:"http://www.simpy.com/simpy/LinkAdd.do?href={url}&title={title}",destination:"simpy.com"},meneame:{title:"Meneame",submitUrl:"http://meneame.net/submit.php?url={url}",destination:"meneame.net"},yigg:{title:"Yigg",submitUrl:"http://www.yigg.de/neu?exturl={url}&exttitle={title}",destination:"yigg.de"},oknotizie:{title:"Oknotizie",submitUrl:"http://oknotizie.alice.it/post?url={url}&title={title}",destination:"oknotizie.alice.it"},fresqui:{title:"Fresqui",submitUrl:"http://ocio.fresqui.com/post?url={url}&title={title}",destination:"digg.com"},diigo:{title:"Diigo",submitUrl:"http://secure.diigo.com/post?url={url}&title={title}",destination:"secure.diigo.com"},care2:{title:"Care2",submitUrl:"http://www.care2.com/news/compose?share[link_url]={url}&share[title]={title}",destination:"care2.com"},funp:{title:"Funp",submitUrl:"http://funp.com/pages/submit/add.php?title={title}&url={url}&via=tools",destination:"funp.com"},kirtsy:{title:"Kirtsy",submitUrl:"http://www.kirtsy.com/submit.php?url={url}",destination:"kirtsy.com"},sphinn:{title:"Sphinn",submitUrl:"http://sphinn.com/submit.php?url={url}",destination:"sphinn.com"},dealsplus:{title:"Dealspl.us",submitUrl:"http://dealspl.us/add.php?ibm=1&url={url}",destination:"dealspl.us"},friendster:{title:"Friendster",onClick:function(event){widget.showPage("post/friendster");event.stop()},type:"post"},wordpress:{title:"WordPress",onClick:function(event){widget.showPage("post/wordpress");event.stop()},type:"post"},blogger:{title:"Blogger",onClick:function(event){widget.showPage("post/blogger");event.stop()},type:"post"},typepad:{title:"TypePad",onClick:function(event){widget.showPage("post/typepad");event.stop()},type:"post"},orkut:{title:"Orkut",onClick:function(event){widget.showPage("post/orkut");event.stop()},type:"post"},hi5:{title:"Hi5",onClick:function(event){widget.showPage("post/hi5");event.stop()},type:"post"},livejournal:{title:"LiveJournal",onClick:function(event){widget.showPage("post/livejournal");event.stop()},type:"post"}},contactSources:{gmail:{title:"GMail",protocolName:"gmail"},yahoo:{title:"Yahoo!",protocolName:"yahoo"},hotmail:{title:"Hotmail",protocolName:"hotmail"},aol:{title:"AOL",protocolName:"aol"},aim:{title:"AIM",protocolName:"aim"},myspace:{title:"MySpace",protocolName:"myspace"},msn:{title:"MSN",protocolName:"hotmail"}}});Widget.implement({getServiceType:function(serviceTag){if("type" in this.services[serviceTag]){return this.services[serviceTag].type}return"web"},getServiceLink:function(serviceTag){var service=this.services[serviceTag];if(!service){return }var link="#";var aTitle="";if(service.aTitle){aTitle=service.aTitle}if("submitUrl" in service&&service.submitUrl.length){link=service.submitUrl.replace("{title}",glo_title).replace("{url}",glo_url).replace("{content}",glo_content)}var a=new Element("a",{"class":serviceTag,rel:"external",style:"color:"+glo_linkfg+";",target:(glo_options_popup?"_top":("linkTarget" in service?service.linkTarget:"_blank")),href:link,title:aTitle});a.addEvent("click",(function(event){if("destination" in service){logSW(service.destination);if(widget.user){widget.user.logServiceUse(serviceTag)}}if("onClick" in service){service.onClick.bind(service)(event,link)}else{widget.showPage("done")}if(link!="#"){if(glo_options_popup==true){popupOpen2(this);event.stop()}}}).bind(a));a.appendText(service.title);if(service.onCreate){service.onCreate(a)}return a},getDummyServiceLink:function(){var a=new Element("a",{href:"javascript:void(0);"});return a.appendText(" ")}});Widget.Contact=new Class({Implements:Events,service:"",name:"",address:"",id:"",selected:false,added:false,widget:null,inventName:false,_isAContact:true,toString:function(){var secondarySort="";if(widget.user.contactSortMode=="name"){secondarySort=this["service"]}else{if(widget.user.contactSortMode=="service"){secondarySort=this["name"]}}return(this[widget.user.contactSortMode]+" - "+secondarySort).toLowerCase()},initialize:function(widget,props){this.widget=widget;for(var p in props){if(props[p]){this[p]=props[p]}}},select:function(){this.selected=true;this.fireEvent("selected",true)},deselect:function(){this.selected=false;this.fireEvent("selected",false)},toggleSelect:function(){if(this.selected==false){this.select()}else{if(this.selected==true){this.deselect()}}},setName:function(text){this.name=text;this.fireEvent("nameChanged",this.name)},setAddress:function(text){this.address=text;this.fireEvent("addressChanged",this.address)},setService:function(text){this.service=text;this.fireEvent("serviceChanged",this.service)},isEqualTo:function(obj){if(obj.address&&obj.service){return obj.address.toLowerCase()==this.address.toLowerCase()&&obj.service==this.service}return false}});Widget.Contact.guessServiceForAddress=function(address,serviceSrcHint){if(serviceSrcHint){switch(serviceSrcHint){case"gmail":return"email";break;case"aim":return"aim";break;case"myspace":return"myspace";break;case"aol":return"email";break;case"msn":return"email";break;case"yahoo":return"email";break;break;case"hotmail":return"email";break;break}}if(!address.test(/[^\d\-\(\)]/)){return"sms"}else{if(address.indexOf("@")>=0){return"email"}}return null};Widget.Contact.generateNameFromAddress=function(address){if(address.indexOf("@")!=-1){return address.substr(0,address.indexOf("@"))}else{if(address.test(/[^\d\-\(\)]/)){return address}}return""};Widget.Carousel=new Class({Implements:Events,initialize:function(idOrElement,initialState){if($type(idOrElement)=="element"){this.domContainer=$(idOrElement)}else{if($type(idOrElement)=="string"){this.domContainer=$(idOrElement)}}var poppet=this;this.domContainer.getElement(".fwd").addEvent("click",function(event){if(poppet.getNumPages()>1){poppet.advance()}event.stop()});this.domContainer.getElement(".back").addEvent("click",function(event){if(poppet.getNumPages()>1){poppet.rewind()}event.stop()});this.domContainer.getElement("#linkWebMore").addEvent("click",function(event){poppet.showMore();event.stop()});this.domContainer.getElement("#linkWebLess").addEvent("click",function(event){poppet.showLess();event.stop()});if(initialState==undefined||initialState==Widget.Carousel.initialState_less){this.showLess()}else{this.showMore()}},showMore:function(){this.setNumRows(4);this.domContainer.getElement("#linkWebMore").addClass("hidden");this.domContainer.getElement("#linkWebLess").removeClass("hidden");var poppet=this;this.domContainer.getElement(".view").get("tween").removeEvents("complete").addEvent("complete",function(){poppet.isShowingMore=true;poppet.domContainer.getElement(".fwd").addClass("fwd-big");poppet.domContainer.getElement(".back").addClass("back-big");poppet.render()});this.domContainer.getElement(".view").tween("height",87)},showLess:function(){this.setNumRows(2);this.domContainer.getElement("#linkWebMore").removeClass("hidden");this.domContainer.getElement("#linkWebLess").addClass("hidden");var poppet=this;this.domContainer.getElement(".view").get("tween").removeEvents("complete").addEvent("complete",function(){poppet.isShowingMore=false;poppet.domContainer.getElement(".fwd").removeClass("fwd-big");poppet.domContainer.getElement(".back").removeClass("back-big");poppet.render()});this.domContainer.getElement(".view").tween("height",44)},setDataSource:function(contents){this.data=contents;this.page=0;this.data.sort(function(a,b){if(a.hasUserPref&&b.hasUserPref){return a.userIndex-b.userIndex}if(a.hasUserPref){return -1}if(b.hasUserPref){return 1}if(a.hasPublisherPref&&b.hasPublisherPref){return a.publisherIndex-b.publisherIndex}if(a.hasPublisherPref){return -1}if(b.hasPublisherPref){return 1}return a.stIndex-b.stIndex});this.render()},setNumRows:function(rows){this.nRows=rows;this.render()},setNumColumns:function(cols){this.nCols=cols;this.render()},_buildPage:function(pageNum){pageNum=this.getEffectivePageNum(pageNum);var data=this.getVisibleData();var groupDiv=new Element("div",{"class":"group"});var itemsPerPage=(this.nRows*this.nCols);for(var i=(pageNum*itemsPerPage);i<(pageNum*itemsPerPage)+itemsPerPage;i++){if(i<data.length){var element=data[i].getContent();if(i%this.nCols==0){element.addClass("first")}else{element.removeClass("first")}groupDiv.grab(element)}}return groupDiv},getNumPages:function(){var data=this.getVisibleData();return Math.ceil(data.length/(this.nRows*this.nCols))},getVisibleData:function(){if(this.isShowingMore){return this.data}else{var data=[];var itemsPerPage=(this.nRows*this.nCols);var startsWithPref=(this.data.length&&(this.data[0].hasPublisherPref||this.data[0].hasUserPref));var dummiesDeployed=false;for(var i=0;i<this.data.length;i++){var previousHadPublisherPref=(i>1)&&(this.data[i-1].hasPublisherPref);var hasPref=this.data[i].hasPublisherPref||this.data[i].hasUserPref;if(!this.isShowingMore&&!dummiesDeployed&&(i<itemsPerPage)&&startsWithPref&&!hasPref){var j=i;while(j<itemsPerPage){data.push({isDummy:function(){return true},getContent:function(){return widget.getDummyServiceLink()}});j++}dummiesDeployed=true}data.push(this.data[i])}return data}},getEffectivePageNum:function(pageNum){var data=this.getVisibleData();var nPages=this.getNumPages();if(pageNum<0){pageNum=nPages+pageNum}if(pageNum>=nPages){pageNum=pageNum%nPages}return pageNum},render:function(){this.fireEvent("renderBegin");var view=this.domContainer.getElement("div.view").getElement("div.groups");$each(view.getChildren(),function(child){child.dispose()});view.grab(this._buildPage(this.page));this.fireEvent("renderComplete")},advance:function(){if(this.rotating){return }this.rotating=true;this.fireEvent("advanceBegin");var groups=this.domContainer.getElement("div.view").getElement("div.groups");var currentGroup=groups.getElement("div.group");var nextGroup=this._buildPage(this.page+1);groups.grab(nextGroup);var deltaX=currentGroup.getSize().x;var poppet=this;groups.get("tween").removeEvents("complete").addEvent("complete",function(){currentGroup.dispose();groups.setStyle("left",0);poppet.page=poppet.getEffectivePageNum(poppet.page+1);if(poppet.page==0){poppet.domContainer.getElement("#moreorless").fade("in")}else{poppet.domContainer.getElement("#moreorless").fade("out")}poppet.fireEvent("advanceComplete");poppet.rotating=false});groups.tween("left",-deltaX)},rewind:function(){if(this.rotating){return }this.rotating=true;this.fireEvent("rewindBegin");var groups=this.domContainer.getElement("div.view").getElement("div.groups");var currentGroup=groups.getElement("div.group");var prevGroup=this._buildPage(this.page-1);var deltaX=currentGroup.getSize().x;groups.setStyle("left",-deltaX);groups.grab(prevGroup,"top");var poppet=this;groups.get("tween").removeEvents("complete").addEvent("complete",function(){currentGroup.dispose();poppet.page=poppet.getEffectivePageNum(poppet.page-1);if(poppet.page==0){poppet.domContainer.getElement("#moreorless").fade("in")}else{poppet.domContainer.getElement("#moreorless").fade("out")}poppet.fireEvent("rewindComplete");poppet.rotating=false});groups.tween("left",0)},domContainer:null,nRows:2,nCols:3,page:0,isShowingMore:false,data:[],rotating:false});Widget.Carousel.initialState_more=0;Widget.Carousel.initialState_less=1;Widget.AddressBookView=new Class({Implements:Events,contacts:[],sortedContacts:[],sortedHTML:[],contactsHTML:[],aimHTML:[],smsHTML:[],emailHTML:[],myspaceHTML:[],aimArr:[],smsArr:[],emailArr:[],sortedArr:[],myspaceArr:[],domContainer:null,sortBy:"name",widget:null,numWanted:50,abHTML:"",blockEnd:this.numWanted,blockStart:0,deferRendering:true,wantsToRender:false,isRendering:false,blockInt:null,svc:"all",prepared:false,preparedService:false,addInProgress:false,arrReady:false,lastSvc:"",resetArrays:function(){this.sortedContacts=[];this.sortedHTML=[];this.contactsHTML=[];this.aimHTML=[];this.smsHTML=[];this.emailHTML=[];this.myspaceHTML=[];this.contacts=[];this.aimArr=[];this.smsArr=[];this.myspaceArr=[];this.sortedArr=[];this.emailArr=[]},resetAdded:function(){for(var i=0;i<this.contacts.length;i++){this.contacts[i].added=false}},makeArray:function(){this.resetAdded();this.sortedContacts=[];this.sortedHTML=[];this.contactsHTML=[];this.aimHTML=[];this.smsHTML=[];this.emailHTML=[];this.myspaceHTML=[];this.aimArr=[];this.smsArr=[];this.myspaceArr=[];this.sortedArr=[];this.emailArr=[];this.domContainer.set("html","");for(var i=0;i<this.contacts.length;i++){this.contacts[i].added=false;if(this.contacts[i].service=="aim"){this.aimArr.push(this.contacts[i])}else{if(this.contacts[i].service=="email"){this.emailArr.push(this.contacts[i])}else{if(this.contacts[i].service=="myspace"){this.myspaceArr.push(this.contacts[i])}else{if(this.contacts[i].service=="sms"){this.smsArr.push(this.contacts[i])}}}}}var temp=this.aimArr.length+this.emailArr.length+this.smsArr.length+this.myspaceArr.length;this.sortedArr=this.sortedArr.concat(this.aimArr,this.emailArr,this.myspaceArr,this.smsArr);this.arrReady=true},initialize:function(widget,listElement){this.widget=widget;this.domContainer=listElement;if(glo_browser.test("ff")==true){this.numWanted=300;this.blockEnd=this.numWanted}widget.user.addEvent("contactsChanged",this._onUserContactsChanged.bind(this));this.domContainer.addEvent("scroll",this.scrollCatch.bind(this),true);this.addEvent("contactsChanged",this._render.bind(this),true);this.addEvent("sortingChanged",this._render.bind(this),true)},_onUserContactsChanged:function(){this.contacts.empty();for(var i=0;i<this.widget.user.contacts.length;i++){this.contacts.push(this.widget.user.contacts[i])}var start=new Date().valueOf();this.contacts.sort();this.arrReady=false;widget.pages.addressbook.addressBook.blockStart=0;this.fireEvent("contactsChanged","change")},addContact:function(contact){this.contacts.push(contact);var start=new Date().valueOf();this.contacts.sort();this.arrReady=false;this.resetAdded();this.fireEvent("contactsChanged")},clearContacts:function(){this.contacts=[];this.fireEvent("contactsChanged")},sort:function(by){by=(by?by:"name");if(by!=this.sortBy){this.sortBy=by;this.widget.user.setContactSortMode(this.sortBy);var start=new Date().valueOf();this.contacts.sort();this.blockStart=0;this.blockEnd=this.numWanted;this.resetAdded();this.arrReady=false;this.domContainer.set("html","");this.fireEvent("sortingChanged",by)}},scrollToService:function(serviceTag){var children=this.domContainer.getChildren();for(var i=0;i<children.length;i++){if("_contact" in children[i]&&children[i]._contact.service==serviceTag){this.domContainer.scrollTo(0,children[i].getPosition(this.domContainer).y);return }}},_clearList:function(){this.domContainer.set("html","")},_attachItemBehavior:function(item,contact){var checkbox=item.getElement("input");var label=item.getElement("label");contact.addEvent("selected",function(isSelected){if(checkbox.get("checked")!=isSelected){checkbox.set("checked",isSelected)}});checkbox.addEvent("change",function(){if(checkbox.get("checked")!=contact.selected){(checkbox.get("checked")?contact.select():contact.deselect())}});item.addEvent("click",function(event){if(event.target!=checkbox&&event.target!=label){if(contact.selected){contact.deselect()}else{contact.select()}event.stop()}});item._contact=contact},_removeItemBehavior:function(item,contact){var checkbox=item.getElement("input");var label=item.getElement("label");contact.removeEvents("selected");checkbox.removeEvents("change");item.removeEvents("click");if(contact.selected){contact.deselect()}},_render:function(el){this.domContainer.scrollTop=0;this.blockStart=0;this.blockEnd=this.numWanted;if(el){this.svc=el}else{this.svc="all"}if(this.deferRendering==true){this.wantsToRender=true;return true}this.isRendering=true;var start=new Date().valueOf();widget.showPage("addressbook");$("abLoading").setStyle("display","inline");setTimeout("widget.pages.addressbook.addressBook.addBlock()",10);var end=new Date().valueOf();this.isRendering=false},scrollCatch:function(){if((this.domContainer.scrollTop+this.domContainer.offsetHeight)>=this.domContainer.scrollHeight){if(this.addInProgress==false){$("abLoading").setStyle("display","inline");setTimeout("widget.pages.addressbook.addressBook.addBlock()",10)}}},contactsOnDemand:function(service,strt){var start2=new Date().valueOf();var conStart=strt;var conEnd=conStart+this.numWanted;var inHand=0;var intSvc=service;var cArray=this.contacts;if(service=="aim"){cArray=this.aimArr}else{if(service=="email"){cArray=this.emailArr}else{if(service=="myspace"){cArray=this.myspaceArr}else{if(service=="sms"){cArray=this.smsArr}else{if(service=="service"){cArray=this.sortedArr}}}}}var cLength=cArray.length;while(inHand<this.numWanted){if(conEnd>=cLength){conEnd=cLength}for(var i=conStart;i<conEnd;i++){if(service=="all"&&cArray[i].added==false){this.contactsHTML.push(this.makeHTML(cArray[i],this.contactsHTML.length%2));inHand++;cArray[i].added=true}else{if((cArray[i].service=="aim"&&service=="aim")&&cArray[i].added==false){this.aimHTML.push(this.makeHTML(cArray[i],this.aimHTML.length));inHand++;cArray[i].added=true}else{if((cArray[i].service=="email"&&service=="email")&&cArray[i].added==false){this.emailHTML.push(this.makeHTML(cArray[i],this.emailHTML.length));inHand++;cArray[i].added=true}else{if((cArray[i].service=="sms"&&service=="sms")&&cArray[i].added==false){this.smsHTML.push(this.makeHTML(cArray[i],this.smsHTML.length));inHand++;cArray[i].added=true}else{if((cArray[i].service=="myspace"&&service=="myspace")&&cArray[i].added==false){this.myspaceHTML.push(this.makeHTML(cArray[i],this.myspaceHTML.length));inHand++;cArray[i].added=true}else{if(service=="service"&&cArray[i].added==false){this.sortedHTML.push(this.makeHTML(cArray[i],this.sortedHTML.length));inHand++;cArray[i].added=true}}}}}}if(inHand>=this.numWanted){break}}conStart=conEnd;conEnd+=this.numWanted;if(conEnd>=cArray.length){conEnd=cArray.length}if(conStart>=cArray.length){conStart=cArray.length}if(conStart==conEnd){inHand=this.numWanted;break}inHand++}var end2=new Date().valueOf()},makeHTML:function(contact,index){var liClass="";var cid=contact.id;var name=contact.name;var checked="";if(contact.selected){checked=" checked='checked' "}var address=contact.address;if(!contact.service.length){var service="email"}else{var service=contact.service}var selected=contact.selected;if(index%2==0){liClass=" class='even'"}var mm="<li"+liClass+">";mm+="<input type='checkbox' id='select_contact_"+cid+"'"+checked+" onclick='selectContact(this);'/>";mm+="<label for='select_contact_"+cid+"'>";mm+="<span class='"+service+"'>"+name+"</span>";mm+="<span class='address'>"+address+"</span>";mm+="</label>";mm+="</li>";return mm},addBlock:function(){$("abLoading").setStyle("display","inline");if(this.svc!==this.lastSvc){this.makeArray();this.lastSvc=this.svc}this.addInProgress=true;var start=new Date().valueOf();var cLength=0;var currArr=[];if(this.blockStart==0){this.domContainer.innerHTML=""}if(this.svc=="aim"){if(this.arrReady==false){this.makeArray()}this.contactsOnDemand("aim",this.blockStart);currArr=this.aimHTML;cLength=currArr.length}else{if(this.svc=="sms"){if(this.arrReady==false){this.makeArray()}this.contactsOnDemand("sms",this.blockStart);currArr=this.smsHTML;cLength=currArr.length}else{if(this.svc=="email"){if(this.arrReady==false){this.makeArray()}this.contactsOnDemand("email",this.blockStart);currArr=this.emailHTML;cLength=currArr.length}else{if(this.svc=="myspace"){if(this.arrReady==false){this.makeArray()}this.contactsOnDemand("myspace",this.blockStart);currArr=this.myspaceHTML;cLength=currArr.length}else{if(this.svc=="service"){if(this.arrReady==false){this.makeArray()}this.contactsOnDemand("service",this.blockStart);currArr=this.sortedHTML;cLength=currArr.length}else{if(this.svc=="all"||this.svc=="name"){if(this.arrReady==false){this.makeArray()}this.contactsOnDemand("all",this.blockStart);currArr=this.contactsHTML;cLength=currArr.length}else{if(this.svc=="change"){this.makeArray();this.contacts.sort();this.blockStart=0;this.blockEnd=this.numWanted;this.arrReady=false;this.fireEvent("sortingChanged","name");$("abLoading").setStyle("display","none");return true}}}}}}}if(this.blockStart==cLength){$("abLoading").setStyle("display","none");return true}if(this.blockEnd>=cLength){this.blockEnd=cLength}else{this.blockEnd+=this.numWanted;if(this.blockEnd>=cLength){this.blockEnd=cLength}}var html="";for(var i=this.blockStart;i<this.blockEnd;i++){var temp=currArr[i];html+=temp}this.blockStart=this.blockEnd;this.domContainer.innerHTML+=html;var end=new Date().valueOf();var tmp=(end-start)/1000;this.addInProgress=false;$("abLoading").setStyle("display","none")},renderIfWaiting:function(){if(this.deferRendering&&this.wantsToRender){this.deferRendering=false;this._render();this.wantsToRender=false}}});Widget.AddressBookView.createItem_asNode=0;Widget.AddressBookView.createItem_asHTML=1;Widget.User=new Class({Implements:Events,email:"",name:"",authToken:"",userID:"",shareHistory:{services:{},recipients:[]},contacts:[],contactsAD:[],contactsEH:[],contactsIL:[],contactsMP:[],contactsQT:[],contactsUZ:[],_selectedContacts:[],contactSortMode:"name",contactServiceFilters:[],widget:null,credentials:[],_deferringContactSelectionChangedTimer:-1,initialize:function(widget){this.widget=widget;var history=widget.getCookie("ServiceHistory");if(history){history=JSON.decode(history);for(var name in history){this.setShareServiceHistory(history[name])}}},setShareServiceHistory:function(item){this.shareHistory.services[item.service]=item},getShareServiceHistory:function(){var result=[];for(var service in this.shareHistory.services){result.push($extend({},this.shareHistory.services[service]))}result.sort(function(a,b){return b.count-a.count});return result},clearShareServiceHistory:function(){this.shareHistory.services={}},addRecentRecipient:function(data){this.shareHistory.recipients.push(data);this.fireEvent("recipientHistoryChanged",{recipients:this.shareHistory.recipients})},getRecentRecipients:function(){return this.shareHistory.recipients},clearRecentRecipients:function(){this.shareHistory.recipients=[]},isSignedIn:function(){return this.authToken&&this.authToken.length},acquireAuth:function(authToken){if(this.authToken.length){this.signOut()}this.authToken=authToken;widget.setCookie("ShareUT",this.authToken);widget.setCookie("ServiceHistory",JSON.encode({}));setGlobals("auth",authToken);setGlobals("loggedIn",true);this.fireEvent("signedIn");this.getUserAccountInfo();this.getContactsOnAccount()},signIn:function(username,password){var request=new Request({method:"post",url:"/api/getAuth_ws.php",data:"username="+username+"&password="+password+"&return=json",onSuccess:(function(responseText){var response=JSON.decode(responseText);if(response.status==="SUCCESS"){this.acquireAuth(response.data.token)}else{if(response.statusMessage==="INVALID_USERNAME_OR_PASSWORD"){this.fireEvent("signInFailed","Email/Username or Password is incorrect. Please try again.")}else{if(response.statusMessage==="DATABASE_FAILED"){this.fireEvent("signInFailed","Unable to connect to ShareThis authentication server.")}else{this.fireEvent("signInFailed","Email/Username or Password is incorrect. Please try again.");console.log(response.status)}}}}).bind(this)});request.send();this.fireEvent("signInRequested")},signOut:function(){this.contacts=[];this._selectedContacts=[];this.clearShareServiceHistory();this.clearRecentRecipients();this.contactSortMode="name";this.email="";this.name="";this.userID="";widget.pages.addressbook.addressBook.resetArrays();widget.pages.addressbook.addressBook.sortBy="";this.fireEvent("contactsChanged");this.fireEvent("contactSelectionChanged");this.authToken="";this.fireEvent("signedOut")},getUserAccountInfo:function(){if(this.isSignedIn()){var request=new Request({method:"post",url:"/api/getUserInfo_ws.php",data:"token="+this.authToken+"&return=json",onSuccess:(function(responseText){var response=JSON.decode(responseText);if(response.status==="SUCCESS"){setGlobals("userName",response.data.name);setGlobals("userEmail",response.data.email);this.name=response.data.name;this.email=response.data.email;this.userID=response.data.userID;this.credentials=response.data.credentials;populateSavedCredentials(this.credentials);if(response.data.socialShares){response.data.socialShares.each((function(serviceInfo){if(serviceInfo.name&&serviceInfo.count){this.setShareServiceHistory({service:serviceInfo.name.toLowerCase(),count:parseInt(serviceInfo.count)})}}).bind(this))}if(response.data.recipients){response.data.recipients.each((function(recipient){this.addRecentRecipient(recipient)}).bind(this))}this.fireEvent("infoChanged",this)}else{setTimeout((function(){this.signOut()}).bind(this),1)}}).bind(this)});this.clearRecentRecipients();this.clearShareServiceHistory();request.send()}},getContactsOnAccount:function(){var request=new Request({method:"post",url:"/api/getContacts_ws.php",data:"token="+this.authToken+"&return=json",onSuccess:(function(responseText,responseXML){var response=JSON.decode(responseText);if(response.status==="SUCCESS"&&response.data){var newContacts=response.data;this.contacts=[];this._selectedContacts=[];this.addContactsLocally(newContacts);this.fireEvent("getContactsSucceeded",newContacts)}else{this.fireEvent("getContactsFailed");console.log(response.status)}}).bind(this)});request.send();this.fireEvent("getContactsRequested")},addContactsToAccount:function(contacts){var c=encodeURIComponent(JSON.encode(contacts));var request=new Request({method:"post",url:"/api/addContacts_ws.php",data:"token="+this.authToken+"&contacts="+c+"&return=json",onSuccess:(function(responseText){var response=JSON.decode(responseText);if(response.status=="SUCCESS"){var f=null;f=(function(){this.fireEvent("addContactsToAccountSucceeded");this.removeEvent("getContactsSucceeded",f)}).bind(this);this.addEvent("getContactsSucceeded",f);this.getContactsOnAccount()}else{this.fireEvent("addContactsToAccountFailed")}}).bind(this)});this.fireEvent("addContactToAccountRequested");request.send()},addContactsLocally:function(newContacts){var result=[];for(var i=0;i<newContacts.length;i++){var signedIn=this.isSignedIn();var alreadyPresent=false;if(!signedIn){for(var j=0;j<this.contacts.length;j++){if(this.contacts[j].isEqualTo(newContacts[i])){alreadyPresent=true;break}}}if(!alreadyPresent||signedIn){var c=null;if(newContacts[i]._isAContact){c=newContacts[i];var idd=(new Date()).getTime();idd+=Math.random();if(c.id==""){c.id=idd}}else{var props=newContacts[i];var idd=(new Date()).getTime();idd+=Math.random();c=new Widget.Contact(this,{service:props.service?props.service.toLowerCase():"email",name:props.name?props.name:"",address:props.address?props.address:"",id:props.id?props.id:idd})}c.addEvent("selected",(function(enclosedContact){return(function(isSelected){if(isSelected){this._selectedContacts.include(enclosedContact)}else{this._selectedContacts.erase(enclosedContact)}widget.deferWhile("contactSelectionIsChanging",(function(){this.fireEvent("contactSelectionChanged")}).bind(this))}).bind(this)}).bind(this)(c));this.contacts.push(c);result.push(c);setGlobals("contProto",newContacts[i].service?newContacts[i].service.toUpperCase():"email");setGlobals("contName",newContacts[i].name);setGlobals("contAdd",newContacts[i].address)}}this.fireEvent("contactsChanged");return result},setContactSortMode:function(mode){this.contactSortMode=mode},searchContacts:function(matchText){var results=[];if(!matchText.length){return results}var fs=[searchName,searchName2,searchName3,searchAdd,searchName4,searchName5];if(typeof matchText=="number"){results.combine(searchAdd(matchText))}for(var i=0;i<fs.length&&results.length<widget.maxContactSearchResults;i++){results.combine(fs[i](matchText))}if(this.contactServiceFilters.length){results=results.filter((function(index){return this.contactServiceFilters.indexOf(this.contacts[index].service)>=0}).bind(this))}return results.map((function(index){return this.contacts[index]}).bind(this))},searchContactsExact:function(service,address){var nContacts=this.contacts.length;for(var i=0;i<nContacts;i++){if(this.contacts[i].service==service&&this.contacts[i].address==address){return this.contacts[i]}}return null},getSelectedContacts:function(){return this._selectedContacts},deselectContacts:function(){for(var i=0;i<this._selectedContacts.length;i++){this._selectedContacts[i].deselect()}},hasContactsOnService:function(serviceTag){for(var i=0;i<this.contacts.length;i++){if(this.contacts[i].service==serviceTag){return true}}return false},logServiceUse:function(serviceTag,nUses){nUses=(typeof nUses=="undefined")?1:nUses;if(this.shareHistory.services[serviceTag]){this.shareHistory.services[serviceTag].count+=nUses}else{this.shareHistory.services[serviceTag]={service:serviceTag,count:nUses}}widget.setCookie("ServiceHistory",JSON.encode(this.shareHistory.services))}});Widget.MirrorContact=new Class({Extends:Widget.Contact,added:false,respondToLiveUpdate:true,isMirror:true,select:function(){if(!this.added){this.respondToLiveUpdate=false;this.widget.user.addContactsLocally([this]);this.added=true}this.parent()},toString:function(){var secondarySort="";if(widget.user.contactSortMode=="name"){secondarySort=this["service"]}else{if(widget.user.contactSortMode=="service"){secondarySort=this["name"]}}return(this[widget.user.contactSortMode]+" - "+secondarySort).toLowerCase()}});Widget.ToField=new Class({Implements:Events,contacts:[],domContainer:null,inputElement:null,inputElementContainer:null,widget:null,highlightedResult:null,resultsElement:null,mirrorInputResultItem:null,mirrorContact:null,searchResults:[],searchText:"",selectedTokens:[],_windowKeyDownHandler:null,_mouseOverSearchResultsList:false,_searchResultsShown:false,initialize:function(widget,domContainer){this.widget=widget;this.domContainer=domContainer;widget.user.addEvent("contactSelectionChanged",this._handleWidgetSelectionChanged.bind(this));widget.user.addEvent("contactsChanged",this._handleWidgetContactsChanged.bind(this));domContainer.addEvent("mousedown",this._handleMouseDown.bind(this));domContainer.addEvent("mouseup",this._handleMouseUp.bind(this));this.addEvent("contactsChanged",this._render.bind(this),true);this.addEvent("searchTextChanged",this._handleSearchTextChanged.bind(this),true);this._getInputField();this._getMirrorContact();this._render()},getRecipients:function(){return $A(this.contacts)},showSearchResults:function(){var list=this._getSearchResultsList();list.tween("opacity",0.9);this._searchResultsShown=true},hideSearchResults:function(){var list=this._getSearchResultsList();this.highlightedResult=null;list.tween("opacity",0);this._searchResultsShown=false},setSearchText:function(text){this.searchText=text;this.fireEvent("searchTextChanged",this.searchText)},_handleSearchTextChanged:function(text){if(text.length){this._search(text)}else{this.hideSearchResults()}},_search:function(text){this.searchResults=widget.user.searchContacts(text);var list=this._getSearchResultsList();list.getChildren().each((function(item){this._disposeSearchResult(item)}).bind(this));this.searchResults=this.searchResults.filter(function(item){return !item.selected});if(this.searchResults.length==0){this.searchResults.unshift(this._getMirrorContact())}list.setStyle("height","auto");var toField=$("send_to_field");var pageElement=widget.getCurrentPage().domContainer;var toFieldBottom=toField.getCoordinates(pageElement).bottom+toField.getScroll().y;var availableHeight=pageElement.getSize().y-toFieldBottom-15;for(var i=0;i<this.searchResults.length;i++){list.grab(this._createSearchResult(this.searchResults[i]));if(list.getSize().y>availableHeight){list.setStyle("height",availableHeight+"px")}else{list.setStyle("height","auto")}}this.showSearchResults();this._highlightResult(0)},_getMirrorContact:function(){if(this.mirrorContact){return this.mirrorContact}var mirrorContact=new Widget.MirrorContact(this.widget,{service:"email",name:"",address:"",id:""});this.mirrorContact=mirrorContact;var liveUpdateF=function(text){if(mirrorContact.respondToLiveUpdate){mirrorContact.setAddress(text);mirrorContact.setName(text);mirrorContact.setService(Widget.Contact.guessServiceForAddress(text)||"email")}};var toField=this;mirrorContact.addEvent("selected",function(selected){var f=arguments.callee;setTimeout(function(){mirrorContact.removeEvent("selected",f)},1);toField.removeEvent("searchTextChanged",liveUpdateF);toField.mirrorContact=null});this.addEvent("searchTextChanged",liveUpdateF);return this.mirrorContact},_highlightResult:function(item,obj,scrollBehavior){var list=this._getSearchResultsList();if(typeof item=="number"){obj=this.searchResults[item]||this._getMirrorContact();item=list.getElements("li")[item]}if(this.highlightedResult){this.highlightedResult.removeClass("highlight")}this.highlightedResult=item;if(this.highlightedResult){this.highlightedResult.addClass("highlight");if(scrollBehavior==undefined||scrollBehavior==Widget.ToField.scrollBehavior_scroll){var itemPos=this.highlightedResult.getPosition(list).y;var itemHeight=this.highlightedResult.getSize().y;var scrollPos=list.getScroll().y;var listHeight=list.getSize().y;itemPos+=(Browser.Engine.trident?scrollPos:0);if(itemPos<scrollPos){list.scrollTo(0,itemPos)}if(itemPos+itemHeight>scrollPos+listHeight){list.scrollTo(0,scrollPos+((itemPos+itemHeight)-(scrollPos+listHeight)))}}}},_getHighlightedResultIndex:function(){if(this.highlightedResult&&this.highlightedResult._stContact){for(var i=0;i<this.searchResults.length;i++){if(this.searchResults[i]==this.highlightedResult._stContact){return i}}}return -1},_highlightPrevResult:function(){var current=this._getHighlightedResultIndex();if(current>0){this._highlightResult(current-1)}},_highlightNextResult:function(){var current=this._getHighlightedResultIndex();if(current>=0&&current<this.searchResults.length-1){this._highlightResult(current+1)}},_disposeSearchResult:function(item){for(var name in item._stEventHandlers.self){item.removeEvent(name,item._stEventHandlers.self[name])}for(var name in item._stEventHandlers.contact){item._stContact.removeEvent(name,item._stEventHandlers.contact[name])}item.destroy()},_createSearchResult:function(contact){var item=new Element("li",{"class":"search_result",id:"search_result_"+contact.id});var name=new Element("div",{"class":(contact.service.length?contact.service:"email")});var address=new Element("div",{"class":"address"});address.set("text","<"+contact.address+">");var nameText=(contact.name.indexOf("@")==-1?contact.name:contact.name.substr(0,contact.name.indexOf("@")));name.set("text",nameText);contact.addEvent("addressChanged",function(newAddress){address.set("text","<"+newAddress+">")});contact.addEvent("nameChanged",function(newName){name.set("text",(newName.length?newName:""))});item._stEventHandlers={self:{mouseenter:(function(event){this._highlightResult(item,contact,Widget.ToField.scrollBehavior_dontScroll)}).bind(this),mouseleave:(function(event){setTimeout((function(){if(this.highlightedResult==item){item.removeClass("highlight");this.highlightedResult=null}}).bind(this),100)}).bind(this),click:(function(event){contact.select();this.hideSearchResults()}).bind(this)},contact:{serviceChanged:function(serviceName){name.set("class",serviceName)}}};item._stContact=contact;item.grab(name).grab(address).addEvent("mouseenter",item._stEventHandlers.self.mouseenter).addEvent("mouseleave",item._stEventHandlers.self.mouseleave).addEvent("click",item._stEventHandlers.self.click);contact.addEvent("serviceChanged",item._stEventHandlers.contact.serviceChanged);if(contact.isMirror){item.addClass("mirror")}return item},_selectHighlightedResult:function(){if(this.highlightedResult&&this.highlightedResult._stContact){if(this.highlightedResult._stContact.address.length){this.highlightedResult._stContact.select();this.hideSearchResults()}}setTimeout((function(){this._insertInputField()}).bind(this),10)},_getSearchResultsList:function(){if(this.resultsElement){return this.resultsElement}this.resultsElement=new Element("ul",{id:"search_results","class":"search_results"});this.domContainer.getParent().grab(this.resultsElement,"bottom");this.resultsElement.set("tween",{duration:250});this.resultsElement.addEvent("mouseenter",(function(event){this._mouseOverSearchResultsList=true}).bind(this));this.resultsElement.addEvent("mouseleave",(function(event){this._mouseOverSearchResultsList=false;if(Browser.Engine.trident){setTimeout((function(){this.inputElement.focus()}).bind(this),10)}}).bind(this));return this.resultsElement},_getInputField:function(){if(this.inputElementContainer){return this.inputElementContainer}this.inputElementContainer=new Element("div",{id:"contact_search_field_container"});this.inputElement=new Element("input",{type:"text",id:"contact_search_field","class":"contact_search_field"});this.inputElement.addEvent("keydown",(function(event){switch(event.key){case"up":this._highlightPrevResult();event.stop();break;case"down":this._highlightNextResult();event.stop();break;case"enter":this._selectHighlightedResult();event.stop();break;case"esc":this.hideSearchResults();event.stop();break}switch(event.code){case 188:this._selectHighlightedResult();event.stop();break}}).bind(this));this.inputElement.addEvent("keyup",(function(event){var value=this.inputElement.get("value");if(this.searchText!=value){this.setSearchText(value)}}).bind(this));this.addEvent("searchTextChanged",(function(text){this.set("value",text)}).bind(this.inputElement));this.inputElement.addEvent("blur",(function(){setTimeout((function(){if(!this._mouseOverSearchResultsList){if(this.inputElement.get("value").length){this._selectHighlightedResult()}this.hideSearchResults()}}).bind(this),1)}).bind(this));this.inputElement.addEvent("focus",(function(){if(this.searchText.length){this.showSearchResults()}}).bind(this));this.inputElementContainer.grab(this.inputElement);return this.inputElement},_mouseInResultsListScrollBar:function(event){var coords=this._getSearchResultsList().getCoordinates();return false;return(event.page.x>=coords.left&&event.page.x<=coords.right&&event.page.y>=coords.top&&event.page.y<=coords.bottom)},_deleteSelectedTokens:function(){for(var i=0;i<this.selectedTokens.length;i++){this.selectedTokens[i].contact.deselect()}this.selectedTokens.empty()},_handleMouseDown:function(event){if(event.target==this.domContainer){this._insertInputField();event.stop()}},_insertInputField:function(){var f=this._getInputField();this.domContainer.appendChild(f);this.domContainer.scrollTo(0,this.domContainer.getScrollSize().y);var objId=widget.pages.send.toField.inputElement.id;setTimeout((function(){var id=$("contact_search_field_container").firstChild.id;var tmpObj=document.getElementById(id);if(id=="contact_search_field"&&tmpObj&&glo_browser.test("ie")==false){tmpObj.select()}}),500)},_handleMouseUp:function(event){},_handleWidgetContactsChanged:function(){this._handleWidgetSelectionChanged();this._render()},_handleWidgetSelectionChanged:function(){var selectedContacts=widget.user.getSelectedContacts();this.contacts=[];for(var i=0;i<selectedContacts.length;i++){this.contacts.push(selectedContacts[i])}this.fireEvent("contactsChanged");this.setSearchText("")},_clearList:function(){this.domContainer.getChildren().each(function(element){if(element.hasClass("token")){element.destroy()}else{element.dispose()}})},_createToken:function(contact,method){var retVal='<a class="token" href="javascript:void(0);" >';retVal+='<span title= "'+contact.name+"<"+contact.address+'>" class="'+(contact.service.length?contact.service:"email")+'">';retVal+=widget.truncateText(contact.name,130);retVal+="</span></a>";return retVal},_attachTokenBehavior:function(element,contact){$extend(element,{contact:contact,pageCoordinateIsOverX:function(pageX){var xLeft=this.getSize().x-20;var elementXPos=this.getPosition().x;return(pageX-elementXPos>xLeft)}});element.addEvent("click",(function(event){if(element.pageCoordinateIsOverX(event.page.x)&&element.contact){element.contact.deselect()}}).bind(this));var mouseMoveHandler=(function(event){if(element.pageCoordinateIsOverX(event.page.x)){element.addClass("token_hover")}else{element.removeClass("token_hover")}}).bind(this);element.addEvent("mousemove",mouseMoveHandler);element.onselectstart=function(){return false};element.unselectable="on";element.style.MozUserSelect="none"},_getContentsHeight:function(){var h=0;var lastLineY=0;this.domContainer.getChildren().each(function(child){if(child.getPosition().y!=lastLineY){h+=child.getSize().y}lastLineY=child.getPosition().y});return h},_render:function(){this._clearList();var html="";for(var i=0;i<this.contacts.length;i++){html+=this._createToken(this.contacts[i],Widget.ToField.createToken_asHTML)}this.domContainer.set("html",html);this.domContainer.getElements(".token").each((function(element,index){this._attachTokenBehavior(element,this.contacts[index])}).bind(this));var h=this._getContentsHeight();if(h*2<14){this.domContainer.setStyles({height:"14px",overflow:"hidden"})}else{if(h*2>70){this.domContainer.setStyles({height:"70px",overflow:"auto"})}else{this.domContainer.setStyles({height:h*2+"px",overflow:"hidden"})}}},onPageShown:function(){setTimeout((function(){this._insertInputField()}).bind(this),100);this._render()},onPageHidden:function(){document.removeEvent("keydown",this._windowKeyDownHandler)}});Widget.ToField.createToken_asNode=0;Widget.ToField.createToken_asHTML=1;Widget.ToField.scrollBehavior_dontScroll=0;Widget.ToField.scrollBehavior_scroll=1;window.addEvent("domready",function(){domReady=true;if(glo_options_popup===true&&glo_toolbar==false){$("close_button").set("style","display:none")}widget=new Widget();widget.readyPages(widget.pages);if(glo_initRun===true){processBuffer()}else{createSwList()}var a=[];a=$$("input");for(i=0;i<a.length;i++){a[i].setAttribute("autocomplete","off")}emptyInputs();$("linkAuthSignIn").addEvent("click",function(){widget.signIn()});$("loginClose").addEvent("click",function(){widget.closeLoginBox()});$("linkSignIn").addEvent("click",function(){widget.openLoginBox()});$("linkSignOut").addEvent("click",function(){widget.showPage("home");widget.signOut()});$("textAuthUsername").addEvent("keydown",function(event){event=new Event(event);if(event.key==="enter"){widget.signIn()}});$("textAuthPassword").addEvent("keydown",function(event){event=new Event(event);if(event.key==="enter"){widget.signIn()}});$("contacts_header_link").addEvent("click",function(event){widget.pages.addressbook.addressBook.svc="all";widget.showPage("import");event.stop()});widget.user.addEvent("infoChanged",function(user){if(user.name.length){$("greeting").set("text","Hello, "+user.name+".")}else{if(user.email.length){$("greeting").set("text","Hello, "+user.email+".")}}});widget.user.addEvent("signedOut",function(){$("colophon").removeClass("signed_in");$("greeting").set("text","Hello.")});widget.user.addEvent("signInRequested",function(){widget.pushModalWorkingSheet("Logging in&hellip;")});widget.user.addEvent("signInFailed",function(errorMessage){widget.popModalWorkingSheet();widget.pushModalErrorSheet(errorMessage)});widget.user.addEvent("signedIn",function(){widget.popModalWorkingSheet();$("colophon").addClass("signed_in");widget.closeLoginBox();widget.fireEvent("signInComplete")});widget.addEvent("headerTitleChanged",function(newTitle){$("header_title").set("text",newTitle);if(!newTitle.length){$("header_title").addClass("hidden")}else{$("header_title").removeClass("hidden")}if($("header_title").getSize().y<2){$("sub_header").addClass("headerless")}else{$("sub_header").removeClass("headerless")}});widget.addEvent("headerFGColorChanged",function(newColor){$("header_title").setStyle("color",newColor)});if(glo_headerTitle){widget.fireEvent("headerTitleChanged",glo_headerTitle);widget.fireEvent("headerFGColorChanged",glo_headerfg)}widget.user.addEvent("contactsChanged",function(){var nContacts=widget.user.contacts.length;if(nContacts){$("contacts_header_link").removeClass("dim").set("text",nContacts+" Contacts").removeEvents().addEvent("click",function(event){widget.pages.addressbook.addressBook.svc="all";widget.pages.addressbook.addressBook._clearList();widget.pages.addressbook.addressBook.blockStart=0;widget.showPage("addressbook");$("abLoading").setStyle("display","inline");setTimeout("widget.pages.addressbook.addressBook.addBlock()",10);event.stop()})}else{$("contacts_header_link").removeClass("dim").set("text","Import Contacts").removeEvents().addEvent("click",function(event){widget.showPage("import");event.stop()})}});widget.user.addEvent("getContactsRequested",function(){$("contacts_header_link").set("text","Requesting Addressbook").removeEvents().addClass("dim")});widget.user.addEvent("getContactsFailed",function(){$("contacts_header_link").set("text","Could not retrieve Addressbook").removeEvents()});$("createAccount").addEvent("click",function(event){widget.closeLoginBox();widget.showPage("register");event.stop()});$("home_button").addEvent("click",function(event){widget.showPage("home");event.stop()});widget.addEvent("linkForegroundColorChanged",function(color){for(var p in widget.pages){$(widget.pages[p].id).getElements("a").each(function(anchor){anchor.setStyle("color",color)})}$("send_section").getElements("a").each(function(anchor){anchor.setStyle("color",color)})});var authCookie=widget.getCookie("ShareUT");if(authCookie){widget.user.acquireAuth(authCookie)}$$("input").each(function(input){input.addEvent("focus",function(){widget.captureLastFocus(input)})});$$(".remember_toggle").each(function(input){input.addEvent("click",function(){if(input.checked==false){input.form.getElementsByClassName("forgetme")[0].value="true";var inputfields=$(input.form.id).getElementsByClassName("text");for(var i in inputfields){inputfields[i].value="";inputfields[i].disabled=false}}else{var inputfields=$(input.form.id).getElementsByClassName("text");for(var i in inputfields){inputfields[i].disabled=true}}})});widget.showPage("home")});