var Logger=new Class({log:null,prefixText:"",initialize:function(c,a){this.log=log4javascript.getLogger();
if(c){this.log.addAppender(new log4javascript.PopUpAppender());
}var b=new log4javascript.AjaxAppender(a);
b.setThreshold(log4javascript.Level.WARN);
this.log.addAppender(b);
this.log.info("Logging initialized.");
},apiError:function(a,c,b,d){this.log.error(a+" error: "+c+" DATA "+this.prefix()+" "+d,b);
globalVariables.dashboard().addApiError(a,c,b,d);
},debug:function(a){this.log.debug(this.prefix()+a);
},error:function(b,a){if($defined(a)){if(b.indexOf("DATA")==-1){b+=" DATA";
}this.log.error(b,+" "+this.prefix(),a);
if(globalVariables.throwErrors){if(window.console){console.log("line: "+a.lineNumber+" file: "+a.fileName);
console.log("message: "+a.message);
console.log("---------------");
}throw (a);
}}else{this.log.error(this.prefix()+b);
}},info:function(a){this.log.info(this.prefix()+a);
},prefix:function(){if(this.prefixText==""){if($defined(globalVariables)){this.prefixText="version: "+globalVariables.buildNumber+" ";
var a=globalVariables.unifiAccountInstance;
if($defined(a)&&a.id){var b=Cookie.read("username");
this.prefixText+="user: "+a.id+" ("+((b)?b+") ":") ");
}}}return this.prefixText;
},warn:function(b,a){if($defined(a)){this.log.warn(this.prefix()+b,a);
if(globalVariables.throwErrors){throw (a);
}}else{this.log.warn(this.prefix()+b);
}}});
var AjaxRequest=new Class({Implements:[Events,Options],isIframe:false,timeout:15000,options:{method:"post",url:null,data:null,isAsync:false,isIframe:false,timeout:15000},initialize:function(a,b){this.setOptions(a);
this.isIframe=$defined(b)&&b;
},send:function(){var b=new Request.JSON({onRequest:function(){window.status="beginning fetch attempt";
this.fireEvent("request");
}.bind(this),onComplete:function(c){this.fireEvent("complete",c);
}.bind(this),onSuccess:function(f){if($defined(f)&&(f.error=="down")){var g=(this.isIframe)?window.parent:window;
var d=g.location.href;
var e=d.lastIndexOf("/");
if(e>8){d=d.substring(0,e+1);
}var c=d+f.location;
g.location.href=c;
}else{this.fireEvent("success",f);
}}.bind(this),onError:function(c){this.fireEvent("error",c);
}.bind(this),onFailure:function(c){this.fireEvent("failure",c);
}.bind(this),secure:false,async:(this.options.isAsync||this.options.async)?true:false,method:this.options.method,url:this.options.url,data:this.options.data,timeout:this.options.timeout?this.options.timeout:this.timeout});
var a=b.send();
return a;
}});
AjaxRequest.implement(new Events());
AjaxRequest.implement(new Options());
var Config=new Class({absoluteUrlPath:null,attachmentBucket:null,facebookServer:null,fileExtensions:["xlxs","xls","txt","tiff","pptx","ppt","pdf","html","htm","docx","doc"],gatewayServer:null,httpUrlPath:"",imageExtensions:["jpg","jpeg","png","gif","bmp"],mediaTypes:["application/pdf","image/jpeg","image/png","application/vnd.ms-excel","application/vnd.ms-powerpoint","application/msword","image/bmp","image/gif","text/html","image/tiff","text/plain","image/pjpeg"],messageServer:null,protocol:"http",secureGatewayServer:"",secureShardServer:"",serverId:null,servesThumbs:false,shardId:"",shardServer:"",shardHost:"",staticServer:"",trackingUrl:"",oauth:{consumerKey:null,consumerSecret:null,signatureMethod:"HMAC-SHA1"},options:{attachmentBucket:null,fetchOnStartup:false,initialPages:1,initialPageMedSize:30,initialPageSmallSize:60,initialPageSize:30,optionalPollingInterval:180000,pollingInterval:60000,pollingIntervalRapid:5000,pollingRapidCount:18,pageSize:10,profileType:"unset",serverId:null,servesThumbs:false,useActivityMonitor:false,useCDN:false},initialize:function(c){this.setOptions(c);
this.options.initialPageSize=Cookie.read("lineHeight")=="small"?this.options.initialPageSmallSize:this.options.initialPageMedSize;
var a=window.location.href;
var b=a.lastIndexOf("/");
this.absoluteUrlPath=a.substring(0,b+1);
if(this.absoluteUrlPath.indexOf("https:")==0){this.protocol="https";
}this.gatewayServer=this.absoluteUrlPath+"gateway/";
this.httpUrlPath=this.absoluteUrlPath.replace("https://","http://");
if(!this.developer()&&(this.gatewayServer.indexOf("http://")==0)){this.secureGatewayServer=this.gatewayServer.replace("http://","https://");
}this.getServerProperties();
this.shard=Cookie.read("shard");
if(this.shard){this.shard=this.shard.replace(/\"/g,"");
this.shardId=this.shard.substring(0,this.shard.indexOf("."));
}if(this.developer()&&this.shard){b=this.absoluteUrlPath.indexOf(":");
this.shard=this.absoluteUrlPath.substring(b+3);
b=this.shard.indexOf("/");
if(b>-1){this.shard=this.shard.substring(0,b);
}}this.initShardServer();
if((this.staticServer=="")||(this.protocol=="https")){this.staticServer=this.absoluteUrlPath;
}},developer:function(){return this.options.profileType=="dev";
},getUrlParam:function(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
var c="[\\?&]"+a+"=([^&#]*)";
var d=new RegExp(c);
var b=d.exec(window.location.href);
if(b==null){return null;
}else{return b[1];
}},getServerProperties:function(){var a=this.gatewayServer+"config.json";
var b=new AjaxRequest({url:a,method:"get"}).send();
if(b.status==200){this.setOptions(b.response.json);
this.serverId=b.response.json.serverId;
this.servesThumbs=b.response.json.thumbnailService;
this.attachmentBucket=b.response.json.attachmentBucket;
this.trackingUrl=b.response.json.trackingUrl;
this.oauth.consumerKey=b.response.json.oauthConsumerKey;
this.oauth.consumerSecret=b.response.json.oauthConsumerSecret;
this.staticServer=b.response.json.staticServer;
}},initShardServer:function(){if(this.shard){this.shardHost=this.protocol+"://"+this.shard;
this.shardServer=this.shardHost+"/unifi/";
this.secureShardServer=((this.developer())?"http://":"https://")+this.shard+"/unifi/";
this.messageServer=this.shardServer;
this.facebookServer=this.shardHost+"/fb/";
}},setPageSize:function(a){this.options.initialPageSize=a=="small"?this.options.initialPageSmallSize:this.options.initialPageMedSize;
}});
Config.implement(new Options);
var getParams=new Class({initialize:function(){},get:function(c,a){if(arguments.length<2){a=location.href;
}if(arguments.length>0&&c!=""){if(c=="#"){var d=new RegExp("[#]([^$]*)");
}else{if(c=="?"){var d=new RegExp("[?]([^#$]*)");
}else{var d=new RegExp("[?&]"+c+"=([^&#]*)");
}}var b=d.exec(a);
return(b==null)?"":b[1];
}else{a=a.split("?");
var b={};
if(a.length>1){a=a[1].split("#");
if(a.length>1){b.hash=a[1];
}a[0].split("&").each(function(f,e){f=f.split("=");
var g=f[1];
if($defined(g)){g=g.replace("+"," ");
}b[f[0]]=unescape(g);
});
}return b;
}},clean:function(a){var b=null;
if($type(a)=="array"){b=this.get();
a.each(function(d,c){if(b[d]){delete b[d];
}});
}return b;
},stringify:function(b){var c=null;
if($type(b)=="object"){c="?";
for(var a in b){c+=a+"="+b[a]+"&";
}}if(c.charAt(c.length-1)=="&"){c=c.substr(0,c.length-1);
}return c;
},get_clean_string:function(a){var b=this.clean(a);
return this.stringify(b);
}});
var globals=new Class({abTestInstance:null,accountApiInstance:null,activityMonitorInstance:null,announcementBarInstance:null,buildNumber:"7951",checkAll:false,siteColor:"",composeOpen:false,commandsToLog:["draft.json","fbReply.json","headersJ.json","markDeleted.json","send.json","upload.json"],configInstance:null,dashboardInstance:null,executionList:[],externalServiceManagerInstance:null,facebookPermissions:{readStreamAllowed:false,postingAllowed:false},flickrApiInstance:null,flickrQueueInstance:null,footerInstance:null,getParamsInstance:null,inboundManagerInstance:null,initCallback:null,inviteSlug:null,log:null,messageApiInstance:null,messageFilterInstance:null,noFacePics:false,noPersonCard:false,optionalColumnActivated:false,paintingCount:0,painting:false,requestTimeout:20000,rightColumnManager:null,searchResultInstance:null,settingsInstance:null,shardVariables:null,size:0,soundEffectsInstance:null,streamUpdateOpen:true,textHelpersInstance:null,throwErrors:false,topNavigationInstance:null,twitterApiInstance:null,twitterQueueInstance:null,unifiAccountInstance:null,unlockManagerInstance:null,validationInstance:null,initialize:function(){this.checkAll=false;
this.siteColor="orange";
var a=this.config();
this.throwErrors=a.developer();
var b=a.gatewayServer+"logMessage.json";
this.log=new Logger(a.developer()&&this.getParams().get().doLog4J,b);
},asdf:function(){console.log(window.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindowUtils));
},abTest:function(b,c,e,d){if((this.abTestInstance==null)||(b&&!this.abTestInstance.testData.assign)){if(!$defined(e)){e=0;
d=0;
}var a;
if(this.abTestInstance){a=this.abTestInstance.checkedTests;
}else{a=new Array();
}this.abTestInstance=new ABTest(b,c,a,e,d);
}this.abTestInstance.relevantTests=c;
this.abTestInstance.testData.assign=b;
return this.abTestInstance;
},accountApi:function(){if(this.accountApiInstance==null){this.accountApiInstance=new AccountApi();
}return this.accountApiInstance;
},activityMonitor:function(){if(this.activityMonitorInstance==null){this.activityMonitorInstance=new activityMonitor();
}return this.activityMonitorInstance;
},announcementBar:function(){if(this.announcementBarInstance==null){this.announcementBarInstance=new AnnouncementBar();
}return this.announcementBarInstance;
},checkSize:function(){var b=window.getScrollSize().y;
if(this.size==b){this.paintingCount++;
if(this.paintingCount>=5){this.painting=false;
this.paintingCount=0;
}}else{this.painting=true;
}if(!this.painting&&(this.executionList.length>0)){var a=this.executionList.shift();
this.log.info("processing item from queue: "+a);
a();
}this.size=b;
},config:function(){if(this.configInstance==null){this.configInstance=new Config();
}return this.configInstance;
},createShardIframe:function(f,b,d){var e=this.configInstance.shard;
if(e){var a=f.getElementById("shardData");
var g=f.location.href;
var c=g.indexOf("://");
g=g.substring(0,c+3);
if(!$defined(a)){a=document.createElement("iframe");
a.id="shardData";
a.src=g+e+"/shard-iframe.html";
a.height=0;
a.style.visibility="hidden";
f.body.appendChild(a);
}if(!this.shardVariables){this.initCallback=b;
}else{if(d){d();
}}return true;
}return false;
},dashboard:function(){if(this.dashboardInstance==null){this.dashboardInstance=new Dashboard();
}return this.dashboardInstance;
},destroySearch:function(){if(this.searchResultInstance!=null){this.searchResultInstance.doDestroy();
delete this.searchResultInstance;
this.searchResultInstance=null;
}},externalServiceManager:function(){if(this.externalServiceManagerInstance==null){this.externalServiceManagerInstance=new externalServiceManager();
}return this.externalServiceManagerInstance;
},facebook:function(){if($defined(window.FB)){return FB;
}else{return null;
}},facebookConnect:function(){if(this.facebookConnectInstance==null){if(this.configInstance.absoluteUrlPath.substring(0,5)=="https"){this.facebookConnectInstance=new FacebookApi("1c84b5b143571b6dbf8baf9ad650d800","xd_receiver_ssl.htm");
}else{this.facebookConnectInstance=new FacebookApi("1c84b5b143571b6dbf8baf9ad650d800","xd_receiver.htm");
}}return this.facebookConnectInstance;
},flickrApi:function(){if(this.flickrApiInstance==null){this.flickrApiInstance=new FlickrApi();
}return this.flickrApiInstance;
},flickrQueue:function(){if(this.flickrQueueInstance==null){this.flickrQueueInstance=new IframeQueue("flickr","flickrData");
}return this.flickrQueueInstance;
},footer:function(){if(this.footerInstance==null){this.footerInstance=new Footer();
}return this.footerInstance;
},getParams:function(){if(this.getParamsInstance==null){this.getParamsInstance=new getParams();
}return this.getParamsInstance;
},inboundManager:function(b,a){if(this.inboundManagerInstance==null){this.inboundManagerInstance=new InboundManager(b,a);
}return this.inboundManagerInstance;
},logout:function(){Cookie.dispose("password");
Cookie.dispose("password",{domain:"threadsy.com"});
Cookie.dispose("optional");
Cookie.dispose("optional",{domain:"threadsy.com"});
Cookie.dispose("ap",{path:"/unifi/"});
Cookie.dispose("taid",{domain:"threadsy.com"});
Cookie.dispose("ap",{domain:"threadsy.com"});
Cookie.dispose("shard",{domain:"threadsy.com"});
if(Browser.Engine.trident){document.execCommand("ClearAuthenticationCache");
Cookie.write("warning","displayed",{duration:false,domain:"threadsy.com"});
}document.location.href=globalVariables.configInstance.absoluteUrlPath+"?logout=1";
},makeGatewayRequest:function(b,a){if(!a.method){a.method="get";
}if(a.secure){a.url=this.configInstance.secureGatewayServer+b;
return new Request.JSONP({url:a.url,onComplete:function(c,d){d(c);
}.bindWithEvent(this,a.onSuccess),data:a.data}).send();
}else{a.url=this.configInstance.gatewayServer+b;
return new AjaxRequest(a).send();
}},makeShardRequest:function(c,a){if(this.configInstance.shardServer){if(!a.method){a.method="get";
}var b=this.shardVariables.makeRequest(a,c);
if(this.commandsToLog.indexOf(c)!=-1){globalVariables.activityMonitor().newActivity();
}return b;
}else{this.log.error("no shard server available");
}},messageApi:function(){if(this.messageApiInstance==null){this.messageApiInstance=new MessageApi();
}return this.messageApiInstance;
},messageFilter:function(){if(this.messageFilterInstance==null){var a=[];
globalVariables.unifiAccount().externalAccountsList.each(function(b){a.push(b.options.id);
});
this.messageFilterInstance=new messageFilter(a);
}return this.messageFilterInstance;
},paintTrace:function(){new PaintTrace();
},parseCookies:function(){this.cookies=[];
var c=document.cookie.split(";");
for(var b=0;
b<c.length;
b++){var a=c[b].split("=");
if(a.length>0){var d=a[0].trim();
var e=Cookie.read(d);
if(e!=null){this.cookies[d]=e;
}this.log.debug("Cookie["+d+"]="+e);
}}},rightColumnManager1:function(){if(this.rightColumnManager==null){this.rightColumnManager=new RightColumnManager();
}return this.rightColumnManager;
},searchResult:function(){if(this.searchResultInstance==null){this.searchResultInstance=new searchResult();
}return this.searchResultInstance;
},setClientRequester:function(a,b){if(a=="twitter"){this.twitterQueue().setRequester(b);
}else{if(a=="flickr"){this.flickrQueue().setRequester(b);
}}},setFacebookConnected:function(){},setShardGlobals:function(a){this.shardVariables=a;
if(this.initCallback){this.initCallback(true);
this.initCallback=null;
}},settings:function(){if(this.settingsInstance==null){this.settingsInstance=new Settings();
}return this.textHelpersInstance;
},soundEffects:function(){if(this.soundEffectsInstance==null){this.soundEffectsInstance=new SoundEffects();
}return this.soundEffectsInstance;
},textHelpers:function(){if(this.textHelpersInstance==null){this.textHelpersInstance=new textHelpers();
}return this.textHelpersInstance;
},topNavigation:function(){if(this.topNavigationInstance==null){this.topNavigationInstance=new TopNavigation();
}return this.topNavigationInstance;
},track:function(a){new Tracking(a).send();
},twitterApi:function(){if(this.twitterApiInstance==null){this.twitterApiInstance=new TwitterApi();
}return this.twitterApiInstance;
},twitterQueue:function(){if(this.twitterQueueInstance==null){this.twitterQueueInstance=new IframeQueue("twitter","twitterData");
}return this.twitterQueueInstance;
},unifiAccount:function(){if(this.unifiAccountInstance==null){this.unifiAccountInstance=new unifiAccount();
}return this.unifiAccountInstance;
},unlockManager:function(a){if(this.unlockManagerInstance==null){this.unlockManagerInstance=new UnlockManager(a);
}return this.unlockManagerInstance;
},validation:function(){if(this.validationInstance==null){this.validationInstance=new validation();
}return this.validationInstance;
}});
var globalVariables=new globals();
var MessageDisplay=new Class({element:null,folder:null,message:null,visible:true,actionButtons:null,addCC:null,addTo:null,addTotal:null,attachContain:null,bodyDisplay:null,bodyInjected:false,ccContainer:null,ccElement:null,ccOpened:false,CCtween:null,checkBox:null,colorFlag:"",compose:null,contentLoaded:false,datePointer:null,dateTip:null,draftBody:null,elementId:null,elementOpen:false,formatDate:null,fromNameElement:null,highlightTween:null,highlightTween2:null,highlightOk:true,isDraft:false,isFacebook:false,isFavorite:false,isGmail:false,isSent:false,isToggling:false,largeHoverDiv:null,l:false,leftHighlight:null,messageAvatar:null,messageBody:false,msgContentArea:null,msgOpenTimeStamp:null,msgSubjectPointer:null,msgPrevDisplay:null,myContain:window,myElementSlide:null,myQuickReply:null,queUnread:false,quickReplyEl:null,quickReplyOpen:false,quickReplyBgColor:"#F7AF2F",randSwf:null,readFlag:"",r:true,rightHighlight:null,scrollIt:false,topClose:null,vMBP:null,Implements:[Options,Events],options:{y:0,vY:-1,maxTitleLength:60},initialize:function(c,a,b){this.message=c;
this.folder=a;
this.isDraft=this.message.isDraft;
this.isSent=this.message.isSent;
this.folder=a;
this.myContain=this.folder.container();
this.formatDate=new formattedDate(c.options.sentDate.time);
this.isFacebook=this.message.isFacebook;
this.isGmail=this.message.isGmail;
this.isTwitter=this.message.isTwitter;
this.systemFolderList=globalVariables.unifiAccountInstance.folders;
if(this.message.serviceAccount){this.myFolders=this.message.serviceAccount.folders.user;
}this.message.avatarDisplay.addEvent("avatarModified",this.redisplayAvatar.bind(this));
this.setOptions(b);
this.createElement();
},addCheckBoxEvents:function(){var a=this;
this.checkBox.addEvents({click:function(b){b.stopPropagation();
a.mouseClickCheckbox();
},mouseover:function(){a.mouseOverCheckbox();
},mouseout:function(){a.mouseOutCheckbox();
}});
},addLargePicEvent:function(){if(globalVariables.noFacePics){return;
}var a=this;
var b=this.message.contact.getLargePicUrl(this.message.options.externalServiceId,this.message.options.serviceAccountId);
if(b){if($defined(this.largeHoverDiv)){this.largeHoverDiv.setStyles({"background-image":"url("+b+")"});
}else{this.largeHoverDiv=new Element("div",{"class":"unifi_facepicHover",styles:{"background-image":"url("+b+")"}});
this.message.avatarDisplay.imageElement.addEvents({mouseenter:function(){a.largeHoverDiv.inject(a.element,"top");
},mouseleave:function(){a.largeHoverDiv.destroy();
}});
}}},addMessageEvents:function(){this.addCheckBoxEvents();
if(!Browser.Engine.trident){this.addLargePicEvent();
}},addMessageTooltips:function(){},attachmentDisplay:function(){var c=this;
var f=0;
if(this.message.options.hasAttachments){var h=c.element.getElement(".unifi_messageBody");
var b=this.getAttachments();
this.attachmentBar.setStyle("display","block");
b.inject(this.attachmentBar,"top");
var l=0;
var g=this.message.body.options.attachments;
for(var e=0;
e<g.length;
e++){if((g[e].contentid=="")&&(g[e].fileName!="")){l++;
}}l=l>1?l+" files":l+" file";
var j=new Element("div",{"class":"unifi_attachmentNumber "+this.colorFlag+" "+this.readFlag+" ",html:"this message contains <strong>"+l+"</strong>"});
var m=h.getElement(".unifi_attachmentArea");
this.attachContain=m;
if(m.getScrollSize().x>m.getSize().x){var a=new Element("div",{"class":"unifi_attachScroll-l "+this.colorFlag+" "+this.readFlag+" "});
var d=new Element("div",{"class":"unifi_attachScroll-r "+this.colorFlag+" "+this.readFlag+" "});
a.inject(this.attachmentBar,"top");
d.inject(this.attachmentBar,"top");
var k=c.myContain.getSize().x/10;
var o=new Scroller(m,{area:k,velocity:0.4,onChange:function(p){this.element.scrollTo(p);
if(m.getScroll().x<=0){c.l=false;
}else{if(m.getScroll().x>=(m.getScrollSize().x-m.getSize().x)){c.r=false;
}else{if(!c.r){c.r=true;
}else{if(!c.l){c.l=true;
}}}}}});
var n=this;
m.addEvents({mouseenter:o.start.bind(o),mouseleave:o.stop.bind(o)});
a.addEvents({mouseenter:function(){n.scrollIt=true;
n.scrollAttachments(m,"l");
},mouseleave:function(){n.scrollIt=false;
}});
d.addEvents({mouseenter:function(){n.scrollIt=true;
n.scrollAttachments(m,"r");
},mouseleave:function(){n.scrollIt=false;
}});
}j.inject(this.attachmentBar,"top");
f=117;
c=this;
this.element.getElements(".unifi_attachButton").each(function(p){p.addEvents({mouseenter:function(){c.enlargeAttach(p);
},mouseleave:function(){var q=c.element.getElement(".unifi_enlargeAttachContain,.unifi_enlargeAttachNotImageContain");
if(q){q.destroy();
}}});
});
}},changeReadStatus:function(b){try{if(this.elementOpen&&!b){this.queUnread=true;
}else{if(this.elementOpen){this.queUnread=false;
}else{if(b){this.message.options.readFlag=true;
this.readFlag=" unifi_read";
if(!this.element.hasClass("unifi_read")){this.element.addClass(this.readFlag);
}}else{this.setUnread();
}}}globalVariables.inboundManagerInstance.display.updateToolBar();
}catch(a){globalVariables.log.error("error changing read status for message",a);
}},changeRepliedStatus:function(){if(this.message.options.repliedFlag){this.element.addClass("unifi_sent");
}},closeCC:function(){var a=this;
a.ccOpened=false;
if(a.CCtween){a.CCtween.start("opacity",0).chain(function(){if(a.ccElement){a.ccElement.inject(a.element,"after");
}});
}},closeMessage:function(){globalVariables.activityMonitor().newActivity();
this.messageToggle();
this.folder.openMessages.erase(this.elementId);
},callQuickReply:function(a){a.stopPropagation();
this.engageQuickReply();
this.closeCC();
},callFullReply:function(f){if(f){f.stop();
}var a=this;
var b;
var g=[];
g[0]=a.message.options.replyToString;
var d=a.formatDate.formatFull();
var c=globalVariables.externalServiceManager().isEmail(a.message.options.externalServiceId)?a.message.options.fromAddress:a.message.options.fromName;
if(this.addTotal&&this.addTotal.length>1){b=a.message.options.subject;
if(b.substr(0,3).toLowerCase()!="re:"){b="re: "+b;
}a.compose=new compose({whereInject:a.element,fromAddress:a.message.getReplyFromString(),serviceId:a.message.options.externalServiceId,serviceAccountId:a.message.options.serviceAccountId,toAllEmails:a.addTotal||g,toEmails:g,subject:b,myType:"ra",toName:a.message.options.toStr,replyBody:a.message.getBody(true,true),replySlug:"On "+d+", "+c+" wrote:",initiatedFrom:"message"},a);
}else{b=this.message.options.subject;
if(b.substr(0,3).toLowerCase()!="re:"){b="re: "+b;
}this.compose=new compose({whereInject:a.element,fromAddress:a.message.getReplyFromString(),serviceId:a.message.options.externalServiceId,serviceAccountId:a.message.options.serviceAccountId,toEmails:g,toAllEmails:a.addTotal||g,subject:b,myType:"re",toName:a.message.options.toStr,replyBody:a.message.getBody(true,true),replySlug:"On "+d+", "+c+" wrote:",initiatedFrom:"message"},a);
}},createActionButtons:function(){var b=this;
var a=globalVariables.unifiAccountInstance.foldersById[this.message.options.folderId];
if(this.message.options.messageType!==4&&(a.options.folderType!="draft")){this.quickReplyEl=new Element("div",{"class":"unifi_messageQuickReply",title:"quick reply",events:{click:this.callQuickReply.bind(this)}});
}this.actionButtons=new Element("div",{"class":"unifi_actionButtons "+globalVariables.siteColor}).adopt(new Element("div",{"class":"unifi_messageQuickDelete",title:(this.folder.isFolder()&&(this.folder.options.folderType=="deleted"))?"quick delete forever":"quick delete",events:{click:function(c){c.stop();
this.closeCC();
this.folder.deleteMessageEvent(this.message.messageId,false);
}.bind(this)}}),new Element("div",{"class":"unifi_messageQuickFAV",title:"favorite",events:{click:function(c){c.stop();
b.closeCC();
b.message.folder.toggleStarredMessage(b.message.options.id,"click",!b.message.options.starredFlag);
}}}),this.createActionQuickArchive(),this.quickReplyEl);
return this.actionButtons;
},createActionQuickArchive:function(){var b=this;
var a=globalVariables.unifiAccountInstance.foldersById[this.message.options.folderId];
if(a&&(a.options.folderType=="inbox")){return new Element("div",{"class":"message-quick-archive",title:"quick archive",events:{click:function(c){c.stop();
b.closeCC();
b.message.archiveMessages(b.message.serviceAccount.folders.inbox.id);
b.message.folder.removeMessageAndDisplay(b.message.messageId,true);
globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"timeline"});
}}});
}},createAvatarBox:function(){this.message.avatarDisplay.createElement(null);
this.messageAvatar=this.message.avatarDisplay.element;
return this.messageAvatar;
},createAvatarContain:function(){return new Element("div",{"class":"unifi_c_messageAvatar "}).adopt(this.createAvatarBox());
},createBtnArchive:function(){var b=globalVariables.unifiAccountInstance.foldersById[this.message.options.folderId];
if(b&&(b.options.folderType=="inbox")){var a=this;
return new Element("li",{"class":"unifi_archive toolbar-btn-right-sround",events:{click:function(c){c.stop();
a.message.archiveMessages(a.message.serviceAccount.folders.inbox.id);
a.folder.removeMessageAndDisplay(a.message.messageId,true);
(function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"timeline"});
}).delay(50);
}}}).adopt(new Element("a",{href:"#","class":"toolbar-btn-center",html:"<strong>archive</strong>",events:{click:function(c){c.preventDefault();
}}}));
}else{return;
}},createBtnClose:function(){var a=this;
return this.topClose=new Element("div",{"class":"unifi_messageClose",events:{click:function(b){b.stop();
if(window.console){console.log("buttonclickedforclose: "+$time());
}a.closeMessage();
}}}).adopt(new Element("a",{href:"#",html:"close",events:{click:function(b){b.preventDefault();
}}}));
},createBtnDelete:function(){var c=globalVariables.unifiAccountInstance.foldersById[this.message.options.folderId];
var d=(c.isFolder()&&(c.options.folderType=="deleted"));
var e=(d)?"Delete Forever":"Delete";
var b=this;
var a="toolbar-btn-right-sround";
if((c.options.folderType=="inbox")){a="toolbar-btn-right-end";
}return new Element("li",{"class":"unifi_thisDelete "+a,events:{click:function(f){f.stop();
b.messageDelete(b.element);
}}}).adopt(new Element("a",{href:"#","class":"toolbar-btn-left-round",html:"<strong>"+e+"</strong>",events:{click:function(f){f.preventDefault();
}}}));
},createBtnFacebookReply:function(){if(this.message.options.messageType!=0){return;
}var a=this;
return new Element("li",{"class":"unifi_thisQuickReply toolbar-btn-right-sround",events:{click:function(b){b.stop();
a.facebookReply();
}}}).adopt(new Element("a",{href:"#",html:"<strong>reply</strong>","class":"toolbar-btn-left-round",events:{click:function(b){b.preventDefault();
}}}));
},createBtnFavorite:function(){var a=this;
return new Element("li",{"class":"unifi_favorite",events:{click:function(b){b.stop();
a.message.folder.toggleStarredMessage(a.message.options.id,"click",!a.message.options.starredFlag);
}}}).adopt(new Element("a",{href:"#",html:"favorite",events:{click:function(b){b.preventDefault();
}}}));
},createBtnForward:function(){var a=this;
var b=globalVariables.externalServiceManager().isEmail(a.message.options.externalServiceId)?a.message.options.fromAddress:a.message.options.fromName;
var c=this.formatDate.formatFull();
var d=[];
d[0]=a.message.options.replyToString;
return new Element("li",{"class":"unifi_forward toolbar-btn-right-sround",events:{click:function(g){g.stop();
var f=a.message.options.hasAttachments?a.message.body.options.attachments:"";
a.compose=new compose({whereInject:a.element,fromAddress:a.message.getReplyFromString(),serviceId:a.message.options.externalServiceId,serviceAccountId:a.message.options.serviceAccountId,toAllEmails:a.addTotal||d,toEmails:d,subject:"fwd: "+a.message.options.subject,myType:"fwd",replyBody:a.message.getBody(true,true),replySlug:"On "+c+", "+b+" wrote:",attachments:f,initiatedFrom:"message"},a);
}}}).adopt(new Element("a",{href:"#",html:"forward","class":"toolbar-btn-left-end-long",events:{click:function(f){f.preventDefault();
}}}));
},createBtnHide:function(){var a=this;
return new Element("li",{"class":"unifi_thisHide toolbar-btn-right-round",events:{click:function(b){b.stop();
a.hideMessage(messageId,a.message.updatedTime);
}}}).adopt(new Element("a",{href:"#","class":"toolbar-btn-left-round",html:"hide",events:{click:function(b){b.preventDefault();
}}}));
},createBtnPrint:function(d){var e=d;
var c="";
var b="";
if(e){c="toolbar-btn-right-sround";
b="toolbar-btn-left-round";
}var a=this;
return new Element("li",{"class":"unifi_print "+c,events:{click:function(g){g.stop();
var f=window.open("print.html","printWindow","scrollbars=1");
(function(){f.document.getElementById("message-from").innerHTML="<strong>from:</strong> "+a.message.options.fromName;
f.document.getElementById("message-to").innerHTML="<strong>to:</strong> "+a.message.options.toStr;
if(a.message.options.ccString){f.document.getElementById("message-cc").innerHTML="<strong>cc:</strong> "+a.message.options.ccString;
}else{f.document.getElementById("message-cc").style.display="none";
}f.document.getElementById("message-date").innerHTML="<strong>date:</strong> "+new Date(a.message.options.sentDate.time);
f.document.getElementById("message-subject").innerHTML="<strong>subject:</strong> "+a.message.options.subject;
f.document.getElementById("message-body").innerHTML=a.message.getBody(true,true);
f.window.print();
}).delay(500);
}}}).adopt(new Element("a",{href:"#",html:"print","class":b,events:{click:function(f){f.preventDefault();
}}}));
},createBtnReply:function(){var a=this;
var b=globalVariables.externalServiceManager().isEmail(a.message.options.externalServiceId)?a.message.options.fromAddress:a.message.options.fromName;
var c=this.formatDate.formatFull();
var d=[];
d[0]=a.message.options.replyToString;
return new Element("li",{"class":"unifi_Reply",events:{click:function(g){g.stop();
var f=a.message.options.subject;
if(f.substr(0,3).toLowerCase()!="re:"){f="re: "+f;
}a.compose=new compose({whereInject:a.element,fromAddress:a.message.getReplyFromString(),serviceId:a.message.options.externalServiceId,serviceAccountId:a.message.options.serviceAccountId,toEmails:d,toAllEmails:a.addTotal||d,subject:f,myType:"re",toName:a.message.options.toStr,replyBody:a.message.getBody(true,true),replySlug:"On "+c+", "+b+" wrote:",initiatedFrom:"message"},a);
}}}).adopt(new Element("a",{href:"#",html:"<strong>reply</strong>","class":"toolbar-btn-left-round",events:{click:function(f){f.preventDefault();
}}}));
},createBtnReplyAll:function(){if(!this.addTotal){return;
}var a=this;
var b=globalVariables.externalServiceManager().isEmail(a.message.options.externalServiceId)?a.message.options.fromAddress:a.message.options.fromName;
var c=this.formatDate.formatFull();
if(this.addTotal){if(!this.addTotal.contains(a.message.options.replyToString)){this.addTotal.push(a.message.options.replyToString);
}}var d=[];
d[0]=a.message.options.replyToString;
return new Element("li",{"class":"unifi_replyAll toolbar-btn-left-end",events:{click:function(g){g.stop();
var f=a.message.options.subject;
if(f.substr(0,3).toLowerCase()!="re:"){f="re: "+f;
}a.compose=new compose({whereInject:a.element,fromAddress:a.message.getReplyFromString(),serviceId:a.message.options.externalServiceId,serviceAccountId:a.message.options.serviceAccountId,toAllEmails:a.addTotal||d,toEmails:d,subject:f,myType:"ra",toName:a.message.options.toStr,replyBody:a.message.getBody(true,true),replySlug:"On "+c+", "+b+" wrote:",initiatedFrom:"message"},a);
}}}).adopt(new Element("a",{href:"#","class":"toolbar-btn-center-right",html:"reply all",events:{click:function(f){f.preventDefault();
}}}));
},createCheckBox:function(){this.checkBox=new Element("div",{"class":"unifi_messageCheckBox "}).adopt(new Element("input",{"class":"unifi_checkBox",type:"checkbox",id:this.message.messageId}));
return this.checkBox;
},createDatePointer:function(){this.datePointer=new Element("div",{"class":"unifi_messageDate"}).adopt(this.setAttachmentIcon(),new Element("div",{"class":"unifi_messageDateFormat",title:this.formatDate.formatFull(),html:this.formatDate.formatShort()}));
},createDraftMessage:function(){var c=this;
var e=globalVariables.externalServiceManager().isEmail(this.message.options.externalServiceId)?this.message.options.fromAddress:this.message.options.fromName;
var f=this.formatDate.formatFull();
var g=this.message.options.toStr.split(",");
var b=this.message.getReplyFromString();
var h=this.message.options.externalServiceId;
var d=this.message.options.hasAttachments?this.message.body.options.attachments:false;
this.draftObj=new compose({attachments:d,whereInject:c.element,fromAddress:b,serviceId:h,serviceAccountId:c.message.options.serviceAccountId,toAllEmails:g,toEmails:g,subject:c.message.options.subject,myType:"dr",toName:c.message.getReplyFromString(),replyBody:"",replySlug:"",initiatedFrom:"message"},c);
if(!this.draftBody){var a=this.message.getBody(true,true)||"";
if(!a){this.message.addEvent("gotBody",function(){if(this.folder.options.folderType=="draft"){this.draftObj.updateRichTextContent(this.message.getBody(true,true));
}}.bind(this));
}else{this.draftObj.updateRichTextContent(a);
}}else{this.draftObj.updateRichTextContent(this.draftBody);
}},createElement:function(){this.setReadFlags();
this.addTotal=this.message.addTotal;
this.createHighlight();
this.createDatePointer();
this.createMessageSubjectPointer();
this.element=this.createElementContainer();
if(this.message.options.starredFlag){this.setFavorite("pre",true);
}this.addMessageEvents();
this.changeRepliedStatus();
},createElementContainer:function(){return this.slug=new Element("div",{"class":"unifi_message email unifi_closed "+this.colorFlag+this.readFlag,id:this.setElementId()}).adopt(this.leftHighlight,this.rightHighlight,this.createCheckBox(),this.createAvatarContain(),this.createFromBox(),this.createToDisplay(),this.createActionButtons(),this.datePointer,this.msgSubjectPointer);
},createEmailNicName:function(b){b=b.trim();
if(b.test("@")){b=b.replace(/\@.*/,"");
if(b.test(/\S+\s\S+/)){var a=b.lastIndexOf(" ");
b=b.substr(0,a);
b=b.trim();
}}b=b.replace(/^[\"\'><]+/g,"");
b=b.replace(/[\"\'><,]+$/,"");
return(b);
},createFromBox:function(){var d=this.message.otherTo;
var b=this.message.ccString;
var a=this.setFromAddress();
var c=this.setFromUserName()||"a friend";
if(this.isSent||this.isDraft){if(this.message.isFacebook){return this.createFromBoxSent(c,b,d);
}else{return this.createFromBoxSent(a,b,d);
}}else{return this.createFromBoxReceived(a,c);
}},createFromBoxReceived:function(b,d){var a=this;
var c=this.setTwitterName();
var g=155;
this.ccContainer=new Element("div",{"class":"unifi_ccStringContain",styles:{width:g}});
var f="";
if(a.isFacebook){f="";
}else{if(a.isTwitter){f=c;
}else{f=b;
}}this.fromNameElement=new Element("div",{"class":"unifi_fromSlug",title:f,html:d});
var e=new Element("div",{"class":"unifi_messageFrom"}).adopt(new Element("div",{"class":"unifi_toSlug unifi_toAddressFormat"}).adopt(a.ccContainer),this.fromNameElement);
return e;
},createFromBoxSent:function(h,g,f){var b=this;
var j="";
var c=155;
if(f.length>0){j=f[0];
f.splice(0,1);
}else{if(g.length>0){j=g[0];
g.splice(0,1);
}else{j=this.createEmailNicName(h);
}}g=f.blend(g);
var e=null;
if(this.isFacebook){try{e=globalVariables.unifiAccountInstance.contactManager.findContactBySocialNetworkId(5,parseInt(j,10));
}catch(d){globalVariables.log.error("message display",d);
}}else{e=globalVariables.unifiAccountInstance.contactManager.findContactByEmail(j);
}var k=j;
var l=!e?null:e.getDisplayName(this.message.options.serviceId,this.message.options.serviceAccountId);
if(l){k=this.createEmailNicName(l);
}else{k=this.createEmailNicName(j);
}this.addTotal=g;
this.ccContainer=new Element("div",{"class":"unifi_ccStringContain",styles:{width:c}});
var a=new Element("div",{"class":"unifi_messageFrom"}).adopt(new Element("div",{"class":"unifi_toSlug unifi_toAddressFormat"}).adopt(b.ccContainer),b.toBox=new Element("div",{"class":"unifi_fromSlug",title:(b.isFacebook||b.isTwitter)?"":j,html:"to "+k}));
if((g.length>0||f.length>0)&&globalVariables.inboundManagerInstance.lineHeight=="med"){a.getElement(".unifi_fromSlug").setStyle("margin","9px 0 0 10px");
}return a;
},createHighlight:function(){this.leftHighlight=new Element("div",{"class":"unifi_highlightL "+globalVariables.siteColor});
this.rightHighlight=new Element("div",{"class":"unifi_highlightR "+globalVariables.siteColor});
},createMessageBody:function(){return this.messageBodyBar=new Element("div",{"class":"unifi_messageBody "+this.readFlag}).adopt(this.createMsgContentArea(),this.attachmentBar=new Element("div",{"class":"attachment-bar"}).adopt(new Element("div",{"class":"clear"})));
},createMoveToMenu:function(){if((this.myFolders.length==0)||(this.message.folder.listType=="search-results")){return;
}var c=this;
var a;
var e;
var g=this.systemFolderList.archive.options.id;
var f=this.msgContentArea.getSize();
a=new Element("div",{"class":"toolbar-btn-dropdown moveto-dropdown",events:{mouseenter:function(h){h.stopPropagation();
e.setStyle("display","block");
},mouseleave:function(h){h.stopPropagation();
e.setStyle("display","none");
}}}).adopt(new Element("div",{"class":"toolbar-btn-dropdown-inner",html:"move to..."}).adopt(e=new Element("ul",{styles:{"max-height":f.y}})));
for(var d=0,b=this.myFolders.length;
d<b;
d++){(function(l){var n=c.message.folder.options.folderType;
var k=c.message.messageId;
var h;
var p=c.myFolders[l].data.name;
var m=c.myFolders[l].data.serviceAccountId;
var q;
var o;
if(n=="inbox"){q=g;
h=c.message.serviceAccount.folders.inbox.name;
o=c.message.serviceAccount.folders.inbox.id;
}else{if(n=="sent"){q=g;
h=c.message.serviceAccount.folders.sent.name;
o=c.message.serviceAccount.folders.sent.id;
}else{if(n=="deleted"){q=g;
h=c.message.serviceAccount.folders.deleted.name;
o=c.message.serviceAccount.folders.deleted.id;
}}}e.adopt(new Element("li").adopt(new Element("a",{href:"#",html:p,events:{click:function(j){j.stop();
c.folder.removeMessageAndDisplay(c.message.messageId,true);
(function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"timeline"});
}).delay(50);
(function(){globalVariables.makeShardRequest("moveMessages.json",{isAsync:true,method:"post",data:{messageIds:k,fromFolder:h,toFolder:p,serviceAccountId:m,toFolderId:q,fromServiceAccountTagId:o}});
}).delay(250);
}}})));
})(d);
}return a;
},createMsgContentArea:function(){if(this.message.isFacebook||this.message.isDraft){this.msgContentArea=new Element("div",{"class":"unifi_messageContentArea facebook-main-content-area"});
}else{this.msgContentArea=new Element("iframe",{src:"message-iframe.html?messageId="+this.message.messageId,"class":"unifi_messageContentArea",styles:{border:"none",width:"100%",height:"100%"}});
}return this.msgContentArea;
},createMessageSubjectPointer:function(){this.msgSubjectPointer=new Element("div",{"class":"unifi_messageSubjectContain "}).adopt(this.messageTitle=new Element("div",{"class":"unifi_messageSubject",html:this.getMessageTitle()}),this.msgPrevDisplay=new Element("div",{"class":"unifi_messagePreview"}).adopt(this.messagePreview=new Element("div",{"class":"smallText",html:this.setMessagePreview()})));
},createPlusOthersObj:function(b,a){if(b.length>0){a.adopt(new Element("div",{"class":"and-others-arrow",html:'<img src="'+globalVariables.config().staticServer+'images/messages/ccArrow.png" />'}));
this.toggleCC(a);
}},createToDisplay:function(){var a=this.setFromService();
a=a=="facebook"?"fb_connect":a;
return this.serviceIcon=new Element("div",{"class":"unifi_toDisplay",title:this.setToAddress(),html:'<img src="'+globalVariables.config().staticServer+"images/logos/"+a+'.png" >'});
},createToolbar:function(a){var b;
if(globalVariables.externalServiceManager().isEmail(this.message.options.externalServiceId)){return new Element("div",{"class":"message-toolbar "+a}).adopt(new Element("ul").adopt(this.createBtnReply(),this.createBtnReplyAll(),this.createBtnForward()),new Element("ul").adopt(this.createBtnDelete(),this.createBtnArchive()),this.createMoveToMenu(),new Element("div",{"class":"toolbar-btn-dropdown",events:{mouseover:function(){b.setStyle("display","block");
},mouseout:function(){b.setStyle("display","none");
}}}).adopt(new Element("div",{"class":"toolbar-btn-dropdown-inner",html:"more"}).adopt(b=new Element("ul").adopt(this.createBtnPrint(),this.createBtnFavorite()))),new Element("div",{"class":"clear"}));
}else{if(this.message.options.optional){return new Element("div",{"class":"message-toolbar "+a}).adopt(new Element("ul").adopt(this.createBtnHide()),new Element("div",{"class":"clear"}));
}else{return new Element("div",{"class":"message-toolbar "+a}).adopt(new Element("ul").adopt(this.createBtnFacebookReply()),new Element("ul").adopt(this.createBtnDelete(),this.createBtnArchive()),new Element("div",{"class":"toolbar-btn-dropdown",events:{mouseover:function(){b.setStyle("display","block");
},mouseout:function(){b.setStyle("display","none");
}}}).adopt(new Element("div",{"class":"toolbar-btn-dropdown-inner",html:"more"}).adopt(b=new Element("ul").adopt(this.createBtnPrint(),this.createBtnFavorite())),new Element("div",{"class":"clear"})),new Element("div",{"class":"clear"}));
}}},deleteAnimation:function(a){try{a.setStyle("display","none");
a.destroy();
}catch(b){globalVariables.log.error("message display",b);
}},deleteAnimations:function(b){if(b){var a=b.getNext();
if(a){var c=a.getChildren()[0];
if(c.hasClass("unifi_quickReplyContain")){this.deleteAnimation(c);
}}this.deleteAnimation(b);
}},engageQuickReply:function(){if(!this.quickReplyOpen){var c=null;
if(this.isFacebook){c=this.message.options.uid;
this.facebookReply();
}else{var b=globalVariables.externalServiceManager().isEmail(this.message.options.externalServiceId)?this.message.options.fromAddress:this.message.options.fromName;
this.quickReplyOpen=true;
var a=this.message.options.subject;
if(a.substr(0,3).toLowerCase()!="re:"){a="re: "+a;
}this.myQuickReply=new quickReply({whoCalled:this.element,replyContainerId:this.message.messageId,replyBody:this.message.getBody(true,true),replySlug:"On "+this.formatDate.formatFull()+", "+b+" wrote:",fromAddress:this.message.getReplyFromString(),serviceId:this.message.options.externalServiceId,serviceAccountId:this.message.options.serviceAccountId,toEmails:this.message.options.replyToString,toAllEmails:this.addTotal,toName:this.message.options.toStr,subject:a,uid:c},this);
}}else{this.myQuickReply.killQuickReply();
}},enlargeAttach:function(b){var c=b.getElement(".unifi_myattachmentsLink").get("alt").split("<br/>");
var e=c[0];
var g=c[1];
var k=b.getElement(".unifi_myAttachmentsPreview").clone();
k.removeClass("unifi_myAttachmentsPreview");
k.addClass("unifi_imageEnlargeContain");
var l=k.getElement("img");
var j;
if(l){l.removeClass("unifi_myAttachmentsPreview");
l.addClass("unifi_enlargeAttachImg");
var f=l.src.replace("=80","=200");
l.setProperty("src",f);
j="unifi_enlargeAttach";
}else{j="unifi_enlargeAttachNotImage";
}var a=k.get("href");
e=e.length>25?e.substring(0,24):e;
var d=new Element("div",{"class":"unifi_copyPrevWrap"}).adopt(k);
var h=new Element("a",{"class":j,href:a,html:'<div class="unifi_enlargeAttachDetails"><div class="unifi_enlargeAttachText">'+e+'</div><div class="unifi_enlargeAttachSize">'+g+"</div></div>"});
var m=new Element("div",{"class":j+"Contain"}).adopt(new Element("div",{"class":"unifi_messageContentShadowC",styles:{}}).adopt(new Element("div",{"class":"unifi_messageContentShadowR"}).adopt(new Element("div",{"class":"unifi_messageContentShadowL"}).adopt(new Element("div",{"class":"unifi_messageContentShadowB"}).adopt(h)))));
m.inject(b,"top");
d.inject(h,"top");
},facebookRedirectNotice:function(b){var a="";
if(b=="compose"){a="taking you to facebook to create a message...";
}else{if(b=="reply"){a="taking you to facebook to reply...";
}else{a="we're now taking you to facebook...";
}}$(document.body).adopt(this.fbRedirectModal=new Element("div",{"class":"facebook-redirect-modal"}).adopt(new Element("h1",{html:a})));
},facebookReply:function(){var b=this;
var a=b.message.options.subject;
if(!a){a="nosubject";
}a=a.replace(/&nbsp;/g,"");
a=a.replace(/ /g,"");
a=a.replace(/[^a-zA-Z0-9<>]+/g,"");
var d="http://lite.facebook.com/inbox/"+a+"/"+b.message.options.uid+"#footer";
this.facebookRedirectNotice("reply");
var c=function(){window.open(d,"_blank");
b.fbRedirectModal.destroy();
};
c.delay(800);
},getAttachments:function(){var g=this.message.body.options.attachments;
var f=[];
f[0]="application/pdf";
f[1]="image/jpeg";
f[2]="image/png";
f[3]="application/vnd.ms-excel";
f[4]="application/vnd.ms-powerpoint";
f[5]="application/msword";
f[6]="image/bmp";
f[7]="image/gif";
f[8]="text/html";
f[9]="image/tiff";
f[10]="text/plain";
f[11]="image/pjpeg";
f[13]="application/vnd.openxmlformats-officedocument.wordprocessingml.document";
f[14]="application/vnd.ms-word.document.macroEnabled.12";
f[15]="application/vnd.openxmlformats-officedocument.wordprocessingml.template";
f[16]="application/vnd.ms-word.template.macroEnabled.12";
f[17]="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
f[18]="application/vnd.ms-excel.sheet.macroEnabled.12";
f[19]="application/vnd.openxmlformats-officedocument.spreadsheetml.template";
f[20]="application/vnd.ms-excel.template.macroEnabled.12";
f[21]="application/vnd.ms-excel.sheet.binary.macroEnabled.12";
f[22]="application/vnd.ms-excel.addin.macroEnabled.12";
f[23]="application/vnd.openxmlformats-officedocument.presentationml.presentation";
f[24]="application/vnd.ms-powerpoint.presentation.macroEnabled.12";
f[25]="application/vnd.openxmlformats-officedocument.presentationml.slideshow";
f[26]="application/vnd.ms-powerpoint.slideshow.macroEnabled.12";
f[27]="application/vnd.openxmlformats-officedocument.presentationml.template";
f[28]="application/vnd.ms-powerpoint.template.macroEnabled.12";
f[29]="application/vnd.ms-powerpoint.addin.macroEnabled.12";
f[30]="application/vnd.openxmlformats-officedocument.presentationml.slide";
f[31]="application/vnd.ms-powerpoint.slide.macroEnabled.12";
f[36]="application/vnd.oasis.opendocument.graphics";
f[38]="application/vnd.oasis.opendocument.text-master";
f[39]="application/vnd.oasis.opendocument.presentation";
f[40]="application/vnd.oasis.opendocument.spreadsheet";
f[41]="application/vnd.oasis.opendocument.text";
f[43]="application/vnd.oasis.opendocument.text-web";
f[44]="application/vnd.oasis.opendocument.presentation-template";
f[45]="application/vnd.oasis.opendocument.spreadsheet-template";
f[46]="application/vnd.oasis.opendocument.text-template";
var c=["doc","dot","docx","docm","dotx","dotm","odm","odt","oth","ott"];
var e=["xls","xlt","xla","xlsx","xlsm","xltx","xltm","xlsb","xlam","ods","ots"];
var b=["ppt","pot","pps","ppa","pptx","pptm","ppsx","ppsm","potx","potm","ppam","sldx","sldm","odp","otp"];
var a=["jpg","jpeg","png","gif"];
g=g.filter(function(j){return(j.contentid=="")&&(j.fileName!="");
});
var d=this;
var h="";
g.each(function(l){var m=l.size>1024?((l.size/1024)+"").replace(/\..*/,"")+"kb":l.size+"b";
m=m.test("kb")&&m.replace("kb","")>1024?((m.replace("kb","")/1024)+"").replace(/\..*/,"")+"mb":m;
var k=globalVariables.config().messageServer+"attachment.ajax?attId="+l.id;
var o;
if(globalVariables.config().servesThumbs){o=globalVariables.config().shardHost+"/thumbs/mkthumb.php?h=80&b="+globalVariables.config().attachmentBucket+"&f="+l.location;
}else{o=k;
}var j;
if(f.contains(l.type)){if(l.type.contains("image")&&!l.type.contains("tiff")){h=h+'<li class="unifi_attachButton"><a target="_blank" class="unifi_myAttachmentsPreview" href="'+k+'"><img alt="'+l.fileName.toLowerCase()+'"  src="'+o+'" /></a>';
}else{j=l.fileName.replace(/.*\./,"").toLowerCase();
if(a.contains(j)){h=h+'<li class="unifi_attachButton"><a target="_blank" class="unifi_myAttachmentsPreview" href="'+k+'"><img alt="'+l.fileName.toLowerCase()+'"  src="'+o+'" /></a>';
}else{if(c.contains(j)){j=c[0];
}else{if(e.contains(j)){j=e[0];
}else{if(b.contains(j)){j=b[0];
}}}j=j=="tif"?"tiff":j;
j=l.type=="text/plain"?"txt":j;
h=h+'<li class="unifi_attachButton"><a target="_blank" class="unifi_myAttachmentsPreview" style="background-image:url('+globalVariables.config().staticServer+"images/icons/attachIcons/"+j+'.png)" href="'+k+'"></a>';
}}}else{if(l.fileName.replace(/.*\./,"").toLowerCase()=="pdf"){h=h+'<li class="unifi_attachButton"><a target="_blank" class="unifi_myAttachmentsPreview" style="background-image:url('+globalVariables.config().staticServer+'images/icons/attachIcons/pdf.png)" href="'+k+'"></a>';
}else{h=h+'<li class="unifi_attachButton"><a  target="_blank" class="unifi_myAttachmentsPreview" style="background-image:url('+globalVariables.config().staticServer+'images/icons/attachIcons/default.png);" href="'+k+'"></a>';
}}var n=l.fileName;
if(n.length>14){n=n.substring(0,10);
n=n+"...";
}h=h+'<a target="_blank" href="'+k+'" class="unifi_myattachmentsLink '+d.colorFlag+" "+d.readFlag+' " alt="'+l.fileName+"<br/><span class='unifi_attachSize'>("+m+')</span>">'+n+"</a></li>";
});
return new Element("div",{"class":"unifi_attachmentArea "+this.colorFlag+" "+this.readFlag+" ",html:'<ul class="unifi_myAttachments" style="width:'+g.length*90+'px">'+h+"</ul>"});
},getMessageTitle:function(){var a=this.message.options.subject;
if(!a.length){a="No Subject";
}else{a=globalVariables.textHelpers().urlConvertNoMedia(a,true,false);
a=globalVariables.textHelpers().replaceScriptCrocs(a);
}return a;
},hideMessage:function(a,b){globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.hideMessage(a,b);
this.folder.deleteMessageEvent(a,false);
},injectBody:function(a){var b=this;
var c=this.msgContentArea;
if(this.bodyDisplay&&c&&!this.bodyInjected&&(a||this.message.options.hasAttachments)){this.bodyInjected=true;
this.bodyDisplay(a);
this.attachmentDisplay();
this.fireEvent("bodyInjected");
}else{this.removeEvents("bodyDisplaySet");
this.addEvent("bodyDisplaySet",function(){b.bodyInjected=true;
b.bodyDisplay(a);
b.attachmentDisplay();
b.fireEvent("bodyInjected");
});
}},messageBodyLoaded:function(a){this.openPersonCard();
var e=a-this.msgOpenTimeStamp;
var d=(e==a)?-2:(a<this.msgOpenTimeStamp)?-3:e;
var b=this.vMBP;
var c=new Hash({a:"aOpen",vES:this.message.options.externalServiceId,vHA:this.message.options.hasAttachments?1:0,vIFC:this.message.contact.temporary?0:1,vMOP:d,vMBP:b,vSId:globalVariables.configInstance.shardId});
if(!this.message.options.readFlag){c.extend({vIUr:1});
}else{c.extend({vIUr:0});
}if(d>300000){c.vMOP=-4;
}new Tracking(c).send();
},killQuickReply:function(){if(this.myQuickReply){this.myQuickReply.killQuickReply();
}},makeVisible:function(){this.element.setStyle("visibility","visible");
},messageDelete:function(){this.folder.deleteMessageEvent(this.message.messageId,false);
},openToggle:function(){var c=this;
this.msgOpenTimeStamp=$time();
this.msgSubjectPointer.addEvent("click",function(o){o.stop();
c.closeMessage();
});
if(c.ccOpened){this.CCtween.start("opacity",1,0);
this.ccOpened=false;
}var e=!this.message.options.readFlag;
if(!this.message.options.readFlag){this.message.markRead();
c.changeReadStatus(true);
c.message.options.readFlag=true;
}this.elementOpen=true;
this.highlightOk=false;
this.element.removeClass("unifi_closed");
this.element.addClass("unifi_Opened");
this.msgPrevDisplay.addClass("ty_h_hide");
this.messageBody=this.createMessageBody();
if(this.quickReplyEl){this.quickReplyEl.removeEvents("click");
this.quickReplyEl.addEvent("click",this.callFullReply.bind(this));
var j=(this.addTotal)?"reply all":"reply";
this.quickReplyEl.set("title",j);
}c.element.adopt(this.bodyHold=new Element("div",{"class":"body_hold"}).adopt(c.createToolbar("top-toolbar"),c.messageBody,c.createToolbar("bottom-toolbar")),c.createBtnClose());
var n=this.myContain.getSize().y;
var m=56;
var g=56;
var d=n;
var f=this.message.options.hasAttachments?88:0;
var l=d-g-m;
this.messageBodyBar.setStyle("height",(l-30)+"px");
this.msgContentArea.setStyle("height",(l-30-f)+"px");
this.bodyHold.getElements(".message-toolbar ul").setStyle("max-height",l-31+"px");
var h=this.myContain.getScroll().y;
var b=h+n;
var a=c.element.getPosition(c.myContain).y;
var k=a+d;
if((a>h)&&(k<b)){this.bodyHold.removeClass("ty_h_hide");
}else{this.bodyHold.removeClass("ty_h_hide");
c.myContain.scrollTo(0,a);
}if(this.message.isFacebook){this.msgContentArea.set("html","loading...");
}this.message.getBody(true,false);
c.toggleComplete();
if(e){c.message.folder.unreadMessageRemoved(c.message.options.serviceAccountId);
}if(this.message&&this.message.body&&this.message.body.options&&(this.folder.options.folderType=="draft")){this.createDraftMessage();
}},closeToggle:function(){var a=this;
if(this.message.options.messageType==4){this.msgContentArea.removeChild(this.message.body.contents);
}if(this.quickReplyEl){this.quickReplyEl.removeEvents("click");
this.quickReplyEl.addEvent("click",this.callQuickReply.bind(this));
this.quickReplyEl.set("title","quick reply");
}this.elementOpen=false;
this.bodyInjected=false;
this.bodyDisplay=null;
this.bodyHold.destroy();
if(this.msgPrevDisplay.hasClass("ty_h_hide")){this.msgPrevDisplay.removeClass("ty_h_hide");
}a.topClose.destroy();
if(this.ccElement&&!this.ccElement.hasClass("unifi_read")){this.ccElement.addClass("unifi_read");
this.ccElement.getElements("a").each(function(b){b.addClass("unifi_read");
});
}if(this.ccOpened){this.CCtween.start("opacity",1,0);
this.ccElement.inject(a.element,"after");
this.ccOpened=false;
}a.toggleComplete();
a.slideComplete();
this.msgSubjectPointer.removeEvents();
(function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"timeline"});
}).delay(50);
},messageToggle:function(){try{if(this.isToggling){return;
}this.isToggling=true;
var a=this;
if(!this.elementOpen){this.msgOpenTimeStamp=$time();
this.openToggle();
}else{this.closeToggle();
}}catch(b){globalVariables.log.error("Error opening/closing message",b);
}},mouseClickCheckbox:function(){var a=this;
var b=this.element.getElement(".unifi_messageCheckBox ");
if(!b.hasClass("unifi_checked")){b.addClass("unifi_checked");
b.getFirst().checked=true;
b.removeClass("unifi_unchecked_checkBox_hover");
a.folder.toggleCheckbox(b.getFirst().get("id"),true);
}else{b.removeClass("unifi_checked");
a.folder.toggleCheckbox(b.getFirst().get("id"),false);
b.getFirst().checked=false;
}},mouseOverCheckbox:function(){var a=this.element.getElement(".unifi_messageCheckBox");
if(!a.hasClass("unifi_checked")){a.addClass("unifi_unchecked_checkBox_hover");
}},mouseOutCheckbox:function(){var a=this.element.getElement(".unifi_messageCheckBox");
if(a.hasClass("unifi_unchecked_checkBox_hover")){a.removeClass("unifi_unchecked_checkBox_hover");
}},moveTo:function(a){this.options.y=a;
this.element.style.top=a+"px";
},notifyQuickReplyClose:function(){this.quickReplyOpen=false;
this.message.notifyReplyClosed();
},openPersonCard:function(){var a=null;
try{var c=(this.message.contact&&this.message.contact.options)?this.message.contact.options.displayName:null;
a=this.message.isSent?(this.message.contact.getDisplayName(this.message.options.serviceId,this.message.options.serviceAccountId)||c):this.message.options.fromName;
}catch(b){globalVariables.log.error("error determining display name for message",b);
}globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{displayName:a,contact:this.message.contact}});
},redisplayAvatar:function(){if(!Browser.Engine.trident){this.addLargePicEvent();
}this.tryPlusOthers();
},redisplayFromName:function(){if(this.fromNameElement){this.fromNameElement.set("html",this.message.options.fromName);
}},setAttachmentIcon:function(){var a=null;
if(this.message.options.hasAttachments){a=new Element("div",{"class":"unifi_msgSubjectAttachment"});
}return a;
},setBodyDisplay:function(a){this.bodyDisplay=a;
this.fireEvent("bodyDisplaySet");
},setElementId:function(){if(!this.elementId){this.elementId="unifi_message_"+this.folder.divId()+"_"+this.message.messageId;
}return this.elementId;
},setReadFlags:function(){if(this.message.options.readFlag){this.readFlag=" unifi_read";
}this.colorFlag="unifi_white";
},setFavorite:function(b,c){var a=this;
if(!this.isFavorite){this.isFavorite=new Element("div",{"class":"unifi_isFavoriteTweet hide"}).inject(this.element);
}if(b=="pre"&&c){a.message.options.starredFlag=true;
if(a.isFavorite.hasClass("hide")){a.isFavorite.removeClass("hide");
}}else{if(b=="pre"&&!c){a.message.options.starredFlag=false;
a.isFavorite.addClass("hide");
}else{if(c){a.message.options.starredFlag=true;
if(a.isFavorite.hasClass("hide")){a.isFavorite.removeClass("hide");
}globalVariables.messageApi().markStarred(this.folder,this.message,true);
}else{a.message.options.starredFlag=false;
a.isFavorite.addClass("hide");
globalVariables.messageApi().markStarred(this.folder,this.message,false);
}}}},setFromAddress:function(){return this.message.options.fromAddress;
},setFromUserName:function(){return this.message.options.fromName;
},setTwitterName:function(){if(this.isTwitter){return this.message.options.fromName;
}else{return"twitter";
}},setFromService:function(){var a=this.draftServiceId?this.draftServiceId:this.message.options.externalServiceId;
return globalVariables.externalServiceManager().getById(a);
},setMessagePreview:function(){return this.message.summary;
},setToAddress:function(){return this.message.getReplyFromString();
},setTwitterName:function(){if(this.isTwitter){return this.message.options.fromName;
}else{return"twitter";
}},setFromService:function(){var a=this.message.options.externalServiceId;
return globalVariables.externalServiceManager().getById(a);
},setMessagePreview:function(){return this.message.summary;
},setToAddress:function(){return this.message.getReplyFromString();
},setUnread:function(){this.message.options.readFlag=false;
this.element.removeClass("unifi_read");
this.element.getElement(".unifi_messagePreview").removeClass("unifi_whiteRead");
},slideComplete:function(){if(this.elementOpen){var a=this.element.getElement(".unifi_iframe");
if(a){a.setStyle("visibility","visible");
}}else{if(this.element.hasClass("unifi_Opened")){this.element.removeClass("unifi_Opened");
this.element.addClass("unifi_closed");
}}},scrollAttachments:function(f,g){var a=f.getScroll().x;
var e=g=="r"?f.getScrollSize().x-f.getSize().x:0;
var c;
var d;
var b=this;
if(g=="r"){c=function(){if(b.scrollIt){a=a+5;
f.scrollTo(a,0);
if(a>=e){f.scrollTo(e,0);
b.r=false;
b.scrollIt=false;
}if(!b.l){b.l=true;
}}else{d=$clear(d);
return false;
}};
}else{c=function(){if(b.scrollIt){a=a-5;
f.scrollTo(a,0);
if(a<=e){f.scrollTo(0,0);
b.l=false;
b.scrollIt=false;
}if(!b.r){b.r=true;
}}else{d=$clear(d);
return false;
}};
}if(this.scrollIt){d=c.periodical(10);
}else{d=$clear(d);
return false;
}},toggleCC:function(e){var b=this;
var c=this.addTotal;
var a="";
var h=globalVariables.externalServiceManager().isEmail(b.message.options.externalServiceId);
var f=globalVariables.unifiAccount().contactManager;
var j=globalVariables.externalServiceManagerInstance;
var g;
var d="";
c.each(function(p){var q;
var o=p.indexOf("<");
if(o!=-1){q=p.substring(0,o).clean();
var l=p.indexOf(">");
p=p.substring(o+1,l);
}p=p.trim();
p=p.replace(/^['"]+|['"]+$/,"");
var m;
if(h){q=$defined(q)?q:"";
g=f.contactsByEmail.get(p);
if(!g){g=f.findContactByName(f.normalizeFromName(q));
}if(g){m=g.getSmallPicUrl(b.message.options.externalServiceId,b.message.options.serviceAccountId);
}else{g=f.createTempContact(q,p,j,b.message.options.externalServiceId,b.message.options.serviceAccountId,null,null);
}m=m?m:"";
}else{q=p;
p="";
g=f.contactsByName.get(q.toLowerCase());
if(g){m=g.getSmallPicUrl(b.message.options.externalServiceId,b.message.options.serviceAccountId);
}m=m?m:"";
}q=q.trim();
q=q.replace(/^['"<]+/,"").replace(/['">]+$/,"");
if(q==p){p="";
}m=m?'<img src="'+m+'" alt="'+p+' Avatar" />':'<img class="unifi_CCDefaultFacePic unifi_toSuggestOptionImage" src="'+globalVariables.config().staticServer+'images/noFacePic-blank.png" alt="'+p+' Avatar" />';
d="";
if(g){d='style="cursor:pointer;" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person",q.replace(/\'/,"\\'").replace(/\"/,'\\"'),g.contactId)+'return false;"';
}a=a+"<div "+d+'><a class="'+b.colorFlag+" "+b.readFlag+' ">'+m+'<div class="unifi_ccDisplayName">'+q+'</div><div class="unifi_ccEmail">'+p+"</div></a></div>";
});
var k=new Element("div",{"class":"unifi_closeCC "+globalVariables.siteColor,html:"hide",events:{click:function(){b.closeCC();
}}});
this.ccElement=new Element("div",{id:"unifi_PeopleShow"+b.message.messageId,"class":"unifi_includedPeopleShow "+this.colorFlag+" "+this.readFlag+" "}).adopt(new Element("div",{"class":"unifi_scrollCC",html:a}),k);
e.removeEvents("click");
e.addEvent("click",function(l){l.stop();
if(!b.ccOpened){if(b.CCtween){if(b.ccElement){if(!b.elementOpen){b.ccElement.inject(b.element,"after");
}else{b.ccElement.inject(b.element.getElement(".unifi_messageBody"),"top");
}}}else{if(!b.elementOpen){b.ccElement.inject(b.element,"after");
}else{b.ccElement.inject(b.element.getElement(".unifi_messageBody"),"top");
}b.CCtween=new Fx.Tween(b.ccElement);
if(b.ccElement){b.ccElement.setStyles({position:"absolute",left:0,width:260,"z-index":200});
}}b.CCtween.start("opacity",0,1);
b.ccOpened=true;
}else{b.closeCC();
}});
},toggleComplete:function(){this.isToggling=false;
if(this.queUnread){this.setUnread();
this.queUnread=false;
}},tryPlusOthers:function(){if(!this.ccContainer){return;
}this.ccContainer.empty();
var a=155;
this.ccContainer.setStyle("width",a);
if(this.addTotal){this.createPlusOthersObj(this.addTotal,this.ccContainer);
}},updateBodyDisplay:function(){},updateColor:function(b){if(this.leftHighlight){this.leftHighlight.removeClass(b);
this.leftHighlight.addClass(globalVariables.siteColor);
}if(this.rightHighlight){this.rightHighlight.removeClass(b);
this.rightHighlight.addClass(globalVariables.siteColor);
}var d=this.element.getElement(".unifi_actionButtons");
if(d){d.removeClass(b);
d.addClass(globalVariables.siteColor);
}if(this.quickReplyOpen){var c=this.myQuickReply.myReplyElement.getElement(".unifi_quickReplyUserFacePic");
c.removeClass(b);
c.addClass(globalVariables.siteColor);
}if(this.elementOpen){this.element.getElement(".unifi_messagecontentFooter").getElements("."+b).each(function(f){f.removeClass(b);
f.addClass(globalVariables.siteColor);
});
this.topClose.removeClass(b);
this.topClose.addClass(globalVariables.siteColor);
}if(this.compose){this.compose.myElement.getElements("."+b).each(function(f){f.removeClass(b);
f.addClass(globalVariables.siteColor);
});
}if(this.ccElement){var a=this.ccElement.getElement(".unifi_closeCC");
a.removeClass(b);
a.addClass(globalVariables.siteColor);
var e=this.ccElement.getElements(".unifi_CCDefaultFacePic");
if(e.length>0){e.each(function(f){f.set("src",globalVariables.config().staticServer+"images/defaultFacePic-"+globalVariables.siteColor+".png");
});
}}},updateMessageTime:function(){var b=this.formatDate.formatFull();
var c=this.formatDate.formatShort();
var a=(this.message.options.hasAttachments)?'<div class="unifi_msgSubjectAttachment"></div>':"";
this.datePointer.set("html",a+'<div class="unifi_messageDateFormat" title="'+b+'" >'+c+"</div>");
}});
var messageListDisplay=new Class({Implements:[Events],bodyRef:null,containerEvents:false,containerInstance:null,displayArray:new Array(),list:null,hasOlderMessages:false,hasTodayMessages:false,todayDiv:null,initialize:function(a){this.list=a;
this.bodyRef=$(document.body);
},accountHoverAdd:function(a){this.list.messages.clean().each(function(b){if(b.options.serviceAccountId!=a){b.messageDisplay.element.setStyle("opacity",0.5);
}});
},accountHoverRemove:function(a){this.list.messages.clean().each(function(b){if(b.options.serviceAccountId!=a){b.messageDisplay.element.setStyle("opacity",1);
if(Browser.Engine.trident){b.messageDisplay.element.style.removeAttribute("filter");
}}});
},container:function(){var a=this;
if(!this.containerInstance){this.containerInstance=new Element("div",{"class":"unifi_messageContain",id:a.list.divId()}).inject($("messagesColumn"));
}return this.containerInstance;
},containerAdd:function(){var a=this.container();
a.setStyle("display","none");
this.todayDiv=new Element("div",{html:"<div>fetching messages</div>","class":"unifi_messageDivider "+globalVariables.siteColor});
},delegateMsgEvents:function(){var a=this;
if(!this.containerEvents){this.containerEvents=true;
this.container().delegateEvent("click",".unifi_message",function(){a.list.mouseClickMsgs(this.get("id"),this);
},false,true);
}},deleteElement:function(b,e){try{var d=null;
if(e.element){if(e.element.getParent().getChildren().length==1){d=e.element.getParent();
}}var a=$("unifi_PeopleShow"+b);
if(a&&a.getParent()){a.getParent().destroy();
}e.deleteAnimations(e.element);
if(d&&d.hasClass("page")){d.destroy();
}}catch(c){globalVariables.log.warn("Failed to delete message element DATA"+b,c);
}},deleteMessageDisplayWithEffect:function(c){var b=c.messageDisplay.element;
var a=this.getQuickReplyContainer(c.messageId);
if(a!=null){a.destroy();
}b.destroy();
},displayMessageEffect:function(f,b,a,g,e){try{var c=f.element;
c.inject(b,a);
f.tryPlusOthers();
if(e||!g){}else{this.displayArray.push(c);
}}catch(d){globalVariables.log.error("error in displayMessageEffect",d);
}},elTransition:function(b,e){var a=this;
if(e=="out"){var c=new Fx.Slide(b,{duration:250,overflow:"auto",transition:"expo:out",onComplete:function(){if(b.getParent()){b.getParent().destroy();
}}});
var d=new Fx.Tween(b,{duration:500,onComplete:function(){c.slideOut();
b.getParent().destroy();
}});
d.start("opacity",0);
}else{a.list.notifyMessageTransitionComplete();
}},getQuickReplyContainer:function(b){var c=this.list.idsToMessages[b].messageDisplay.element;
var d=c.getNext();
var a;
if((d!=null)&&((a=d.getChildren())!=null)){d=a[0];
if(d.hasClass("unifi_quickReplyContain")){return d;
}}return null;
},updateColor:function(a){this.list.messages.clean().each(function(b){b.messageDisplay.updateColor(a);
});
this.todayDiv.removeClass(a);
this.todayDiv.addClass(globalVariables.siteColor);
}});
var messageList=new Class({active:false,bodiesTimer:null,bodiesToFetch:null,checkedMessages:null,config:null,deletedMessages:new Array(),display:null,fetching:false,filterChanged:false,idsToMessages:null,initial:false,jsLastUpdated:new Date(),listType:"folder",limitMessageNumber:50,messages:null,minimumMessages:30,moreMessages:true,openMessages:null,pageListId:null,parentFolder:null,readIds:new Array(),scrollable:true,scrolling:false,startUpdate:new Date(),tab:null,tagId:null,unreadIds:new Array(),unreadCount:0,unreadCountsByExternalAccountId:new Array(),visibleMessageCount:0,initialize:function(){this.display=this.createMessageListDisplay();
this.messages=new Array();
this.checkedMessages=new Array();
this.idsToMessages=new Array();
this.openMessages=new Array();
this.addContainerDisplay();
this.config=globalVariables.config();
this.minimumMessages=this.config.options.initialPages*this.config.options.initialPageSize;
},addContainerDisplay:function(){this.display.containerAdd();
},checkAd:function(){return;
},container:function(){return this.display.container();
},createAvatar:function(a,b){return new AvatarDisplay(a,b,{addDivClass:true,addEvent:false,divClass:null});
},createMessage:function(b,c,a){if(b.externalServiceId==8){return new TwitterMessage(b,this,c,null,a);
}else{return new Message(b,this,c);
}},createMessageDisplay:function(b){try{if(b.isTwitter){return new MessageDisplayTwitter(b,this);
}else{if(b.isFacebook){return new MessageDisplayFacebook(b,this);
}else{if(b.isAd){return new MessageDisplayAdvertisement(b,this);
}else{return new MessageDisplay(b,this);
}}}}catch(a){globalVariables.log.error("Error creating message display",a);
}},createMessageListDisplay:function(){return new messageListDisplay(this);
},createNewPage:function(a){this.pageListId=this.getPageListId();
return new Element("div",{id:this.pageListId,"class":"page"}).inject(this.displayContainer(),a);
},deleteMessageEvent:function(b,e){if((this.parentFolder!=null)&&(this.parentFolder.idsToMessages[b]!=null)){this.parentFolder.deleteMessageEvent(b,e);
}var a=(this.isFolder()&&(this.options.folderType=="deleted"));
var c=this.idsToMessages[b];
var d=c.messageDisplay;
d.deleteAnimations(d.element);
(function(){globalVariables.unifiAccountInstance.deactivateOptionalContactStream(true);
}).delay(50);
if(!c.options.readFlag){this.unreadMessageRemoved(c.options.serviceAccountId);
}if(!a){globalVariables.unifiAccount().moveToTrash(c);
}if(!e){if(a){c.markDeletedForever();
}else{c.markDeleted();
}this.refreshCounts();
}this.removeMessage(b,!e);
},displayContainer:function(){return this.display.containerInstance;
},displayMessage:function(d,b,a,f){try{var e=this.createMessageDisplay(d);
d.messageDisplay=e;
this.display.displayMessageEffect(e,a,b,this.active,f);
}catch(c){globalVariables.log.error("Error in displaymessage",c);
}this.doAfterDisplay();
return e;
},divId:function(){return"message_list_"+new Date().getTime()+"_"+Math.round(Math.random()*100);
},doAfterDisplay:function(){},doAfterDestroy:function(){},doDestroy:function(){var a=this.displayContainer();
if(a){a.destroy();
a.removeEvents("scroll");
}if(this.display){this.display.list=null;
this.display=null;
}this.doAfterDestroy();
},doInsert:function(){return this.active;
},fetchBodies:function(a){if(this.bodiesToFetch==null){this.bodiesToFetch=a;
}else{for(var b=0;
b<a.length;
b++){this.bodiesToFetch[this.bodiesToFetch.length]=a[b];
}}if((this.bodiesTimer==null)&&this.active){this.bodiesTimer=this.fetchNextBody.periodical(1000,this);
}},fetchMail:function(){},fetchMoreMessages:function(){this.moreMessages=false;
},fetchNextBody:function(){var a=this.idsToMessages[this.bodiesToFetch[0]];
if(this.bodiesToFetch.length==1){var b=this.bodiesTimer;
this.bodiesTimer=null;
$clear(b);
this.bodiesToFetch=null;
}else{this.bodiesToFetch.splice(0,1);
}if(a!=null){a.getBody(true);
}},fillMinimumMessages:function(e){if(this.moreMessages){try{var a=this.config.options.initialPageSize;
var b=this.minimumMessages;
var d=this.messageCount();
if(d<b){this.fetchMoreMessages(d,a,e,true,1,3);
}}catch(c){globalVariables.log.error("Error in fill minimum messages",c);
}}},filterMessages:function(){if(this.filterChanged){this.filterChanged=false;
return;
}var c=this;
var a=globalVariables.messageFilter();
var d=globalVariables.unifiAccount();
this.filterChanged=true;
this.moreMessages=true;
var b=null;
if(!this.isTag()&&a.isFiltering()){b=new Folder(c.options,a.generateFolderName(c));
b.parentFolder=c;
b.initial=true;
}if(b){b.filterChanged=true;
d.setActiveFolder(b);
b.filterChanged=false;
b.requestFirstPage();
}else{this.requestFirstPage();
}this.filterChanged=false;
},getPageListId:function(){return"page-container-"+this.divId()+((this.messages.length||1)*$time());
},getLastSentDate:function(){return(this.messages.length>0)?this.messages[this.messages.length-1].options.sentDate:null;
},getName:function(){return null;
},getTag:function(){return null;
},infiniteScroll:function(){if(this.scrollable){if(!this.scrolling&&this.moreMessages){if((this.display.containerInstance.getScrollSize().y-(2*this.displayContainer().getSize().y))<=Math.abs(this.display.containerInstance.getScroll().y)){this.initial=false;
this.scrollDown();
}}}},insertMessage:function(b,g){try{if(!this.doInsert()){return false;
}var e,d,a,c=0;
this.idsToMessages[b.messageId]=b;
while((c<this.messages.length)&&(b.options.sentDate.time<this.messages[c].options.sentDate.time)){c++;
}if(c==this.messages.length){if(this.listType=="folder"){if(!(c%20)){d=this.createNewPage("bottom");
e="bottom";
}else{d=this.messages[this.messages.length-1].messageDisplay.element;
e="after";
}}else{d=this.displayContainer();
e="bottom";
}}else{e="before";
a=this.messages[c].messageDisplay;
d=a.element;
if(!d.getPrevious()&&d.getAllNext().length>=20&&!d.getParent().getPrevious()){d=this.createNewPage("top");
e="top";
}if(!d.parentNode){globalVariables.log.error("no parent for message DATA index: "+c+" div: "+this.divId());
globalVariables.log.error(d);
if(c+1==this.messages.length){d.inject(this.messages[this.messages.length-1].messageDisplay.element,"after");
}else{d.inject(this.messages[c+1].messageDisplay.element,"before");
}}}this.displayMessage(b,e,d,g);
this.messages.splice(c,0,b);
if(globalVariables.checkAd){this.checkAd(b);
}return true;
}catch(f){globalVariables.log.error("error inserting message",f);
}},isEmpty:function(){return(this.messages.length==0);
},isFolder:function(){return false;
},isTag:function(){return false;
},makeActive:function(){var a=this.display.container();
a.setStyle("display","block");
this.active=true;
this.display.delegateMsgEvents();
this.filterMessages();
a.addEvent("scroll",this.infiniteScroll.bind(this));
this.refreshCounts();
if((this.bodiesTimer==null)&&(this.bodiesToFetch!=null)){this.bodiesTimer=this.fetchNextBody.periodical(500,this);
}},makeInactive:function(){if(this.active){globalVariables.unifiAccountInstance.deactivateOptionalContactStream(true);
if(this.display){this.display.containerInstance.removeEvent("scroll");
this.display.containerInstance.setStyle("display","none");
this.active=false;
}}if(this.parentFolder){this.doDestroy();
this.parentFolder=null;
}if(this.bodiesTimer!=null){var a=this.bodiesTimer;
this.bodiesTimer=null;
$clear(a);
}},messageCount:function(){return this.messages.length;
},mouseClickMsgs:function(e,h){var b=this;
var d=null;
if(h=="simulate"){d=e;
}else{if(e&&e.indexOf("unifi_message"==0)){var c=e.lastIndexOf("_");
d=e.substring(c+1);
}}var f=(d!="")?this.idsToMessages[d]:null;
if(f!=null){var g=f.messageDisplay;
var a=globalVariables.unifiAccountInstance.foldersById[f.options.folderId];
if((a.folderType=="folder")&&(a.options.folderType=="draft")){g.messageToggle();
}else{if(!this.openMessages.contains(g.elementId)){if(g.quickReplyOpen){return;
}if(h=="simulate"){e="unifi_message_"+this.divId()+"_"+e;
}this.openMessages.push(e);
g.messageToggle();
}else{if(h.hasClass("unifi_messageClose")||h.hasClass("unifi_twitterInbound")){globalVariables.activityMonitor().newActivity();
g.messageToggle();
this.openMessages.erase(e);
}}}}},multiAction:function(a){var b=this;
var c=this.checkedMessages.clean();
var d=new Hash();
c.each(function(j){var k=b.idsToMessages[j];
var h=k.options.serviceAccountId;
var g=d.get(h);
if(g){d.set(h,g+"_"+k.options.id);
}else{d.set(h,k.options.id);
}var f,e;
switch(a){case"delete":b.deleteMessageEvent(j,true);
break;
case"read":f=b.idsToMessages[j].options.folderId;
e=globalVariables.unifiAccount().foldersById[f];
if(k.options.readFlag==false){k.options.readFlag=true;
e.unreadMessageRemoved(h);
}k.messageDisplay.changeReadStatus(true);
if(b.parentFolder&&b.parentFolder.idsToMessages[j]){b.parentFolder.idsToMessages[j].readFlag=true;
b.parentFolder.idsToMessages[j].messageDisplay.changeReadStatus(true);
}break;
case"unread":f=b.idsToMessages[j].options.folderId;
e=globalVariables.unifiAccount().foldersById[f];
if(k.options.readFlag==true){k.options.readFlag=false;
e.unreadMessageAdded(h);
}k.messageDisplay.changeReadStatus(false);
if(b.parentFolder&&b.parentFolder.idsToMessages[j]){b.parentFolder.idsToMessages[j].readFlag=false;
b.parentFolder.idsToMessages[j].messageDisplay.changeReadStatus(false);
}break;
}});
this.multiActionJson(a,d);
},multiActionJson:function(a,c){var b=this;
c.each(function(h,f){var d=b.getTag(f);
var e=(d)?d.name:null;
var g=(d)?d.id:0;
switch(a){case"delete":if(b.isFolder()&&(b.options.folderType=="deleted")){globalVariables.messageApi().doMarkDeletedForever(h,e,g);
}else{globalVariables.messageApi().doMarkDeleted(h,e,g);
}break;
case"read":case"unread":globalVariables.messageApi().doMarkRead(h,a=="read",e,g);
break;
}});
this.refreshCounts();
if(a=="delete"){this.checkedMessages.empty();
globalVariables.inboundManagerInstance.display.unselectAll();
}globalVariables.checkAll=false;
},notifyMessageTransitionComplete:function(){if(this.unreadIds.length>0){this.fetchBodies(this.unreadIds);
this.unreadIds=new Array();
}if(this.readIds.length>0){this.fetchBodies(this.readIds);
this.readIds=new Array();
}},playSound:function(a){globalVariables.soundEffectsInstance.playSound(a);
},processBodies:function(b){for(var a=0;
a<b.length;
a++){var c=this.idsToMessages[b[a].id];
if(c!=null){c.setBody(b[a]);
}}},refreshCounts:function(){this.updateVisibleMessageCount();
},removeMessage:function(b,d){var c=this.idsToMessages[b];
this.deletedMessages[b]=new Date();
if(c){if(d){this.checkedMessages.erase(b);
globalVariables.inboundManagerInstance.display.updateToolBar();
}this.idsToMessages[b]=null;
for(var a=0;
a<this.messages.length;
a++){if(this.messages[a].messageId==b){this.messages.splice(a,1);
a=this.messages.length;
}}c.avatarDisplay.doDestroy();
c.avatarDisplay=null;
if(c.wallPostAvatar){c.wallPostAvatar.doDestroy();
c.wallPostAvatar=null;
}if(c.contact){c.contact.removeChangeListener(c);
c.contact=null;
}c.folder=null;
if(c.messageDisplay){c.messageDisplay.message=null;
c.messageDisplay.folder=null;
c.messageDisplay.element=null;
c.messageDisplay=null;
}if(c.body){c.body.message=null;
c.body=null;
}}},removeMessageAndDisplay:function(a,c){if(this.listType=="search-results"){globalVariables.unifiAccountInstance.oldActiveFolder.removeMessageAndDisplay(a,true);
}else{if(this.parentFolder!=null){this.parentFolder.removeMessageAndDisplay(a,true);
}}var b=this.idsToMessages[a];
if(b&&this.display.deleteElement){this.display.deleteElement(a,b.messageDisplay);
}this.removeMessage(a,c);
},requestFirstPage:function(){try{this.moreMessages=true;
this.fetchMoreMessages(0,this.config.options.initialPageSize,true,false,1,3);
}catch(a){globalVariables.log.error("Error in requestFirstPage",a);
this.fetching=false;
}},sameList:function(a){if(this.parent){return globalVariables.messageFilterInstance.isVisible(a);
}return true;
},scrollDown:function(){if(this.scrollable){this.scrolling=true;
this.fetchMoreMessages(this.messageCount(),globalVariables.config().options.pageSize,true,false);
this.scrolling=false;
}},showMessages:function(b,f){if((b==null)||(b.length==0)){return;
}for(var d=0;
d<b.length;
d++){var a=b[d];
var c=a&&(""+a.id);
if(a&&(this.idsToMessages[c]==null)){var e=this.createMessage(a,c);
if(this.initial){if(e.options.readFlag){}else{if(!f){this.unreadIds[this.unreadIds.length]=e.messageId;
}}}this.idsToMessages[e.messageId]=e;
this.insertMessage(e,f);
}}},toggleCheckbox:function(a,b){if(b){this.checkedMessages.push(a);
}else{this.checkedMessages.erase(a);
}globalVariables.inboundManagerInstance.display.updateToolBar();
},updateDocumentTitle:function(){var a="threadsy";
switch(this.options.folderType){case"inbox":if(this.unreadCount>0){a=this.unreadCount+" unread - threadsy";
break;
}else{a=this.options.name+" - threadsy";
}break;
case"archive":case"deleted":case"sent":case"synch":a=this.options.name+" - threadsy";
break;
default:a="threadsy";
break;
}document.title=a;
},toggleStarredMessage:function(a,b,d){var c=this.idsToMessages[a];
if(!c){return;
}c.messageDisplay.setFavorite(b,d);
if(this.listType=="search-results"){globalVariables.unifiAccountInstance.oldActiveFolder.toggleStarredMessage(a,"pre",d);
}else{if(this.parentFolder!=null){this.parentFolder.toggleStarredMessage(a,"pre",d);
}}},updateMessages:function(m,j){if(m&&(m.length>0)){var l=false;
for(var g=0;
g<m.length;
g++){try{var k=false;
var e=m[g];
var b=""+e.id;
var p=this.idsToMessages[b];
var h=this.sameList(e);
var o=this.deletedMessages[b];
if((p!=null)&&(!h||(e.fromAddress!=p.options.fromAddress)||(e.sentDate.time!=p.options.sentDate.time))){if(p.messageDisplay.quickReplyOpen){p.setUpdateInfo(e);
}else{k=true;
this.removeMessageAndDisplay(b,true);
if(!p.options.readFlag){this.unreadMessageRemoved(p.options.serviceAccountId);
}p=null;
}}if(h&&((p==null)||!p.messageDisplay.quickReplyOpen)){if((o!=null)&&(o>=this.jsLastUpdated)){}else{if(p==null){if(this.divId()!=globalVariables.unifiAccount().folders.draft.divId()){l=true;
}var a=this.createMessage(e,b);
var f=this.insertMessage(a,j);
if(f&&!a.options.readFlag){if(!j){this.unreadIds[this.unreadIds.length]=a.messageId;
}this.unreadMessageAdded(a.options.serviceAccountId);
}}else{var n=p.messageDisplay;
var c=e.readFlag!=p.options.readFlag;
p.options=e;
if(c){n.changeReadStatus(e.readFlag);
if(!p.options.readFlag){this.unreadMessageAdded(p.options.serviceAccountId);
}else{this.unreadMessageRemoved(p.options.serviceAccountId);
}}}}}}catch(d){globalVariables.log.error("Error updating message "+m[g],d);
}}if(l&&this.active){this.playSound("playNewMail");
}if(k&&!j){this.fillMinimumMessages(j);
}}},updateMessageTimes:function(){var b;
if(this.messages.length>0){for(var a=0;
a<this.messages.length;
a++){b=this.messages[a].messageDisplay;
b.updateMessageTime();
}}},updateVisibleMessageCount:function(){var a=this.messageCount();
if((a<(this.minimumMessages*0.6))&&this.moreMessages){this.fillMinimumMessages(false);
}},unreadMessageAdded:function(){},unreadMessageRemoved:function(){},willInsertMessage:function(a){return this.messages.length<this.limitMessageNumber||(this.messages.length&&a>(this.messages[this.messages.length-1]).options.sentDate.time);
}});
var Message=new Class({Implements:[Events,Options],addTotal:null,addTotalOriginal:new Array(),avatarDisplay:null,bitlyLinks:null,body:null,ccString:null,contact:null,facebookLinks:null,folder:null,imageExtensions:["jpg","jpeg","gif","png"],isDraft:false,isFacebook:false,isGmail:false,isTwitter:false,lastSenderId:null,maxUrlDisplayLength:60,messageDisplay:null,messageId:null,otherTo:null,serviceAccount:null,summary:null,toContact:null,updateInfo:null,wallPostAvatar:null,likes:{user_likes:false,pending_like:false},options:{atReply:null,bccString:null,ccString:null,contactId:null,externalServiceId:0,facePic:false,facePics:null,favIcon:null,favoritedTweet:null,folderId:0,forwardedFlag:false,fromAddress:null,fromId:null,fromName:null,hasAttachments:false,hasInlineImagesFlag:false,id:null,manufacturedUid:null,messageType:null,miniBody:null,myTweet:null,optional:false,readFlag:false,repliedFlag:false,replyToString:null,sentDate:null,serviceAccountId:0,starredFlag:false,subject:null,toStr:null,tags:null,uid:null,userLikes:false},initialize:function(h,e,a,d){this.setOptions(h);
this.folder=e;
this.isFacebook=globalVariables.externalServiceManager().isFacebook(this.options.externalServiceId);
this.isGmail=globalVariables.externalServiceManager().isGmail(this.options.externalServiceId);
this.isTwitter=globalVariables.externalServiceManager().isTwitter(this.options.externalServiceId);
var j=this.folder.isFolder();
var c=j&&(this.folder.options.folderType=="sent");
this.isDraft=j&&(this.folder.options.folderType=="draft");
var f=j&&(this.folder.options.folderType=="deleted");
if(this.isFacebook&&this.options.messageType==4){this.lastSenderId=this.options.fromName;
this.options.fromName="";
}this.isFromMe=(this.options.fromId==globalVariables.unifiAccountInstance.personId);
this.isSent=(c||(f&&this.isFromMe)||(!j&&this.isFromMe));
this.summary=(this.options.miniBody==null)?"":globalVariables.textHelpers().urlConvert(this.options.miniBody,true,false);
this.summary=(this.options.miniBody==null)?"":globalVariables.textHelpers().replaceCrocs(this.options.miniBody);
var g=this.getReplyFromString();
this.ccString=$type(this.options.ccString)=="string"&&this.options.ccString?this.emailToArray(this.options.ccString).filter(function(k){if(!$defined(k)){return false;
}return !"a".test(g,"i")&&k!="";
}):[];
this.otherTo=$type(this.options.toStr)=="string"&&this.options.toStr?this.emailToArray(this.options.toStr).filter(function(k){if(!$defined(k)){return false;
}return k!=""&&k!="You"&&!k.test(g,"i");
}):[];
if(this.ccString.length>0||this.otherTo.length>0){this.otherTo.rinse();
this.ccString.rinse();
this.otherTo.tidy(g);
this.ccString.tidy(g);
this.ccString=this.otherTo.blend(this.ccString);
this.addTotal=this.ccString;
}if(this.addTotal){for(var b=0;
b<this.addTotal.length;
b++){this.addTotalOriginal.push(this.addTotal[b]);
}}if($defined(d)){this.contact=d;
}else{if(this.isSent){this.contact=(this.toContact!=null)?this.toContact:globalVariables.unifiAccount().contactManager.findContactForSentMessage(this);
}else{this.contact=globalVariables.unifiAccount().contactManager.findContactForMessage(this);
}}this.contact.addChangeListener(this);
if(!this.options.fromName||(this.isFacebook&&!this.contact.temporary)){this.options.fromName=this.contact.getDisplayName(this.options.externalServiceId,this.options.serviceAccountId);
}this.avatarDisplay=e.createAvatar(this.contact,h);
this.messageId=a;
this.serviceAccount=globalVariables.unifiAccountInstance.getAccount(this.options.serviceAccountId);
},changeContact:function(a){this.contact=a;
this.avatarDisplay.changeContact(this.contact);
},contactModified:function(a){if(a.contactId==this.contact.contactId){var b=this.contact.getDisplayName(this.options.externalServiceId,this.options.serviceAccountId,this.options.fromAddress,this.options.replyToString);
if(this.options.fromName!=b){this.options.fromName=b;
if(this.messageDisplay){this.messageDisplay.redisplayFromName();
}}}if(this.body&&this.body.isFacebookThread){this.body.contactModified(a);
}},emailToArray:function(a){a=a.trim();
var e=-2;
var b=new Array();
var d=globalVariables.unifiAccount().contactManager;
while(e!==-1){var h=null;
e=a.search(/,(?=([^\"]*\"[^\"]*\")*?(?![^\"]*\"))/);
if(e!==-1){var g=a.substring(0,e);
if(g.replace(/\s/g,"")!=""){h=g;
}}else{if(a.replace(/\s/g,"")!=""){h=a;
}}if(h!=null){if(this.isFacebook){try{var f=d.findContactBySocialNetworkId(5,parseInt(h));
if((this.toContact==null)&&(f!=null)){this.toContact=f;
}var j=(f==null)?null:f.getDisplayName(this.options.serviceId,this.options.serviceAccountId);
if(j){h=j;
}}catch(c){globalVariables.log.error("email to array",c);
}}b.push(h);
}a=a.substring(e+1,a.length);
}return b;
},getBody:function(e,g,h){var b=this;
var a=h?h:false;
this.messageDisplay.vMBP=-1;
var c=$time();
if(this.body==null){var d="bodiesJ.json";
var f={messageIds:this.options.id,fullServer:globalVariables.configInstance.messageServer};
if(e){globalVariables.makeShardRequest(d,{data:f,isAsync:true,onComplete:function(l){if($defined(l)){var m=$time();
var k=m-c;
b.messageDisplay.vMBP=(k==m)?-2:(m<c)?-3:k;
b.handleBodyResponse(l);
b.fireEvent("gotBody");
}else{globalVariables.log.error("no response for DATA messageId: "+this.options.id+" fullServer: "+globalVariables.configInstance.messageServer);
}}});
}else{var j=globalVariables.makeShardRequest(d,{data:f});
b.messageDisplay.vMBP=$time()-c;
if($defined(j.response.json)){this.handleBodyResponse(j.response.json);
}return(this.body!=null)?this.body.contents:"";
}}else{this.messageDisplay.vMBP=$time()-c;
if(!g){this.messageDisplay.injectBody(this.body.contents);
}else{return(this.body.contents);
}}return"";
},getReplyFromString:function(){var a=globalVariables.unifiAccount().getAccount(this.options.serviceAccountId);
if((a==null)||(a.options.username==null)){return"";
}return a.options.username;
},handleBodyResponse:function(a){if(a.bodies){this.setBody(a.bodies[0]);
}else{globalVariables.log.error("no body response for DATA messageId: "+this.options.id+" fullServer: "+globalVariables.configInstance.messageServer);
}},hasBody:function(){return $defined(this.body);
},isFromUser:function(){var a=globalVariables.unifiAccount().getAccount(this.options.serviceAccountId);
if(this.isTwitter){return this.options.myTweet;
}else{if(this.isFacebook){return(a!=null)?this.options.fromAddress==a.options.uid:false;
}else{return(a!=null)?this.options.fromAddress==a.options.username:false;
}}},markDeleted:function(b){var a=this.folder.getTag(this.options.serviceAccountId);
globalVariables.messageApi().doMarkDeleted(this.options.id,(a)?a.name:null,(a)?a.id:0);
},markDeletedForever:function(){var a=this.folder.getTag(this.options.serviceAccountId);
globalVariables.messageApi().doMarkDeletedForever(this.options.id,(a)?a.name:null,(a)?a.id:0);
},markRead:function(){globalVariables.messageApi().markRead(this.folder,this,true);
},archiveMessages:function(a){globalVariables.makeShardRequest("markArchived.json",{isAsync:true,data:{messageIds:this.options.id,fromFolder:"Inbox",serviceAccountId:this.options.serviceAccountId,toFolderId:globalVariables.unifiAccountInstance.folders.archive.options.id,fromServiceAccountTagId:a}});
if(!this.options.readFlag){this.folder.unreadMessageRemoved(this.options.serviceAccountId);
}},notifyReplyClosed:function(){if(this.updateInfo!=null){var a=new Array();
a.push(this.updateInfo);
this.updateInfo=null;
this.folder.updateMessages(a);
}},replaceBitlyUrls:function(f){if(f.statusCode!="OK"){return;
}this.bitlyLinks=f;
var a;
var h;
var e;
var l;
var c;
var g=f.results;
var b=globalVariables.textHelpers();
var d;
var k;
for(var j in g){c="http://bit.ly/"+j;
a=new RegExp(">\\s*"+c+"\\s*<","im");
h=new RegExp('href="'+c+'"',"im");
e=g[j].longUrl;
l='href="'+e+'"';
d=e.lastIndexOf(".");
if(d>0){k=e.substring(d+1);
if(k){k=k.toLowerCase();
}}if(k&&this.imageExtensions.contains(k)){e='<img src="'+e+'" class="unifi_thumbnail"/>';
}else{if((e.length>this.maxUrlDisplayLength)){e=e.substring(0,this.maxUrlDisplayLength-3)+"...";
}}e=">"+e+"<";
this.summary=this.summary.replace(a,e);
this.summary=b.expandYouTubeLinks(this.summary,this.youtubeWidth,this.youtubeHeight);
this.summary=this.summary.replace(h,l);
}if(this.messageDisplay){this.messageDisplay.updateBodyDisplay();
}},setAtReplyOption:function(a){this.options.atReply=a;
this.messageDisplay.setAtReplyStyle(a);
},setBody:function(c){try{var a=this;
this.body=new messageBody(c,this);
this.body.addEvent("complete",function(d){a.messageDisplay.injectBody(d);
if(a.folder.options.folderType=="draft"){a.messageDisplay.createDraftMessage();
}});
this.body.formatBody();
}catch(b){globalVariables.log.error("error setting message body",b);
}},setUpdateInfo:function(a){this.updateInfo=a;
}});
Element.Properties.opacity={set:function(a,b){if(!b){if(a==0){if(this.style.visibility!="hidden"){this.style.visibility="hidden";
}}else{if(this.style.visibility!="visible"){this.style.visibility="";
}}}if(!this.currentStyle||!this.currentStyle.hasLayout){this.style.zoom=1;
}if(Browser.Engine.trident){this.style.filter=(a==1)?"":"alpha(opacity="+a*100+")";
}this.style.opacity=a;
this.store("opacity",a);
},get:function(){return this.retrieve("opacity",1);
}};
$extend(Element.NativeEvents,{paste:2,input:2});
Element.Events.paste={base:(Browser.Engine.presto||(Browser.Engine.gecko&&Browser.Engine.version<19))?"input":"paste",condition:function(a){this.fireEvent("paste",a,1);
return false;
}};
String.prototype.convertHTMLEntity=function(){var a=this;
a=a.replace(/\&amp;/g,"&");
a=a.replace(/\&lt;/g,"<");
a=a.replace(/\&quot;/g,'"');
a=a.replace(/\&copy;/g,"�");
a=a.replace(/\&reg;/g,"�");
a=a.replace(/\&laquo;/g,"�");
a=a.replace(/\&raqou;/g,"�");
a=a.replace(/\&apos;/g,"'");
return a;
};
var StreamDisplay=new Class({Extends:messageListDisplay,streamInstance:null,streamButtonActivated:false,streamVisible:true,initialize:function(a){this.parent(a);
},activateMessageClose:function(){},addWindowListener:function(){$("unifi_maincontain").addClass("threadsy_overlap");
globalVariables.optionalColumnActivated=true;
},container:function(){var a=this;
if(!this.containerInstance){this.streamContainer=new Element("div",{"class":"streamContainerHolder"}).adopt(this.streamInstance=new Element("div",{"class":"unifi_messageContain stream",id:a.list.divId()}));
this.containerInstance=this.streamInstance;
this.list.manager.display.container.adopt(this.streamContainer);
}return this.containerInstance;
},containerAdd:function(){this.container();
this.addWindowListener();
this.todayDiv=new Element("div",{html:"<div>no messages</div>","class":"unifi_messageDivider "+globalVariables.siteColor});
}});
var optionalStreamUpdater=new Class({key:null,listeners:new Array(),initialize:function(a){this.key=a;
},addUpdateListener:function(a){if(!this.listeners.contains(a)){this.listeners.push(a);
a.addUpdater(this);
return true;
}return false;
},checkUpdates:function(){},removeUpdateListener:function(a){if(this.listeners.contains(a)){this.listeners.erase(a);
}}});
var OptionalStream=new Class({Extends:messageList,activeContent:"stream",adCounter:0,allowPosting:true,currentAdIds:[],currentContact:null,facebookEndTime:0,filterFacebookUid:null,filterOtherPosters:false,hiddenMessageCookie:"hidden_msgs",hiddenMessages:null,minTimeBetweenTweets:5000,manager:null,maxTimeBetweenTweets:70000,uniqueId:"all",updaters:[],initialize:function(a,b){this.active=true;
this.listType="optional-stream";
this.manager=a;
this.removeColumnClass();
if($defined(b)){this.uniqueId=String(b);
}this.parent();
this.scrollable=true;
this.moreMessages=true;
this.initHiddenMessages();
},addUpdater:function(a){this.updaters[this.updaters.length]=a;
},checkAd:function(a){this.adCounter++;
if(this.adCounter==30){this.adCounter=0;
var c=a.options.sentDate.time+1;
this.currentAdIds.include("ad"+c);
var b={isAd:true,isTwitter:false,isFacebook:false,isFromUser:function(){return false;
},options:{sentDate:{time:c},fromName:"ad"},formatDate:{isToday:function(){return;
}},avatarDisplay:{accountId:"",avatarType:"",createElement:function(){return;
}},contact:"ad",messageId:"ad"+c};
this.insertMessage(b);
}else{return;
}},createAvatar:function(a,b){return new AvatarDisplay(a,b,{addDivClass:false,addEvent:true,divClass:null});
},createMessageDisplay:function(a){if(a.isAd){return new MessageDisplayAdvertisement(a,this);
}else{return new MiniMessageDisplay(a,this);
}},createMessageListDisplay:function(){return new StreamDisplay(this);
},divId:function(){return"optionalStream"+this.uniqueId;
},doAfterDisplay:function(){try{if(this.messages.length>this.limitMessageNumber){var b=1,a=true;
while(a&&(b<this.messages.length)){var d=this.messages[this.messages.length-b];
if(!d.messageDisplay.replyOn&&!d.messageDisplay.commentsVisible){this.removeMessageAndDisplay(d.messageId,true);
a=this.messages.length>this.limitMessageNumber;
}b++;
}}}catch(c){globalVariables.log.error("error limiting message list length",c);
}},doDestroy:function(){if(this.display){var b=this.display.streamContainer;
if(b){b.set("html","");
b.destroy();
b.removeEvents("scroll");
}}for(var a=0;
a<this.updaters.length;
a++){this.updaters[a].removeUpdateListener(this);
}},expandComments:function(c){var b=this.idsToMessages[c];
if(b==null){globalVariables.log.warn("Trying to expand comments on non-existant post DATA postId: "+c);
return;
}var d=b.messageDisplay.commentElement;
if(!d){var a=new facebookResponseHandler();
globalVariables.facebookConnect().requestComments(c,b.options.uid,b.options.noteId,a.processCommentResult.bind(a),this);
}else{b.messageDisplay.fadeComment();
}},fetchMail:function(){var a=globalVariables.unifiAccount();
a.setActiveFolder(a.folders.inbox);
},hideMessage:function(a,b){a=""+a;
if(!$defined(this.hiddenMessages[a])){this.hiddenMessages[a]=b;
var c=Cookie.read("hidden_msgs");
if(c){c+=",";
}else{c="";
}c+=a+":"+b;
Cookie.write("hidden_msgs",c,{duration:3650});
}},initHiddenMessages:function(){this.hiddenMessages=[];
var d=Cookie.read(this.hiddenMessageCookie);
if(d){var b=d.split(",");
for(var a=0;
a<b.length;
a++){var c=b[a].split(":");
this.hiddenMessages[c[0]]=parseInt(c[1]);
}}},isDuplicateTweet:function(b,a,c){if($defined(this.idsToMessages[b])){return true;
}a=""+a;
c=""+c;
if(a!=c){return globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.twitterAccountIds.contains(a);
}return false;
},isFolder:function(){return false;
},isMessageHidden:function(a,b){a=""+a;
var c=this.hiddenMessages[a];
return $defined(c)&&(c==b);
},isNull:function(){return false;
},isVisible:function(){return this.display.streamVisible;
},notifyAccountsChanged:function(){this.display.notifyAccountsChanged();
},makeActive:function(){if(this.display.streamContainer.hasClass("ty_h_bury")){this.display.streamContainer.removeClass("ty_h_bury");
}this.active=true;
},makeInactive:function(){this.active=false;
this.display.streamContainer.addClass("ty_h_bury");
},removeColumnClass:function(){$("columns").removeClass("noColumn");
},retrieveFriend:function(b,a){globalVariables.unifiAccount().contactManager.addTwitterUser(b,a);
},toggleLikes:function(d){var c=this.idsToMessages[d];
if(!$defined(c)){globalVariables.log.warn("Trying to add/remove likes on non-existant post DATA postId: "+d);
return;
}if(!c.likes.pending_like){c.likes.pending_like=true;
var a=true;
var b="you like this";
if(c.likes.user_likes){b="click here to like this";
a=false;
}if(a){new Tracking({a:"aFbAction",vFbA:1}).send();
}else{new Tracking({a:"aFbAction",vFbA:2}).send();
}globalVariables.facebookConnectInstance.setLikes(d.substring(2),a,function(){if(c.likes.user_likes){c.likes.user_likes=false;
c.messageDisplay.facebookLike.removeClass("fb-link-like-active");
}else{c.likes.user_likes=true;
c.messageDisplay.facebookLike.addClass("fb-link-like-active");
}c.messageDisplay.facebookLike.set("title",b);
c.likes.pending_like=false;
},function(){c.likes.pending_like=false;
});
}}});
var textHelpers=new Class({quote:"(\\s)*(\\\\)?(\\\"?|'?)(\\s)*",any:"([^<>])*?",anyIncludingTagMarks:"(.|\\n)*?",reURL:"((http(s?):\\/\\/)|(www\\.))[a-z0-9\\-\\.]+\\.[a-z]{2,3}(:[a-z0-9]*)?(\\/)?([a-z0-9\\-_\\/\\+&%\\$#=~,!;()?\\.]*[^,!;:()?\"'.\\s<>])?",reLink:"",reYoutubeUrl:"((http(s?):\\/\\/)|(www\\.))[a-z0-9\\-\\.]*youtube\\.com(:[a-z0-9]*)?(\\/)?([a-z0-9\\-_\\/\\+&%\\$#=~,!;()?\\.]*[^,!;:()?\"'.\\s<>])?",reYoutubeInLink:"",reYoutube:"",reTwitPicUrl:"http://(www.)?twitpic.com",reFlickrUrl:"http://www.flickr.com",reYFrogUrl:"http://yfrog.com/[a-z0-9]*",reTweetPhotoUrl:"http://pic.gd",reTag:"",reHead:"",reTextArea:"",reScript:"",reTransformCondition:"",reGroup:"",reGroupText:"",yFrogFileTypeIds:{j:"jpg",p:"png",b:"bmp",t:"tiff",g:"gif",s:"swf",d:"pdf",f:"flv",z:"mp4"},initialize:function(){this.reLink="<a"+this.any+">"+this.anyIncludingTagMarks+"<(\\s)*\\/(\\s)*a(\\s)*>";
this.reYoutubeInLink="<a"+this.any+"href(\\s)*="+this.quote+this.reYoutubeUrl+this.quote+""+this.any+">"+this.anyIncludingTagMarks+"<(\\s)*\\/(\\s)*a(\\s)*>";
this.reYoutube="("+this.reYoutubeInLink+"|"+this.reYoutubeUrl+")";
this.reTag="<"+this.any+">";
this.reHead="<head"+this.any+">"+this.anyIncludingTagMarks+"<(\\s)*\\/(\\s)*head(\\s)*>";
this.reTextArea="<textarea"+this.any+">"+this.anyIncludingTagMarks+"<(\\s)*\\/(\\s)*textarea(\\s)*>";
this.reScript="<script"+this.any+">"+this.anyIncludingTagMarks+"<(\\s)*\\/(\\s)*script(\\s)*>";
this.reTransformCondition="(^(http|www)"+this.anyIncludingTagMarks+")|"+this.reLink;
this.reGroup="("+this.reHead+")|("+this.reTextArea+")|("+this.reScript+")|("+this.reYoutube+")|("+this.reLink+")|("+this.reURL+")|("+this.reTag+")";
this.reGroupText="("+this.reYoutubeUrl+")|("+this.reURL+")";
},createYoutubeObject:function(d,a,c){if(!a){a="100%";
c="172px";
}if(d.indexOf("&")!=-1){d=d.substring(0,d.indexOf("&"));
}var b=Array();
b.push('<div class="unifi_stopPropagation" style="max-width:260px;" ><object style="display:block; position:relative; max-width:260px; width:'+a+'" height="'+c+'"><param name="movie" value="http://www.youtube.com/v/');
b.push(d);
b.push('&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><param name="wmode" value="opaque" /><embed src="http://www.youtube.com/v/');
b.push(d);
b.push('&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" style="width:'+a+';max-width:260px;" height="'+c+'" wmode="opaque"></embed></object><br/>click movie to play or <a href="http://www.youtube.com/watch?v=');
b.push(d);
b.push('" target="_blank">watch it on youtube</a></div>');
return b.join("");
},excapeRegex:function(c){var b=["/",".","*","+","?","|","(",")","[","]","{","}","\\"];
var a=new RegExp("(\\"+b.join("|\\")+")","g");
return c.replace(a,"\\$1");
},expandBitlyLinks:function(g,e){var b=g.split("http://bit.ly/");
var a;
var c;
var f=new Array();
for(var d=0;
d<b.length;
d++){if(d<b.length-1){c=b[d+1].search(/[\W]/);
if(c!=-1){a=b[d+1].substring(0,c);
}else{a=b[d+1].substring(0);
}if(!f.contains(a)){new BitlyExpand("http://bit.ly/"+a,e);
f.include(a);
}}}},expandYouTubeLinks:function(j,d,h){var b=new RegExp("<\\s*a[^>]*?>[^<>]*?youtube\\.com[^<>]*?<\\s*/\\s*a\\s*>","im");
var g=b.exec(j);
if(g){var e=new RegExp('href="(.*?)"',"im");
var c=e.exec(g);
if(c){var f=new RegExp("\\?v=(.*)<","im");
var a=f.exec(g);
if(a){j=j.replace(b,globalVariables.textHelpers().createYoutubeObject(a[1],d,h));
}}}return j;
},fixInlineImages:function(b){var a=new RegExp('"/unifi/attachment.ajax',"gm");
b=b.replace(a,'"'+globalVariables.configInstance.shardHost+"/unifi/attachment.ajax");
return b;
},removeScripts:function(a){return a.replace(/<script.*?>.*?<\/script>/gi,"");
},removeExternalCSS:function(a){a=a.replace(/<link.*>/gi);
return a.replace(/<style.*?>.*?<\/style>/gi,"");
},replaceImplicitEvents:function(a){return a.replace(/(on\w+\s*)=(\s*[\'\"]?[^\"\']*[\"\'])/gi,"$1&#61;$2");
},removeScriptAnchors:function(c){var d=$(c).getElements("a");
for(var b=0,a=d.length;
b<a;
b++){c=d[b];
if(c.get("href")&&c.get("href").test(/javascript:/i)){new Element("span",{html:c.get("html")}).inject(c,"after");
c.destroy();
}}},urlConvertNoMedia:function(a,b){return this.urlConvert(a,b,false);
},urlConvert:function(f,c,d,m,g){if(!$defined(f)||!f){return"";
}try{var k=0;
var b=Array();
var l=RegExp(this.reGroup,"igm");
var j;
var a;
while(j=l.exec(f)){b.push(f.substr(k,j.index-k));
k=j.index+j[0].length;
var n=RegExp(this.reTransformCondition,"igm");
if(n.test(j[0])){a=this.transform(j[0],d,m,g);
b.push(a);
}else{b.push(j[0]);
}}b.push(f.substr(k,f.length-k));
f=b.join("");
}catch(e){globalVariables.log.error("Error converting url",e);
}return f;
},testYouTube:function(a){var b=RegExp(this.reYoutube,"igm");
if(b.test(a)){return true;
}return false;
},testPics:function(e){var b=RegExp(this.reFlickrUrl,"igm");
var c=RegExp(this.reTwitPicUrl,"igm");
var d=RegExp(this.reTweetPhotoUrl,"igm");
var a=RegExp(this.reYFrogUrl,"igm");
if(c.test(e)){return true;
}if(a.test(e)){return true;
}return false;
},transform:function(k,d,m,f){var b=RegExp(this.reYoutube,"igm");
var e=RegExp(this.reFlickrUrl,"igm");
var j=RegExp(this.reTwitPicUrl,"igm");
var g=RegExp(this.reTweetPhotoUrl,"igm");
var l=RegExp(this.reYFrogUrl,"igm");
var c=RegExp(this.reLink,"igm");
var a=RegExp(this.reURL,"igm");
if(b.test(k)){return this.transformYoutube(k,d,m,f);
}if(j.test(k)){return this.transformTwitPic(k,d);
}if(l.test(k)){return this.transformYFrog(k,d);
}if(c.test(k)){return this.transformLink(k);
}if(a.test(k)){return this.transformURL(k);
}},transformFlickr:function(a){return a;
},transformTwitPic:function(d,b){if(b){var c=d.split("/");
var a=c[c.length-1];
return'<div class="unifi_stopPropagation"><a href="'+d+'" target="_blank"><img class="unifi_thumbnail" src="http://twitpic.com/show/thumb/'+a+'" /></a></div>';
}else{return'<a href="'+d+'" target="_blank">'+d+"</a>";
}},transformTweetPhoto:function(a){return a;
},transformYFrog:function(b,a){if(a){return'<div class="unifi_stopPropagation" ><a href=\''+b+"' target='unifi'><img class='unifi_thumbnail' src='"+b+".th.jpg' /></a></div>";
}else{return"<a href='"+b+"' target='unifi'>"+b+"</a>";
}},transformYoutube:function(g,a,b,d){var c=RegExp(this.reYoutubeUrl,"igm");
var f=c.exec(g);
if(f){var e=f[0];
}if(a==false){return this.transformURL(e);
}c=RegExp("v=([^&]*)","igm");
f=c.exec(e);
if(!f){c=RegExp("v/([^&]*)","igm");
f=c.exec(e);
}if((f)&&(f[1])){return this.createYoutubeObject(f[1],b,d);
}else{return this.transformURL(e);
}},transformLink:function(c){var a=RegExp("(target)(\\s*=)?","igm");
var b=a.exec(c);
if(!b){if(c.search(/href\s*=\s*\"#/)==-1){c=c.replace(/<a/i,'<a target="_blank"');
}}else{if(!b[2]){c=c.replace(b[0],'target="_blank"');
}}return c;
},transformURL:function(b){var a=RegExp("http(s)?","igm");
if(!a.test(b)){b='<a target="_blank" href="http://'+b+'">'+b+"</a>";
}else{b='<a target="_blank" href="'+b+'">'+b+"</a>";
}return b;
},replaceCrocs:function(b){if(!$defined(b)||!b){return"";
}var a=b.replace(/</g,"&lt;");
return a.replace(/>/g,"&gt;");
},replaceScriptCrocs:function(b){var a=b.replace(/<\s*script\s*>/g,"&lt;script&gt;");
return a.replace(/<\s*\/\s*script\s*>/g,"&lt;/script&gt;");
},replaceNewlines:function(b){var a=b.replace(/\r\n?/g,"<br/>");
a=a.replace(/\n\r?/g,"<br/>");
return a;
},replaceTwitterIds:function(b){var a=b.replace(/@([a-zA-Z0-9_]*)/g,'<a target="_blank" href="http://www.twitter.com/$1">@$1</a>');
return a;
},stripString:function(a){if(!$defined(a)){return"";
}a=a.replace(/^['"<]+/,"").replace(/['">]+$/,"");
return a.replace(/[^\w\s]+/g," ").replace(/\s+/g," ").replace(/^\s+/,"").replace(/\s+$/,"");
},urlEncode:function(e){if(!e){return e;
}var g="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.!~*'()";
var b="0123456789ABCDEF";
var f="";
for(var c=0;
c<e.length;
c++){var d=e.charAt(c);
if(d==" "){f+="+";
}else{if(g.indexOf(d)!=-1){f+=d;
}else{var a=d.charCodeAt(0);
if(a>255){f+="+";
}else{f+="%";
f+=b.charAt((a>>4)&15);
f+=b.charAt(a&15);
}}}}return f;
},urlDecode:function(e){var a="0123456789ABCDEFabcdef";
var d="";
var b=0;
while(b<e.length){var c=e.charAt(b);
if(c=="+"){d+=" ";
b++;
}else{if(c=="%"){if(b<(e.length-2)&&a.indexOf(e.charAt(b+1))!=-1&&a.indexOf(e.charAt(b+2))!=-1){d+=unescape(e.substr(b,3));
b+=3;
}else{d+="%";
b++;
}}else{d+=c;
b++;
}}}return d;
}});
var MiniMessageDisplay=new Class({Extends:MessageDisplay,atReplyBtn:null,bottomLinks:null,charCounter:null,charCountMax:140,charCounterStyle:"unifi_twitterActionCharCounter",commentElement:null,commentsVisible:false,commentTransitionInstance:null,errorBox:null,fromName:null,fromProfileUrl:null,defaultAddLinkText:"http://",errorType:null,messageAvatarBox:null,messageContainer:null,replyOn:false,reTweetBtn:null,RTAuthor:"",updatedTime:null,userSubmittedURL:null,streamTag:null,streamBubbleReplyTextArea:null,subjectContainer:null,textGrow:null,twitterApi:null,twitterReplyMode:null,toDisplay:null,staticServer:globalVariables.configInstance.staticServer,streamType:null,wallPosterName:null,initialize:function(c,a,b){this.parent(c,a,b);
this.twitterApi=globalVariables.twitterApi();
},addComments:function(f){var c=this;
var b=false;
var e="write a comment...";
var a=globalVariables.unifiAccountInstance.getFacebookAccount();
var g=a.options.id;
var d=globalVariables.unifiAccountInstance.getMyContact().getSmallPicUrl(5,g);
this.commentElement=new Element("div",{"class":"unifi_FBthread",html:f,styles:{display:"none"}});
if(!this.message.options.noteId){this.commentElement.adopt(this.commentBox=new Element("div",{"class":"fb-comment-box"}).adopt(new Element("img",{src:d,alt:"picture"}),this.fbCommentBox=new Element("textarea",{rows:"2",cols:"20",text:e,events:{focus:function(){if(this.value==e){this.setStyle("color","#333");
this.value="";
}},blur:function(){if(this.value==""){this.value=e;
this.setStyle("color","#999");
}}}}),this.fbCommentSubmit=new Element("div",{"class":"fb-comment-submit-wrapper",events:{click:function(j){j.stop();
if(b){return;
}else{b=true;
}var h=c.fbCommentBox.get("value");
if(h!=e){globalVariables.announcementBar().createAnnouncement("posting your comment...");
globalVariables.facebookConnectInstance.addComment(c.message.options.id.substring(2),h,function(k){b=false;
if(k.error){globalVariables.announcementBar().removeAnnouncement();
c.errorMessage(c.commentBox,"before","sorry we were unable to post your comment, please try again later");
}else{globalVariables.announcementBar().createAnnouncement("your comment has been posted successfully",null,"success");
c.fbCommentBox.value=e;
c.fbCommentBox.setStyle("color","#999");
c.addTempComment(c.commentBox,"before",h);
c.errorMessageDestroy();
new Tracking({a:"aSend",vCR:globalVariables.unifiAccountInstance.numFacebookFriends,vES:5,vHA:0,vST:"fbc",vIO:2}).send();
}},function(){globalVariables.announcementBar().removeAnnouncement();
c.errorMessage(c.commentBox,"before","sorry we were unable to post your comment, please try again later");
});
}}}}).adopt(new Element("div",{"class":"fb-comment-submit",html:"comment"}))));
}this.commentElement.adopt(new Element("div",{"class":"clear"}),this.closeComment=new Element("div",{"class":"unifi_fbCloseThread",html:"close",events:{click:function(){c.fadeComment();
}}}));
this.commentElement.inject(c.subjectContainer.getParent(),"after");
this.fadeComment();
},addMessageEvents:function(){},addTempComment:function(d,g,a){var b=$time();
var h=new formattedDate(b).formatFacebook();
var e=globalVariables.unifiAccountInstance.getFacebookAccount().options.id;
var c=globalVariables.unifiAccountInstance.getMyContact();
var j=c.getSmallPicUrl(5,e);
var f=c.getDisplayName(5,e);
this.tempFacebookComment=new Element("div",{"class":"unifi_FBblock"}).adopt(new Element("div",{"class":"unifi_FBCommentImage"}).adopt(new Element("a",{href:"#",title:f}).adopt(new Element("img",{src:j,alt:"",width:33,"class":"unifi_FBCommentImageInstance"})),new Element("span",{"class":"unifi_FBRoundedCorners"})),new Element("div").adopt(new Element("a",{href:"#",html:f}),new Element("span",{html:" on "+h,styles:{color:"#777"}}),new Element("br"),new Element("div",{html:a})),new Element("div",{"class":"clear"})).inject(d,g);
},animateSend:function(){var a;
if(globalVariables.siteColor=="orange"){a="#f26632";
}else{if(globalVariables.siteColor=="green"){a="#B6CC69";
}else{if(globalVariables.siteColor=="blue"){a="#52AACC";
}}}this.streamBubbleReplyTextArea.highlight(a);
this.streamBubbleReplyTextArea.value="";
this.streamBubbleReplyTextArea.focus();
},bitlyShortenCB:function(d,c){var a=c;
if(d[a.userSubmittedURL]["statusCode"]!="ERROR"){var b=d[a.userSubmittedURL]["shortUrl"];
a.streamBubbleReplyTextArea.value=a.streamBubbleReplyTextArea.value.trim()+" "+b;
a.streamBubbleReplyTextArea.focus();
a.addLinkTextInput.value=a.defaultAddLinkText;
a.updateCharCounter();
a.slideAddLink();
a.hideError();
}else{a.showError(d[a.userSubmittedURL]["errorMessage"]);
}},buildSummaryHtml:function(){var a=this.isFacebook?this.fromName:this.message.options.replyToString;
return"<strong>"+this.streamTag+a+"</a>"+this.wallPosterName+this.RTAuthor+"</strong> "+this.message.summary;
},clickAtReply:function(){if(!this.streamBubbleReply){this.createBubbleReply();
}this.makeAtReply();
this.slideTwitterStreamBubbleReply("actions");
this.updateCharCounter();
},clickRetweet:function(){globalVariables.announcementBar().createAnnouncement("posting retweet...");
this.makeReTweet();
},clickStar:function(){if(!this.message.options.favoritedTweet){this.makeFavoriteTweet();
}else{this.removeFavoriteTweet();
}},createAvatarElement:function(a){this.message.avatarDisplay.createElement(a);
return this.message.avatarDisplay.element;
},computeFromName:function(){return(this.isFacebook)?this.message.options.fromName:"'"+this.message.options.fromName.replace(/\'/,"\\'").replace(/\"/,'\\"')+"'";
},createAddLink:function(){var a=this;
this.addLinkContainer=new Element("div",{"class":"unifi_addReplyLink hide",events:{keyup:function(b){if(b.key=="enter"){a.addLinkSubmit.fireEvent("click");
b.stop();
}}}}).adopt(new Element("div",{"class":"unifi_c_addLinkText"}).adopt(this.addLinkTextInput=new Element("input",{"class":"text",type:"text",value:this.defaultAddLinkText,events:{focus:function(){if(a.addLinkTextInput.value==a.defaultAddLinkText){a.addLinkTextInput.value="";
}}},tabindex:6})),this.addLinkCancel=new Element("a",{"class":"button cancel "+globalVariables.siteColor,id:"b_add_link_cancel",events:{click:function(){a.streamBubbleReplyTextArea.focus();
a.addLinkTextInput.value=a.defaultAddLinkText;
a.slideAddLink();
a.hideError();
},blur:function(){if(a.addLinkCancel.hasClass("hover")){a.addLinkCancel.removeClass("hover");
}},focus:function(){a.addLinkCancel.addClass("hover");
},keydown:function(b){if(b.key=="space"){b.stop();
}else{if(b.key=="tab"){b.stop();
a.get_next_tab_elem(a.addLinkCancel).focus();
}}},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
a.addLinkCancel.fireEvent("click");
}}},tabindex:8,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">cancel</div><div class="threadsy_br_small"></div>'}),this.addLinkSubmit=new Element("a",{"class":"button add "+globalVariables.siteColor,id:"b_add_link",events:{click:function(){if(a.addLinkTextInput.value!=""&&a.addLinkTextInput.value!=a.defaultAddLinkText){a.userSubmittedURL=a.addLinkTextInput.value;
new BitlyShorten({cb:a.bitlyShortenCB,url:a.addLinkTextInput.value,shortURL:a});
}else{a.showError("really? that is a url?");
}},blur:function(){if(a.addLinkSubmit.hasClass("hover")){a.addLinkSubmit.removeClass("hover");
}},focus:function(){a.addLinkSubmit.addClass("hover");
},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
a.addLinkSubmit.fireEvent("click");
}}},tabindex:7,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">add</div><div class="threadsy_br_small"></div>'}));
return this.addLinkContainer;
},createButtons:function(){var a=this;
this.statusSubmit=new Element("a",{"class":"button send "+globalVariables.siteColor,events:{click:function(){if(a.validate()){a.hideError();
var c=a.twitterApi.statusUpdate(a.message.options.serviceAccountId,a.streamBubbleReplyTextArea.value,a.message.options.uid);
if(!c){(function(){globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.updateTwitterStream(globalVariables.unifiAccount().getAccount(a.message.options.serviceAccountId),"friends_timeline");
}).delay(3000);
a.slideTwitterStreamBubbleReply();
globalVariables.announcementBar().createAnnouncement("your "+a.twitterReplyMode.toLowerCase()+" has been sent",null,"success");
globalVariables.soundEffectsInstance.playSound("playSent");
a.animateSend();
a.updateCharCounter();
var b="";
if(a.twitterReplyMode=="reply"){b="@r";
}else{if(a.twitterReplyMode=="reTweet"){b="rt";
}}new Tracking({a:"aSend",vCR:globalVariables.unifiAccountInstance.getMyContact().getTwitterInfo(globalVariables.unifiAccountInstance.getAccount(a.message.options.serviceAccountId).options.replyTo).options.followers_count,vES:8,vHA:0,vST:b,vIO:2}).send();
}else{if(c==1){a.showError("whoops, can't post "+a.twitterReplyMode.toLowerCase()+", try again later");
}else{a.showError("whoops, twitter didn't accept your "+a.twitterReplyMode.toLowerCase()+", try again later");
}a.errorType="update_failed";
}}else{a.showError("whoops, your "+a.twitterReplyMode.toLowerCase()+" is either empty or too long");
a.errorType="long_status";
}},blur:function(){if(a.statusSubmit.hasClass("hover")){a.statusSubmit.removeClass("hover");
}},focus:function(){a.statusSubmit.addClass("hover");
},mouseup:function(){if(a.statusSubmit.hasClass("hover")){a.statusSubmit.removeClass("hover");
}},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
a.statusSubmit.fireEvent("click");
}}},tabindex:2,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">post</div><div class="threadsy_br_small"></div>'});
this.replyCancel=new Element("a",{"class":"button cancel "+globalVariables.siteColor,id:"b_add_link_cancel",events:{click:function(){a.streamBubbleReplyTextArea.focus();
a.addLinkTextInput.value=a.defaultAddLinkText;
a.slideTwitterStreamBubbleReply();
a.hideError();
a.toggleSelectedReply("cancel");
},blur:function(){if(a.addLinkCancel.hasClass("hover")){a.addLinkCancel.removeClass("hover");
}},focus:function(){a.addLinkCancel.addClass("hover");
},keydown:function(b){if(b.key=="space"){b.stop();
}else{if(b.key=="tab"){b.stop();
}}},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
a.addLinkCancel.fireEvent("click");
}}},tabindex:8,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">cancel</div><div class="threadsy_br_small"></div>'});
this.addLinkButton=new Element("a",{"class":"button add "+globalVariables.siteColor,id:"add_link",events:{click:function(){a.slideAddLink();
a.hideError();
},blur:function(){if(a.addLinkButton.hasClass("hover")){a.addLinkButton.removeClass("hover");
}},focus:function(){a.addLinkButton.addClass("hover");
},mouseup:function(){if(a.addLinkButton.hasClass("hover")){a.addLinkButton.removeClass("hover");
}},keyup:function(b){if(b.key=="space"){b.stop();
a.addLinkButton.fireEvent("click");
}}},tabindex:3,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small"><div class="linkIcon" title="add link"></div></div><div class="threadsy_br_small"></div>'});
},createCharCounter:function(){this.charCounter=new Element("div",{"class":this.charCounterStyle,html:"140"});
return this.charCounter;
},createElement:function(){var f=this;
var h=this.message.isFromUser()?"unifi_isFromSelf":"";
this.streamType=globalVariables.externalServiceManager().getById(this.message.options.externalServiceId);
var j=this.setElementId();
this.fromName=this.message.options.fromName;
if(!$defined(this.fromName)){this.fromName="";
}var p=globalVariables.externalServiceManager().getById(this.message.options.externalServiceId);
if(this.message.isFromUser()){this.createMyToDisplayActions();
}else{this.createToDisplayActions();
}p=p=="facebook"?"fb_connect":p;
this.toDisplay=new Element("div",{"class":"unifi_toDisplay stream"}).adopt(new Element("img",{"class":"unifi_toDisplayIcon",src:globalVariables.config().staticServer+"images/logos/"+p+".png"}));
if(this.message.options.isRT){this.toDisplay.adopt(new Element("div",{"class":"RT-icon"}));
}if(this.streamType=="twitter"){this.toDisplay.adopt(this.toDisplayActions);
}var l=this.formatDate.formatFull();
var d=this.formatDate.formatShort();
this.colorFlag="unifi_read";
this.datePointer=new Element("div",{"class":"unifi_messageDate",html:'<div class="unifi_messageDateFormat stream " title="'+l+'" >'+d+"</div>"});
var g=this.computeFromName(),q,c=this.createAvatarElement(g);
this.messageAvatarBox=new Element("div",{"class":"unifi_messageAvatar "+this.message.avatarDisplay.avatarType+" "+this.colorFlag+" "+this.readFlag+" "}).adopt(c);
if(this.message.options.isRT){q=new Element("div",{"class":"unifi_messageSubAvatar",events:{click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{displayName:this.message.options.isRT.user.name,contact:this.message.RTContact}});
}.bind(this)}}).adopt(new Element("img",{"class":"unifi_messageSubAvatarBorder",src:this.staticServer+"images/defaultFacePic-orange.png"}),new Element("img",{"class":"unifi_messageSubAvatarPic",src:this.message.options.isRT.user.profile_image_url,title:this.message.options.isRT.user.screen_name}));
}this.wallPosterName="";
var o="";
if(f.isFacebook){var e=this.fromName.indexOf("&");
if(e!=-1){this.wallPosterName=this.fromName.substring(e-1);
this.fromName=this.fromName.substring(0,e-1);
}this.fromProfileUrl='href="http://www.facebook.com/profile.php?id='+f.message.options.fromAddress;
}else{if(f.isTwitter){this.fromProfileUrl='href="http://www.twitter.com/'+f.message.options.replyToString;
o=f.fromName;
}}this.streamTag='<a title="'+o+'" href="#" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person",g,f.message.contact.contactId)+'return false;">';
if(f.message.options.isRT&&this.message.RTContact){f.RTAuthor=' (via <a href="#" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person",this.message.options.isRT.user.name,this.message.RTContact.contactId)+'return false;">'+f.message.options.isRT.user.screen_name+"</a>)";
}f.msgSubjectPointer=new Element("div",{"class":"unifi_messageSubject stream "+f.streamType,html:f.buildSummaryHtml()});
if(this.message.options.mediaItems&&this.message.options.mediaItems.length){var b=!this.message.options.mediaItems[0].image_url?"":new Element("img",{"class":"tumbnail",src:this.message.options.mediaItems[0].image_url});
f.msgSubjectPointer.adopt(new Element("div",{"class":"tunein-container"}).adopt(b,new Element("strong").adopt(new Element("a",{href:this.message.options.mediaItems[0].url,html:this.message.options.mediaItems[0].title})),new Element("span",{html:this.message.options.mediaItems[0].summary}),new Element("div",{"class":"clear"})));
}f.subjectContainer=new Element("div",{"class":"unifi_messageSubjectContain stream "+this.colorFlag}).adopt(f.msgSubjectPointer,f.msgPrevDisplay=new Element("div",{"class":"unifi_messagePreview"}));
var m=new Element("div",{"class":"unifi_c_streamBubble"}).adopt(f.subjectContainer.adopt(new Element("div",{"class":"unifi_streamBubbleTop"}),new Element("div",{"class":"unifi_streamBubbleBottom"}),new Element("div",{"class":"unifi_streamBubbleTopLeft"}),new Element("div",{"class":"unifi_streamBubbleTopRight"}),new Element("div",{"class":"unifi_streamBubbleBottomLeft"}),new Element("div",{"class":"unifi_streamBubbleBottomRight"}),new Element("div",{"class":"unifi_streamBubbleLeft"}),new Element("div",{"class":"unifi_streamBubbleRight"}),new Element("div",{"class":"unifi_streamBubbleFill"}),f.datePointer),this.createMessageContainer(),this.createAddLink());
if(this.isFacebook){var n=this.message.facebookLinks;
if(n!=null){f.bottomLinks=new Element("div",{"class":"threadsy_facebookLinks"}).adopt(this.message.facebookLinks);
f.subjectContainer.adopt(f.bottomLinks);
}}var a=this.message.options.atReply?"unifi_isAtReply ":"";
var k=this.message.options.favoritedTweet?"":"hide";
this.isFavorite=new Element("div",{"class":"unifi_isFavoriteTweet "+k});
this.element=new Element("div",{"class":"unifi_message "+a+h+" "+this.colorFlag+" "+this.streamType,id:j,html:'<div class="unifi_roundedSL corners hide"></div><div class="unifi_roundedSR corners hide"></div><div class="unifi_roundedMM corners hide"></div><div class="unifi_roundedBL corners hide"></div><div class="unifi_roundedTR corners hide"></div><div class="unifi_roundedTL corners hide"></div><div class="unifi_roundedBR corners hide"></div>'}).adopt(f.isFavorite,f.toDisplay,this.messageAvatarBox,q,m);
this.addMessageEvents();
},createMessageContainer:function(){this.messageContainer=new Element("div",{"class":"unifi_twitterActionMessage hide"});
return this.messageContainer;
},createBubbleReply:function(){var b=this;
this.createButtons();
this.streamBubbleReplyAvatarContainer=new Element("div",{"class":"unifi_streamBubbleReplyAvatarContainer "+globalVariables.siteColor});
var e=globalVariables.unifiAccountInstance;
var a=this.message.options;
var f=e.contactManager.contactsByContactId["th"+e.personId].getSmallPicUrl(a.externalServiceId,a.serviceAccountId,a.fromAddress,a.replyToString);
if(!f){f=this.staticServer+"images/defaultFacePic-"+globalVariables.siteColor+".png";
}var c;
new Element("div",{"class":"unifi_facepicCrop"}).adopt(c=new Element("img",{src:f})).inject(b.streamBubbleReplyAvatarContainer);
if(c.getSize().x>c.getSize().y){c.setStyle("height",37);
}else{c.setStyle("width",37);
}this.streamBubbleReplyTextArea=new Element("textarea",{id:"stream_reply_"+this.message.messageId,tabindex:1,events:{keyup:function(){b.updateCharCounter();
}}});
var g=new Element("div",{"class":"unifi_textAreaArrow"});
var d=new Element("div",{"class":"unifi_streamBubbleReplyTextAreaWrap"}).adopt(b.streamBubbleReplyTextArea,this.createCharCounter(),g);
this.streamBubbleReply=new Element("form",{"class":"unifi_streamBubbleReply hide",action:"",method:"post",target:"twitter_favorited_hidden"}).adopt(this.streamBubbleReplyAvatarContainer,d,this.statusSubmit,this.replyCancel,this.addLinkButton).inject(b.subjectContainer,"after");
},createMyToDisplayActions:function(){this.deleteTweetBtn=new Element("div",{"class":"unifi_deleteTweetBtn actions",title:"delete",events:{click:this.deleteTweet.bind(this)}});
var a=this.createStarButton();
this.toDisplayActions=new Element("div",{"class":"unifi_toDisplayActions "+globalVariables.siteColor}).adopt(this.deleteTweetBtn,this.reTweetBtn,a);
},createStarButton:function(){return new Element("div",{"class":"unifi_tweetStarButton actions",title:"favorite",events:{click:this.clickStar.bind(this)}});
},createToDisplayActions:function(){this.atReplyBtn=new Element("div",{"class":"unifi_atReplyButton actions",title:"reply",events:{click:this.clickAtReply.bind(this)}});
this.reTweetBtn=new Element("div",{"class":"unifi_reTweetButton actions",title:"retweet",events:{click:this.clickRetweet.bind(this)}});
var a=this.createStarButton();
this.toDisplayActions=new Element("div",{"class":"unifi_toDisplayActions "+globalVariables.siteColor}).adopt(this.atReplyBtn,this.reTweetBtn,a);
},deleteTweet:function(){this.hideError();
var b=this.message.options.isRT?this.message.options.isRT.id:this.message.options.id;
var a=this.twitterApi.statusAction(this.message.options.serviceAccountId,b,"statusDestroy");
if(!a){if(this.message.folder.parentFolder){var c=this.message.folder.parentFolder.idsToMessages[this.message.messageId];
c.folder.removeMessageAndDisplay(c.messageId,true);
}this.message.folder.removeMessageAndDisplay(this.message.messageId,true);
}else{if(a==1){this.showError("whoops, can't delete tweet, try again later");
}else{this.showError("whoops, twitter didn't let you delete the tweet, try again later");
}this.errorType="delete_failed";
}},errorMessage:function(b,d,c){var a=this;
this.errorMessageDestroy();
this.errorBox=new Element("div",{html:c,"class":"error-box"}).adopt(new Element("div",{html:"x","class":"error-box-close",events:{click:function(){a.errorBox.destroy();
}}})).inject(b,d);
},errorMessageDestroy:function(){if(this.errorBox){this.errorBox.destroy();
}},fadeComment:function(){if(!this.commentTransitionInstance){var a=this;
this.commentTransitionInstance=new Fx.Slide(a.commentElement,{duration:300,transition:"expo:in",onComplete:function(){a.commentsVisible=!a.commentsVisible;
if(!a.commentTransitionInstance.open){a.commentElement.getParent().setStyle("margin",0);
}else{a.commentElement.getParent().setStyles({margin:"0 5px 6px",height:"auto"});
}}}).hide();
a.commentElement.setStyle("display","block");
}if(this.commentsVisible){this.commentTransitionInstance.slideOut();
this.errorMessageDestroy();
}else{this.commentTransitionInstance.slideIn();
}},generateFacebookLinks:function(d,f,c){var b=this;
var f=f;
this.facebookLinks=new Element("div",{"class":"facebook-links"});
var e=" fb-link-comments-inactive";
if(d.comments.count>0){e="";
}if(d.comments.can_post){this.commentCountLink=new Element("a",{"class":"fb-link-comments"+e,href:"#",html:d.comments.count,title:d.comments.count+" comments"+((c)?"":", click to add a comment"),events:{click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.activeMode.activeContent.expandComments(f);
}}}).inject(this.facebookLinks,"bottom");
}if(d.likes&&!c){var a="";
var g="click here to like this";
if(d.likes.user_likes){a="fb-link-like-active";
g="you like this";
}this.facebookLinks.adopt(this.facebookLove=new Element("a",{"class":"fb-link-love",html:"love",href:"#",title:"click here to love this",events:{click:function(j){j.stop();
if(this.hasClass("fb-link-love-active")){return false;
}new Tracking({a:"aFbAction",vFbA:3}).send();
var h="I &hearts; this! (via threadsy) "+globalVariables.unlockManagerInstance.loveUrl;
this.addClass("fb-link-love-active");
globalVariables.announcementBar().createAnnouncement("loving this comment");
globalVariables.facebookConnectInstance.addComment(b.message.options.id.substring(2),h,function(k){if(k.error){globalVariables.announcementBar().removeBubble();
b.errorMessage(b.commentBox,"before","sorry we were unable to post your comment, please try again later");
}else{globalVariables.announcementBar().createAnnouncement("you have successfully loved this comment",2000);
b.errorMessageDestroy();
}},function(){globalVariables.announcementBar().removeBubble();
b.errorMessage(b.commentBox,"before","sorry we were unable to love this comment, please try again later");
});
}}}),this.facebookLike=new Element("a",{"class":"fb-link-like "+a,html:"like",href:"#",title:g,events:{click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.activeMode.activeContent.toggleLikes(f);
}}}),this.facebookAbhore=new Element("a",{"class":"fb-link-abhor",html:"dislike",href:"#",title:"click here to dislike this",events:{click:function(j){j.stop();
if(this.hasClass("fb-link-abhor-active")){return false;
}new Tracking({a:"aFbAction",vFbA:4}).send();
if(b.facebookLike.hasClass("fb-link-like-active")){globalVariables.rightColumnManager.unboundModeManagerInstance.activeMode.activeTab.toggleLikes(f);
}var h="Disliked (via threadsy) "+globalVariables.unlockManagerInstance.dislikeUrl;
this.addClass("fb-link-abhor-active");
globalVariables.announcementBar().createAnnouncement("posting your dislike comment");
globalVariables.facebookConnectInstance.addComment(b.message.options.id.substring(2),h,function(k){if(k.error){globalVariables.announcementBar().removeBubble();
b.errorMessage(b.commentBox,"before","sorry we were unable to post your comment, please try again later");
}else{globalVariables.announcementBar().createAnnouncement("disliked successfully",2000);
b.errorMessageDestroy();
}},function(){globalVariables.announcementBar().removeBubble();
b.errorMessage(b.commentBox,"before","sorry we were unable to dislike this comment, please try again later");
});
}}}));
}this.facebookLinks.adopt(new Element("div",{"class":"clear"}));
b.bottomLinks=new Element("div",{"class":"threadsy_facebookLinks"}).adopt(b.facebookLinks);
b.subjectContainer.adopt(b.bottomLinks);
return this.facebookLinks;
},hideError:function(){this.messageContainer.empty();
this.slideErrorMsg("out");
this.addLinkContainer.removeClass("error");
},makeAtReply:function(){this.hideError();
this.twitterReplyMode="reply";
this.toggleSelectedReply("atReply");
var a="@"+this.message.options.replyToString+" ";
this.streamBubbleReplyTextArea.value="";
this.streamBubbleReplyTextArea.value=a;
},makeFavoriteTweet:function(){this.hideError();
var a=this.twitterApi.statusAction(this.message.options.serviceAccountId,this.message.options.id,"favoriteCreate");
if(!a){this.message.options.favoritedTweet=true;
this.isFavorite.removeClass("hide");
if(this.message.folder.parentFolder){var b=this.message.folder.parentFolder.idsToMessages[this.message.messageId];
b.options.favoritedTweet=true;
b.messageDisplay.isFavorite.removeClass("hide");
}}else{if(a==1){this.showError("whoops, can't favorite tweet, try again later");
}else{this.showError("whoops, twitter didn't let you favorite the tweet, please try again later");
}this.errorType="favorite_failed";
}},makeReTweet:function(){this.twitterApi.reTweet(this.message.options.serviceAccountId,this.message.options.id,function(a){if(a.result===0){globalVariables.announcementBar().createAnnouncement("Success! Your retweet has been posted",null,"success");
(function(){globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.updateTwitterStream(globalVariables.unifiAccountInstance.getAccount(this.message.options.serviceAccountId),"retweetedByMe");
}.bind(this)).delay(3000);
}else{globalVariables.announcementBarInstance.createAnnouncement("Sorry, twitter failed to respond.",null,"error");
}}.bind(this));
},notifyFacebookContactAdded:function(c){if(this.commentElement!=null){var a=".unknownFB_"+c.socialNetworkIds[5];
var h=this.commentElement.getElement(a);
var b=globalVariables.unifiAccount().getFacebookAccount();
var j=c.getSmallPicUrl(b.options.externalServiceId,b.options.id);
var d=this.commentElement.getElement(a+"_name");
var e=this.commentElement.getElement(a+"_pic");
var g=c.getDisplayName(b.options.externalServiceId,b.options.id);
var f='"'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person","",c.contactId)+'return false;">';
if(d&&g){d.set("html",g);
d.set("href","#");
d.set("onclick",f);
d.set("target","");
}if(e){e.set("href","#");
e.set("onclick",f);
e.set("target","");
}if(h&&j){h.src=j;
}}},redisplayAvatar:function(){},removeFavoriteTweet:function(){this.hideError();
var a=this.twitterApi.statusAction(this.message.options.serviceAccountId,this.message.options.id,"favoriteDestroy");
if(!a){this.message.options.favoritedTweet=false;
this.isFavorite.addClass("hide");
}else{if(a==1){this.showError("whoops, can't unfavorite tweet, try again later");
}else{this.showError("whoops, twitter didn't let you unfavorite the tweet, try again later");
}this.errorType="unfavorite_failed";
}},toggleActions:function(a){if(a=="on"){if(this.toDisplay.getElement(".unifi_toDisplayIcon")){this.toDisplay.getElement(".unifi_toDisplayIcon").addClass("hide");
}if(this.toDisplay.getElement(".unifi_toDisplayActions")){this.toDisplay.getElement(".unifi_toDisplayActions").removeClass("hide");
}}else{if(this.toDisplay.getElement(".unifi_toDisplayActions")){this.toDisplay.getElement(".unifi_toDisplayActions").addClass("hide");
}if(this.toDisplay.getElement(".unifi_toDisplayIcon")){this.toDisplay.getElement(".unifi_toDisplayIcon").removeClass("hide");
}}},toggleSelectedReply:function(a){if(a=="atReply"){if(!this.atReplyBtn.hasClass("selected")){this.atReplyBtn.addClass("selected");
}if(this.reTweetBtn.hasClass("selected")){this.reTweetBtn.removeClass("selected");
}}else{if(a=="reTweet"){if(!this.reTweetBtn.hasClass("selected")){this.reTweetBtn.addClass("selected");
}if(this.atReplyBtn.hasClass("selected")){this.atReplyBtn.removeClass("selected");
}}else{if(a=="cancel"){if(this.atReplyBtn.hasClass("selected")){this.atReplyBtn.removeClass("selected");
}else{this.reTweetBtn.removeClass("selected");
}}}}},showError:function(a){this.messageContainer.empty();
this.messageContainer.appendText(a);
this.slideErrorMsg("in");
this.addLinkContainer.addClass("error");
},slideAddLink:function(){var a=this;
if(!this.slideLinkInstance){this.slideLinkInstance=new Fx.Slide(a.addLinkContainer,{duration:1000,transition:Fx.Transitions.Pow.easeOut,link:"chain"}).hide();
a.addLinkContainer.removeClass("hide");
}if(!Browser.Engine.trident){this.slideLinkInstance.toggle();
}else{if(!this.addLinkOpen){this.slideLinkInstance.show();
}else{this.slideLinkInstance.hide();
}}this.addLinkOpen=!this.addLinkOpen;
},slideErrorMsg:function(b){var a=this;
if(!this.slideMessageInstance){this.slideMessageInstance=new Fx.Slide(a.messageContainer,{duration:1000,transition:Fx.Transitions.Pow.easeOut,link:"chain",onStart:function(){a.messageContainer.getParent().setStyle("width",400);
}}).hide();
a.messageContainer.removeClass("hide");
}if(b=="in"&&!Browser.Engine.trident){this.slideMessageInstance.slideIn();
}else{if(b=="out"&&!Browser.Engine.trident){this.slideMessageInstance.slideOut();
}else{if(b=="in"){a.messageContainer.getParent().setStyle("width",400);
this.slideMessageInstance.show();
}else{this.slideMessageInstance.hide();
}}}},setAtReplyStyle:function(a){(a)?this.element.addClass("unifi_isAtReply"):this.element.removeClass("unifi_isAtReply");
},slideTwitterStreamBubbleReply:function(b){if(b=="actions"&&this.replyOn){return;
}var a=this;
if(!this.slideTwitterReplyInstance){this.slideTwitterReplyInstance=new Fx.Slide(a.streamBubbleReply,{duration:1000,transition:Fx.Transitions.Pow.easeOut,link:"chain",onComplete:function(){a.streamBubbleReplyTextArea.focus();
if(a.replyOn){a.streamBubbleReply.getParent().setStyle("height","");
}}}).hide();
a.streamBubbleReply.removeClass("hide");
}if(!Browser.Engine.trident){this.slideTwitterReplyInstance.toggle();
if(this.replyOn){this.streamBubbleReplyTextArea.addEvent("keyup",function(){a.updateCharCounter();
});
this.element.removeClass("unifi_Opened");
}else{this.element.addClass("unifi_Opened");
}}else{if(!this.slideTwitterReplyOpen){this.element.addClass("unifi_Opened");
this.slideTwitterReplyInstance.show();
}else{this.element.removeClass("unifi_Opened");
this.slideTwitterReplyInstance.hide();
}}this.toggleRoundedCorners();
this.slideTwitterReplyOpen=!this.slideTwitterReplyOpen;
},toggleRoundedCorners:function(){if(!this.replyOn){this.element.getElements(".corners").each(function(a){a.removeClass("hide");
});
this.element.setStyles({"margin-top":2,"margin-bottom":2,"border-top":"none","border-bottom":"none"});
}else{this.element.getElements(".corners").each(function(a){a.addClass("hide");
});
this.element.setStyles({"margin-top":0,"margin-bottom":0,"border-top":"1px solid #FFFFFF","border-bottom":"1px solid #BBBBBB"});
}this.replyOn=!this.replyOn;
this.element.toggleClass("unifi_replyOn");
},tryPlusOthers:function(){},updateBodyDisplay:function(){this.msgSubjectPointer.set("html",this.buildSummaryHtml());
globalVariables.textHelpersInstance.removeScriptAnchors(this.msgSubjectPointer);
},updateCharCounter:function(){var a=this.charCountMax-this.streamBubbleReplyTextArea.value.length;
this.charCounter.empty().appendText(a);
var b=(a>=20)?"":((a>=10)?"caution":((a>=0)?"warning":"danger"));
this.charCounter.setProperty("class","");
this.charCounter.addClass(this.charCounterStyle+" "+b);
if(a>=0){if(this.errorType=="long_status"){this.hideError();
this.errorType=null;
}}},validate:function(){return this.streamBubbleReplyTextArea.value.length>0&&this.streamBubbleReplyTextArea.value.length<=140;
}});
FancyUpload2.implement({defaultPng:function(){return this.staticServer+"images/icons/attachIcons/default.png";
},msgId:null,attIds:[],files:[],isAttached:false,myLink:null,prevStatus:null,newProg:false,staticServer:globalVariables.configInstance.staticServer,options:{queued:1,limitSize:0,limitFiles:0,validateFile:$lambda(true),composeContainer:null},render:function(){this.overallTitle=this.status.getElement(".overall-title");
this.currentTitle=this.status.getElement(".current-title");
this.currentText=this.status.getElement(".current-text");
var a=this.status.getElement(".overall-progress");
this.overallProgress=new Fx.ProgressBar(a,{text:new Element("span",{"class":"progress-text"}).inject(a,"after")});
a=this.status.getElement(".current-progress");
this.currentProgress=new Fx.ProgressBar(a,{text:new Element("span",{"class":"progress-text"}).inject(a,"after")});
a.addEvent("click",function(){this.currentProgress.start($random(0,100));
}.bind(this));
this.updateOverall();
},onStart:function(){this.status.addClass("file-uploading");
},onQueue:function(){this.updateOverall();
},onComplete:function(){this.status.removeClass("file-uploading");
}});
FancyUpload2.File.implement({isImage:false,location:null,myStatus:null,myTherm:null,fileId:0,newProg:false,prevStatus:0,staticServer:globalVariables.configInstance.staticServer,render:function(){var c=this;
if(this.invalid){if(this.validationError){var g=MooTools.lang.get("FancyUpload","validationErrors")[this.validationError]||this.validationError;
this.validationErrorMessage=g.substitute(this);
}this.remove();
return;
}this.addEvents({start:this.onStart.bind(this),progress:this.onProgress.bind(this),complete:this.onComplete.bind(this),error:this.onError.bind(this)});
var c=this;
this.isImage=false;
var b=this.getAttachmentIconURL();
var f=this.fileName||MooTools.lang.get("FancyUpload","fileName").substitute(this);
this.fileName=f;
f=(f.length>13)?f.substring(0,11)+"...":f;
this.fileId=this.fileNametoId(f);
this.container=this.base.options.composeContainer;
var d=this.base.list.getScrollSize().y;
if(Math.round(d/98)>=2){var a=new Fx.Scroll(this.base.list);
a.toBottom();
}var e=(this.isImage)?"unifi_isImage":"";
if(this.isImage){this.myLink=new Element("a",{"class":"unifi_myAttachLink",styles:{opacity:0.6},href:"#",html:'<div class="unifi_myAttachPrev '+e+'"><img src='+b+" /></div>"});
}else{this.myLink=new Element("a",{"class":"unifi_myAttachLink",styles:{opacity:0.6},href:"#",html:'<div class="unifi_myAttachPrev" style="background-image:url('+b+')"></div>'});
}this.myStatus=new Element("div",{"class":"unifi_attachStatusBar",id:c.fileId+"bar",html:""});
this.info=new Element("div",{"class":"hide"});
this.myTherm=new Element("div",{"class":"unifi_attachStatus",id:c.fileId+"therm"});
this.element=new Element("li",{"class":"file unifi_myAddAttach",id:"",events:{mouseenter:function(){c.enlargeAttach();
},mouseleave:function(){var h=c.container.getElement(".unifi_enlargeAttachContain,.unifi_enlargeAttachNotImageContain");
if(h!=null){h.destroy();
}}}}).adopt(c.myLink,c.myTherm,c.myStatus,new Element("a",{"class":"unifi_myAttachRemove "+globalVariables.siteColor,href:"#",events:{click:function(){c.fireEvent("remove");
this.remove();
var h=c.container.getElement(".unifi_enlargeAttachContain,.unifi_enlargeAttachNotImageContain");
if(h!=null){h.destroy();
}return false;
}.bind(this)}}),new Element("div",{"class":"unifi_Attach unifi_myAttachTitle",html:f}),c.info).inject(this.base.list);
var a=new Fx.Tween(c.element).start("width",0,70).chain(function(){this.start("opacity",0,1);
});
if(this.attachType=="fwd"||this.attachType=="dr"){this.fileSuccess();
}},sizeToKB:function(a){var b="B";
if((a/1048576)>1){b="MB";
a/=1048576;
}else{if((a/1024)>1){b="kB";
a/=1024;
}}return a.round(1)+" "+b;
},enlargeAttach:function(){if($defined(this.container)){var c=this.element;
var g=(Browser.Engine.trident)?(c.getCoordinates().left-560):(c.getCoordinates().left-310);
var e={x:g,y:40};
var d=this.container;
var h=this.fileName;
var f=this.sizeToKB(this.size);
var o=c.getElement(".unifi_myAttachLink").clone();
o.removeClass("unifi_myAttachLink");
o.addClass("unifi_imageEnlargeContain");
if(this.isImage||($defined(this.type)&&this.type.contains("image"))){var p=o.getElement("img");
p.removeClass("unifi_myAttachPrev");
p.addClass("unifi_enlargeAttachImg");
var k=p.src.replace("=80","=200");
p.setProperty("src",k);
var n="unifi_enlargeAttach";
}else{n="unifi_enlargeAttachNotImage";
var m=o.getElement(".unifi_myAttachPrev");
var b=m.getStyle("background-image");
o.setStyle("background-image",b);
m.destroy();
}var a=o.get("href");
h=h.length>25?h.substring(0,24):h;
var j=new Element("div",{"class":"unifi_copyPrevWrap"}).adopt(o);
var l=new Element("a",{"class":n,href:a,html:'<div class="unifi_enlargeAttachDetails"><div class="unifi_enlargeAttachText">'+h+'</div><div class="unifi_enlargeAttachSize">'+f+"</div></div>"});
var q=new Element("div",{"class":n+"Contain",styles:{"margin-left":e.x,"margin-top":e.y,overflow:"hidden",width:300}}).adopt(new Element("div",{"class":"unifi_messageContentShadowC",styles:{}}).adopt(new Element("div",{"class":"unifi_messageContentShadowR"}).adopt(new Element("div",{"class":"unifi_messageContentShadowL"}).adopt(new Element("div",{"class":"unifi_messageContentShadowB"}).adopt(l)))));
q.inject(d,"top");
j.inject(l,"top");
}},fileNametoId:function(a){return a.replace(/[\s]?[^\w\d-]?/g,"");
},getAttachmentIconURL:function(){var d=globalVariables.config().mediaTypes;
var a=globalVariables.config().fileExtensions;
var b=globalVariables.config().imageExtensions;
var e=(this.attachType=="fwd"||this.attachType=="dr")?globalVariables.configInstance.messageServer+"attachment.ajax?attId="+this.attId:this.base.defaultPng();
e=(globalVariables.config().servesThumbs)?globalVariables.configInstance.shardHost+"/thumbs/mkthumb.php?h=80&b="+globalVariables.config().attachmentBucket+"&f="+this.location:e;
var f;
if(this.attachType=="fwd"||this.attachType=="dr"){var h=this.fileType;
var c=this.fileName;
if(d.contains(h)){if(h.contains("image")&&!h.contains("tiff")){this.isImage=true;
f=e;
}else{testResult=c.replace(/.*\./,"").toLowerCase();
testResult=testResult=="pps"?"ppt":testResult;
testResult=testResult=="tif"?"tiff":testResult;
testResult=h=="text/plain"?"txt":testResult;
f=globalVariables.config().staticServer+"images/icons/attachIcons/"+testResult+".png";
}}else{if(c.replace(/.*\./,"").toLowerCase()=="pdf"){f=globalVariables.config().staticServer+"images/icons/attachIcons/pdf.png";
}else{f=this.base.defaultPng();
}}}else{var c=MooTools.lang.get("FancyUpload","fileName").substitute(this);
var j=c.replace(/[^\/]*\//,"");
var g=j.replace(/[^\.]*\.?\w*\./,"");
if(b.contains(g.toLowerCase())){this.isImage=true;
f=(globalVariables.config().servesThumbs)?globalVariables.configInstance.shardHost+"/thumbs/mkthumb.php?h=80&b="+globalVariables.config().attachmentBucket+"&f="+this.location:e;
}else{f=a.contains(g)?globalVariables.config().staticServer+"images/icons/attachIcons/"+g+".png":this.base.defaultPng();
}}return f;
},onComplete:function(){this.element.removeClass("file-uploading");
if(this.response.error){this.base.fireEvent("error",[this,a]);
return;
}var a=this.response.text||"";
this.fileSuccess(a);
this.base.fireEvent("onFileSuccess",[this,a]);
},onStart:function(){},onProgress:function(c,d,b){var a=Math.round(this.progress.percentLoaded*0.9);
this.newProg=true;
if(!this.prevStatus){this.prevStatus=0;
}this.progTween(this.prevStatus,a);
},progTween:function(c,b){var a=this;
this.newProg=false;
var e={i:c};
var d=function(){var g=Math.round(this.i/4);
a.myStatus.setStyles({height:g,top:32-g});
if(this.i>=100){$clear(f);
a.prevStatus=0;
}if(this.i==b||a.newProg){$clear(f);
a.prevStatus=this.i;
}this.i+=1;
};
var f=d.periodical(10,e);
},onRemove:function(){var a=this;
var b=this.element.get("id");
this.element.fade("out").retrieve("tween").chain(Element.destroy.bind(Element,a.element));
this.base.attIds.splice(this.base.attIds.indexOf(parseInt(b)),1);
this.base.fileListSize-=this.size;
this.base.fileList.erase(this);
globalVariables.makeShardRequest("removeAttachment.json",{isAsync:true,data:{attachmentId:b}});
},fileSuccess:function(c){var a=this;
this.myStatus.destroy();
this.myTherm.destroy();
this.prevStatus=0;
if(this.attachType!="fwd"){var b=new Hash(JSON.decode(c,true)||{});
if(b.get("result")=="success"){this.attId=b.get("attId");
this.element.addClass("file-success");
this.location=b.get("location");
var d=this.isImage?"unifi_isImage":"";
this.myLink.set({styles:{opacity:1},target:"_blank",href:globalVariables.configInstance.messageServer+"attachment.ajax?attId="+b.get("attId"),html:'<div class="unifi_myAttachPrev '+d+'" style="background-image:url('+this.getAttachmentIconURL()+')"></div>'});
if(this.isImage){this.myLink.set({styles:{opacity:1},href:globalVariables.configInstance.messageServer+"attachment.ajax?attId="+b.get("attId"),html:'<div class="unifi_myAttachPrev '+d+'"><img src="'+this.getAttachmentIconURL()+'" /></div>'});
}else{this.myLink.set({styles:{opacity:1},href:globalVariables.configInstance.messageServer+"attachment.ajax?attId="+b.get("attId"),html:'<div class="unifi_myAttachPrev '+d+'" style="background-image:url('+this.getAttachmentIconURL()+')"></div>'});
}this.element.set("id",b.get("attId"));
this.base.msgId=b.get("msgId");
this.base.attIds.push(b.get("attId"));
}else{this.element.addClass("file-failed");
}}else{this.element.addClass("file-success");
this.myLink.set({styles:{opacity:1},href:globalVariables.configInstance.messageServer+"attachment.ajax?attId="+a.attId});
this.element.set("id",a.attId);
this.base.msgId=this.msgId;
this.base.attIds.push(this.attId);
}}});
var ABTest=new Class({checkedTests:null,cookieName:"ABT",hasTest:false,relevantTests:null,testData:{assign:false,id:0,bucket:0,expires:0},uniqueId:null,initialize:function(g,f,a,e,d){var j=$(window).getSize().x;
var c=$time();
var h=navigator.userAgent;
this.uniqueId=MD5(j+c+h);
this.checkedTests=a;
this.relevantTests=f;
this.readCookie(g);
if(!this.hasTest){if(g){this.requestTest(0,0);
}else{var b=$time();
this.setCookies(e,d,b-1);
}}this.testData.assign=g;
},checkAssign:function(){if(!this.relevantTests){return;
}var d=false;
var c=$time();
var b=c+(60*60*1000);
var a=this;
this.relevantTests.clean().each(function(e){if(!$defined(a.checkedTests[e])||(a.checkedTests[e]<c)){d=true;
a.checkedTests[e]=b;
}});
return d;
},getTestData:function(){if(this.testData.assign){var a=$time();
if(this.testData.expires<a){this.requestTest(this.testData.id,this.testData.bucket);
}}return this.testData;
},readCookie:function(d){var b=new compressedCookie(this.cookieName,365);
var c=b.getCookie("id");
if((c!=null)&&(c!=0)){var f=b.getCookie("bucket");
var e=parseInt(b.getCookie("expires"));
var a=$time();
if(e<a){if(d){this.requestTest(c,f);
}}else{this.hasTest=true;
this.testData.id=c;
this.testData.bucket=f;
this.testData.expires=e;
}}},requestTest:function(d,c){var b=this.checkAssign();
if(!b){return;
}var a=this;
globalVariables.makeGatewayRequest("assignTest.json",{isAsync:false,data:{test:d,bucket:c,accountId:(globalVariables.unifiAccountInstance)?globalVariables.unifiAccountInstance.id:0},onComplete:function(e){if($defined(e)){a.setCookies(e.test,e.bucket,e.expires);
a.hasTest=true;
}}});
},setCookies:function(f,e,c,d){if(!d&&this.relevantTests&&!this.relevantTests.contains(f)){f=0;
e=0;
var b=$time();
c=b-1;
}this.testData.id=f;
this.testData.bucket=e;
this.testData.expires=c;
var a=new compressedCookie(this.cookieName,365);
a.setCookie("id",f);
a.setCookie("bucket",e);
a.setCookie("expires",c);
}});
var accountOptionalStream=new Class({Extends:OptionalStream,initialize:function(){}});
var activityMonitor=new Class({activeUserInterval:60*1000,fetchInterval:60*1000,lastAction:null,toFetchTimer:0,initialize:function(){this.lastAction=new Date();
this.toFetchTimer=this.toFetch.delay(this.fetchInterval,this);
},newActivity:function(){this.lastAction=new Date();
},resetActivityFetchTimer:function(){$clear(this.toFetchTimer);
this.toFetchTimer=this.toFetch.delay(this.fetchInterval,this);
},toFetch:function(){var a=new Date();
if((a-this.lastAction)<this.activeUserInterval){if(globalVariables.config().options.useActivityMonitor){globalVariables.unifiAccount().fetchMail();
}}this.resetActivityFetchTimer();
}});
var AnnouncementBar=new Class({container:null,comment:null,initialize:function(){this.container=$("announcement-bar");
},createAnnouncement:function(d,a,g){var b=this;
var e=g?g:"plain";
if(this.comment){this.comment.destroy();
}this.container.adopt(this.comment=new Element("p",{"class":e,html:d}).adopt(new Element("span").adopt(new Element("a",{href:"#",html:"hide",events:{click:function(h){h.stop();
b.removeAnnouncement();
}}}))));
var c=this.comment.getSize();
c=(c.x/2);
this.container.setStyle("margin-left",-c);
var f=this.removeAnnouncement.bind(this);
if(a){(function(){f();
}).delay(a);
}},removeAnnouncement:function(){var a=this.container.getElement("p");
if(a){a.destroy();
}}});
var AccountApi=new Class({requests:{addAccount:"accountAdd.json",addTwitterAccount:"authorize.json",deleteAccount:"accountDel.json",createFacebookAccount:"createFbAccount.json",listAccounts:"accountList.json",modifyAccount:"accountMod.json"},accountList:null,mode:"settings",nicknames:new Array(),initialize:function(a){if($defined(a)){this.accountList=a;
}},addAccount:function(c,e,b){var a=this;
var d=c.username;
globalVariables.makeShardRequest(this.requests.addAccount,{async:true,method:"post",onComplete:function(f){if($defined(e)){e(f);
}},onFailure:b,data:{username:d,password:c.password,primary:a.mode=="signup",accountName:this.makeNickname(d)}});
},addImapAccount:function(b,c,a){globalVariables.makeShardRequest(this.requests.addAccount,{async:true,method:"post",onSuccess:c,onFailure:a,timeout:globalVariables.requestTimeout,onTimeout:a,data:b});
},addTwitterAccount:function(){window.location.href=globalVariables.configInstance.httpUrlPath+"twitter.html";
},createFacebookAccount:function(a){globalVariables.makeShardRequest("createFbAccount.json",{isAsync:true,data:{uid:globalVariables.facebookConnectInstance.findFacebookUid(),sessionKey:FB.Facebook.apiClient.get_session().session_key},onComplete:function(d){if(d.error){if($defined(a)){a(d);
}return;
}var e;
for(var c=0,b=d.accounts.length;
c<b;
c++){if(globalVariables.externalServiceManager().isFacebook(d.accounts[c].externalServiceId)){e=d.accounts[c];
break;
}}if($defined(a)){a(e);
}}});
},deleteAccount:function(b,a){globalVariables.makeShardRequest(this.requests.deleteAccount,{async:a,data:{serviceAccountId:b},onSuccess:function(){}});
},listAccounts:function(f,c,d,e,b){var a=this;
globalVariables.makeShardRequest(this.requests.listAccounts,{isAsync:$defined(d)?d:false,onSuccess:function(g){if($defined(g.services)){globalVariables.externalServiceManager().setServices(g.services);
}f(g);
},onFailure:function(){if(b<e){a.listAccounts(f,c,d,e,b+1);
}else{window.location.href="/error.html";
}}});
},makeNickname:function(c){var a=c.indexOf("@");
var d;
if(a<-1){d=c;
}else{d=c.substring(a+1);
a=d.indexOf(".");
if(a>0){d=d.substring(0,a);
}}var b=this.nicknames[d];
if(!$defined(b)){b=0;
}b++;
this.nicknames[d]=b;
return d+b;
},modifyAccount:function(c,d,a){var b=function(e){if($defined(d)){d(e);
}};
if(c.password){$extend(c,{successCallback:b});
}globalVariables.makeShardRequest(this.requests.modifyAccount,{async:false,method:"post",onComplete:b,onFailure:a,data:c});
}});
var BitlyExpand=new Class({callback:null,shortUrl:null,timeout:5000,initialize:function(b,e){this.callback=e;
this.shortUrl=b;
var d={version:"2.0.1",shortUrl:b,login:"threadsy",apiKey:"R_ac3209b8e7377913c232aabecff48321"};
var a="http://api.bit.ly/expand";
try{new Request.JSONP({timeout:this.timeout,url:a,data:d,onSuccess:function(f){try{this.callback(f);
}catch(g){globalVariables.log.apiError("bitly","error processing expanded url",g,"url: "+this.shortUrl);
}}.bind(this),onFailure:function(){globalVariables.log.apiError("bitly","expanding url request failed",null,"url: "+this.shortUrl);
}.bind(this)}).send();
}catch(c){globalVariables.log.apiError("bitly","error expanding url",c,"url: "+this.shortUrl);
}}});
var BitlyShorten=new Class({bitlyShortenCB:null,params:null,shortURL:null,timeout:10000,url:null,initialize:function(a){this.bitlyShortenCB=a.cb;
this.url=a.url;
this.shortURL=a.shortURL;
this.params=a.params;
try{new Request.JSONP({url:"http://api.bit.ly/shorten",timeout:this.timeout,data:{version:"2.0.1",longUrl:this.url,login:"threadsy",apiKey:"R_ac3209b8e7377913c232aabecff48321"},onSuccess:this.shortenResponse.bind(this),onFailure:function(){globalVariables.log.apiError("bitly","shortening url request failed",null,"url: "+this.url);
}.bind(this)}).send();
}catch(b){globalVariables.log.apiError("bitly","error shortening url",b,"url: "+this.url);
}},shortenResponse:function(b){var a=this;
try{if(b.statusCode=="OK"){a.bitlyShortenCB(b.results,a.shortURL,a.params);
}else{globalVariables.log.apiError("bitly","bitly returned error "+b.errorMessage,null,"url: "+this.url);
}}catch(c){globalVariables.log.apiError("bitly","error processing shortened url",c,"url: "+this.url);
}}});
var FacebookApi=new Class({config:{apiKey:null,channelPath:null},connectionStatus:{currentlyConnected:false,everConnected:false,initialized:false},statusLimit:50,initialize:function(b,a){this.config.apiKey=b;
this.config.channelPath=a;
},addComment:function(d,f,e,b){var a=globalVariables.unifiAccountInstance.getFacebookAccount();
try{globalVariables.makeShardRequest("fbComment.json",{async:false,data:{sessionKey:a.options.authKey1,postId:d,comment:f,uid:a.options.uid},onSuccess:function(g){e(g);
},onFailure:function(){b();
}});
}catch(c){globalVariables.log.apiError("facebook","error adding comment",c,"postId: "+d);
b();
}},findFacebookUid:function(){try{return($defined(FB.Facebook))?FB.Facebook.apiClient.get_session().uid:globalVariables.unifiAccountInstance.getFacebookAccount().options.uid;
}catch(a){globalVariables.log.apiError("facebook","error getting uid",a,"");
return 0;
}},getPhotos:function(b,d){var a=globalVariables.unifiAccountInstance.getFacebookAccount();
try{globalVariables.makeShardRequest("fbPhotos.json",{async:true,data:{sessionKey:a.options.authKey1,uid:b},onComplete:function(e){if(e&&e.photos){d(e.photos);
}else{d(null);
}}});
}catch(c){globalVariables.log.apiError("facebook","error retrieving photos",c,"uid: "+b);
d(null);
}},getProfileInfo:function(h,e){var d=globalVariables.unifiAccountInstance;
var c=d.contactManager;
var b=d.getFacebookAccount();
var a;
var f=false;
try{globalVariables.makeShardRequest("fbContactInfo.json",{async:true,timeout:10000,data:{sessionKey:b.options.authKey1,uid:h},onComplete:function(l){var j;
try{if(l&&l.profiles&&l.profiles.length){j=l.profiles[0];
j.uid=h;
a=c.addFacebookFriend(j,b);
if(e){e.notifyFacebookContactAdded(a);
}f=true;
}}catch(k){globalVariables.log.apiError("facebook","error adding contact",k,"profileId: "+h+" profile: "+j);
}}});
}catch(g){globalVariables.log.apiError("facebook","error adding contact",g,"profileId: "+h);
}if(!f){a=c.addPrivateFacebookContact(h);
if(e){e.notifyFacebookContactAdded(a);
}}},handleError:function(d,e,c,a){if(c||(e&&e.error_code)){var b=(c)?c.message:e.error_code;
if(b=="Invalid session state"||b=="Session key invalid or no longer valid"){globalVariables.log.warn(d+" "+b);
}else{globalVariables.log.apiError("facebook",d,err,"");
}if(a){this.callbacks.notConnected=FB.Connect.requireSession;
FB.Connect.forceSessionRefresh();
}return true;
}return false;
},requestComments:function(d,f,c,g,b){var a=globalVariables.unifiAccountInstance.getFacebookAccount();
try{globalVariables.makeShardRequest("fbComments.json",{async:true,data:{sessionKey:a.options.authKey1,postId:f,noteId:c},onComplete:function(h){g(h,d,b);
}});
}catch(e){globalVariables.log.apiError("facebook","error retrieving comments",e,"postId: "+f+" noteId: "+c);
g(null);
}},requestStream:function(e,d,c,g,b){if(!$defined(g)||(g==null)){return;
}var a=globalVariables.unifiAccountInstance.getFacebookAccount();
try{globalVariables.makeShardRequest("fbStream.json",{async:true,timeout:60000,data:{sessionKey:a.options.authKey1,uid:a.options.uid,contactUid:e,start:d,limit:c},onComplete:function(h){g(h,null,b);
}});
}catch(f){globalVariables.log.apiError("facebook","error retrieving stream",f,"contactUid: "+e);
g(null);
}},requirePermission:function(b,c){var a=this;
FB.Facebook.apiClient.users_hasAppPermission(b,function(e,d){if(!a.handleError("requirePermission1"+e,d,false)){if(""+e!="1"){FB.Connect.showPermissionDialog(b,function(f,g){if(!a.handleError("requirePermission2",f,g,false)){if(c){c(f);
}}});
}else{if(c){c(b);
}}}});
},setLikes:function(e,b,f,c){var a=globalVariables.unifiAccountInstance.getFacebookAccount();
try{globalVariables.makeShardRequest("fbLikes.json",{async:true,data:{sessionKey:a.options.authKey1,postId:e,likes:b,uid:a.options.uid},onSuccess:function(g){f(g);
},onFailure:function(){c();
}});
}catch(d){globalVariables.log.apiError("facebook","error setting likes",d,"postId: "+e);
c();
}},updateStatus:function(d,e,b){var a=globalVariables.unifiAccountInstance.getFacebookAccount();
try{globalVariables.makeShardRequest("fbSetStatus.json",{async:true,method:"post",data:{sessionKey:a.options.authKey1,status:d},onComplete:function(f){if(e){e(f,b,null);
}}});
}catch(c){globalVariables.log.apiError("facebook","error setting status",c,"serviceAccountId: "+a.options.id);
e(null);
}}});
var FlickrApi=new Class({flickrQueue:null,initialize:function(){this.flickrQueue=globalVariables.flickrQueue();
},buildPhotoUrl:function(a){return"http://api.flickr.com/services/rest/?method=flickr.people.getPublicPhotos&api_key=5f9d577c6d4eb7a341756ca60bca0155&user_id="+a+"&per_page=30&page=1&format=json";
},buildUserUrl:function(a){"http://api.flickr.com/services/rest/?method=flickr.people.findByUsername&api_key=5f9d577c6d4eb7a341756ca60bca0155&username="+a+"&format=json";
},fetchPhotos:function(b,c){var a=this.buildPhotoUrl(b);
this.flickrQueue.makeRequest({url:a,callback:c,method:"jsonp"});
},getFlickrUser:function(b,c){var a=this.buildUserUrl(b);
this.flickrQueue.makeRequest({url:a,callback:c,method:"jsonp"});
},getPhotos:function(b,d){var a=this;
try{if(!b.test("@")){this.getFlickrUser(b,function(e){if(e&&e.user){a.fetchPhotos(e.user.nsid,d);
}else{d(null);
}});
}else{this.fetchPhotos(b,d);
}}catch(c){globalVariables.log.apiError("flickr","error fetching photos",c,"flickrId: "+b);
}},handleResponseFromIframe:function(c){var a;
var b=globalVariables.flickrApi();
if(c&&(c.stat=="ok")){if(c.user){a=b.buildUserUrl(c.user.username._content);
b.flickrQueue.handleResponse(a,c);
}else{if(c.photos&&(c.photos.photo.length>0)){a=b.buildPhotoUrl(c.photos.photo[0].owner);
b.flickrQueue.handleResponse(a,c);
}}}}});
var MessageApi=new Class({initialize:function(){},getUnreadCounts:function(b,a,f){var d=null;
var e;
var c=1;
while((d==null)&&(c<=f)){e=globalVariables.makeShardRequest("counts.json",{data:{folderId:b},isAsync:false});
d=($defined(e.response.json)&&$defined(e.response.json.counts))?e.response.json.counts:null;
c++;
}a(d);
},doMarkRead:function(b,d,a,c){globalVariables.makeShardRequest("markRead.json",{isAsync:true,data:{messageIds:b,readFlag:d,fromFolder:a,fromServiceAccountTagId:c}});
},doMarkStarred:function(b,d,a,c){globalVariables.makeShardRequest("markStarred.json",{isAsync:true,data:{starredFlag:d,messageIds:b,fromFolder:a,fromServiceAccountTagId:c}});
},doMarkDeleted:function(b,a,c){globalVariables.makeShardRequest("markDeleted.json",{isAsync:true,data:{messageIds:b,fromFolder:a,fromServiceAccountTagId:c}});
},doMarkDeletedForever:function(b,a,c){globalVariables.makeShardRequest("markDeletedForever.json",{isAsync:true,data:{messageIds:b,fromFolder:a,fromServiceAccountTagId:c}});
},markRead:function(b,c,d){var a=b.getTag(c.options.serviceAccountId);
this.doMarkRead(c.options.id,d,(a)?a.name:null,(a)?a.id:0);
},markStarred:function(b,c,d){var a=b.getTag(c.options.serviceAccountId);
this.doMarkStarred(c.options.id,d,(a)?a.name:null,(a)?a.id:0);
}});
var TwitterApi=new Class({options:{tweetCount:40,minTimeBetweenTweets:5000,maxTimeBetweenTweets:70000},callback:null,timeout:5000,twitterQueue:null,initialize:function(){this.twitterQueue=globalVariables.twitterQueue();
},addTwitterCredentials:function(f,c,e,g,b){var a=globalVariables.unifiAccountInstance.getAccount(f);
if($defined(a)){if(a.options.authKey1){$extend(g,{suppress_response_codes:"1"});
c="http://"+c;
return{url:c,callback:e,timeout:b?b:this.timeout,method:"oauth",oauthData:{consumerKey:globalVariables.configInstance.oauth.consumerKey,consumerSecret:globalVariables.configInstance.oauth.consumerSecret,authKey:a.options.authKey1,authSecret:a.options.password,signatureMethod:globalVariables.configInstance.oauth.signatureMethod},params:g};
}else{if(Browser.Engine.trident){c=this.addParams("http://"+c,g);
return{url:c,callback:e,method:"jsonp",timeout:b?b:this.timeout};
}else{var d=a.urlEncodedUsername+":"+a.urlEncodedPassword+"@";
c=this.addParams("http://"+d+c,g);
return{url:c,callback:e,method:"jsonp",timeout:b?b:this.timeout};
}}}else{c=this.addParams("http://"+c,g);
return{url:c,callback:e,method:"jsonp",timeout:b?b:this.timeout};
}},addParams:function(a,c){var d=(a.indexOf("?")>0)?"&":"?";
for(var b in c){a=a+d+b+"="+c[b];
d="&";
}a+=d+"suppress_response_codes=1";
return a;
},createSavedSearch:function(a,c,b){globalVariables.makeShardRequest("createTwitterSearch.json",{isAsync:true,timeout:this.timeout,data:{serviceAccountId:c,query:a},onComplete:b});
},destroySavedSearch:function(b,a){globalVariables.makeShardRequest("destroyTwitterSearch.json",{isAsync:true,timeout:this.timeout,data:{serviceAccountId:a,searchId:b}});
},getFriendsIds:function(c,a,d){var b=a.createFriendsIds.bind(a);
this.twitterQueue.makeRequest(this.addTwitterCredentials(d,"twitter.com/friends/ids.json",b,c));
},getFriendsStatuses:function(c,a,d){var b=a.createFriends.bind(a);
this.twitterQueue.makeRequest(this.addTwitterCredentials(d,"twitter.com/statuses/friends.json",b,c));
},getRetweetedToMe:function(b,a,c){this.twitterQueue.makeRequest(this.addTwitterCredentials(c,"api.twitter.com/1/statuses/retweeted_to_me.json",a,b));
},getRetweetedByMe:function(b,a,c){this.twitterQueue.makeRequest(this.addTwitterCredentials(c,"api.twitter.com/1/statuses/retweeted_by_me.json",a,b));
},getFriendsTimeline:function(b,a,c){this.twitterQueue.makeRequest(this.addTwitterCredentials(c,"twitter.com/statuses/friends_timeline.json",a,b));
},getSavedSearches:function(a,b){this.twitterQueue.makeRequest(this.addTwitterCredentials(b,"twitter.com/saved_searches.json",a,{}));
},getTuneInTimeline:function(d,b,e){var a=globalVariables.unifiAccountInstance.getAccount(e);
var c=b.createTuneInMessages.bind(b);
var f="?n="+d.count;
if(d.since_id){f=f+"&since_id="+d.since_id;
}this.twitterQueue.makeRequest({timeout:this.timeout,url:"http://tunein.com/people/"+a.options.replyTo+"/timeline.json"+f,callback:c,method:"jsonp"});
},getUserInfo:function(d,c,a){var b=a.handleResponse.bind(a);
this.twitterQueue.makeRequest(this.addTwitterCredentials(d,"twitter.com/users/show.json",b,c));
},getUserTimeline:function(c,a,d){var b=a.createMessages.bind(a);
this.twitterQueue.makeRequest(this.addTwitterCredentials(d,"twitter.com/statuses/user_timeline.json",b,c));
},reTweet:function(b,d,a){var c=globalVariables.makeShardRequest("retweet.json",{timeout:this.timeout,data:{serviceAccountId:b,statusId:d},onComplete:a,isAsync:false});
},searchTwitter:function(b,a){this.twitterQueue.makeRequest(this.addTwitterCredentials(null,"search.twitter.com/search.json",a,b));
},statusAction:function(f,g,a){try{var b;
switch(a){case"favoriteCreate":b="twitterFavoritesCreate.json";
break;
case"favoriteDestroy":b="twitterFavoritesDestroy.json";
break;
case"statusDestroy":b="twitterStatusesDestroy.json";
break;
}var d=globalVariables.makeShardRequest(b,{data:{serviceAccountId:f,statusId:g},isAsync:false});
var e=1;
if(d.status!=200){globalVariables.log.error("failed on twitter "+a+" statusUpdate: json failure - "+d.status);
}else{if(($defined(d.response.json.error))&&(a=="statusDestroy")&&(d.response.json.error==400)){e=0;
}else{if($defined(d.response.json.error)){e=d.response.json.error;
globalVariables.log.apiError("twitter","api error in status action "+a,null,"message: "+e);
}else{e=0;
}}}}catch(c){globalVariables.log.apiError("twitter","error in status action "+a,c,"serviceAccountId: "+f);
}return e;
},statusUpdate:function(e,f,a){try{var c=globalVariables.makeShardRequest("twitterStatusesUpdate.json",{data:{serviceAccountId:e,status:f,inReplyToStatusId:a},isAsync:false});
var d=1;
if(c.status!=200){globalVariables.log.error("failed on twitter statusUpdate: json failure - "+c.status);
}else{if($defined(c.response.json.error)){d=c.response.json.error;
globalVariables.log.apiError("twitter","api error in status update",null,"message: "+d);
}else{d=0;
}}return d;
}catch(b){globalVariables.log.apiError("twitter","error in status update "+action,b,"serviceAccountId: "+e);
}}});
var AvatarDisplay=new Class({Implements:[Events],accountId:0,avatarType:"",contact:null,facePic:false,facePics:null,favIcon:null,favIconHtml:"",element:null,imageClass:null,imageElement:null,isContact:false,isFacebook:false,isTwitter:false,options:{addDivClass:false,addEvent:false,divClass:null},smallPicUrl:null,largePicUrl:null,serviceId:0,initialize:function(a,d,c){this.contact=a,this.data=d,this.facePics=d.facePics;
this.favIcon=d.favIcon;
this.isContact=d.fromId>0;
this.serviceId=d.externalServiceId;
this.accountId=d.serviceAccountId;
this.options=c;
var b=globalVariables.externalServiceManager();
this.isFacebook=b.isFacebook(d.externalServiceId);
this.isTwitter=b.isTwitter(d.externalServiceId);
a.addChangeListener(this);
},changeContact:function(a){this.contact=a;
this.contactModified();
},contactModified:function(){if(this.element){this.createElement(null);
}},createElement:function(b){if(globalVariables.noFacePics){return;
}var c=this.computePicUrls();
var a=this.options.divClass;
if(!a&&this.options.addDivClass){a="unifi_messageAvatar "+this.avatarType+" "+globalVariables.siteColor;
}if(!this.element){this.element=new Element("div",{"class":a});
}if(c){if(this.smallPicUrl){if(a&&!this.element.hasClass(a)){this.element.set({"class":a});
}if(this.imageElement){this.imageElement.set({src:this.smallPicUrl,"class":this.imageClass});
}else{this.imageElement=new Element("img",{src:this.smallPicUrl,"class":this.imageClass});
this.element.adopt(this.imageElement);
if(this.options.addEvent){this.imageElement.addEvents({click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:this.contact,displayName:b}});
}.bind(this)});
}}}this.fireEvent("avatarModified");
}return c;
},computePicUrls:function(){var b;
var a;
this.avatarType="unifi_avaContactwfp";
this.imageClass="unifi_yesFacePicContact";
if(this.serviceId==8){b=this.contact.getTwitterInfo(this.data.replyToString);
}else{if(this.serviceId==5){b=this.contact.getFacebookInfo(this.data.fromAddress);
}}if(!b){b=this.contact.getInfoRecord(this.serviceId,this.accountId);
}if(this.isTwitter&&this.favIcon){a=this.favIcon;
}else{if(b){a=b.smallPicUrl;
}}if(!a){a=this.contact.getSmallPicUrl(this.serviceId,this.accountId,this.data.fromAddress,this.data.replyToString);
}if(!a){if(this.contact&&this.isTwitter){a="http://static.twitter.com/images/default_profile_normal.png";
}else{if(this.favIcon){if(!this.isFacebook){this.imageClass="unifi_noFacePicContact";
this.avatarType="unifi_avaOtherwfp";
}a=this.favIcon;
}else{this.imageClass=null;
this.avatarType=null;
}}}if(this.smallPicUrl!=a){this.smallPicUrl=a;
return true;
}return false;
},doDestroy:function(){this.contact.removeChangeListener(this);
this.removeEvents("avatarModified");
}});
AvatarDisplay.implement(new Events());
var compose=new Class({Implements:[Options,Events],timeStamp_init:0,timeStamp_open:0,timeStamp_loaded:0,to_textarea:null,subject_textarea:null,send_button:null,cancel_button:null,draft:false,message_textarea:null,attachButton:null,attachButtonHidden:null,attachCount:0,attachContain:null,attachmentIds:null,attachLoader:null,attachSliden:false,callingObject:null,composeSignature:null,disableSuggestBlur:false,dom:[],draftBody:null,draftMessageId:0,draftSaved:false,dropSuggest:null,dropSuggesti:-1,editor:null,externalServiceManager:null,hasFacebook:false,howManyFrom:0,isAttaching:false,isEmail:false,isFacebook:false,isOpen:false,isTwitter:false,maxSuggestions:10,myElement:null,myElementSlide:null,needAttachButton:false,needSendButton:false,okToLeave:false,parentDisplay:null,prevSuggest:null,prevWindowPosition:0,recipCount:0,replyTypes:["co","re","ra","fwd","dr"],richEdit:null,richEditInstance:null,richEditMaxHeight:180,richEditPseudoInstance:null,sendErrorArray:["","","","","","Sorry, couldn't send your message, illegal attachment.","Sorry, couldn't send your message, attachment too big (720 mb).","Sorry, couldn't send your message, attachment has virus.","Sorry, couldn't send your message, update your username/password in settings.","Sorry, couldn't send your message, network connection error.","Sorry, couldn't send your message, an unexpected error occurred.  please try again later.","Sorry, couldn't send your message, you have an invalid to address.","Sorry, couldn't send your message, please log in at yahoo.com to fix.","Sorry, couldn't send your message, please log in at aol.com to fix."],swiffy:null,staticServer:globalVariables.configInstance.staticServer,totalAttachments:0,options:{myType:"co",whereInject:"unifi_messageContain",fromAddress:null,serviceId:null,serviceAccountId:null,toEmails:null,toAllEmails:null,subject:null,stopBubble:false,toName:null,replyBody:"",replySlug:"",quickBody:"",attachments:[],initiatedFrom:null},initialize:function(g,h){this.timeStamp_init=$time();
var a=this;
this.callingObject=h;
this.options=g||this.options;
if(this.callingObject&&this.callingObject.element&&this.callingObject.element.hasClass("unifi_Opened")){this.callingObject.element.addClass("composeMode");
}if(this.callingObject&&this.callingObject.folder&&this.callingObject.folder.options&&(this.callingObject.folder.options.folderType=="draft")){this.draft=true;
this.draftSaved=true;
}this.uid=Math.floor(Math.random()*10000);
var f=[];
if(this.options&&this.options.attachments){var j,b;
for(var e=0,c=this.options.attachments.length;
e<c;
e++){j=this.options.attachments[e];
b=j.attId||j.id;
f.push(b);
}}this.messageLib={to_text:"type to add...",to_add_more_text:"start typing to add another..."};
this.externalServiceManager=globalVariables.externalServiceManager();
this.isFacebook=this.externalServiceManager.isFacebook(this.options.serviceId);
this.isEmail=this.externalServiceManager.isEmail(this.options.serviceId);
this.isTwitter=this.externalServiceManager.isTwitter(this.options.serviceId);
this.hasFacebook=globalVariables.unifiAccountInstance.hasFacebook;
this.createElement();
if(!this.draft){globalVariables.makeShardRequest("draft.json",{data:{attachmentIds:f},isAsync:true,onComplete:function(k){if($defined(k)){a.setDraftMessageId(k);
}}});
}else{var d={draftMessageId:this.callingObject.message.messageId,attachmentIds:f};
this.setDraftMessageId(d);
}},addAttachButton:function(){var a=this;
if(!this.draftMessageId){this.needAttachButton=true;
return;
}else{this.needAttachButton=false;
}this.attachButtonHidden=new Element("div",{id:"attachButtonHidden"+a.draftMessageId,"class":"attachButtonHidden"});
this.attachButton=new Element("div",{"class":"unifi_addAttachmentButton"}).adopt(new Element("img",{src:this.staticServer+"images/icons/attachIcons/plus.png"}),new Element("span",{html:"attach files"}),a.attachButtonHidden);
this.attachButton.inject(this.richEditPseudoInstance.getParent(),"top");
var c=new Element("div",{"class":"demo-status"}).adopt(new Element("div",{"class":"unifi_attachmentScroller"}).adopt(new Element("div",{"class":"unifi_attachHide",html:'<strong class="overall-title">Overall progress</strong><br /><img src="" class="progress overall-progress" /><strong class="current-title">File Progress</strong><br /><img src="" class="progress current-progress" />'}).adopt(new Element("div",{"class":"current-text"}))));
var b=new Element("ul",{"class":"demo-list unifi_attachInnerContain"});
if(!this.attachContain){this.createAttachContainer();
}this.attachContain.adopt(c,b);
this.swiffy=new FancyUpload2(c,b,{container:a.attachButtonHidden,url:globalVariables.configInstance.messageServer+"upload.json?messageId="+a.draftMessageId,fieldName:"upload",path:"swf/Swiff.Uploader.swf",limitSize:20*1024*1024,composeContainer:this.myElement,onLoad:function(){var d=((a.options.myType=="fwd"||a.options.myType=="dr")&&a.options.attachments.length&&(a.draftMessageId>0))?true:false;
if(!this.isOpen){if(d){a.slideInAttachments();
}this.isOpen=true;
}},onSelect:function(){var e=0;
for(var f=0,d=this.fileList.length;
f<d;
f++){if(this.fileList[f].response){e++;
}}if(e!=this.fileList.length){a.isAttaching=true;
globalVariables.announcementBar().createAnnouncement("adding an attachment...");
}if(!this.isAttached){a.slideAttachment();
this.isAttached=true;
}a.isAttaching=true;
this.upload();
if(a.options.attachments>=50){alert("sorry, 50 attachments maximum.");
}},onFileSuccess:function(){var e=0;
for(var f=0,d=this.fileList.length;
f<d;
f++){if(this.fileList[f].response){e++;
}}if(e==this.fileList.length){a.isAttaching=false;
globalVariables.announcementBar().createAnnouncement("successfully attached",null,"success");
}a.options.attachments=this.fileList;
a.draftMessageId=this.msgId;
},onError:function(d){globalVariables.log.error("failed to attach a file");
if(!a.totalAttachments){a.isAttaching=false;
globalVariables.announcementBar().createAnnouncement("error adding 1 or more attachments...",null,"error");
}},onFileRemove:function(){a.options.attachments=this.fileList;
},debug:false,target:"attachButtonHidden"+a.draftMessageId,limitFiles:50});
this.fireEvent("attachButtonCreated");
},addComposeEvents:function(){var a=this;
if(!(Browser.Platform.win&&Browser.Engine.webkit)){window.onbeforeunload=function(){return"Your message has not been sent.";
};
}window.onbeforeunload=function(){if(a.okToLeave){return;
}var f="Your message has not been sent.";
if(window.event){window.event.returnValue=f;
}else{return f;
}a.okToLeave=false;
};
if(!this.isFacebook){this.addAttachButton();
}if(this.options.myType=="co"){this.richEdit="message0";
unifi_richTextBlock=this.myElement.getElement(".unifi_richTextBlock");
unifi_richTextBlock.setStyle("display","block");
this.richEditPseudoInstance=new Element("div",{"class":"threadsy_pseudoRichText"}).adopt(new Element("div",{"class":"threadsy_engageRichText",html:"Rich formatting &raquo;",events:{click:function(){a.addRichText(350,true);
}}})).inject(unifi_richTextBlock,"before");
}else{var c=30;
var b=parseInt(this.richEditMaxHeight,10)+parseInt(c,10);
this.myElement.getElement(".unifi_composeContentContain").setStyle("height",b-25);
unifi_richTextBlock=this.myElement.getElement(".unifi_richTextBlock");
this.richEdit="reply"+this.options.whereInject.get("id").replace(/\D*/,"");
var e="";
if(this.options.quickBody&&this.options.quickBody!=""){e=this.options.quickBody;
}if(this.options.replyBody!=""){var d=globalVariables.textHelpersInstance.removeExternalCSS(this.options.replyBody);
e=e+'<br/><br/><div class="reply-divider"></div><div class="reply-text"><strong>'+this.options.replySlug+"</strong><br/>"+d+"</div>";
}unifi_richTextBlock.setStyles({display:"block"});
this.richEditPseudoInstance=new Element("div",{"class":"threadsy_pseudoRichText"}).adopt(new Element("div",{"class":"threadsy_engageRichText",html:"Rich formatting &raquo;",events:{click:function(){a.addRichText(this.richEditMaxHeight-25);
}}})).inject(unifi_richTextBlock,"before");
}this.addEvent("attachButtonCreated",function(){a.addRichText(this.richEditMaxHeight-25,false,e);
});
this.enableSendButtons();
},addFromKeys:function(b,c){this.disableSuggestBlur=false;
var n=this;
var h;
var j=globalVariables.unifiAccount();
if(this.recipCount>=20&&this.isFacebook){return;
}if(b=="unknown"){var u="";
var o="";
if(c.value){o=c.value;
u=c.value.replace(/[\,;\\\n]/,"");
}var s=globalVariables.unifiAccount().contactManager.createTempContact("",u,globalVariables.externalServiceManagerInstance,globalVariables.unifiAccountInstance.primaryAddress.options.externalServiceId,globalVariables.unifiAccountInstance.primaryAddress.options.id,null,null);
if((!this.recipCount)&&(this.myElement.getElement(".fromElementReplace").getElement(".unifi_myid").value=="0")){var k=globalVariables.unifiAccountInstance.primaryAddress.options.id;
this.myElement.getElement(".unifi_fromDropOptions").getElements(".unifi_fromDropOption").each(function(v){if(v.getElement(".unifi_myid").value==k){n.changeFrom(v);
}});
}u=n.truncateToOptionText(u);
h=new Element("div",{"class":"unifi_toAdd",html:'<div class="unifi_toSuggestOptionImageContain"><img class="unifi_CCDefaultFacePic unifi_toSuggestOptionImage" src="'+this.staticServer+'images/noPicFireball.png" /></div><div class="unifi_toRemove '+globalVariables.siteColor+'"></div><input class="unifi_addedEmail" type="hidden" value=\''+o+'\' /><div class="unifi_topSuggestOptionNameDisplay"><br/></div><span class="unifi_toSuggestOptionsEmailGrey">'+u+"</span>",events:{mouseover:function(){h.getElement(".unifi_toRemove").setStyle("visibility","visible");
},mouseleave:function(){h.getElement(".unifi_toRemove").setStyle("visibility","hidden");
},click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:s,displayName:o}});
return false;
}}});
h.inject(this.myElement.getElement(".unifi_toObjContain"),"top");
this.recipCount=this.recipCount+1;
h.getElement(".unifi_toRemove").addEvent("click",function(v){v.stopPropagation();
h.destroy();
n.recipCount=n.recipCount-1;
});
}else{if(this.dropSuggest){var d=this.dropSuggest.getElements(".unifi_toSuggestOption")[b];
if(d){var t=d.getElement(".unifi_toSuggestOptionType").value;
var f;
var g;
var r;
var q;
var p;
var l;
var a;
var e=d.getElement("img");
if(e){e='<img src="'+e.src+'" class="unifi_toSuggestOptionImage"/>';
}else{e=this.staticServer+"images/defaultFacePic-"+globalVariables.siteColor+".png";
}a=d.getElement(".unifi_toSuggestOptionContactId").value;
if(!this.externalServiceManager.isFacebook(t)){if((!this.recipCount)&&(this.myElement.getElement(".fromElementReplace").getElement(".unifi_myid").value=="0")){var k=globalVariables.unifiAccountInstance.primaryAddress.options.id;
this.myElement.getElement(".unifi_fromDropOptions").getElements(".unifi_fromDropOption").each(function(v){if(v.getElement(".unifi_myid").value==k){n.changeFrom(v);
}});
}g=d.getElement(".unifi_toSuggestOptionEmail").value;
r=n.truncateToOptionText(g);
f=j.contactManager.contactsByContactId[a].getDisplayName(0,0);
if(!f||(f==r)){f="";
}h=new Element("div",{"class":"unifi_toAdd",html:'<div class="unifi_toSuggestOptionImageContain">'+e+'</div><div class="unifi_toRemove '+globalVariables.siteColor+'"></div><div class="unifi_topSuggestOptionNameDisplay">'+f+'<br/></div><span class="unifi_toSuggestOptionsEmailGrey">'+r+'</span><input type="hidden" value="'+a+'" class="unifi_addedContactId" /><input type="hidden" value=\''+g+'\' class="unifi_addedEmail" />',events:{mouseover:function(){h.getElement(".unifi_toRemove").setStyle("visibility","visible");
},mouseleave:function(){h.getElement(".unifi_toRemove").setStyle("visibility","hidden");
},click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:a,displayName:f}});
return false;
}}});
}else{l=d.getElement(".unifi_toSuggestOptionUid").value;
q=d.getElement(".unifi_toSuggestOptionName").value;
p=n.truncateToOptionText(q);
h=new Element("div",{"class":"unifi_toAdd",html:'<div class="unifi_toSuggestOptionImageContain">'+e+'</div><div class="unifi_toRemove '+globalVariables.siteColor+'"></div>'+p+'<input type="hidden" value="'+l+'" class="unifi_AddedUid" /><input type="hidden" value="'+q+'" class="unifi_addedName" />',events:{mouseover:function(){h.getElement(".unifi_toRemove").setStyle("visibility","visible");
},mouseleave:function(){h.getElement(".unifi_toRemove").setStyle("visibility","hidden");
},click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:a,displayName:q}});
return false;
}}});
this.facebookCompose(l);
}h.inject(this.myElement.getElement(".unifi_toObjContain"),"top");
this.recipCount=this.recipCount+1;
h.getElement(".unifi_toRemove").addEvent("click",function(v){v.stopPropagation();
h.destroy();
n.recipCount=n.recipCount-1;
});
}}}var m=this.to_textarea;
m.focus();
this.setToTextPrompt(m);
if(this.dropSuggest){this.dropSuggest.destroy();
}},addRichText:function(h,f,j){var a=this;
var b=$(this.richEdit).value;
if(f){$(this.richEdit).value=b.replace(/\n/gm,"<br/>");
}else{$(this.richEdit).value=b;
}if(this.options.myType!="co"){$(a.richEdit).setStyle("height",h-10);
}this.richEditInstance=new nicEditor({maxHeight:h,buttonList:["fontFamily","fontSize","bold","italic","underline","forecolor"],iconsPath:this.staticServer+"images/nicEditorIcons.png"}).panelInstance(a.richEdit);
var g=this.richEditInstance.instanceById(this.richEdit);
if(j){g.setContent(j);
var c=new ImagePixel().addEvent("complete",function(){a.timeStamp_load=$time();
});
$(g.elm).grab(c.image,"bottom");
c.setSrc();
}if(this.options.myType!="co"&&this.options.myType!="fwd"){this.setFocusToEditor();
}this.richEditPseudoInstance.setStyle("display","none");
var d=new Element("div",{html:"&laquo; plain text","class":"threadsy_plainTextButton",events:{click:function(){a.removeRichText();
}}});
var e=this.myElement.getElement(".nicEdit-panelContain");
e.setStyle("width","auto");
d.inject(e.getElement(".nicEdit-panel"),"bottom");
if(!this.attachContain){this.createAttachContainer();
}this.attachContain.inject(e,"after");
if(!Browser.Engine.trident){g.elm.setProperty("tabindex",0);
}},createAttachContainer:function(){this.attachContain=new Element("div",{"class":"unifi_attachmentContainer"});
var a=this.myElement.getElement(".unifi_richTextBlock");
this.attachContain.inject(a,"before");
},resizeEditor:function(){this.editor.resize("",this.getEditorHeight());
},getEditorHeight:function(){return(this.richEditMaxHeight.toInt()-35);
},removeRichText:function(){var a=this;
this.richEditInstance.removeInstance(a.richEdit);
this.richEditInstance=null;
var c=this.myElement.getElementById(a.richEdit);
var b=a.myElement.getElementById(a.richEdit);
b.value=c.value.replace(/<(?!br)[^>]*>/ig,"");
b.value=c.value.replace(/<[^>]*>/ig,"\n");
this.richEditPseudoInstance.inject(this.myElement.getElement(".unifi_composeContentContain"),"top");
this.richEditPseudoInstance.setStyle("display","block");
if(this.attachSliden){this.shrinkTextArea();
this.attachContain.inject(this.richEditPseudoInstance,"after");
}else{this.attachContain.inject(this.richEditPseudoInstance,"after");
}},calcNewAddresses:function(e,f,c,a,d){var b=0;
if(c||f){b=e.emails.length;
}if((a||f)&&(!d)){if(e.isFacebookFriend){b+=1;
}}return b;
},clearTempDraft:function(){if(!this.draftSaved){globalVariables.unifiAccountInstance.folders.draft.removeMessageAndDisplay(this.draftMessageId,true);
globalVariables.makeShardRequest("cancelDraft.json",{isAsync:true,data:{messageId:this.draftMessageId}});
}},closeCompose:function(){var a=this;
if(this.options.initiatedFrom=="quick_reply"){if(this.callingObject){this.callingObject.killQuickReply();
}}else{if(this.options.myType=="co"){globalVariables.composeOpen=false;
}a.myElement.getParent().setStyle("position","absolute").addClass("ty_h_cloak");
(function(){a.myElement.getParent().destroy();
}).delay(100);
}if(this.draft){this.callingObject.closeMessage();
}else{this.clearTempDraft();
}if(this.callingObject){this.callingObject.element.removeClass("composeMode");
}this.removeComposeEvents();
},changeFrom:function(l){var f=this.externalServiceManager;
var a=parseInt(l.getElement(".unifi_externalServiceId").value,10);
var e=f.isEmail(a);
var j=parseInt(this.myElement.getElement(".fromElementReplace").getElement(".unifi_externalServiceId").value,10);
var c=f.isEmail(j);
if((e!=c)&&(this.recipCount>0)){if(confirm("you are changing your account type. all recipients will be cleared.")){var b=this;
this.myElement.getElements(".unifi_toAdd").each(function(n){n.destroy();
b.recipCount=b.recipCount-1;
});
}else{this.myElement.getElement(".unifi_fromDropOptions").setStyle("visibility","hidden");
return;
}}if(this.options.myType!="co"){if(f.isFacebook(a)){this.dom.reply_tab_container.addClass("facebook");
}else{this.dom.reply_tab_container.removeClass("facebook");
}}if((a!=this.options.serviceId)&&this.attachButton){var m=f.isFacebook(a);
if(m&&this.richEditInstance){this.removeRichText();
this.attachButton.setStyle("display","none");
this.clearAttachments();
this.facebookCompose("");
}else{if(m&&!this.richEditInstance){this.attachButton.setStyle("display","none");
this.clearAttachments();
this.facebookCompose("");
}else{if(!m&&!this.richEditInstance){this.attachButton.setStyle("display","block");
}}}}this.setOptionsAttribute("serviceId",a);
var h=l.get("html");
var k=this.myElement.getElement(".fromElementReplace");
var g=k.get("html");
if(!j){l.destroy();
}else{l.set("html",g);
}k.set("html",h);
var d=this.myElement.getElement(".unifi_fromDropOptions");
d.setStyle("visibility","hidden");
},clearAttachments:function(){this.closeAttach();
},closeAttach:function(){this.attachSliden=false;
this.attachContain.setStyle("display","none");
this.growTextArea();
},createElement:function(){var a=this;
if(this.options.myType=="co"&&globalVariables.composeOpen){return;
}this.richEdit=this.options.myType=="co"?"message0":"reply"+this.options.whereInject.get("id").replace(/\D*/,"");
this.parentDisplay=globalVariables.unifiAccount().activeFolder.display;
var c=this.parentDisplay.container();
var g=this.options.myType=="co"?c:this.options.whereInject;
var f=this.options.myType=="co"?"top":"bottom";
var e=new ImagePixel().addEvent("complete",function(){a.timeStamp_open=$time();
});
this.myElement=new Element("div",{"class":"unifi_composeContain",id:"compose_"+this.uid,events:{click:function(l){l.stop();
}}}).adopt(new Element("div",{"class":"unifi_roundedMM"}),new Element("div",{"class":"unifi_composeColumnContain"}).adopt(this.createToElement()),this.createFromElement(),this.createSubjectElement(),this.createMainContentElement(),this.createFootElement(),e.image).inject(g,f);
e.setSrc();
if(this.options.myType=="co"){var h=new Fx.Scroll(c).toTop();
globalVariables.composeOpen=true;
}else{var j=(this.options.whereInject.getCoordinates().top-this.myElement.getCoordinates().top);
var k=(this.myElement.getStyle("border-top").toInt()+this.myElement.getStyle("border-bottom").toInt());
var b=(Math.abs(j)-k)+"px";
if(this.options.initiatedFrom!="quick_reply"){this.myElement.setStyles({"margin-top":j,height:b});
var d=29;
this.richEditMaxHeight=b.toInt()-(this.myElement.getElement(".unifi_composeSubject").getCoordinates().height+d+this.myElement.getElement(".unifi_composeContentFoot").getCoordinates().height);
}}this.addComposeEvents();
if(this.options.stopBubble){this.myElement.addEvent("click",function(l){l.stop();
});
}this.myElement.getElement(".unifi_toObjContain").setStyle("height",this.richEditMaxHeight-30);
this.setElementTransitions();
this.setFocus(this.options.myType);
},createFootElement:function(){var a=this;
return new Element("div",{"class":"unifi_composeContentFoot"}).adopt(this.createFootTabs(),new Element("div",{"class":"unifi_composeActionsFloat"}).adopt(this.send_button=new Element("a",{"class":"unifi_composeButtonsFoot unifi_send "+globalVariables.siteColor,tabindex:"",html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">send</div><div class="threadsy_br_small"></div>',events:{focus:function(){this.addClass("hover");
},blur:function(){this.removeClass("hover");
},keyup:function(b){b.stop();
if(b.code==13||b.code==32){if(this.hasClass("unifi_send")){a.sendMessage();
}else{if(this.hasClass("unifi_cancel")){a.closeCompose();
}}}},click:function(){a.sendMessage();
(function(){if($defined(a.callingObject)&&$defined(a.callingObject.transitionSlugView)){a.callingObject.transitionSlugView();
}}).delay(1000);
}}}),this.saveButton=new Element("a",{"class":"unifi_composeButtonsFoot unifi_save orange",tabindex:"",html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">save draft</div><div class="threadsy_br_small"></div>',events:{focus:function(){a.saveButton.addClass("hover");
},blur:function(){a.saveButton.removeClass("hover");
},click:function(){a.saveButton.removeClass("hover");
a.sendMessage(true);
}}}),this.deleteButton(),this.cancel_button=new Element("a",{"class":"unifi_composeButtonsFoot unifi_cancel "+globalVariables.siteColor,tabindex:"",html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">close</div><div class="threadsy_br_small"></div>',events:{focus:function(){this.addClass("hover");
},blur:function(){this.removeClass("hover");
},keyup:function(b){b.stop();
if(b.code==13||b.code==32){if(this.hasClass("unifi_save")){a.sendMessage(true);
}else{if(this.hasClass("unifi_cancel")){a.closeCompose();
}}}},click:function(b){b.stop();
a.closeCompose();
}}})));
},deleteButton:function(){var a=this;
if(!this.draft){return;
}return this.delte_button=new Element("a",{"class":"unifi_composeButtonsFoot unifi_delete_draft "+globalVariables.siteColor,tabindex:"",html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">delete</div><div class="threadsy_br_small"></div>',events:{focus:function(){this.addClass("hover");
},blur:function(){this.removeClass("hover");
},click:function(){(function(){if(!a.draftSaved){globalVariables.makeShardRequest("cancelDraft.json",{isAsync:true,data:{messageId:a.draftMessageId}});
}a.myElement.getParent().destroy();
a.callingObject.message.folder.removeMessageAndDisplay(a.callingObject.message.messageId,true);
}).delay(100);
a.removeComposeEvents();
}}});
},footTabEvent:function(e){var d=e.get("class");
if(!this.dom.reply_tab_container.hasClass(d)){if(this.options.myType=="fwd"){this.to_textarea.focus();
}else{this.setFocusToEditor();
}for(var c=0;
c<this.replyTypes.length;
c++){this.dom.reply_tab_container.removeClass(this.replyTypes[c]);
}this.dom.reply_tab_container.addClass(d);
var g=this.myElement.getElement(".unifi_toObjContain");
g.empty();
g.adopt(this.getToEmailsString());
this.myElement.getElements(".unifi_toRemove").each(function(h){h.addEvent("click",function(j){j.stopPropagation();
this.getParent().destroy();
});
});
this.dom.fromDropOptions.empty();
this.dom.fromElementReplace.empty();
if($defined(this.myElement.getElement(".unifi_fromDrop"))){this.myElement.getElement(".unifi_fromDrop").destroy();
}var b=this.hasUserAccountDropOptionsHtml(d);
var a=this.getUserFromAccountHtml();
this.dom.fromElementReplace.set("html",a);
if(b){var f=new Element("div",{"class":"unifi_fromDrop"});
f.inject(this.myElement.getElement(".unifi_fromElement"),"top");
this.dom.fromDropOptions.adopt(this.getUserAccountDropOptionsHtml());
}}},createFootTabs:function(){var c=this.draft?" hide-visibility":" ";
if(this.options.myType=="co"){return false;
}else{var a=this;
var b=new Element("ul",{"class":"unifi_composeTabsFoot "+this.options.myType+c}).adopt(new Element("li",{"class":"fwd",events:{click:function(d){d.stop();
a.options.myType="fwd";
a.footTabEvent(this);
}}}).adopt(new Element("a",{html:"forward"})));
this.dom.reply_tab_container=b;
if(this.isEmail){if(this.options.toAllEmails){new Element("li",{"class":"ra",events:{click:function(d){d.stop();
a.options.myType="ra";
a.footTabEvent(this);
}}}).adopt(new Element("a",{html:"reply all"})).inject(b,"top");
}new Element("li",{"class":"re",events:{click:function(d){d.stop();
a.options.myType="re";
a.footTabEvent(this);
}}}).adopt(new Element("a",{html:"reply"})).inject(b,"top");
}return b;
}},createFromElement:function(){var a=this.howManyFrom==1?"none":"block";
return new Element("div",{"class":"unifi_composeFrom"}).adopt(new Element("div",{"class":"unifi_from_label",html:"from"}),new Element("div",{"class":"unifi_fromElement",events:{click:function(){var b=this.getElement(".unifi_fromDropOptions");
if(b.getStyle("visibility")=="hidden"){b.setStyle("visibility","visible");
this.fromDropOpen=true;
}else{b.setStyle("visibility","hidden");
this.fromDropOpen=false;
}}}}).adopt(this.parseUserAccounts(),new Element("div",{"class":"unifi_fromDrop",styles:{display:a}})));
},createMainContentElement:function(){var a=this;
return new Element("div",{"class":"unifi_composeMainContain"}).adopt(new Element("div",{"class":"unifi_composeAttachesContain"}),new Element("div",{"class":"unifi_composeContentShadowContain"}).adopt(this.createShadowWrap(new Element("div",{"class":"unifi_composeContentContain"}).adopt(new Element("div",{"class":"unifi_richTextBlock"}).adopt(new Element("form").adopt(this.editor=new Element("textarea",{"class":"unifi_composeMessageText",id:this.richEdit,tabindex:"",styles:{"font-size":13,width:"100%",height:parseInt(this.richEditMaxHeight.toInt()-30,10),border:"none"}})))))));
},createSubjectElement:function(){var a=this;
var b=a.options.subject||"enter your subject here...";
return new Element("div",{"class":"unifi_composeSubject"}).adopt(new Element("div",{"class":"unifi_composeSubjectTextContain"}).adopt(new Element("div",{"class":"unifi_subject_label",html:"subject"}),this.subject_textarea=new Element("input",{type:"text",maxlength:400,"class":"unifi_composeSubjectText",tabindex:"",value:b,name:"composeSubject",events:{focus:function(){if(this.value=="enter your subject here..."||this.value=="no subject"){this.value="";
this.setStyle("color","#000000");
}},click:function(){this.focus();
},blur:function(){if(!this.value){this.value="no subject";
this.setStyle("color","#AAAAAA");
}}}})));
},createToElement:function(b){var a=this;
return new Element("div",{"class":"unifi_composeToElement"}).adopt(new Element("div",{"class":"unifi_composeToTextContain"}).adopt(this.to_textarea=new Element("textarea",{"class":"unifi_composeToText",tabindex:"",html:this.messageLib.to_text,events:{keydown:function(c){if(c.code==38||c.code==40||(c.code==9&&$$(".unifi_toSuggestOption").length)){c.preventDefault();
}},click:function(){if(this.value==a.messageLib.to_text){this.value="";
this.setStyle("color","#000000");
}},blur:function(){if(this.value.test(/.*@.*\..*/)){a.addFromKeys("unknown",this);
}if(a.dropSuggest){if(!a.disableSuggestBlur){a.dropSuggest.destroy();
}}a.setToTextPrompt(this);
},keyup:function(d){var c=[];
c[0]=9;
c[1]=188;
c[2]=186;
c[3]=13;
c[4]=59;
if(d.target.value.contains(a.messageLib.to_text)){d.target.value=d.target.value.replace(a.messageLib.to_text,"");
}if((d.code==13||d.code==9)&&a.dropSuggesti!=-1){a.addFromKeys(a.dropSuggesti);
}else{if(c.contains(d.code)){if($$(".unifi_toSuggestOption").length){a.addFromKeys(0);
}else{if(this.value.test(/.*@.*\..*/)){a.addFromKeys("unknown",this);
}}}else{a.lookUpContacts(this,d.code);
d.preventDefault();
this.setStyle("color","#000000");
}}}}}),new Element("div",{"class":"unifi_to_label",html:"to"})),new Element("div",{"class":"unifi_recipients_label",html:"recipients"}),new Element("div",{"class":"unifi_toObjShadowContain"}).adopt(this.createShadowWrap(new Element("div",{"class":"unifi_toObjContain"}).adopt(this.getToEmailsString()))));
},createShadowWrap:function(a){if(!Browser.Engine.trident){return new Element("div",{"class":"unifi_messageContentShadowC"}).adopt(new Element("div",{"class":"unifi_messageContentShadowR"}).adopt(new Element("div",{"class":"unifi_messageContentShadowL"}).adopt(new Element("div",{"class":"unifi_messageContentShadowB"}).adopt(a))));
}else{return a;
}},enableSendButtons:function(){var a=this;
if(!this.draftMessageId){this.needSendButton=true;
return;
}else{this.needSendButton=false;
}},enableMessageToggle:function(){if(this.options.myType!="co"){this.options.whereInject.addClass("unifi_messageClose");
}},facebookRedirectNotice:function(b){var a="";
if(b=="compose"){a="taking you to facebook to create a message...";
}else{if(b=="reply"){a="taking you to facebook to reply...";
}else{a="we're now taking you to facebook...";
}}$(document.body).adopt(this.fbRedirectModal=new Element("div",{"class":"facebook-redirect-modal"}).adopt(new Element("h1",{html:a})));
},facebookCompose:function(c){var b=this;
var a=b.myElement.getElement(".unifi_composeSubjectText").get("value");
var e=b.myElement.getElement(".unifi_composeMessageText").get("value");
e=escape(e);
a=escape(a);
var f="http://www.facebook.com/inbox/?compose&id="+c+"&subject="+a+"&message="+e;
this.facebookRedirectNotice("compose");
var d=function(){window.open(f,"_blank");
b.fbRedirectModal.destroy();
};
d.delay(800);
this.closeCompose();
},getAvatarUrl:function(b){var a=b.getSmallPicUrl(0,0);
return(a)?a:"";
},getName:function(d){var c=d.firstName;
var b=d.lastName;
var a=(c)?c+" ":"";
a=(b)?a+b:"";
a=(!a)?d.displayName:a;
return(a)?a:"";
},getToEmailsString:function(){if(this.options.myType=="co"){return false;
}var b=this;
var f="";
var h;
var d=(this.options.myType=="ra"||this.options.myType=="dr")?this.options.toAllEmails:this.options.toEmails;
var g;
var c=globalVariables.unifiAccount().contactManager;
var a=globalVariables.externalServiceManagerInstance;
if(this.options.myType!="fwd"){if($defined(b.callingObject)&&b.callingObject.message&&b.callingObject.message.isFromMe){d=b.callingObject.message.addTotalOriginal;
}var e=new Element("div");
if(d!=""){d.each(function(o){if(b.isEmail){o=o.clean();
var j=null;
var l="";
var m="";
if(o.test(/\"/)){l=o.replace(/\"/g,"");
l=l.replace(/[<>]/g,"");
}else{l=o.replace(/[<>]/g,"");
}var n=l.substring(l.lastIndexOf(" ")+1);
j=c.findContactBySearchValue(n,b.options.serviceId);
m=l.substring(0,l.lastIndexOf(" "));
if(!j){j=c.findContactBySearchValue(m,b.options.serviceId);
}g=(!j)?"":j.getSmallPicUrl(0,0);
var k=(j)?j.getDisplayName(0,0):null;
if(k===""){k=null;
}if(j&&k){m=k;
}if(!m){m=l;
}if(g){g=new Element("img",{src:g,"class":"unifi_toSuggestOptionImage"});
}else{g=new Element("img",{src:b.staticServer+"images/noPicFireball.png","class":"unifi_toSuggestOptionImage"});
}if(!j){j=c.createTempContact(m,n,a,b.callingObject.message.options.externalServiceId,b.callingObject.message.serviceAccountId,null,null);
}h=l.length>18?l.substring(0,18)+"...":l;
e.adopt(new Element("div",{"class":"unifi_toAdd",events:{click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:j,displayName:m.replace(/\'/g,"\\'").replace(/\"/g,'\\"')}});
}}}).adopt(new Element("div",{"class":"unifi_toSuggestOptionImageContain"}).adopt(g),new Element("div",{"class":"unifi_toRemove  "+globalVariables.siteColor,events:{click:function(p){p.stopPropagation();
this.getParent().destroy();
}}}),new Element("div",{"class":"unifi_topSuggestOptionNameDisplay",html:m+"<br/>"}),new Element("span",{"class":"unifi_toSuggestOptionsEmailGrey",html:n}),new Element("input",{"class":"unifi_addedEmail",type:"hidden",value:o.replace(/\'/g,'"')})));
}});
}return e;
}else{return false;
}},getUserAccountDropOptionsHtml:function(){var b=this;
var h=[];
var j=this.externalServiceManager;
for(var g=0,e=globalVariables.unifiAccountInstance.externalAccountsList.length;
g<e;
g++){var m=globalVariables.unifiAccountInstance.externalAccountsList[g];
if(m.isRegistered()){var f=(b.options.fromAddress==m.options.username);
if(!f){var k=j.getById(m.options.externalServiceId);
if((k!="facebook")&&(k!="twitter")){var d=[new Element("input",{type:"hidden","class":"unifi_myid",value:m.options.id}),new Element("input",{type:"hidden","class":"unifi_username",value:m.options.username}),new Element("input",{type:"hidden","class":"unifi_externalServiceId",value:m.options.externalServiceId})];
k=k=="facebook"?"fb_connect":k;
var n=new Element("img",{"class":"service_icon",src:this.staticServer+"images/logos/"+k+".png",alt:k});
var a=new Element("span",{html:m.options.username.replace(/@.*/,"")});
var c=new Element("div",{"class":"unifi_fromDropOption",events:{click:function(l){l.stop();
b.changeFrom(this);
}}}).adopt(n,a,d);
h.push(c);
}}}}return h;
},getUserFromAccountHtml:function(){var b=this;
var c="";
var a=this.externalServiceManager;
globalVariables.unifiAccountInstance.externalAccountsList.each(function(g){if(g.isRegistered()){if(b.options.fromAddress==g.options.username){var e=g.options.username.replace(/@.*/,"");
var d=a.getById(g.options.externalServiceId);
d=d=="facebook"?"fb_connect":d;
var h='<img class="service_icon" src="'+this.staticServer+"images/logos/"+d+'.png" alt="'+d+'" class="service_icon" />';
var f='<input type="hidden" class="unifi_myid" value="'+g.options.id+'"/><input type="hidden" class="unifi_username" value="'+g.options.username+'" /><input type="hidden" class="unifi_externalServiceId" value="'+g.options.externalServiceId+'"/>';
c=h+e+f;
}}});
return c;
},hasUserAccountDropOptionsHtml:function(d){var b=this;
var c=false;
var a=this.externalServiceManager;
globalVariables.unifiAccountInstance.externalAccountsList.each(function(g){if(g.isRegistered()){var f=(b.options.fromAddress==g.options.username);
var e=a.getById(g.options.externalServiceId);
if(!f&&(((e!="facebook")&&(e!="twitter"))||(d=="fwd"&&e=="facebook"))){c=true;
}}});
return c;
},lookUpContacts:function(ae,N){var q=this;
var C=[];
var ac=this.to_textarea;
var g;
var Z;
var p=globalVariables.unifiAccount().contactManager;
var af=this.externalServiceManager;
var V=this.isEmail;
var ah=this.isFacebook;
if(N==38&&this.dropSuggest){g=this.dropSuggest.getElements(".unifi_toSuggestOption");
this.dropSuggesti=this.dropSuggesti>0?this.dropSuggesti-1:0;
Z=this.dropSuggest.getElements(".unifi_toSuggestOption")[this.dropSuggesti];
Z.setStyle("background-color","#eeeeee");
if(this.dropSuggesti){this.dropSuggest.scrollTo(0,Z.getPosition(q.dropSuggest).y);
}else{this.dropSuggest.scrollTo(0,0);
}if(g.length-1>this.dropSuggesti){this.dropSuggest.getElements(".unifi_toSuggestOption")[this.dropSuggesti+1].setStyle("background-color","");
}}else{if(N==40&&this.dropSuggest){g=this.dropSuggest.getElements(".unifi_toSuggestOption");
this.dropSuggesti=g.length-1>this.dropSuggesti?this.dropSuggesti+1:this.dropSuggesti;
Z=this.dropSuggest.getElements(".unifi_toSuggestOption")[this.dropSuggesti];
Z.setStyle("background-color","#eeeeee");
if(this.dropSuggesti){this.dropSuggest.scrollTo(0,Z.getPosition(q.dropSuggest).y);
}else{this.dropSuggest.scrollTo(0,0);
}if(this.dropSuggesti>0){this.dropSuggest.getElements(".unifi_toSuggestOption")[this.dropSuggesti-1].setStyle("background-color","");
}}else{if(!ac.value){if(this.dropSuggest){this.dropSuggest.destroy();
this.dropSuggest=null;
}}else{this.prevSuggest=ac.value;
this.dropSuggesti=-1;
if(this.dropSuggest){this.dropSuggest.destroy();
}var y=ae.value.replace(/\n/g,"");
var t=y.length;
var U=y.stripScripts();
var d=new RegExp("^"+U.escapeRegExp(),"i");
var ai=[];
var I=0;
var v;
var K=p.contacts;
var T=af.getByName("facebook");
var Q;
var a=!(V||ah);
cannotSendToFacebook=true;
for(var ad=0;
ad<K.length;
ad++){v=K[ad];
var M=v.firstName;
if(M&&M.test(d)){Q=this.calcNewAddresses(v,a,V,ah,cannotSendToFacebook);
if(Q>0){I+=Q;
ai.include(v);
}}if(I>=this.maxSuggestions){break;
}}if(I<this.maxSuggestions){for(var ad=0;
ad<K.length;
ad++){v=K[ad];
var D=v.lastName;
if(D&&D.test(d)){Q=this.calcNewAddresses(v,a,V,ah,cannotSendToFacebook);
if(Q>0){I+=Q;
ai.include(v);
}}if(I>=this.maxSuggestions){break;
}}}if(I<this.maxSuggestions){var O;
var u;
for(var ad=0,Y=K.length;
ad<Y;
ad++){v=K[ad];
var H=v.displayName;
if(H&&!H.test(/.*@.*\..*/)){O=H.split(/ /);
O.push(H);
u=false;
for(var ab=0,aa=O.length;
ab<aa;
ab++){if(O[ab].test(d)){u=true;
}}if(u){personAlreadyMatched=false;
Q=this.calcNewAddresses(v,a,V,ah,cannotSendToFacebook);
if(Q>0){I+=Q;
ai.include(v);
}}if(I>=this.maxSuggestions){break;
}}}}var s,F,o;
for(var ad=0,Y=ai.length;
ad<Y;
ad++){F=ai[ad];
s=this.getName(F);
o=this.getAvatarUrl(F);
for(var ab=0,aa=F.emails.length;
ab<aa;
ab++){C.push({name:s,emailAddress:F.emails[ab].email,type:1,contactId:F.contactId,avatarUrl:o});
}}if(C.length<this.maxSuggestions){var h;
var b;
for(var ab=0,aa=p.contacts.length;
ab<aa;
ab++){v=p.contacts[ab];
for(var ad=0,Y=v.emails.length;
ad<Y;
ad++){var A=v.emails[ad].email;
if(A.test(d)){s=this.getName(v);
var R=true;
for(var X=0,W=C.length;
X<W;
X++){if(C[X].emailAddress==A){R=false;
break;
}}if(R){o=this.getAvatarUrl(v);
C.push({emailAddress:A,name:s,type:1,contactId:v.contactId,avatarUrl:o});
if(C.length>=this.maxSuggestions){break;
}}}}if(C.length>=this.maxSuggestions){break;
}}}g="";
var L=C.length>this.maxSuggestions?this.maxSuggestions:C.length;
var r,z,w,B,G,e,aj,S="<strong>",J="</strong>",f,ag="",E,P,c;
for(var ad=0;
ad<L;
ad++){aj=C[ad].type;
w=C[ad].contactId;
P=false;
r=C[ad].name==C[ad].emailAddress?"":C[ad].name;
c=r;
ag="";
if(r){E=r.split(/ /);
for(var ab=0,aa=E.length;
ab<aa;
ab++){var F=E[ab];
S="<strong>";
f=F.test(d);
if(f){ag=ag+S+F.substring(0,t)+J+F.substring(t,F.length);
P=true;
}else{ag=ag+F;
}if(ab!=E.length-1){ag=ag+" ";
}}if(!P){if(r.test(d)){ag=S+r.substring(0,t)+J+r.substring(t,r.length);
}}}r=ag+"<br />";
z=C[ad].emailAddress;
B=C[ad].avatarUrl;
B=B?'<img class="unifi_toSuggestOptionImage" src="'+B+'" alt="userfacepic"/>':'<img src="'+this.staticServer+"images/defaultFacePic-"+globalVariables.siteColor+'.png" class="unifi_toSuggestOptionImage"/>';
g=g+'<a class="unifi_toSuggestOption" idx="'+ad+'"><div class="unifi_toSuggestOptionImageContain">'+B+'</div><div class="unifi_topSuggestOptionNameDisplay">'+r+'</div><span class="unifi_toSuggestOptionsEmailGrey">'+z+'</span><input type="hidden" value="'+aj+'" class="unifi_toSuggestOptionType" /><input type="hidden" value="'+z+'" class="unifi_toSuggestOptionEmail" /><input type="hidden" value="'+w+'" class="unifi_toSuggestOptionContactId"/></a>';
}if(L){this.dropSuggest=new Element("div",{"class":"unifi_toSuggestContain",html:g,events:{mouseover:function(){q.disableSuggestBlur=true;
},mouseleave:function(){q.disableSuggestBlur=false;
}}}).setStyle("max-height",this.richEditMaxHeight-35);
this.dropSuggest.inject(ae,"after");
this.dropSuggest.getElements(".unifi_toSuggestOption").each(function(j){j.addEvents({click:function(){q.addFromKeys(this.get("idx"));
if(q.dropSuggest){q.dropSuggest.destroy();
q.dropSuggest=null;
}},mouseover:function(){q.disableSuggestBlur=true;
var k=q.dropSuggest.getElements(".unifi_toSuggestOption")[q.dropSuggesti];
if(k){k.setStyle("background-color","");
}q.dropSuggesti=-1;
ac.value=q.prevSuggest;
},mouseleave:function(){q.disableSuggestBlur=false;
}});
});
}}}}},parseUserAccounts:function(){var c=this;
var n="";
var m=this.externalServiceManager;
var f=new Element("div",{"class":"fromElementReplace",html:"&nbsp; select account"}).adopt(new Element("input",{type:"hidden","class":"unifi_myid",value:0}),new Element("input",{type:"hidden","class":"unifi_username",value:""}),new Element("input",{type:"hidden","class":"unifi_externalServiceId",value:0}));
this.dom.fromElementReplace=f;
var k=new Element("div",{"class":"unifi_fromDropOptions"});
this.dom.fromDropOptions=k;
for(var j=0,g=globalVariables.unifiAccountInstance.externalAccountsList.length;
j<g;
j++){var p=globalVariables.unifiAccountInstance.externalAccountsList[j];
if((p.options.externalServiceId!=8)&&p.isRegistered()){var b=p.options.name;
var r=p.options.primary;
var o=m.getById(p.options.externalServiceId);
var h=this.isEmail?"email":this.options.serviceId;
o=o=="facebook"?"fb_connect":o;
var q=new Element("img",{"class":"service_icon",src:this.staticServer+"images/logos/"+o+".png",alt:o});
var a=new Element("span",{html:b});
var e=[new Element("input",{type:"hidden","class":"unifi_myid",value:p.options.id}),new Element("input",{type:"hidden","class":"unifi_username",value:p.options.username}),new Element("input",{type:"hidden","class":"unifi_externalServiceId",value:p.options.externalServiceId})];
var d=new Element("div",{"class":"unifi_fromDropOption",events:{click:function(l){l.stop();
c.changeFrom(this);
}}});
if(!this.options.fromAddress&&r){k.grab(d.adopt(q,a,e),"top");
}else{if(h=="email"&&m.isEmail(p.options.externalServiceId)){this.howManyFrom++;
if(this.options.fromAddress==p.options.username&&this.options.serviceId==p.options.externalServiceId){f=new Element("div",{"class":"fromElementReplace"}).adopt(q,a,e);
}else{k.grab(d.adopt(q,a,e),"bottom");
}}else{if(h==p.options.externalServiceId){c.howManyFrom++;
if(c.options.fromAddress==p.options.username&&c.options.serviceId==p.options.externalServiceId){f=new Element("div",{"class":"fromElementReplace"}).adopt(q,a,e);
}else{k.grab(d.adopt(q,a,e),"bottom");
}}else{k.grab(d.adopt(q,a,e),"bottom");
}}}}}return[f,k];
},removeComposeEvents:function(){this.okToLeave=true;
},setElementTransitions:function(){this.myElementSlide=new Fx.Slide(this.myElement,{mode:"horizontal",duration:1000,transition:"expo:in"});
},sendMessage:function(k){var b=this;
if(this.isAttaching){this.swiffy.addEvent("onComplete",function(){this.sendMessage(k);
}.bind(this));
globalVariables.announcementBar().createAnnouncement("ok, waiting for attachments to complete...",null,"loading");
return;
}else{globalVariables.announcementBar().removeAnnouncement();
}this.options.toEmails="";
var d=this.myElement.getElement(".fromElementReplace");
var e=this.myElement.getElements(".unifi_toAdd");
e.each(function(s,l){e[l]=s.getElement(".unifi_addedEmail").value;
});
if(!k){if(e.length<1){alert("Don't you want to send this to someone?");
return;
}}var r=this.richEditInstance?this.richEditInstance.instanceById(this.richEdit).getContent():this.editor.value;
if(!k){if(!r||r=="<br/>"||r=="Enter your message here..."){var m=confirm("Are you sure you want to send this empty message?");
if(!m){return;
}}}this.options.fromAddress=d.getElement(".unifi_username").value;
this.options.subject=this.myElement.getElement(".unifi_composeSubjectText").value=="enter your subject here..."?"no subject":this.myElement.getElement(".unifi_composeSubjectText").value;
this.options.serviceAccountId=d.getElement(".unifi_myid").value;
r=globalVariables.textHelpers().replaceNewlines(r);
r=r=="Enter your message here..."?"":r;
if(this.composeSignature&&this.isEmail){r=r+this.composeSignature;
}else{if(this.composeSignature){r=r+"\n------------------------\n this message sent from threadsy.com";
}}var p=0;
if((this.options.myType=="re")||(this.options.myType=="ra")){if(this.callingObject.message){p=this.callingObject.message.options.id;
}else{p=this.callingObject.myMessageDisplay.message.options.id;
}}var h=Browser.Engine.webkit||Browser.Engine.trident?150:0;
if(this.options.attachments){this.myAttachments=(this.options.attachments.length>0)?this.options.attachments:"";
}else{this.myAttachments="";
}this.draftSaved=true;
if(k&&this.draft){var o=e[0]?e[0]:"no recipient";
this.callingObject.draftBody=r;
this.callingObject.addTotal=e;
this.callingObject.message.options.serviceAccountId=b.options.serviceAccountId;
this.callingObject.message.options.subject=b.options.subject;
this.callingObject.message.options.externalServiceId=b.options.serviceId;
this.callingObject.message.options.toStr=e.toString();
this.callingObject.messageTitle.set("html",b.options.subject);
this.callingObject.messagePreview.set("html",r);
var f=this.callingObject.createEmailNicName(o);
this.callingObject.toBox.set("html","to "+f);
this.callingObject.toBox.set("title",o);
this.callingObject.draftFrom=b.options.fromAddress;
if(this.callingObject.ccElement){this.callingObject.ccElement.destroy();
}this.callingObject.serviceIcon.destroy();
this.callingObject.slug.adopt(this.callingObject.createToDisplay());
this.callingObject.message.options.hasAttachments=!(!this.options.attachments);
this.callingObject.message.body.options.attachments=this.options.attachments;
}var n=this.externalServiceManager.getById(b.options.serviceId);
var j=[],q;
if(this.options.attachments){for(var g=0,c=this.options.attachments.length;
g<c;
g++){q=this.options.attachments[g];
id=q.attId||q.id;
j.push(id);
}}var a={serviceId:b.options.serviceId,fromAddress:b.options.fromAddress,toEmails:e,subject:b.options.subject,serviceAccountId:b.options.serviceAccountId,type:b.options.myType,body:r,messageId:b.draftMessageId,replyToMessageId:p,attachmentIds:j};
globalVariables.makeShardRequest("send.json",{isAsync:true,method:"post",timeout:60000,onRequest:function(){b.removeComposeEvents();
if((b.options.initiatedFrom=="quick_reply")&&!k){b.myElement.getParent().destroy();
if(b.callingObject){b.callingObject.element.removeClass("composeMode");
b.callingObject.killQuickReply();
}}else{if(b.options.myType=="co"){globalVariables.composeOpen=false;
}if(!k){b.myElement.getParent().destroy();
}if($defined(b.callingObject)){if(!k){b.callingObject.closeMessage();
if(b.callingObject.element&&b.callingObject.element.hasClass("composeMode")){b.callingObject.element.removeClass("composeMode");
}}}}if(globalVariables.doOptionalFilter){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"timeline"});
}var l=k?"saving a draft or your message...":"ok, we're sending your message...";
globalVariables.announcementBar().createAnnouncement(l);
},onError:function(l){b.sendErrorNotification(a);
},onFailure:function(l){b.sendErrorNotification(a);
},onSuccess:function(u){globalVariables.inboundManagerInstance.startRapidPoll();
if(!$defined(u)||u.result===0){var l=k?2000:null;
var t=k?"a draft of your message has been saved":"Success! Your message has been sent.";
globalVariables.announcementBar().createAnnouncement(t,l,"success");
globalVariables.soundEffects().playSound("playSent");
var s=0;
if(!k){if(this.options.attachments){s=1;
}new Tracking({a:"aSend",vCR:e.length,vES:this.options.serviceId,vHA:s,vST:this.options.myType,vIO:1}).send();
}if(!k&&this.draft){if(this.callingObject){this.callingObject.message.folder.removeMessageAndDisplay(this.callingObject.message.messageId,true);
}}}else{var v=0-u.error;
globalVariables.announcementBar().createAnnouncement(b.sendErrorArray[v],null,"error");
this.sendErrorNotification(a);
return false;
}}.bind(this),data:{serviceId:b.options.serviceId,fromAddress:b.options.fromAddress,toEmails:e,subject:b.options.subject,serviceAccountId:b.options.serviceAccountId,type:b.options.myType,body:r,messageId:b.draftMessageId,replyToMessageId:p,attachmentIds:j,saveDraft:k}});
},sendErrorNotification:function(b){var a=this;
$(document.body).adopt(this.modalOverlay=new Element("div",{"class":"overlay"}),this.sendMessageErrorModal=new Element("div",{id:"send-error-modal","class":"small-modal"}).adopt(new Element("h2",{html:"sorry, your message could not be sent <br/>"}),new Element("p",{html:"A copy of this message will be saved in your <strong>drafts folder</strong>. would you like to try sending this message again?"}),new Element("div",{"class":"modal-footer"}).adopt(new Element("a",{href:"#","class":"submit-button",html:"try again",events:{click:function(c){c.stop();
a.sendMessageAgain(b);
a.sendMessageErrorModal.destroy();
a.modalOverlay.destroy();
}}}),new Element("a",{href:"#","class":"cancel-button",html:"cancel",events:{click:function(c){c.stop();
a.sendMessageErrorModal.destroy();
a.modalOverlay.destroy();
}}}),new Element("div",{"class":"clear"}))));
},sendMessageAgain:function(b){var a=this;
globalVariables.makeShardRequest("send.json",{isAsync:true,method:"post",timeout:60000,onRequest:function(){globalVariables.announcementBar().createAnnouncement("ok, we're sending your message...");
},onError:function(c){a.sendErrorNotification(b);
},onFailure:function(c){a.sendErrorNotification(b);
},onSuccess:function(d){globalVariables.inboundManagerInstance.startRapidPoll();
if(!$defined(d)||d.result===0){globalVariables.announcementBar().createAnnouncement("Success! Your message has been sent.",null,"success");
globalVariables.soundEffects().playSound("playSent");
var c=0;
if(a.options.attachments){c=1;
}new Tracking({a:"aSend",vCR:toArray.length,vES:a.options.serviceId,vHA:c,vST:a.options.myType,vIO:1}).send();
if(a.callingObject){this.callingObject.message.folder.removeMessageAndDisplay(this.callingObject.message.messageId,true);
}}else{var e=0-d.error;
globalVariables.announcementBar().createAnnouncement(a.sendErrorArray[e],null,"error");
a.sendErrorNotification(b);
return false;
}},data:{serviceId:b.serviceId,fromAddress:b.fromAddress,toEmails:b.toEmails,subject:b.subject,serviceAccountId:b.serviceAccountId,type:b.myType,body:b.body,messageId:b.messageId,replyToMessageId:b.replyToMessageId,attachmentIds:b.attachmentIds}});
},setDraftMessageId:function(a){if(this.needSendButton){this.enableSendButtons();
}if(!$defined(a.draftMessageId)){return;
}this.draftMessageId=a.draftMessageId;
this.attachmentIds=a.attachmentIds;
if(this.needAttachButton){this.addAttachButton();
}},setFocus:function(a){if((a=="re")||(a=="ra")){this.setFocusToEditor();
}else{this.to_textarea.focus();
}},setFocusToEditor:function(a){if(!this.richEditInstance){this.myElement.getElement(".unifi_richTextBlock").focus();
}else{var b=this.richEditInstance.instanceById(this.richEdit).editorContain;
if(this.options.myType!="co"&&Browser.Platform.win&&Browser.Engine.webkit&&(b.scrollHeight>b.offsetHeight)){return;
}var c=this.richEditInstance.instanceById(this.richEdit).elm;
c.focus();
if(Browser.Engine.webkit){window.getSelection().collapseToStart();
}}},setToTextPrompt:function(a){a.value=this.messageLib.to_text;
a.setStyles({color:"#AAA"});
},setOptionsAttribute:function(a,b){this.options[a]=b;
if(a=="serviceId"){this.isEmail=this.externalServiceManager.isEmail(b);
this.isFacebook=this.externalServiceManager.isFacebook(b);
this.isTwitter=this.externalServiceManager.isTwitter(b);
}},slideInAttachments:function(){var b=this;
this.slideAttachment();
this.swiffy.isAttached=true;
var a=this.swiffy.options.fileClass||Swiff.Uploader.File;
this.swiffy.options.composeContainer=b.myElement;
this.options.attachments.each(function(e,d){var c=new a(b.swiffy,"");
b.swiffy.fileList.push(c);
c.response=true;
c.fileName=e.fileName;
c.location=e.location;
c.size=e.size;
c.attachType=b.options.myType;
c.attId=b.attachmentIds[d];
c.msgId=b.draftMessageId;
c.fileType=e.type||e.fileType;
c.render();
});
},slideAttachment:function(){var a=this;
this.attachContain.setStyle("display","block");
a.shrinkTextArea();
a.attachContain.setStyles({"overflow-x":"hidden","overflow-y":"auto"});
a.attachSliden=true;
},growTextArea:function(){if(this.richEditInstance){var b=this.richEditInstance.instanceById(this.richEdit).elm;
b.style.minHeight=(parseInt(this.richEditMaxHeight)-30)+"px";
b.getParent().style.maxHeight=(parseInt(this.richEditMaxHeight)-20)+"px";
}else{el=this.myElement.getElement(".unifi_composeMessageText");
var a=parseInt(this.richEditMaxHeight)-30;
el.style.height=a+"px";
}},shrinkTextArea:function(){if(this.richEditInstance){var b=$(this.richEditInstance.instanceById(this.richEdit).elm);
b.style.minHeight=parseInt(this.richEditMaxHeight-110)+"px";
b.getParent().style.maxHeight=parseInt(this.richEditMaxHeight-100)+"px";
}else{el=this.myElement.getElement(".unifi_composeMessageText");
var a=parseInt(this.richEditMaxHeight)-100;
el.style.height=a+"px";
}},truncateToOptionText:function(a){return a.length>20?a.substring(0,18)+"...":a;
},updateRichTextContent:function(b){var a=this.myElement.getElement(".nicEdit-main");
if(a){a.set("html",b);
}else{this.replyBody=b;
}}});
compose.implement(new Options());
var compressedCookie=new Class({duration:0,inter_delimiter:"___",intra_delimiter:"---",name:null,stringValue:"",names:new Array(),values:new Array(),initialize:function(a,b){this.name=a;
if(b){this.duration=b;
}this.parse();
},getCookie:function(a){if(this.names.contains(a)||(this.values[a]!=null)){return this.values[a];
}else{return null;
}},getCookieDefault:function(a,c){var b=this.getCookie(a);
return(b)?b:c;
},parse:function(){var b=Cookie.read(this.name);
if(b){this.stringValue=b;
var d=b.split(this.inter_delimiter);
if(d&&d.length>0){for(var c=0;
c<d.length;
c++){var a=d[c].split(this.intra_delimiter);
if(a&&a.length==2){this.names[this.names.length]=a[0];
this.values[a[0]]=a[1];
}}}}else{this.stringValue="";
}},setCookie:function(d,g){var c=this.getCookie(d);
var f=false;
if(c!=null){var b="";
var a=this;
if(c!=g){this.values[d]=g;
for(var e=0;
e<this.names.length;
e++){var h=this.names[e];
if(b!=""){b+=a.inter_delimiter;
}b+=h+a.intra_delimiter+this.values[h];
}this.stringValue=b;
f=true;
}}else{if(this.stringValue!=""){this.stringValue+=this.inter_delimiter;
}this.stringValue+=d+this.intra_delimiter+g;
f=true;
}this.names.include(d);
this.values[d]=g;
if(f){Cookie.write(this.name,this.stringValue,{domain:"threadsy.com",duration:this.duration});
}}});
var contactInfo=new Class({Implements:Options,accountId:0,contact:null,displayName:null,firstName:null,largePicUrl:null,lastName:null,mediumPicUrl:null,normalizedFullName:null,serviceUid:null,smallPicUrl:null,initialize:function(a){this.options=a;
this.processData(this.options);
},cleanDisplayName:function(a){return($defined(a))?a.replace(/[<>]/g,""):a;
},processData:function(){},setPicUrls:function(d,b,a,c){this.mediumPicUrl=b;
if(c!=null){this.smallPicUrl=c;
}else{if(d!=null){this.smallPicUrl=d;
}else{if(b!=null){this.smallPicUrl=b;
}else{if(a!=null){this.smallPicUrl=a;
}}}}if(a!=null){this.largePicUrl=a;
}else{if(!this.largePicUrl&&this.smallPicUrl){this.largePicUrl=this.smallPicUrl;
}}}});
contactInfo.implement(new Options);
var ContactManager=new Class({Implements:[Events],checkForUpdates:true,contacts:new Array(),contactsByName:new Hash(),contactsByEmail:new Hash(),contactsByContactId:new Array(),contactsByScreenName:new Hash(),contactsByStrippedEmail:new Hash(),contactsByStrippedName:new Hash(),contactsBySocialNetworkId:new Array(),contactsByTwoTokens:new Hash(),facebookVerbs:["also commented","added","confirmed","suggested","commented","invited","replied","requested","sent","tagged","shared"],facebookId:0,fetched:false,lastChecked:null,twitterContacts:new Array(),twitterId:0,twitterIds:new Array(),followListByAccount:{},uidsToFetch:new Array(),initialize:function(){this.facebookId=globalVariables.externalServiceManager().getByName("facebook");
this.twitterId=globalVariables.externalServiceManager().getByName("twitter");
},addFacebookFriend:function(g,c){if(g==null){return;
}var h=new FacebookContactInfo(g);
var b=this.findContactBySocialNetworkId(this.facebookId,g.uid);
var a=null;
if(""+g.uid==c.options.uid){a=this.contactsByContactId["th"+globalVariables.unifiAccountInstance.personId];
}if(!a){if(g.name){a=this.findContactByName(g.name.toLowerCase(),g.uid);
}else{if(g.first_name&&g.last_name){var e=g.first_name+" "+g.last_name;
g.name=e;
a=this.findContactByName(g.name.toLowerCase(),g.uid);
}}}if((a&&b)&&(a!=b)){if(b.changeListeners){for(var f=0,d=b.changeListeners.length;
f<d;
f++){a.addChangeListener(b.changeListeners[f]);
b.changeListeners[f].changeContact(a);
}}}else{if(b){a=b;
}}if(!a){a=this.createNewContact(null,"fb"+g.uid);
}a.addInfo(h,c.options.externalServiceId,c.options.id);
if(g.about_me){a.facebookAboutMe=g.about_me;
}this.fileContactByName(a,h.normalizedFullName);
this.fileContactBySocialNetworkId(a,this.facebookId,g.uid);
a.facebookUid=g.uid;
a.notifyListeners();
a.isFacebookGroup=(g.is_group==true);
a.temporary=false;
return a;
},addFacebookPublicInfo:function(a,c){var b=a.getFacebookInfo(c);
if(b==null){a.facebookUid=c;
this.fileContactBySocialNetworkId(a,this.facebookId,c);
globalVariables.facebookConnect().getProfileInfo(c);
}},addPrivateFacebookContact:function(c){var a=this.findContactBySocialNetworkId(this.facebookId,c);
if(a){return;
}a=this.createNewContact(null,"fb"+c);
this.fileContactBySocialNetworkId(a,this.facebookId,c);
var b=new FacebookContactInfo({first_name:"",last_name:"",name:"private sender",uid:c});
a.addInfo(b,this.facebookId,globalVariables.unifiAccountInstance.getFacebookAccount().options.id);
a.facebookUid=c;
return a;
},addTwitterPublicInfo:function(a,b,c){this.contactsByScreenName.set(b,a);
var d=a.getTwitterInfo(b);
if(d==null){d=new TwitterContactInfo({friends_count:c.numFriends,profile_image_url:c.imageUrl,screen_name:b});
d.privateFlag=c.privateFlag;
a.addInfo(d,8,0);
}},addTwitterScreenName:function(b,e,a,c,d){this.contactsByScreenName.set(e,b);
var f=new TwitterContactInfo({screen_name:e,name:c,profile_image_url:d});
b.addInfo(f,a.options.externalServiceId,a.options.id);
},addTwitterContactInfo:function(a,c,f,e,b){var d=new TwitterContactInfo(c);
d.privateFlag=c["protected"];
a.twitterDescription=c.description;
a.addInfo(d,f,e);
d.fromTwitter=true;
if(b){d.isFollowing=true;
}a.notifyListeners();
return d;
},addTwitterUser:function(d,b,c){if(d==null){return;
}var a=this.findContactBySocialNetworkId(this.twitterId,d.id);
if(!a){a=this.contactsByScreenName.get(d.screen_name);
}if(a){var f=a.getTwitterInfo(d.screen_name);
if($defined(f)&&f.freshData()&&f.fromTwitter){return;
}else{a.contactInfo.twitter.erase(f);
}}else{if(d.name.indexOf(" ")>0){a=this.findContactByName(d.name.toLowerCase());
}if(a==null){a=this.createNewContact(null,"tw"+d.id);
}}var e=this.addTwitterContactInfo(a,d,b.options.externalServiceId,b.options.id,c);
this.contactsByScreenName.set(d.screen_name,a);
a.notifyListeners();
if(d.name.indexOf(" ")>0){this.fileContactByName(a,e.normalizedFullName);
}this.fileContactBySocialNetworkId(a,this.twitterId,d.id);
},addUnifiContact:function(v){if(v==null){return;
}var q=this.findUnifiContact(v);
var s="th"+v.id;
if(q==null){q=this.createNewContact(null,s);
}if(v.id>0){this.contactsByContactId[s]=q;
}this.fileContactByName(q,v.normalizedFullName);
var e=globalVariables.unifiAccount();
var r=new ThreadsyContactInfo(v);
q.addInfo(r,e.primaryAddress.options.externalServiceId,e.primaryAddress.options.id);
var a=v.emails;
if(a!=null){for(var p=0;
p<a.length;
p++){q.emails[q.emails.length]=a[p];
this.fileContactByEmail(q,a[p].email);
}}var b=v.avatars;
if(b){for(var n=0;
n<b.length;
n++){var m=b[n];
var f=q.getInfoRecord(m.externalServiceId,m.serviceAccountId);
if(!$defined(f)){f=new ThreadsyContactInfo(v);
q.addInfo(f,m.externalServiceId,m.serviceAccountId);
}switch(m.size){case 1:f.avatarUrls.small=m.url;
break;
case 2:f.avatarUrls.medium=m.url;
break;
case 3:f.avatarUrls.large=m.url;
break;
case 4:f.avatarUrls.square=m.url;
break;
}f.updatePicUrls();
}}var t=v.twitterContacts;
if(t!=null){for(var o=0;
o<t.length;
o++){var h=t[o].twitterUser;
var c=t[o].facePicUrl;
var d=t[o].twitterName;
var u=t[o].twitterId;
var l=t[o].email;
var g=new TwitterContactInfo({profile_image_url:c,name:d,screen_name:h,id:u});
q.addInfo(g,8,u);
this.contactsByScreenName.set(h,q);
if(d.indexOf(" ")>0){this.fileContactByName(q,d.toLowerCase());
}if(l){q.addEmail(l,this);
}}}},checkNew:function(b,c){if(!this.checkForUpdates){return;
}var a=this;
globalVariables.makeShardRequest("listContacts.json",{data:{lastChecked:this.lastChecked},timeout:120000,isAsync:true,onFailure:function(){if(b<c){a.checkNew(c,b+1);
}else{window.location.href=globalVariables.configInstance.absoluteUrlPath+"error.html";
}},onSuccess:a.parseContactsResponse.bind(a)});
},createNewContact:function(b,c){var a=new Contact(b,c);
this.contactsByContactId[c]=a;
this.contacts.push(a);
return a;
},createNewFacebookContact:function(c,b){var a=this.createNewContact(c,"fb"+b);
this.fileContactBySocialNetworkId(a,this.facebookId,b);
globalVariables.facebookConnectInstance.getProfileInfo(b,null);
return a;
},createTempContact:function(b,n,j,c,f,h,m){var g;
var p=j.isFacebook(c);
var a=j.isTwitter(c);
var e=(p)?"fb"+n:((a)?"tw"+n:"tm"+n);
try{var l=(!this.isEmpty(b))?b.toLowerCase():null;
g=this.createNewContact({displayName:b,normalizedFullName:l},e);
this.contacts.push(g);
var k=(n.indexOf("@")>0);
this.fileContactByName(g,l);
if(p||a){this.fileContactBySocialNetworkId(g,c,n);
}else{if(k){g.addEmail(n,this);
}}if(a){var o=g.getTwitterInfo(h);
if(!o){this.addTwitterScreenName(g,h,globalVariables.unifiAccountInstance.getAccount(f),l,m);
}}}catch(d){globalVariables.log.error("error creating temporary contact",d);
g=this.createNewContact({displayName:b},e);
this.contacts.push(g);
}g.temporary=true;
return g;
},fetchUnifiContacts:function(){this.checkNew(1,1);
},fileContactByEmail:function(a,c){if(!$defined(c)){return;
}this.contactsByEmail.set(c,a);
var b=c.indexOf("@");
if(b>-1){var d=globalVariables.textHelpers().stripString(c.substring(0,b));
this.contactsByStrippedEmail.set(d.replace(/\s+/g,""),a);
}},fileContactByName:function(a,c){if(this.isEmpty(c)){return;
}if(c.indexOf(" ")<0){return;
}if(c=="facebook user"){return;
}var b=globalVariables.textHelpers().stripString(c);
this.contactsByName.set(c,a);
if(this.isEmpty(b)){return;
}this.contactsByStrippedName[b]=a;
var d=b.split(" ");
if(d.length>1){var e=d[0]+" "+d[d.length-1];
this.contactsByTwoTokens.set(e,a);
}},fileContactBySocialNetworkId:function(a,b,e){if((e==0)||(e=="0")){return;
}if(b==this.facebookId){try{e=parseInt(e);
}catch(c){globalVariables.log.error("file contact by social network id",c);
}}var d=this.contactsBySocialNetworkId[b];
if(d==null){d=new Array();
this.contactsBySocialNetworkId[b]=d;
}d[e]=a;
if(!a.socialNetworks.contains(b)){a.socialNetworks.push(b);
}a.socialNetworkIds[b]=e;
},findContactByEmail:function(a){return this.contactsByEmail.get(a);
},findContactByName:function(d,c){if(d.indexOf(" ")<0){return;
}var a=this.contactsByName.get(d);
if(a==null){var b=globalVariables.textHelpers().stripString(d);
a=this.contactsByStrippedName[b];
if(a==null){var g=b.split(" ");
if(g.length>1){var h=g[0]+" "+g[g.length-1];
a=this.contactsByTwoTokens.get(h);
}if(a==null){var f=b.replace(/\s+/g,"");
a=this.contactsByStrippedEmail.get(f);
}}}if((a!=null)&&$defined(c)&&c){var e=a.getFacebookId();
if((e>0)&&(a.getFacebookId()!=c)){a=null;
}}return a;
},findContactBySearchValue:function(b,e){if(!b){return null;
}var a=null;
a=this.findContactBySocialNetworkId(e,b);
if(a==null){var c=this.contactsByEmail.get(b.toLowerCase());
var d=this.contactsByName.get(b.toLowerCase());
if(c){a=c;
}else{if(d){a=d;
}}}return a;
},findContactBySocialNetworkId:function(a,d){var c=this.contactsBySocialNetworkId[a];
if(c!=null){if(a==this.facebookId){try{d=parseInt(d);
}catch(b){globalVariables.log.error("find contact by social network id",b);
}}return c[d];
}return null;
},findContactByTwitterScreenName:function(a){return this.contactsByScreenName.get(a);
},findContactForMessage:function(m){var s=null;
var p=globalVariables.externalServiceManager();
try{if(s==null){if(m.options.fromName=="Facebook"){var t;
for(var r=0;
r<this.facebookVerbs.length;
r++){var j=m.options.subject.indexOf(this.facebookVerbs[r]);
if(j>0){t=m.options.subject.substring(0,j-1);
var f=t.toLowerCase();
s=this.findContactByName(f);
if(s==null){s=new Contact({displayName:t,normalizedFullName:f});
this.fileContactByName(s,f);
s.temporary=true;
m.options.fromName=t;
return s;
}else{m.options.fromName=t;
return s;
}}}var q=m.options.subject.split(" ");
if(q.length>2){var w=q[0].toLowerCase()+" "+q[1].toLowerCase();
var a;
a=q[0]+" "+q[1];
s=this.findContactByName(w);
if(s==null){var u=w+" "+q[2].toLowerCase();
a=q[0]+" "+q[1]+" "+q[2];
s=this.findContactByName(u);
}if(s){m.options.fromName=a;
return s;
}}}else{if(m.options.fromName=="Twitter"){var n=m.options.miniBody.match("twitter.com/[^\\s]*");
if(n){n=n[0].substring(12);
s=this.findContactByTwitterScreenName(n);
var h=m.options.miniBody.match("\\. .*? \\("+n+"\\)");
if(h){h=h[0];
var g=h.indexOf("("+n+")");
h=h.substring(2,g-1);
m.options.fromName=h;
}if(!s){if(h){s=this.findContactByName(h.toLowerCase());
}if(!s){s=this.createTempContact(h,n,p,m.options.externalServiceId,m.options.serviceAccountId,m.options.replyToString,m.options.favIcon);
}this.contactsByScreenName.set(n,s);
var l=new TwitterContactInfo({name:h,screen_name:n,profile_image_url:m.options.favIcon});
s.addInfo(l,8,m.options.serviceAccountId);
return s;
}if(h){this.fileContactByName(s,h.toLowerCase());
}}}}}if(s==null){if(m.options.fromId>0){s=this.contactsByContactId["th"+m.options.fromId];
}}if(s==null){s=this.findContactByEmail(m.options.fromAddress);
}if((s==null)&&p.isSocialNetwork(m.options.externalServiceId)){s=this.findContactBySocialNetworkId(m.options.externalServiceId,m.options.fromAddress);
if(s&&!m.options.fromName&&p.isFacebook(m.options.externalServiceId)){var b=s.getDisplayName(m.options.externalServiceId,m.options.serviceAccountId,parseInt(m.options.fromAddress),null);
if(b){m.options.fromName=b;
}}if((s==null)&&p.isTwitter(m.options.externalServiceId)){s=this.contactsByScreenName.get(m.options.replyToString);
}}if(s==null){if(m.options.fromName!=null){s=this.findContactByName(this.normalizeFromName(m.options.fromName),(m.options.externalServiceId==5)?m.options.fromAddress:"");
}}if((s!=null)&&(m.options.fromName==m.options.replyToString)&&p.isTwitter(m.options.externalServiceId)){var k=s.getDisplayName(m.options.externalServiceId,m.options.serviceAccountId,m.options.fromAddress,m.options.replyToString);
if(k){m.options.fromName=k;
}}var d=m.options.fromAddress+"";
var y=m.options.fromName.toLowerCase();
if(s==null){s=this.createTempContact(m.options.fromName,d,p,m.options.externalServiceId,m.options.serviceAccountId,m.options.replyToString,m.options.favIcon);
if(p.isEmail(m.options.externalServiceId)){var v=new ThreadsyContactInfo({avatars:null,displayName:m.options.fromName,normalizedFullName:y});
s.addInfo(v,m.options.externalServiceId,m.options.serviceAccountId);
this.fileContactByEmail(s,d);
}else{if(p.isFacebook(m.options.externalServiceId)){if(m.options.fromName){var o=new FacebookContactInfo({first_name:"",last_name:"",name:m.options.fromName,pic:m.options.favIcon,pic_big:m.options.favIcon,pic_small:m.options.favIcon,uid:m.options.fromAddress,pic_square:m.options.favIcon});
s.addInfo(o,m.options.externalServiceId,m.options.fromAddress);
}this.getFacebookProfile(m.options.fromAddress);
}}}else{if(d.indexOf("@")>0){s.addEmail(m.options.fromAddress,this);
this.fileContactByEmail(s,d);
}else{if(p.isFacebook(m.options.externalServiceId)){this.addFacebookPublicInfo(s,m.options.fromAddress);
this.fileContactBySocialNetworkId(s,this.facebookId,m.options.fromAddress);
}else{if(p.isTwitter(m.options.externalServiceId)){var c=new TwitterContactInfo({name:m.options.fromName,screen_name:m.options.replyToString,profile_image_url:m.options.favIcon});
s.addInfo(c,8,m.options.serviceAccountId);
this.contactsByScreenName.set(m.options.replyToString,s);
}}}}this.fileContactByName(s,y);
}catch(e){globalVariables.log.error("error finding contact for message",e);
s=this.createTempContact(m.options.fromName,m.options.fromAddress+"",p,m.options.externalServiceId,m.options.serviceAccountId,m.options.replyToString,m.options.favIcon);
}return s;
},findContactForSentMessage:function(d){var b;
if(d.otherTo.length>0){b=d.otherTo[0];
}else{if(d.ccString.length>0){b=d.ccString[0];
}else{return this.findContactForMessage(d);
}}var a=null;
if(d.isFacebook){try{a=this.findContactBySocialNetworkId(5,parseInt(b));
}catch(c){globalVariables.log.error("find contact for sent message",c);
}}else{if(d.isTwitter){a=this.contactsByScreenName.get(b);
}else{a=this.findContactByEmail(b);
}}if(a==null){a=this.createTempContact(b,b,globalVariables.externalServiceManager(),d.options.externalServiceId,d.options.serviceAccountId,null,null);
}return a;
},findUnifiContact:function(g){var a=g.id;
var d=g.normalizedFullName;
var b=g.emails;
var k=g.twitterContacts;
var m;
if(a>0){m=this.contactsByContactId["th"+a];
}if(m==null){m=this.findContactByName(d);
}if((m==null)&&(b!=null)){for(var e=0;
(f<b.length)&&(m==null);
e++){m=this.findContactByEmail(b[e].email);
}}if((m==null)&&k&&(k.length>0)){for(var f=0;
(f<k.length)&&(m==null);
f++){var o=k[f];
var l=o.email;
var c=o.twitterName;
var n=o.twitterId;
var h=o.twitterUser;
m=this.contactsByScreenName.get(h);
if(!m){m=this.findContactBySocialNetworkId(8,n);
}if(!m){m=this.findContactByEmail(l);
}if((m==null)&&(!this.isEmpty(c))){m=this.findContactByName(c);
}}}return m;
},getFacebookProfile:function(a){if(this.fetched){globalVariables.facebookConnectInstance.getProfileInfo(a,null);
}else{this.uidsToFetch.include(a);
}},isEmpty:function(a){return(a==null)||(a.length==0);
},isFollowing:function(b,g){var f=[],d,e=globalVariables.unifiAccountInstance.twitterAccountIds;
b=b.toLowerCase();
for(var c=0,a=e.length;
c<a;
c++){d=e[c];
if(this.followListByAccount[d]){if(this.followListByAccount[d].contains(b)==g){f.include(d);
}}}return f||false;
},normalizeFromName:function(a){a=a.toLowerCase();
a=a.replace(/\'.*?\'/gi,"");
a=a.replace(/\".*?\"/gi,"");
return a;
},parseContactsResponse:function(n){var a=false;
var g=globalVariables.unifiAccountInstance;
var s="th"+g.personId;
if(!this.lastChecked){var w=g.twitterAccounts;
var m=globalVariables.twitterApi();
for(var r=0,e=w.length;
r<e;
r++){var o=w[r].options.replyTo;
var b=new TwitterFriendsIdsResponseHandler(o,w[r].options.id);
var z={screen_name:o,suppress_response_codes:1};
m.getFriendsIds(z,b,w[u]);
}}if($defined(n.updateDate)){this.lastChecked=n.updateDate;
var d=n.persons;
if((d!=null)&&(d.length>0)){for(var t=0;
t<d.length;
t++){this.addUnifiContact(d[t]);
}a=true;
}var y=this.contactsByContactId[s];
if(y==null){y=this.createNewContact(null,s);
}if(globalVariables.unifiAccountInstance.myContact){y.changeListeners=globalVariables.unifiAccountInstance.myContact.changeListeners;
}globalVariables.unifiAccountInstance.myContact=y;
this.fireEvent("myContactCreated");
var c=n.fbFriends;
if(c&&(c.length>0)){var h=g.facebookAccount;
var v;
var q=c.length;
g.numFacebookFriends=q-1;
for(var u=0;
u<q;
u++){try{v=this.addFacebookFriend(c[u],h);
v.isFacebookFriend=true;
this.uidsToFetch.erase(c[u].uid);
}catch(f){globalVariables.log.error("error adding facebook friend",f);
}}}var p=this;
this.fetched=true;
this.uidsToFetch.clean().each(function(j){p.getFacebookProfile(j);
});
try{this.fireEvent("contactsLoaded");
}catch(f){globalVariables.log.error("error on contacts loaded",f);
}this.removeEvents("contactsLoaded");
globalVariables.unifiAccountInstance.setMyInfo();
}this.checkForUpdates=a;
if(a){this.fetchUnifiContacts.delay(30000,this);
}}});
ContactManager.implement(new Events());
var Contact=new Class({changeListeners:null,contactId:null,contactInfo:{facebook:new Array(),twitter:new Array(),email:new Array()},emails:[],facebookAccounts:null,facebookAboutMe:null,facebookUid:null,facebookPhotos:new Array(),favIcon:null,flickrIds:new Array(),flickrPhotos:new Array(),hasPublicInfo:false,info:new Array(),infoByAccountId:new Array(),isFacebookFriend:false,isFacebookGroup:false,publicInfoData:null,publicInfoListeners:new Array(),socialNetworks:new Array(),socialNetworkIds:null,twitterAccounts:null,twitterDescription:null,twitterAccountsRequested:false,temporary:false,firstName:null,lastName:null,displayName:null,initialize:function(a,b){this.options=a;
this.contactId=b;
this.changeListeners=new Array();
this.socialNetworks=new Array();
this.socialNetworkIds=new Array();
this.twitterAccounts=new Array();
},addChangeListener:function(a){if(!this.changeListeners.contains(a)){this.changeListeners.push(a);
}},addEmail:function(c,a){if(!$defined(c)){return;
}for(var b=0;
b<this.emails.length;
b++){if(this.emails[b].email==c){return;
}}this.emails[this.emails.length]={email:c,id:0};
this.hasPublicInfo=false;
a.fileContactByEmail(this,c);
},addInfo:function(f,h,e){var b=h+"";
h=parseInt(b);
var d=this.info[h];
var a=this.infoByAccountId[h];
if(!$defined(d)){d=new Array();
this.info[h]=d;
}if(!$defined(a)){a=new Array();
this.infoByAccountId[h]=a;
}if($defined(a[e])){var c=a[e];
if(c.serviceUid==f.serviceUid){c.mergeData(f.options);
}else{if(!c.displayName&&!c.smallImageUrl&&(f.displayName||f.smallImageUrl)){this.replaceInfo(c,f,h,d,a);
}else{if((!c.displayName||!c.smallImageUrl)&&f.displayName&&f.smallImageUrl){this.replaceInfo(c,f,h,d,a);
}else{d[d.length]=f;
}}}}else{a[e]=f;
f.serviceAccountId=e;
f.serviceId=h;
d[d.length]=f;
}f.contact=this;
var g;
if(h==5){g=this.getFacebookInfo(f.options.uid);
if(!g){this.contactInfo.facebook[this.contactInfo.facebook.length]=f;
d[d.length]=f;
}else{g.mergeData(f.options);
}}else{if(h==8){g=this.getTwitterInfo(f.options.screen_name);
if(!g){this.contactInfo.twitter[this.contactInfo.twitter.length]=f;
}else{g.mergeData(f.options);
}}}this.firstName=this.getInfoProperty(0,0,"firstName"),this.lastName=this.getInfoProperty(0,0,"lastName"),this.displayName=this.getInfoProperty(0,0,"displayName");
},replaceInfo:function(b,d,e,c,a){c[c.indexOf(b)]=d;
a[a.indexOf(b)]=d;
if(e==5){this.contactInfo.facebook[this.contactInfo.facebook.indexOf(b)]=d;
}else{if(e==8){this.contactInfo.twitter[this.contactInfo.twitter.indexOf(b)]=d;
}}},addPublicInfoListener:function(a){if(!this.publicInfoListeners.contains(a)){this.publicInfoListeners.push(a);
}},findProperty:function(c,b){if($defined(c)){for(var a=0;
a<c.length;
a++){if(c[a][b]){return c[a][b];
}}}return null;
},getDisplayName:function(d,c,a,b){return this.getInfoProperty(d,c,"displayName",a,b);
},getFacebookId:function(){return(this.facebookUid>0)?this.facebookUid:this.socialNetworkIds[5];
},getInfoRecord:function(c,b){var a=this.infoByAccountId[c];
return($defined(a))?a[b]:null;
},getInfoProperty:function(m,a,c,b,f){var e=null;
var k=null;
if(m==5&&$defined(b)){e=this.getFacebookInfo(b);
}else{if(m==8&&$defined(f)){e=this.getTwitterInfo(f);
}else{if(m==8){for(var h=0;
h<this.contactInfo.twitter.length;
h++){if(this.contactInfo.twitter[h].fromTwitter){e=this.contactInfo.twitter[h];
}}}}}if(e){k=e[c];
if(k){return k;
}}var n=this.info[m];
var d=this.infoByAccountId[m];
var l=null;
if($defined(d)){l=d[a];
if($defined(l)&&(l[c])){return l[c];
}else{k=this.findProperty(n,c);
}}if(k){return k;
}k=this.findProperty(this.info[5],c);
if(k){return k;
}e=null;
for(var g=0;
g<this.contactInfo.twitter.length;
g++){if(this.contactInfo.twitter[g].fromTwitter){e=this.contactInfo.twitter[g];
}}if(e){k=e[c];
if(k){return k;
}}if(this.contactInfo.twitter.length>1){k=this.findProperty(this.info[8],c);
if(k){return k;
}}k=this.findProperty(this.info[2],c);
if(k){return k;
}k=this.findProperty(this.info[1],c);
if(k){return k;
}k=this.findProperty(this.info[3],c);
if(k){return k;
}k=this.findProperty(this.info[4],c);
if(k){return k;
}k=this.findProperty(this.info[6],c);
if(k){return k;
}k=this.findProperty(this.info[7],c);
if(k){return k;
}return(k)?k:null;
},getLargePicUrl:function(b,a){return this.getInfoProperty(b,a,"largePicUrl");
},getSmallPicUrl:function(d,c,a,b){return this.getInfoProperty(d,c,"smallPicUrl",a,b);
},getFacebookInfo:function(b){for(var a=0;
a<this.contactInfo.facebook.length;
a++){if(this.contactInfo.facebook[a].options.uid==b){return this.contactInfo.facebook[a];
}}return null;
},getTwitterInfo:function(a){for(var b=0;
b<this.contactInfo.twitter.length;
b++){if(this.contactInfo.twitter[b].options.screen_name==a){return this.contactInfo.twitter[b];
}}return null;
},hasFacebook:function(a,c,b){},hasFlickr:function(a){this.flickrIds[this.flickrIds.length]=a;
},hasOccupations:function(a){},isOnFacebook:function(){return this.socialNetworks.contains(5);
},isInNetwork:function(a){if(a==5){return this.isFacebookFriend;
}else{return this.socialNetworks.contains(a);
}},notifyListeners:function(){for(var a=0;
a<this.changeListeners.length;
a++){this.changeListeners[a].contactModified(this);
}},notifyPublicInfoDataReady:function(b){this.hasPublicInfo=b;
for(var a=0;
a<this.publicInfoListeners.length;
a++){this.publicInfoListeners[a].publicInfoReady();
}},removeChangeListener:function(a){this.changeListeners.erase(a);
},requestPublicInfo:function(){this.publicInfoData=new PublicInfoData(this,this,null);
}});
var cookieRouter=new Class({config:null,shardServer:null,initialize:function(){this.config=globalVariables.config();
this.get_params=globalVariables.getParams().get()||null;
if(this.get_params&&$defined(this.get_params.nr)){return;
}if(this.config.developer){this.shardServer=this.config.absoluteUrlPath;
}else{var a=Cookie.read("shard");
if($defined(a)){this.shardServer="http://"+a+"/";
}}this.redirecting=false;
this.home_page="/index.html";
this.username_elem=$("rtnUser")?$("rtnUser"):$("existing-username");
this.invite_div=$("c_beta_invite");
this.signup_div=$("c_beta_signup");
this.logout_div=$("c_logout");
this.welcome_div=$("c_welcome");
this.page_exceptions=["reset.html"];
this.message_page_exceptions=["modify-account.html"].combine(this.page_exceptions);
this.current_href=document.location.href;
this.current_page=window.location.pathname.substr(1).split("/").pop();
this.message_exception=this.message_page_exceptions.contains(this.current_page);
this.page_ok=this.page_exceptions.contains(this.current_page)||this.current_page.test(/\-{1}n?c{1}\.html$/);
this.logout=$defined(globalVariables.getParams().get().logout);
this.landing_page=null;
this.has_threadsy_account=false;
this.has_external_account=false;
this.aid=Cookie.read("taid")||this.has_threadsy_account;
this.username=Cookie.read("username");
this.set_state();
},set_state:function(){if(this.logout&&(Cookie.read("taid")==null)){this.state="login_rmbr";
}else{if(this.page_ok){this.state="ok";
}else{if(this.aid&&this.username){this.state="messages";
}else{if(this.aid&&this.username){this.state="add";
}else{if(!this.aid&&this.username){this.state="login_rmbr";
}else{if(!this.aid&&!this.username){if(this.get_params.action=="signup"&&this.get_params.code){this.state="beta_signup";
}else{this.state="beta_invite";
}}else{this.state="unknown";
}}}}}}this.direct();
},direct:function(){var d=window.location.href.indexOf("index.html")>-1||window.location.pathname=="/";
var a=globalVariables.getParams().get_clean_string(["logout","nr"]);
if(a=="?"){a="";
}switch(this.state){case"ok":break;
case"add":var c=this.shardServer+"signup.html";
if(this.current_href.indexOf("signup.html")<0){document.location.href=c+a;
this.redirecting=true;
}break;
case"beta_signup":if(!d){document.location.href=this.home_page+a;
this.redirecting=true;
}else{this.signup_div.toggleClass("hide");
this.landing_page="beta_signup";
}break;
case"beta_invite":if(!d){document.location.href=this.home_page+a;
this.redirecting=true;
}else{if(this.invite_div){this.invite_div.toggleClass("hide");
this.landing_page="beta_invite";
}}break;
case"login_rmbr":if(!d){document.location.href=this.home_page+a;
this.redirecting=true;
}else{this.username_elem.value=this.username;
if(this.logout&&this.logout_div){this.logout_div.toggleClass("hide");
this.landing_page="logout";
}else{if(this.welcome_div){this.welcome_div.toggleClass("hide");
this.landing_page="welcome";
}}}break;
case"messages":var b=this.shardServer+"messages.html";
if(this.current_href.indexOf("messages.html")<0&&!this.message_exception){document.location.href=b+a;
this.redirecting=true;
}break;
default:if(!d){document.location.href=this.home_page+a;
this.redirecting=true;
}else{if(this.invite_div){this.invite_div.toggleClass("hide");
}}break;
}}});
var ErrorData=new Class({data:null,date:null,exception:null,message:null,initialize:function(b,a,c){this.data=c;
this.exception=a;
this.message=b;
this.date=new Date();
},formatHtml:function(){return this.date+" "+this.message+" "+this.data+"<br/>";
}});
var DashboardApiInfo=new Class({api:null,errors:null,errorCounts:null,errorLimit:10,initialize:function(a){this.api=a;
this.errors=new Array();
this.errorCounts=new Hash();
},addError:function(c){var a=this.formatDate(new Date());
this.errors[this.errors.length]=c;
while(this.errors.length>this.errorLimit){this.errors.splice(0,1);
}var b=this.errorCounts.get(a);
this.errorCounts.set(a,($defined(b))?b+1:1);
},formatDate:function(c){var e=c.getMonth()+1;
var b=c.getDate();
var a=c.getHours();
var d=c.getYear()+1900;
e=(e<10)?"0"+e:""+e;
b=(b<10)?"0"+b:""+b;
a=(a<10)?"0"+a:""+a;
return d+"."+e+"."+b+" "+a;
},formatHtml:function(){var c="<b>"+this.api+"</b><br/>";
this.errorCounts.each(function(e,d){c+=d+": "+e+"<br/>";
});
c+="<br/><br/>";
for(var b=0,a=this.errors.length;
b<a;
b++){c+=this.errors[b].formatHtml();
}return c;
}});
var Dashboard=new Class({apis:["facebook","twitter","flickr","bitly"],apiData:new Array(),initialize:function(){var c;
for(var b=0,a=this.apis.length;
b<a;
b++){c=this.apis[b];
this.apiData[c]=new DashboardApiInfo(c);
}},addApiError:function(b,d,c,e){var a=this.apiData[b];
if(!$defined(a)){a=new DashboardApiInfo(b);
this.apiData[b]=a;
this.apis[this.apis.length]=b;
}a.addError(new ErrorData(d,c,e));
},formatHtml:function(){var c="";
for(var b=0,a=this.apis.length;
b<a;
b++){c+=this.apiData[this.apis[b]].formatHtml();
}return c;
}});
Element.implement({delegateEvent:function(f,a,e,d,c){var b=function(g){return Element.match(g,a);
};
return this.addEvent(f,function(g){var h=g.target;
while(h!=document.body){if(b(h)){if(d){g.preventDefault();
}if(c){g.stopPropagation();
}return e.apply($(h),[g]);
}h=h.parentNode;
if(h==null){return false;
}}}.bind(this));
}});
var externalAccount=new Class({fetching:false,folders:{inbox:{},sent:{},trash:{},user:[]},options:{id:null,username:null,externalServiceId:0,numFailures:0,failureType:"",name:null,personId:0,primary:false,replyTo:null,userId:null,uid:0,authKey1:null},initialize:function(f){var c=this;
this.options=f;
var a;
if(this.options.serviceTags){for(var e=0,b=this.options.serviceTags.length;
e<b;
e++){a=this.options.serviceTags[e];
if(a.type=="user"){var d=new ServiceAccountTag(a);
this.folders.user.push(d);
}else{if(a.type=="inbox"){this.folders.inbox=a;
}else{if(a.type=="sent"){this.folders.sent=a;
}else{if(a.type=="deleted"){this.folders.deleted=a;
}}}}}}this.folders.user=this.folders.user.sort(this.sortMultiArrayCallBack);
},hasOauth:function(){return authKey1&&authKey1!=""&&externalServiceId==8;
},isRegistered:function(){return this.options.id&&(this.options.id>0);
},sortMultiArrayCallBack:function(e,d){var c=e.data.name+"",f=d.data.name+"";
c=c.toUpperCase();
f=f.toUpperCase();
if(c==f){return 0;
}return(c<f)?-1:1;
}});
var externalServiceManager=new Class({serviceMap:null,options:{services:["","yahoo","gmail","aol","hotmail","facebook","myspace","unifi","twitter"]},initialize:function(){},getById:function(a){return this.getServiceById(a).shortName;
},getByName:function(a){return(this.options.services.contains(a))?this.options.services.indexOf(a):this.options.services.indexOf("gmail");
},getLogoById:function(b){var a=this.options.services[b]=="facebook"?"fb_connect":this.options.services[b];
return globalVariables.configInstance.staticServer+"images/logos/"+a+".png";
},getServiceById:function(b){if(!$defined(b)||(b>this.serviceMap.length)){return this.serviceMap[0];
}var a=this.serviceMap[b];
if(!$defined(a)){return this.serviceMap[0];
}return a;
},getTitleById:function(a){return this.options.services[a];
},isAolMail:function(a){return["aol.com","aim.com"].contains(a);
},isFacebook:function(a){return"facebook"==this.getById(a);
},isGmail:function(a){return"gmail"==this.getById(a);
},isHotmail:function(a){return["hotmail.com","live.com","msn.com"].contains(a);
},isTwitter:function(a){return"twitter"==this.getById(a);
},isYahooMail:function(a){return["yahoo.com","rocketmail.com","ymail.com"].contains(a);
},isSocialNetwork:function(a){return this.getServiceById(a).type==2;
},isEmail:function(a){return this.getServiceById(a).type==1;
},setServices:function(b){this.serviceMap=new Array();
for(var a=0;
a<b.length;
a++){this.options.services[b[a].id]=b[a].shortName;
this.serviceMap[b[a].id]=b[a];
}this.serviceMap[0]={id:0,name:null,type:0};
}});
var FacebookContactInfo=new Class({Extends:contactInfo,serviceAccountId:0,options:{first_name:null,last_name:null,name:null,pic:null,pic_big:null,pic_small:null,pic_square:null,uid:0},sizes:["pic_square","pic_small","pic","pic_big"],initialize:function(a){this.parent(a);
},buildDisplayName:function(b){var a=b.name;
if(a==null){if(b.first_name==null){if(b.last_name!=null){a=b.last_name;
}}else{if(b.last_name==null){a=b.first_name;
}else{a=b.first_name+" "+b.last_name;
}}}if(a){return a;
}else{return"";
}},mergeData:function(b){if((b.firstName!=this.options.firstName)||(b.lastName!=this.options.lastName)){var a=this.buildDisplayName(b);
this.displayName=a;
this.options.first_Name=b.first_name;
this.options.last_Name=b.last_name;
this.normalizedFullName=a.toLowerCase();
}if((b.pic_small!=this.options.pic_small)||(b.pic!=this.options.pic)||(b.pic_big!=this.options.pic_big)||(b.pic_square!=this.options.pic_square)){if(b.pic_small){this.options.pic_small=b.pic_small;
}if(b.pic){this.options.pic=b.pic;
}if(b.pic_big){this.options.pic_big=b.pic_big;
}if(b.pic_square){this.options.pic_square=b.pic_square;
}this.setPicUrls(this.options.pic_small,this.options.pic,this.options.pic_big,this.options.pic_square);
}if(b.about_me&&(b.about_me!=this.options.about_me)){this.options.about_me=b.about_me;
}},processData:function(b){var a=this.buildDisplayName(b);
this.displayName=a;
this.firstName=b.first_name;
this.lastName=b.last_name;
this.normalizedFullName=(a)?a.toLowerCase():null;
this.serviceUid=b.uid+"";
if(!b.pic_small&&!b.pic&&!b.pic_big&&!b.pic_square){b.pic_square="http://static.ak.fbcdn.net/pics/q_silhouette.gif";
}this.setPicUrls(b.pic_small,b.pic,b.pic_big,b.pic_square);
}});
var FacebookFormatter=new Class({likesCount:null,moreComments:null,numberOfComments:null,initialize:function(){},cleanText:function(b){var a=b.stripScripts();
return this.cleanHtml(a);
},cleanHtml:function(a){var b=document.createElement("textarea");
b.innerHTML=a.replace(/</g,"&lt;").replace(/>/g,"&gt;");
return b.value;
},errorMessage:function(b,d,c){var a=this;
this.errorMessageDestroy();
this.errorBox=new Element("div",{html:c,"class":"error-box"}).adopt(new Element("div",{html:"close","class":"error-box-close",events:{click:function(){a.errorBox.destroy();
}}})).inject(b,d);
},errorMessageDestroy:function(){if(this.errorBox){this.errorBox.destroy();
}},formatWallPost:function(d,a,c,f,e){var b;
f.wallPostAvatar=new AvatarDisplay(f.contact,f.options,{addDivClass:true,addEvent:true,divClass:"facebook-wallpost-picture"});
f.wallPostAvatar.createElement("");
this.facebookWallpost=new Element("div",{"class":"facebook-wallpost"}).adopt(this.wallpostPicture=f.wallPostAvatar.element,this.wallpostHeader=new Element("div",{"class":"facebook-wallpost-header"}),this.wallpostBody=new Element("div",{"class":"facebook-wallpost-body"}),this.wallpostFooter=new Element("div",{"class":"facebook-wallpost-footer"}));
this.generateWallpostHeader(d,f);
this.generateWallpostBody(d,a,c,f,e);
this.generateWallpostFooter(d,e);
return this.facebookWallpost;
},generateCommentCount:function(b,c){var d=(b.comments&&b.comments.comment_list)?b.comments.comment_list.length:0;
if(!this.numberOfComments){this.numberOfComments=(b.comments.count)?b.comments.count:0;
}var a;
var e=(this.numberOfComments>1)?"comments.":"comment.";
if(this.numberOfComments>d){this.moreComments=new Element("em",{html:"view all "+this.numberOfComments+" comments."});
}if(this.numberOfComments>0){a=new Element("div",{"class":"fwp-comment-count"}).adopt(this.commentCount=Element("strong",{"class":"conversation-icon",html:this.numberOfComments}),new Element("p").adopt(new Element("span",{html:e+" "}),this.moreComments));
a.inject(this.wallpostBody,"top");
if(this.moreComments){a.addEvent("click",c);
a.addClass("fwp-more-comments");
}}},generateLikes:function(d){if(this.likeState==""){return;
}if(!this.likesCount&&this.likesCount!==0){this.likesCount=d.likes.count;
}var c=d.likes.user_likes;
var b="";
this.likesContainer.set("html","");
if(c){this.likeState.set("html","unlike");
}else{this.likeState.set("html","like");
}var a=($defined(d.likes.friends))?this.getFriend(d.likes.friends[0]):null;
if(this.likesCount>0){if(!c){if(this.likesCount==1){b=a+" likes this";
}else{if(this.likesCount>1){b=this.likesCount+" people like this";
}}}else{if(c){if(this.likesCount==1){b="you like this";
}else{if(this.likesCount==2){b="you and "+a+" like this";
}else{if(this.likesCount>2){b="you and "+(this.likesCount-1)+" other people like this";
}}}}}this.likesBox=new Element("div",{"class":"fwp-likes-count",html:'<div class="liked"></div><div class="liked-text">'+b+"</div>"}).inject(this.likesContainer);
}},generateWallpostBody:function(n,j,o,r,l){var b=this;
if(n.comments.can_post||n.likes){new Element("div",{"class":"fwp-nub"}).inject(b.wallpostBody);
}this.likesContainer=new Element("div",{"class":"fwp-likes-count-container"}).inject(b.wallpostBody);
b.generateLikes(n);
b.generateCommentCount(n,l);
var c=(n.comments&&n.comments.comment_list)?n.comments.comment_list.length:0;
this.commentBlock=new Element("div",{"class":"fwp-comments"});
for(var k=0;
k<c;
k++){var h=n.comments.comment_list[k].fromid;
var g=globalVariables.unifiAccountInstance.contactManager.findContactBySocialNetworkId(5,h);
var m=(g)?g.getDisplayName(j,o):"a friend";
var f=(g)?g.getSmallPicUrl(j,o):"http://static.ak.fbcdn.net/pics/q_silhouette.gif";
if(!f){f="http://static.ak.fbcdn.net/pics/q_silhouette.gif";
}var p=new formattedDate(n.comments.comment_list[k].time*1000).formatFacebook();
var e;
var q;
var a="";
if(g){e='<a href="#" class="'+a+'_name" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person",m,g.contactId)+' return false;">';
q='<a href="#" class="'+a+'_pic" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person",m,g.contactId)+' return false;">';
}else{a="unknownFB_"+n.comments.comment_list[k].fromid;
e='<a href="http://www.facebook.com/profile.php?id='+h+'" target="threadsy" class="'+a+'_name">';
q='<a href="http://www.facebook.com/profile.php?id='+h+'" target="threadsy" class="'+a+'_pic">';
globalVariables.facebookConnectInstance.getProfileInfo(h,r.body);
}var d=globalVariables.textHelpersInstance.urlConvertNoMedia(n.comments.comment_list[k].text,true);
new Element("div",{"class":"facebook-wallpost-comment",html:q+'<img src="'+f+'" class="'+a+'"/></a><p><strong>'+e+m+"</a></strong> "+d+'</p><div class="fwp-comment-date">'+p+"</div>"}).inject(b.commentBlock);
}this.commentBlock.inject(b.wallpostBody);
},generateWallpostFooter:function(a,b){if(a.comments.can_post){this.messageBox(a,b).inject(this.wallpostFooter);
}},generateWallpostHeader:function(c,e){var a=this;
var f=globalVariables.textHelpersInstance.urlConvertNoMedia(e.options.subject,true);
new Element("p",{"class":"fwp-title",html:'<a href="#" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person","",e.contact.contactId)+' return false;">'+e.options.fromName+"</a> "+globalVariables.textHelpersInstance.removeScripts(f)}).inject(this.wallpostHeader);
this.wallpostHeader.adopt(this.getAttachment(c));
var b=new formattedDate(c.created_time*1000).formatFacebook();
if(c.attachment.icon){var d=new Element("img",{src:c.attachment.icon,"class":"fwp-icon"});
}if(c.comments.can_post){this.commentLink=new Element("a",{href:"#",html:"comment",events:{click:function(h){h.preventDefault();
var g=a.facebookWallpost.getParent();
g.scrollTo(0,100000);
a.fbCommentBox.focus();
}}});
}else{this.commentLink="";
}if(c.likes){this.likeState=Element("strong",{html:"like",events:{click:function(){a.toggleLikes(c);
}}});
}else{this.likeState="";
}new Element("div",{"class":"fwp-actions"}).adopt(d,new Element("p").adopt(new Element("em",{html:b}),this.commentLink,this.likeState),new Element("div",{"class":"clear"})).inject(this.wallpostHeader);
},getAttachment:function(l){if(l.attachment){var d=new Element("div",{"class":"fwp-attachments"});
if(l.attachment.name){var h="#";
if(l.attachment.href){h=l.attachment.href;
}var n="";
if(l.attachment.fb_object_type=="album"){var k=l.attachment.fb_object_id.split("_",2);
var g=k[0];
var m=k[1];
n="http://www.facebook.com/album.php?aid="+m+"&id="+g;
}else{n=l.attachment.href;
}new Element("a",{html:l.attachment.name,href:n,target:"_blank","class":"facebook-wallpost-attachment-title"}).inject(d);
}if(l.attachment.caption){new Element("p",{html:l.attachment.caption,"class":"facebook-wallpost-source"}).inject(d);
}if(l.attachment.description){new Element("div",{html:this.cleanText(l.attachment.description),"class":"facebook-wallpost-description"}).inject(d);
}if(l.attachment.properties){if(l.attachment.properties.length>0){var a=l.attachment.properties;
var j=new Element("dl");
for(var f=0;
f<a.length;
f++){new Element("dt",{html:a[f].name+":"}).inject(j);
new Element("dd",{html:a[f].text}).inject(j);
}j.inject(d);
}}if(l.attachment.media){for(var f=0;
f<l.attachment.media.length;
f++){switch(l.attachment.media[f].type){case"photo":new Element("a",{href:l.attachment.media[f].href,"class":"fwp-attachments-item",target:"_blank"}).adopt(new Element("img",{src:l.attachment.media[f].src,target:"_blank","class":"facebook-wallpost-photo"})).inject(d,"top");
break;
case"video":case"flash":var c=new Element("div",{"class":"fwp-attachments-item"}).adopt(new Element("img",{src:l.attachment.media[f].src,events:{click:function(){this.setStyle("display","none");
b();
}}})).inject(d,"top");
var e=l.attachment.media[f].video.source_url;
function b(){new Swiff(e,{width:"420px",height:"335px"}).inject(c);
}break;
case"link":new Element("a",{href:l.attachment.media[f].href,"class":"fwp-attachments-item"}).adopt(new Element("img",{src:l.attachment.media[f].src,target:"_blank"})).inject(d,"top");
break;
case"mp3":break;
default:}}}if(d.firstChild){return d.adopt(new Element("div",{"class":"clear"}));
}else{return null;
}}},getFriend:function(b){try{var d=parseInt(b);
var a=globalVariables.unifiAccountInstance.contactManager.findContactBySocialNetworkId(5,d);
if(a){b=a.getDisplayName(5,d);
}else{b="a friend";
}}catch(c){if(!$defined(b)){b="a friend";
}globalVariables.log.error("get facebook friend",err);
}return b;
},messageBox:function(d){var a=this;
var c="write a comment...";
var f=globalVariables.unifiAccountInstance.getMyContact();
var e=globalVariables.unifiAccountInstance.getFacebookAccount().options.id;
var b=f.getSmallPicUrl(5,e);
return new Element("div",{"class":"fb-comment-box"}).adopt(new Element("img",{src:b,alt:"picture",events:{click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:f,displayName:""}});
}}}),this.fbCommentBox=new Element("textarea",{rows:"2",cols:"20",text:c,events:{focus:function(){if(this.value==c){this.setStyle("color","#333");
this.value="";
}},blur:function(){if(this.value==""){this.value=c;
this.setStyle("color","#999");
}}}}),this.fbCommentSubmit=new Element("div",{"class":"fb-comment-submit-wrapper",events:{click:function(h){h.stop();
var g=a.fbCommentBox.get("value");
if(g!=c){globalVariables.announcementBar().createAnnouncement("posting your comment...");
globalVariables.facebookConnectInstance.addComment(d.post_id,g,function(j){if(j.error){globalVariables.announcementBar().removeAnnouncement();
a.errorMessage(a.wallpostFooter,"top","sorry we were unable to post your comment, please try again later");
}else{globalVariables.announcementBar().createAnnouncement("your comment has been posted successfully",null,"success");
a.fbCommentBox.value=c;
a.fbCommentBox.setStyle("color","#999");
a.tempComment(a.commentBlock,"bottom",g);
a.errorMessageDestroy();
new Tracking({a:"aSend",vCR:globalVariables.unifiAccountInstance.numFacebookFriends,vES:5,vHA:0,vST:"fbc",vIO:1}).send();
}},function(){globalVariables.announcementBar().removeAnnouncement();
a.errorMessage(a.wallpostFooter,"top","sorry we were unable to post your comment, please try again later");
});
}}}}).adopt(new Element("div",{"class":"fb-comment-submit",html:"comment"})),new Element("div",{"class":"clear"}));
},tempComment:function(d,j,a,h,e){var b=$time();
var l=new formattedDate(b).formatFacebook();
var f=globalVariables.unifiAccountInstance.getFacebookAccount().options.id;
var c=globalVariables.unifiAccountInstance.getMyContact();
var k=c.getSmallPicUrl(5,f);
var g=c.getDisplayName(5,f);
this.numberOfComments=this.numberOfComments+1;
if(this.commentCount){this.commentCount.set("html",this.numberOfComments);
}else{this.generateCommentCount(h,e);
}if(this.moreComments){this.moreComments.set("html","view all "+this.numberOfComments+" comments.");
}this.tempFacebookComment=new Element("div",{"class":"facebook-wallpost-comment"}).adopt(new Element("a",{href:"#",title:g,events:{click:function(m){m.preventDefault();
globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:c,displayName:""}});
}}}).adopt(new Element("img",{src:k,alt:"",width:33,"class":"unifi_FBCommentImageInstance",events:{click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:c,displayName:""}});
}}})),new Element("p",{html:"<strong>"+g+"</strong> "+a}),new Element("div",{"class":"fwp-comment-date",html:l}),new Element("div",{"class":"clear"})).inject(d,"bottom");
},toggleLikes:function(c){var d=c.post_id;
if(!$defined(c)){globalVariables.log.warn("Trying to add/remove likes on non-existant post DATA postId: "+d);
return;
}if(!c.likes.pending_like){c.likes.pending_like=true;
var a=true;
var b="you like this";
if(c.likes.user_likes){b="click here to like this";
a=false;
}globalVariables.facebookConnectInstance.setLikes(d.substring(2),a,function(){if(c.likes.user_likes){c.likes.user_likes=false;
c.messageDisplay.facebookLike.removeClass("fb-link-like-active");
}else{c.likes.user_likes=true;
c.messageDisplay.facebookLike.addClass("fb-link-like-active");
}c.messageDisplay.facebookLike.set("title",b);
c.likes.pending_like=false;
},function(){c.likes.pending_like=false;
});
}}});
var MessageDisplayFacebook=new Class({Extends:MessageDisplay,isFavorite:false,previewElement:null,type:null,initialize:function(c,a,b){this.parent(c,a,b);
this.message=c;
this.messageList=a;
this.options=b;
},conversationCount:function(){return this.message.options.manufacturedUid;
},createElement:function(){this.type=this.getType();
this.setReadFlags();
this.addTotal=this.message.addTotal;
this.createHighlight();
this.createDatePointer();
this.createMessageSubjectPointer();
this.element=this.createElementContainer();
if(this.message.options.starredFlag){this.setFavorite("pre");
}this.addMessageEvents();
this.changeRepliedStatus();
},createMessageFooterControl:function(d,b,e,c){var a="";
if(this.type=="message"){a=new Element("li").adopt(new Element("a",{"class":"unifi_messageButtons unifi_thisQuickReply ",href:"#"}).adopt(new Element("div",{"class":"threadsy_bl_small"}),new Element("div",{"class":"threadsy_bm_small",html:"reply"}),new Element("div",{"class":"threadsy_br_small"})));
}return this.messageFooterControl=new Element("ul",{"class":"unifi_messageFooterControl"}).adopt(a,new Element("li").adopt(new Element("a",{"class":"unifi_messageButtons unifi_thisDelete ",href:"#"}).adopt(new Element("div",{"class":"threadsy_bl_small"}),new Element("div",{"class":"threadsy_bm_small",html:"delete"}),new Element("div",{"class":"threadsy_br_small"}))),c);
},createMessageSubjectPointer:function(){var c="";
var a="";
if(this.type=="message"){c=new Element("div",{"class":"smallText",html:this.setMessagePreview()});
}else{if(this.type=="wallpost"&&(this.conversationCount()>0)){a="facebook-wallpost-subject";
c=new Element("div").adopt(this.previewElement=new Element("div",{"class":"smallText",html:"<strong>"+this.wallPosterName()+"</strong> "+this.setMessagePreview()}),new Element("div",{"class":"clear"}));
var b=new Element("div",{"class":"conversation-icon",html:this.conversationCount()});
}}this.msgSubjectPointer=new Element("div",{"class":"unifi_messageSubjectContain facebook "+a}).adopt(new Element("div",{"class":"unifi_messageSubject",html:this.getMessageTitle()}),b,this.msgPrevDisplay=new Element("div",{"class":"unifi_messagePreview"}).adopt(c));
},createToDisplay:function(){var b=(this.type=="message")?"facebook_mail.png":"facebook_wall.png";
var a=(this.type=="message")?"facebook message":"facebook wallpost";
return new Element("div",{"class":"unifi_toDisplay unifi_toDisplay_facebook",title:this.setToAddress()}).adopt(new Element("img",{src:globalVariables.configInstance.staticServer+"images/icons/"+b,"class":"facebook-inbound-icon",title:a}));
},getType:function(){if(this.message.options.messageType==4){return"wallpost";
}else{return"message";
}},injectBody:function(a){var c=this.msgContentArea;
if(c&&!this.bodyInjected&&(a)){this.bodyInjected=true;
if(this.message.options.messageType==4){c.set("html","");
c.adopt(a);
}else{c.set("html",a);
}globalVariables.textHelpersInstance.removeScriptAnchors(c);
this.fireEvent("bodyInjected");
var b=new Element("img",{styles:{position:"absolute",width:1,height:1},events:{readystatechange:function(){this.messageBodyLoaded($time());
}.bind(this),load:function(){this.messageBodyLoaded($time());
}.bind(this),error:function(){this.messageBodyLoaded($time());
}.bind(this)}}).inject(c,"bottom");
b.src="http://p.unifi.me/images/backgrounds/one-pixel.png";
}},redisplayFromName:function(){if(this.fromNameElement){this.fromNameElement.set("html",this.message.options.fromName);
}if(this.previewElement){var b=".unknownFB_"+this.message.lastSenderId+"_name";
var a=this.previewElement.getElement(b);
if(a){a.set("html",this.message.options.fromName);
}}},setAttachmentIcon:function(){var c=globalVariables.textHelpers().testYouTube(this.message.options.subject);
var b=globalVariables.textHelpers().testPics(this.message.options.subject);
if(c||b){var a=new Element("div",{"class":"unifi_msgSubjectAttachmentTwitter"});
this.message.options.hasAttachments=true;
if(c){a.addClass("video");
}else{if(b){a.addClass("photo");
}}return a;
}},wallPosterName:function(){var f=0;
try{f=parseInt(this.message.fromName);
}catch(e){}if(!this.message.replyToString&&!f){return"";
}var d="loading...";
if(!f){var b=this.message.replyToString.indexOf(",");
if(b>-1){try{f=parseInt(this.message.replyToString.substring(0,b));
d=this.message.replyToString.substring(b+1);
}catch(e){}}}if(!f){return"";
}if((d==f)||!d){d="loading...";
}var a=globalVariables.unifiAccountInstance.contactManager.findContactBySocialNetworkId(5,f);
var c;
if(a){c=a.getDisplayName(this.message.options.externalServiceId,this.message.options.serviceAccountId);
}else{c=(d==f)?"loading...":d;
globalVariables.facebookConnectInstance.getProfileInfo(f,this.message.messageDisplay);
}return'<strong class="unknownFB_'+f+'_name">'+c+"</strong>";
}});
var facebookResponseHandler=new Class({initialize:function(){},addProfiles:function(a,b,g){var e=globalVariables.unifiAccountInstance.contactManager;
var d;
if(g){for(var c=0;
c<g.length;
c++){try{d=g[c];
if(d[b]){d.uid=d[b];
e.addFacebookFriend(d,a);
}}catch(f){globalVariables.log.error("error processing facebook contact for post comments",f);
}}}},getNoteId:function(d){var a;
try{if(d&&(d.indexOf("note.php")>-1)){var b=d.indexOf("note_id=");
if(b>-1){a=d.substring(b+8);
b=a.indexOf("&");
if(b>-1){a=a.substring(0,b);
}}}}catch(c){globalVariables.log.error("error getting note id from facebook post",c);
}return a;
},isStatusPost:function(a){return(a.type&&(a.type==46));
},isWallPost:function(b,a){return(b.type&&(b.type==56))||(a&&b.target_id);
},processAttachment:function(p,n,k){var g=false;
var b=globalVariables.textHelpersInstance;
if(p.attachment){try{k+='<div class="unifi_c_facebookAttachment">';
var f=p.attachment.media;
var a=(f!=null)&&f.length>0;
var r=a&&f.length>1;
var m=null;
if(a){var t=f[0];
if((t.type=="link")||(t.type=="photo")){k+='<a target="threadsy"  class="fb_attachment_pic" href="'+t.href+'"><img src="'+t.src+'" class="unifi_firstFacebookImage" /></a>';
}g=true;
if(t.photo&&t.photo.aid){m=n[t.photo.aid];
}}if(p.attachment.name!=null){if(p.attachment.href){k+=('<div class="unifi_facebookAttachmentName"><a target="threadsy" href="'+p.attachment.href+'">'+globalVariables.textHelpersInstance.replaceCrocs(p.attachment.name)+"</a></div>");
}else{k+=('<div class="unifi_facebookAttachmentName">'+globalVariables.textHelpersInstance.replaceCrocs(comment.text)+"</div>");
}g=true;
}if((p.attachment.caption!=null)&&(p.attachment.caption!="")){if(p.attachment.href){k+=('<span class="unifi_facebookAttachmentCaption"><a target="threadsy" href="'+p.attachment.href+'">'+globalVariables.textHelpersInstance.replaceCrocs(p.attachment.caption)+"</a></span>");
}else{k+=('<span class="unifi_facebookAttachmentCaption">'+globalVariables.textHelpersInstance.replaceCrocs(p.attachment.caption)+"</span>");
}g=true;
}if(p.attachment.description!=null){var q=b.urlConvert(p.attachment.description,false,true);
var h=q.indexOf('onclick="(new Image()).src');
while(h>-1){var e=q.indexOf('"',h+10);
q=q.substring(0,h-1)+q.substring(e);
h=q.indexOf('onclick="(new Image()).src');
}if(q){q=(!q.test('<div class="CopyBody">'))?'<div class="CopyBody">'+q+"</div>":q;
q=q.replace(/\"CopyBody\"?>\s*<br\s*\/?>/,'"CopyBody">');
k+=q;
g=true;
}}if(m!=null){k+='<div class="CopyBody"><a target="threadsy" href="'+m.link+'">'+m.name+"</a><br/>"+m.size+" photos</div>";
}if(a){k+='<div style="clear: both;"></div>';
}if(r){var l='<div class="unifi_c_facebookMoreImages"><div class="unifi_facebookMoreImages">';
k+=l;
var c=false;
for(var o=1;
o<f.length;
o++){var s=f[o];
if(s.type=="link"){c=true;
k+='<a target="threadsy" href="'+s.href+'"><img src="'+s.src+'" /></a>';
}}if(!c){k=k.replace(l,"");
}else{k+='</div><div class="unifi_foot_facebookMoreImages"></div><div class="unifi_SL_facebookMoreImages"></div><div class="unifi_SR_facebookMoreImages"></div><div class="unifi_MM_facebookMoreImages"></div><div class="unifi_TL_facebookMoreImages"></div><div class="unifi_TR_facebookMoreImages"></div><div class="unifi_BL_facebookMoreImages"></div><div class="unifi_BR_facebookMoreImages"></div><div class="clear"></div></div>';
}g=true;
}}catch(d){globalVariables.log.error("error processing facebook stream post attachment",d);
}}if(g){k+='<div class="unifi_TL_facebookAttachment"></div><div class="unifi_TR_facebookAttachment"></div><div class="unifi_MM_facebookAttachment"></div><div class="unifi_SL_facebookAttachment"></div><div class="unifi_SR_facebookAttachment"></div><div class="unifi_BL_facebookAttachment"></div><div class="unifi_BR_facebookAttachment"></div><div class="clear"></div></div>';
}else{k=k.replace('<div class="unifi_c_facebookAttachment">',"");
}return k;
},processCommentResult:function(b,d,k){if(b){var l=globalVariables.unifiAccount().getFacebookAccount();
var q=k.idsToMessages[d];
var m="";
var h=globalVariables.unifiAccount().contactManager;
var a;
var n;
var p;
var e=b.comments;
this.addProfiles(l,"uid",b.profiles);
for(var o=0;
o<e.length;
o++){a=e[o];
if(a.fromid){n=a.fromid;
p=h.findContactBySocialNetworkId(5,n);
var r=(!p)?"unknownFB_"+n:"";
var s=(!p)?"a friend":p.getDisplayName(l.options.externalServiceId,l.options.id);
if(s==null){s="a friend";
}var g=(p)?p.getSmallPicUrl(l.options.externalServiceId,l.options.id):"http://static.ak.fbcdn.net/pics/q_silhouette.gif";
var c=new formattedDate(a.time*1000).formatFacebook();
var j;
var f;
if(p){j='<a href="#" style="'+r+'_name" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person",s,p.contactId)+'return false;">';
f='<a href="#" style="'+r+'_pic" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person",s,p.contactId)+' return false;">';
}else{j='<a href="http://www.facebook.com/profile.php?id='+n+'" target="threadsy" class="'+r+'_name">';
f='<a href="http://www.facebook.com/profile.php?id='+n+'" target="threadsy" class="'+r+'_pic">';
}m+='<div class="unifi_FBhr"></div><div class="unifi_FBblock"><div class="unifi_FBCommentImage">'+f+'<img alt="" width="33" class="unifi_FBCommentImageInstance '+r+'" src="'+g+'" /><span class="unifi_FBRoundedCorners"></span></a></div><div>'+j+s+'</a> <span style="color:#777777">on '+c+"</span><br/>"+globalVariables.textHelpersInstance.replaceCrocs(a.text)+'</div><div class="clear"></div></div>';
}}q.messageDisplay.addComments(m);
}},processStreamResult:function(b,E,p){var c=globalVariables.textHelpersInstance;
globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.stopSpinner("","no statuses found");
if((E!=null)&&(E!="")){globalVariables.log.error("error retrieving facebooks stream",E);
return;
}if(!$defined(b)){globalVariables.log.error("null result retrieving facebook stream");
return;
}if(globalVariables.rightColumnManager.unboundModeManagerInstance.personCardManager.activeContent){globalVariables.rightColumnManager.unboundModeManagerInstance.personCardManager.activeContent.noUpdates("facebook");
}var r=globalVariables.unifiAccount();
var s=r.getFacebookAccount();
var j=r.contactManager;
this.addProfiles(s,"id",b.profiles);
var m=b.posts;
var B=[];
if(b.albums){for(var y=0;
y<b.albums.length;
y++){var q=b.albums[y];
B[q.aid]=q;
}}var F=false;
if(m){for(var A=0;
A<m.length;
A++){try{var D=m[A];
var k="fb"+D.post_id;
var C=j.findContactBySocialNetworkId(5,D.actor_id);
var f=this.isWallPost(D,C);
var d=false;
var e=p.idsToMessages[k];
var u=D.updated_time;
if(isNaN(u)){u=0;
}var o=p.isMessageHidden(k,u);
if(o){}else{if(p.filterOtherPosters&&f){}else{if(e!=null){if(e.updatedTime<u){p.facebookEndTime=(!p.facebookEndTime)?u:Math.max(p.facebookEndTime,u);
e.facebookLinks=e.messageDisplay.generateFacebookLinks(D,k,e.options.noteId);
e.messageDisplay.bottomLinks.set("html","");
e.messageDisplay.bottomLinks.adopt(e.facebookLinks);
}}else{if(p.willInsertMessage(D.updated_time*1000)){p.facebookEndTime=(!p.facebookEndTime)?u:Math.max(p.facebookEndTime,u);
var h=c.replaceCrocs(D.message);
var w="";
if((h==null)||(h=="")){h=(D.attribution==null)?"":c.urlConvert(D.attribution,false,true);
}else{h=c.urlConvert(h,false,true);
if(D.attribution){w=c.urlConvert(D.attribution,false,true);
}}var z=this.getNoteId(D.permalink);
if((D.permalink=="")&&D.attachment){h=this.processTag(D.attachment,h,D.target_id||p.filterFacebookUid,z,j,s);
}var G="";
if(f){var a=(D.target_id)?j.findContactBySocialNetworkId(5,D.target_id):null;
var H=(C)?C.getDisplayName(s.options.externalServiceId,s.options.id):"a friend";
var v=(a)?a.getDisplayName(s.options.externalServiceId,s.options.id):"";
G=H+" &rarr; "+v;
}else{if(C){G=C.getDisplayName(s.options.externalServiceId,s.options.id);
}}var t=h;
if(w){t+='<div class="unifi_hr_stream"></div>';
t+=('<span class="unifi_facebookAttachmentTitle">'+w+"</span>");
}t=this.processAttachment(D,B,t);
t=t.replace(/ft\(&quot;.*?&quot;\);/gm,"");
t=t.replace(/ft\(&amp;.*?quot;\);/gm,"");
e=new FacebookStreamMessage({bccString:null,ccString:null,contactId:null,externalServiceId:5,facePic:true,favIcon:null,messageListId:0,fromAddress:D.actor_id,fromId:null,fromName:G,hasAttachments:false,hasComments:(D.comments)?D.comments.count:0,id:k,miniBody:w,noteId:z,optional:true,readFlag:false,replyToString:null,sentDate:{time:u*1000},serviceAccountId:s.options.id,subject:h,toStr:null,tags:null,uid:D.post_id,userLikes:D.likes.user_likes},p,k,t,C,null);
e.updatedTime=D.updated_time;
e.post=D;
d=p.insertMessage(e,true);
e.likes.user_likes=D.likes.user_likes;
if(d){e.facebookLinks=e.messageDisplay.generateFacebookLinks(D,k,z);
F=true;
}}}}}}catch(g){globalVariables.log.error("error processing facebook post",g);
}}if(F){p.playSound("playNewStatus");
}return p.facebookEndTime;
}},processTag:function(d,a,h,j,g,c){try{var b=d.media&&(d.media.length>0)&&(d.media[0].type=="photo");
if(b||j){var f=(h)?g.findContactBySocialNetworkId(5,h):null;
if(f!=null){f=f.getDisplayName(c.options.externalServiceId,c.options.id);
}else{f="a friend";
}a="tagged "+f+" in a "+((b)?"photo":"note");
}}catch(e){globalVariables.log.error("error processing facebook tag post",e);
}return a;
}});
var FacebookStreamMessage=new Class({Extends:Message,body:null,comments:"",hasComments:0,moreComments:false,initialize:function(f,c,e,d,a,b){this.parent(f,c,e,a);
this.body=new messageBody("",this);
this.summary=d;
if(this.summary){if(b){this.replaceBitlyUrls(b);
}else{globalVariables.textHelpers().expandBitlyLinks(this.summary,this.replaceBitlyUrls.bind(this));
}}},getBody:function(){return this.body.contents;
},setBody:function(a){if(this.body==null){this.body=new messageBody(a,this);
}this.body.contents=a;
this.facebookLinks.inject(this.body.contents,"bottom");
}});
var facebookUpdater=new Class({Extends:optionalStreamUpdater,facebookAccount:null,facebookEndTime:null,filterUid:null,initialize:function(b,c,a){this.parent(b);
this.facebookAccount=c;
this.filterUid=a;
},checkUpdates:function(){globalVariables.facebookConnect().requestStream(this.filterUid,this.facebookEndTime,globalVariables.facebookConnectInstance.statusLimit,this.streamResult.bind(this),this);
},streamResult:function(d,c){var a=new facebookResponseHandler();
for(var b=0;
b<this.listeners.length;
b++){this.facebookEndTime=a.processStreamResult(d,c,this.listeners[b]);
}}});
var Folder=new Class({Implements:[Events],Extends:messageList,divIdString:null,options:{id:0,name:null,folderType:null},initialize:function(a,b){if(b){this.divIdString=b;
}this.options=a;
this.parent();
},divId:function(){if(this.divIdString==null){this.divIdString=this.options.folderType+"_"+this.options.id;
}return this.divIdString;
},fetchMoreMessages:function(h,c,f,e,d,g){var b=globalVariables.messageFilter();
if(!this.fetching&&this.active&&!b.chokeFetch){this.fetching=true;
var a=this.getLastSentDate();
if((a==null)&&(c==0)){c=this.minimumMessages;
}globalVariables.makeShardRequest("headersJ.json",{isAsync:true,data:{folderId:this.options.id,start:h,pageSize:c,lastChecked:globalVariables.unifiAccountInstance.updateDate,lastSentDate:globalVariables.unifiAccountInstance.formatLastSentDate(a),filter:b.isFiltering(),filterValue:b.getFlag(),filterAccounts:b.getFilteredAccounts()},onSuccess:function(l){try{this.initial=false;
if(this.active){if(l&&(l.error!=1)){this.updateDate=l.updateDate;
var n=l.messages.length;
var k=n>0;
var j=l.updates&&(l.updates.length>0);
if(n<c){this.moreMessages=false;
}if(k){this.showMessages(l.messages,f);
}if(j){this.updateMessages(l.updates,f);
}if(k||j){this.refreshCounts();
}}else{}this.fetching=false;
if(e){this.fillMinimumMessages(f);
}globalVariables.inboundManagerInstance.display.updateToolBar();
}else{this.fetching=false;
}}catch(m){globalVariables.log.error("error fetching messages",m);
}this.fireEvent("messagesLoaded");
this.removeEvents();
}.bind(this),onFailure:function(){this.fetching=false;
if(d<g){this.fetchMoreMessages(h,c,f,e,d+1,g);
}else{window.location.href=globalVariables.configInstance.absoluteUrlPath+"error.html";
}}.bind(this)});
}},getTag:function(b){var a=globalVariables.unifiAccountInstance.getAccount(b);
if(this.options.folderType&&a.folders[this.options.folderType]){return a.folders[this.options.folderType];
}return null;
},isFolder:function(){return true;
},parseCounts:function(a){this.unreadCount=0;
this.unreadCountsByExternalAccountId.empty();
for(var b=0;
b<a.length;
b++){var c=a[b];
this.unreadCountsByExternalAccountId[c.serviceAccountId]=c.count;
this.unreadCount+=c.count;
}},refreshCounts:function(){this.updateVisibleMessageCount();
if(this.parentFolder!=null){this.parentFolder.refreshCounts();
}},sameList:function(a){if(a.folderId==this.options.id){if(this.parent){return globalVariables.messageFilterInstance.isVisible(a);
}else{return true;
}}return false;
},toggleCheckAll:function(c){if(c){this.checkedMessages.empty();
var a=0;
$(this.divIdString).getElements(".unifi_messageCheckBox").clean().each(function(d){this.checkedMessages.push(d.getFirst().get("id"));
if(!d.hasClass("unifi_checked")){d.addClass("unifi_checked");
d.getFirst().checked=true;
}a++;
}.bind(this));
var b=a>1?"<strong>"+a+"</strong> messages selected.":a+"message selected";
globalVariables.announcementBar().createAnnouncement(b,4000);
}else{this.checkedMessages.empty();
$$(".unifi_messageCheckBox").clean().each(function(d){if(d.hasClass("unifi_checked")){d.removeClass("unifi_checked");
d.getFirst().checked=false;
}}.bind(this));
}},unreadMessageAdded:function(a){if(this.parentFolder){this.parentFolder.unreadMessageAdded(a);
}this.unreadCount++;
if($defined(this.unreadCountsByExternalAccountId[a])){this.unreadCountsByExternalAccountId[a]++;
}else{this.unreadCountsByExternalAccountId[a]=1;
}if(this.active){this.updateDocumentTitle();
}if(this.tab){this.tab.updateUnreadCounts(this.unreadCount,this.unreadCountsByExternalAccountId);
}},unreadMessageRemoved:function(a){if(this.parentFolder){this.parentFolder.unreadMessageRemoved(a);
}if(this.unreadCount){this.unreadCount--;
}if($defined(this.unreadCountsByExternalAccountId[a])&&this.unreadCountsByExternalAccountId[a]){this.unreadCountsByExternalAccountId[a]--;
}if(this.active){this.updateDocumentTitle();
}if(this.tab){this.tab.updateUnreadCounts(this.unreadCount,this.unreadCountsByExternalAccountId);
}}});
Folder.implement(new Events());
var Footer=new Class({Implements:Events,bubbleOn:false,dashboard:null,dashboardOn:false,feedbackTab:null,footerElement:null,loggedIn:false,msgBubble:null,removingBubble:false,initialize:function(){this.createElement();
if(window.location.href.test("messages.html")){loggedIn=true;
}},createElement:function(){var a=this;
this.footerElement=new Element("div",{id:"unifi_footer"}).adopt(new Element("ul",{id:"unifi_footerList"}).adopt(this.copyright=new Element("li",{html:"&copy; 2009 Threadsy",events:{click:function(){}}}),new Element("li",{id:"external-service-dashboard",html:" * ",styles:{"background-color":"white"},events:{click:function(){a.showDashboard();
}}})));
this.injectElement();
},injectElement:function(){var a=this;
$("unifi_maincontain").grab(a.footerElement,"bottom");
},setActive:function(a){var b=this.footerElement.getElement(".active");
b.removeClass("active");
a.addClass("active");
},showDashboard:function(){if(!this.dashboard){this.dashboard=new Element("div",{styles:{display:"block",left:"90px",position:"absolute",bottom:"-20px","background-color":"white",border:"2px solid black;","font-size":"10px;"}});
this.dashboard.inject(this.footerElement,"top");
}this.dashboardOn=!this.dashboardOn;
if(this.dashboardOn){this.dashboard.set("html",globalVariables.dashboard().formatHtml());
this.dashboard.setStyle("display","block");
}else{this.dashboard.setStyle("display","none");
}}});
var formFields=new Class({initialize:function(){},get_username_fields:function(){},get_password_fields:function(b){var a=new Element("input").setProperties({type:"text",id:"password_text","class":"threadsy_smallInput",value:"enter password",tabindex:b}).addClass("text").addEvent("click",this.toggle_next.bind(this)).addEvent("keydown",this.handle_field_keypress.bind(this));
var c=new Element("input").setProperties({type:"password",id:"password","class":"threadsy_smallInput",tabindex:b}).addClass("password hide");
return{text:a,pass:c};
},get_password_confirm_fields:function(b){var c=new Element("input").setProperties({type:"text","class":"threadsy_smallInput",value:"confirm password",tabindex:b}).addClass("text").addEvent("click",this.toggle_next.bind(this)).addEvent("keydown",this.handle_field_keypress.bind(this));
var a=new Element("input").setProperties({type:"password","class":"threadsy_smallInput",tabindex:b}).addClass("password hide");
return{text:c,pass:a};
},handle_field_keypress:function(a){if(a.key!="tab"){this.toggle_next(a);
}},toggle_elem:function(a){a.toggleClass("hide");
},toggle_next:function(a){var b=a.target.getNext();
this.toggle_elem(a.target);
this.toggle_elem(b);
b.focus();
}});
var formattedDate=new Class({date:null,day:0,dayDiff:-1,days:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayName:null,formattedFacebook:null,formattedFull:null,formattedTime:null,months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],monthsLong:["January","February","March","April","May","June","July","August","September","October","November","December"],month:0,monthName:null,monthNameLong:null,monthDiff:-1,shortYear:0,today:null,year:0,yearDiff:-1,initialize:function(b,a){this.date=new Date();
this.date.setTime(b);
this.month=this.date.getMonth();
this.monthName=this.months[this.month];
this.monthNameLong=this.monthsLong[this.month];
this.year=this.date.getFullYear();
this.shortYear=this.year%100;
this.day=this.date.getDate();
this.dayName=this.days[this.date.getDay()];
this.formatTime();
},formatFacebook:function(){if(!this.formattedFacebook){this.formattedFacebook=this.monthNameLong+" "+this.day+" at "+this.formattedTime;
}return this.formattedFacebook;
},formatFull:function(){if(!this.formattedFull){this.formattedFull=this.dayName+", "+this.monthName+" "+this.day+", "+this.year+" at "+this.formattedTime;
}return this.formattedFull;
},isToday:function(a){if(a){return(this.yearDiff==0&&this.monthDiff==0&&this.dayDiff==0);
}else{if(this.yearDiff<0){return true;
}else{if(this.yearDiff>0){return false;
}else{if(this.monthDiff<0){return true;
}else{if(this.monthDiff>0){return false;
}else{if(this.dayDiff<0){return true;
}else{if(this.dayDiff==0){return true;
}else{return false;
}}}}}}}},formatShort:function(){this.updateComparisons();
var a="";
if(this.isToday(true)){a=this.formattedTime;
}else{if(this.yearDiff==0){a=this.monthName+" "+this.day;
}else{a=(this.month+1)+"/"+this.day+"/"+((this.shortYear<10)?"0":"")+this.shortYear;
}}return a;
},formatTime:function(){var a=this.date.getHours();
var c="AM";
var b=this.date.getMinutes();
if(a>11){a=a-12;
c="PM";
}if(a==0){a=12;
}if(b<10){b="0"+b;
}this.formattedTime=a+":"+b+" "+c;
},updateComparisons:function(){this.today=new Date();
this.yearDiff=this.today.getFullYear()-this.year;
this.monthDiff=this.today.getMonth()-this.month;
this.dayDiff=this.today.getDate()-this.day;
}});
var IframeQueue=new Class({currentRequest:null,element:null,iframe:null,lastRequestTime:0,requester:null,requestQueue:new Array(),service:null,initialize:function(a,b){this.element=b;
this.service=a;
this.iframe=document.getElementById(b);
},findRequest:function(b){var a=null;
var c=0;
while((c<this.requestQueue.length)&&(!$defined(this.requestQueue[c])||(this.requestQueue[c].url!=b))){c++;
}if(c<this.requestQueue.length){a=this.requestQueue[c];
this.requestQueue.splice(c,1);
}return a;
},handleResponse:function(b,d){var a=this.findRequest(b);
if(a){var e=a.callback;
try{if(d.error){globalVariables.log.apiError(this.service,d.error,null,"");
e(null);
}else{if(e){e(d);
}}}catch(c){globalVariables.log.apiError(this.service,c.message,c,"");
}}if(this.requestQueue.length>0){this.setFrameSrc(this.requestQueue[0]);
}},handleResponseFromIframe:function(b,c,a){if(a=="twitter"){globalVariables.twitterQueue().handleResponse(b,c);
}else{if(a=="flickr"){globalVariables.flickrQueue().handleResponse(b,c);
}}},makeRequest:function(a){this.requestQueue[this.requestQueue.length]=a;
if(!this.requester){}else{if(this.requestQueue.length==1){this.setFrameSrc(a);
}else{if((this.lastRequestTime>0)&&(($time()-this.lastRequestTime)>10000)){var b=this.findRequest(this.currentRequest);
if(b){var c=b.callback;
if(c){c(null);
}}this.requestQueue.splice(0,1);
this.setFrameSrc(this.requestQueue[0]);
}else{}}}},setFrameSrc:function(a){if(a){this.currentRequest=a.url;
this.lastRequestTime=$time();
this.requester.makeRequest(a,this.service);
}},setRequester:function(a){this.requester=a;
if(this.requestQueue.length>1){this.setFrameSrc(this.requestQueue[0]);
}}});
var ImagePixel=new Class({Implements:Events,image:null,initialize:function(){this.image=new Element("img",{width:1,height:1,style:{position:"absolute"},events:{readystatechange:this.fireComplete.bind(this),load:this.fireComplete.bind(this),error:this.fireComplete.bind(this)}});
},setSrc:function(){this.image.set("src",globalVariables.configInstance.staticServer+"images/backgrounds/one-pixel.png");
},fireComplete:function(){this.fireEvent("complete");
}});
var Mediator=new Class({initialize:function(){this.broadcastEvent("init",{source:this});
this.components={};
},addComponent:function(b,c){for(var a in this.components){if(this.components[a]===c){break;
}}this.components[b]=c;
},removeComponent:function(b){for(var a in this.components){if(a==b){delete this.components[a];
break;
}}},broadcastEvent:function(c,b){b=(typeof b=="undefined")?{}:b;
for(var a in this.components){if(typeof this.components[a][c]==="function"&&this.components[a]!=b.source){this.components[a][c](b);
}}if(typeof b.callback==="function"){if(b.callback_args&&typeof b.callback_args!="undefined"){b.callback(b.callback_args);
}else{b.callback();
}}}});
var messageBody=new Class({contents:null,facebookData:null,isFacebookThread:false,message:null,Implements:[Events,Options],options:{created_time:null,externalServiceId:0,html:null,text:null},initialize:function(a,b){this.options=a;
if((this.options.html=="")&&(this.options.text=="")){this.options.html="&nbsp;";
}this.message=b;
if(this.message.options.hasInlineImagesFlag&&this.options.html){this.options.html=globalVariables.textHelpers().fixInlineImages(this.options.html);
}},addFacebookWallComments:function(d){if(d){var b=new facebookResponseHandler();
var a=globalVariables.unifiAccount().getFacebookAccount();
b.addProfiles(a,"uid",d.profiles);
this.facebookData.comments.comment_list=d.comments;
var c=new FacebookFormatter();
this.contents=c.formatWallPost(this.facebookData,this.message.options.externalServiceId,this.message.options.serviceAccountId,this.message,this.requestFacebookWallComments.bind(this));
this.message.messageDisplay.msgContentArea.set("html","");
this.message.messageDisplay.msgContentArea.adopt(this.contents);
}},changeContact:function(){},contactModified:function(b){if(!this.message.messageDisplay.elementOpen){return;
}var g="fbLoading_"+b.contactId;
if(this.contents.indexOf(g)>-1){var d=new RegExp('<div class="unifi_FBimgContain '+g+'">.*?</div>',"gm");
var c=new RegExp('<div class="unifi_FBuserName '+g+'">.*?</div>',"gm");
var a=b.getDisplayName(this.message.options.externalServiceId,this.message.options.serviceAccountId);
var f=b.getSmallPicUrl(this.message.options.externalServiceId,this.message.options.serviceAccountId);
var e='<a href="#" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person","",b.contactId)+' return false;">';
if(a==null){a="private sender";
e='<a target="threadsy" href="http://www.facebook.com/profile.php?id='+b.options.uid+'">';
}this.contents=this.contents.replace(c,'<div class="unifi_FBuserName">'+e+a+"</a></div>");
if(f){this.contents=this.contents.replace(d,'<div class="unifi_FBimgContain">'+e+'<img alt="" src="'+f+'"></a></div>');
}if(this.message.options.messageType==4){this.message.messageDisplay.msgContentArea.set("html","");
this.message.messageDisplay.msgContentArea.adopt(this.contents);
}else{this.message.messageDisplay.msgContentArea.set("html",this.contents);
}}},createFacebookThreads:function(g){var c="+++Included FB Attachments:";
var r=g;
var e=0;
if((e=g.indexOf("Previous Comments:"))==-1){return this.extractAttachment(g);
}var m=g.substring(e+"Previous Comments:".length).split("++++");
g=g.substring(0,e-1);
g=this.extractAttachment(g);
var o=null;
var b=null;
var a=null;
var d=null;
var s=null;
var t=0;
var j=null;
var h=globalVariables.externalServiceManager().getByName("facebook");
for(var p=0,k=m.length;
p<k;
p++){d=m[p].match(/From-id:.*/);
if(d==null){return this.extractAttachment(r);
}d=parseInt(d[0].substring(9,d[0].length));
o=globalVariables.unifiAccountInstance.contactManager.findContactBySocialNetworkId(h,d);
var f="";
var n="";
if(o){b=o.getDisplayName(h,d);
j=o.getSmallPicUrl(h,d);
f='<a href="#" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person","",o.contactId)+'return false;">';
}else{o=globalVariables.unifiAccountInstance.contactManager.createNewFacebookContact({uid:d},d);
o.addChangeListener(this.message);
b="loading...";
f='<a target="threadsy" href="http://www.facebook.com/profile.php?id='+d+'">';
j="http://static.ak.fbcdn.net/pics/q_silhouette.gif";
n=" fbLoading_"+o.contactId;
}if(!b){b="loading...";
n=" fbLoading_"+o.contactId;
}if(!j){j="http://static.ak.fbcdn.net/pics/q_silhouette.gif";
n=" fbLoading_"+o.contactId;
}a=m[p].match(/Date:.*/);
if(a==null){return r;
}a=a[0].substring(6,a[0].length);
a=new Date(a);
var q=new formattedDate(a.getTime());
a=q.formatFacebook();
t=m[p].search(/Message:/);
if(t==null){return r;
}s=m[p].substring(t+9);
s=this.extractAttachment(s);
if(!p){g='<div class="unifi_FBcurrentMsg">'+g+'</div><div class="unifi_FBthread">';
}g+='<div class="unifi_FBhr"></div><div class="unifi_FBblock"><div class="unifi_FBimgContain'+n+'">'+f+'<img alt="" src="'+j+'"></a></div><div class="unifi_FBdataContain"><div class="unifi_FBuserName'+n+'">'+f+b+'</a></div><div class="unifi_FBdate">'+a+'</div></div><div class="unifi_FBmessage">'+s+"</div></div>";
if(p==k-1){g+="</div>";
}}this.isFacebookThread=true;
return g;
},extractAttachment:function(a){var b="+++Included FB Attachments:";
var d=a.indexOf(b);
var c=null;
if(d>-1){c=a.substring(d+b.length);
a=a.substring(0,d-1);
}if(c&&c.indexOf("{")>-1){c=JSON.decode(c);
}else{c=null;
}if(c){a+=this.formatFacebookAttachment(c);
}return a;
},formatBody:function(){try{if(this.options){if(this.options.html==""&&this.message.isFacebook&&this.message.options.messageType==4){this.formatFacebookWallPost();
}else{if(this.options.html==""){if(this.options.text){this.contents=this.options.text;
this.contents=globalVariables.textHelpers().replaceCrocs(this.contents);
if(globalVariables.externalServiceManagerInstance.isFacebook(this.options.externalServiceId)){this.contents=this.contents.replace(/&lt;small&gt;&lt;no message body&gt;&lt;\/small&gt;/," ");
this.contents=this.createFacebookThreads(this.contents);
this.contents=globalVariables.textHelpersInstance.urlConvert(this.contents,false,true);
}else{this.contents=globalVariables.textHelpersInstance.urlConvert(this.contents,true,true);
}this.contents=globalVariables.textHelpersInstance.replaceNewlines(this.contents);
}}else{this.contents=this.options.html;
this.contents=globalVariables.textHelpersInstance.removeScripts(this.contents);
if(globalVariables.externalServiceManagerInstance.isFacebook(this.options.externalServiceId)){this.contents=this.createFacebookThreads(this.contents);
}this.contents=this.contents.replace(/<!--[\s\S]*?-->/g,"");
this.contents=this.contents.replace(/\r\n?/g," ");
this.contents=this.contents.replace(/\n\r?/g," ");
this.contents=globalVariables.textHelpers().urlConvert(this.contents,false,true);
}}if(this.options.tags.length){var b="";
for(var a=0;
a<this.options.tags.length;
a++){b=b+this.options.tags[a].extractorType+":"+this.options.tags[a].derivedValue+"\t";
}b=b.replace(/\'/g,"\\'");
this.contents=this.contents+'<img src="'+globalVariables.configInstance.staticServer+'images/arrow_down.png" onclick="alert(\''+b+"')\" />";
}}else{this.contents="";
}}catch(c){globalVariables.log.error("error formatting message body contents",c);
}this.fireEvent("complete",this.contents);
},formatFacebookAttachment:function(a){if(!$defined(a)){return;
}if(!a.icon){return"";
}if($defined(a.media[0])&&a.media[0].type=="swf"){return this.formatFacebookVideo(a);
}else{if(a.href.indexOf("photo.php")>-1){return this.formatFacebookPhoto(a);
}else{return this.formatFacebookLink(a);
}}},formatFacebookLink:function(c){var b='<div class="fwp-attachments"><a href="'+c.href+'">';
var a=false;
if(c.name){a=true;
b+='<div class="name">'+c.name+"</div></a>";
if(c.caption){b+='<div class="caption">'+c.caption+"</div>";
}}else{if(c.caption){a=true;
b+='<div class="caption">'+c.caption+"</div></a>";
}else{a=true;
b+='<div class="href">'+c.href+"</div></a>";
}}if(c.description){a=true;
b+='<div class="description">'+c.description+"</div>";
}b=a?(b+'<div class="clear"></div></div>'):"";
return b;
},formatFacebookPhoto:function(a){return'<div class="fwp-attachments"><div class="name">You have a facebook photo! <a href="http://facebook.com">Visit Facebook to view it.</a></div><div class="clear"></div></div>';
},formatFacebookVideo:function(c){var a=c.media[0];
var b='<div class="fwp-attachments"><div class="fwp-attachments-item"><img src="';
b+=a.src;
b+='"/></div>';
if(c.name){b+='<div class="name">'+c.name+"</div>";
}b+='<div class="description">You just received a video, <a href="'+a.href+'">go check it out!</div><div class="clear"></div></div>';
return b;
},formatFacebookWallPost:function(){try{this.facebookData=JSON.decode(this.options.text);
var a=new FacebookFormatter();
this.contents=a.formatWallPost(this.facebookData,this.message.options.externalServiceId,this.message.options.serviceAccountId,this.message,this.requestFacebookWallComments.bind(this));
this.options.html=this.contents;
}catch(b){globalVariables.log.error("error in formatFacebookWallPost",b);
}},requestFacebookWallComments:function(){globalVariables.facebookConnectInstance.requestComments(this.message.messageId,this.facebookData.post_id,null,this.addFacebookWallComments.bind(this),this.message.folder);
},notifyFacebookContactAdded:function(c){if(this.contents){var a=".unknownFB_"+c.socialNetworkIds[5];
var h=this.contents.getElement(a);
var b=globalVariables.unifiAccount().getFacebookAccount();
var j=c.getSmallPicUrl(b.options.externalServiceId,b.options.id);
var d=this.contents.getElement(a+"_name");
var e=this.contents.getElement(a+"_pic");
var g=c.getDisplayName(b.options.externalServiceId,b.options.id);
var f='"'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person","",c.contactId)+' return false;">';
if(d&&g){d.set("html",g);
d.set("href","#");
d.set("onclick",f);
d.set("target","");
}if(e){e.set("href","#");
e.set("onclick",f);
e.set("target","");
}if(h&&j){h.src=j;
}}},updateFacebookThread:function(h){var k=h.split("?id=");
var c=c.contactManager;
var f=globalVariables.unifiAccount().contactManager;
var b=c.getFacebookAccount();
for(var g=0;
g<k.length-1;
g++){var a=k[g+1].substring(0,k[g+1].indexOf('"'));
try{var j=f.findContactBySocialNetworkId(5,parseInt(a));
if(j!=null){var e=j.getSmallPicUrl(5,b.options.id);
if(e){k[g]=k[g].replace(/http:\/\/static\.ak\.fbcdn\.net\/pics\/q_silhouette\.gif/,e)+"?id=";
}}}catch(d){globalVariables.log.error("updateFacebookThread",d);
}}return(k.join());
}});
var messageFilter=new Class({accounts:null,allAccounts:null,chokeFetch:false,flag:"all",tag:null,initialize:function(a){this.accounts=a.slice();
this.allAccounts=a;
},filterAccount:function(a){this.accounts=new Array();
this.accounts[0]=a;
},generateFolderName:function(b){var a="";
if(b.options){a=b.options.name+"_"+b.options.id;
}if(this.accounts.length!=this.allAccounts.length){a+="_"+this.accounts[0];
}a+="_"+this.flag;
if(this.tag){a+="_tag_"+this.tag.id;
}return a;
},getFilteredAccounts:function(){if(this.accounts.length!=this.allAccounts.length){return this.accounts;
}else{return null;
}},getFlag:function(){return this.flag;
},isVisible:function(a){if(a==null){return false;
}return this.accounts.contains(a.serviceAccountId);
},isFiltering:function(){return(this.accounts.length!=this.allAccounts.length)||(this.flag!="all")||this.tag;
},removeAccountFilter:function(){this.accounts=this.allAccounts;
},setActiveAccounts:function(a){this.accounts=a;
},setFlag:function(a){this.flag=(a)?a:"all";
},setTag:function(a){this.tag=a;
},updateAccountList:function(a){if((this.accounts.length==this.allAccounts.length)||(!a.contains(this.accounts[0]))){this.accounts=a.slice();
}this.allAccounts=a.slice();
}});
var MessageDisplayAdvertisement=new Class({Extends:MiniMessageDisplay,initialize:function(c,a,b){this.parent(c,a,b);
},inviteFriendMessage:function(){globalVariables.unifiAccountInstance.addEvent("inviteUrl",function(){globalVariables.unifiAccountInstance.setInviteStatus();
});
globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:Cookie.read("username"),loopType:"invitestream",linkType:"vm"},onComplete:function(b){globalVariables.unifiAccount().setInviteUrl(b);
var a=$("new_status");
if(a){a.highlight("#FF6632","#FFFFFF");
}}});
},createElement:function(){var a=this;
this.element=new Element("div",{"class":"ad-unbound-wrapper"}).adopt(new Element("div",{"class":"ad-unbound",events:{click:function(){var b=$("optionalColumn").getElement(".streamContainerHolder");
b.scrollTo(0,0);
a.inviteFriendMessage();
}}}).adopt(new Element("div",{"class":"ad-unbound-inner"}).adopt(new Element("dl").adopt(new Element("dt").adopt(new Element("h3",{html:"invite your friends"})),new Element("dd").adopt(new Element("h4",{html:"loving threadsy?"}),new Element("p",{html:"share the love and invite your friends! <br/> click here for 10 free invites."}))))));
}});
var _ERROR_MESSAGE="Oops.. there was a problem with your request.<br /><br />Please try again.<br /><br /><em>Click anywhere to close.</em>";
var _RESIZE_DURATION=400;
var _INITIAL_WIDTH=785;
var _INITIAL_HEIGHT=610;
var _CONTENTS_WIDTH=500;
var _CONTENTS_HEIGHT=500;
var _DEF_CONTENTS_WIDTH=500;
var _DEF_CONTENTS_HEIGHT=400;
var _ANIMATE_CAPTION=true;
var _EVAL_SCRIPTS=true;
var _EVAL_RESPONSE=false;
var modal={init:function(a){this.options=Object.extend({resizeDuration:_RESIZE_DURATION,initialWidth:_INITIAL_WIDTH,initialHeight:_INITIAL_HEIGHT,contentsWidth:_CONTENTS_WIDTH,contentsHeight:_CONTENTS_HEIGHT,defContentsWidth:_DEF_CONTENTS_WIDTH,defContentsHeight:_DEF_CONTENTS_HEIGHT,animateCaption:_ANIMATE_CAPTION,evalScripts:_EVAL_SCRIPTS,evalResponse:_EVAL_RESPONSE},a||{});
this.pageType=null;
this.overlay=new Element("div").setProperty("id","mb_overlay").addEvent("click",this.close.bind(this));
this.center=new Element("div").setProperty("id","mb_center").addClass("mb_loading").setStyles({width:this.options.initialWidth+"px",height:this.options.initialHeight+"px",marginLeft:"-"+(this.options.initialWidth/2)+"px",display:"none"}).inject(document.body);
this.contents=new Element("div",{id:"mb_contents",styles:{opacity:0}}).inject(this.center);
this.closelink=new Element("a").setProperties({id:"mb_close_link","class":"loading orange",href:"#"});
},start:function(b,c,a){this.href=b;
this.rel=c;
this.useWindowHeight=$defined(a);
this.top=Window.getScrollTop()+(Window.getHeight()/15);
this.center.setStyles({top:this.top+"px",display:""});
this.overlay.inject(document.body);
this.pageType=(b.test(/modify\-account/))?"modify-account":"static-page";
new Fx.Tween(this.overlay).start("opacity",0,0.5);
return this.loadContents(b);
},disableScroll:function(){if(Browser.Engine.trident){document.body.scroll="no";
}else{$(document.body).setStyle("overflow","hidden");
}},enableScroll:function(){if(Browser.Engine.trident){document.body.scroll="yes";
}else{$(document.body).setStyle("overflow","visible");
}},loadContents:function(b){var c=this.rel.match(/[0-9]+/g);
this.options.contentsWidth=(c&&(c[0]>0))?c[0]:this.options.defContentsWidth;
this.options.contentsHeight=(c&&(c[1]>0))?c[1]:this.options.defContentsHeight;
this.closelink.removeProperty("class");
this.closelink.addClass("orange");
var a=this.nextEffect.bind(this);
this.request=new Request.HTML({url:b,update:this.contents,evalScripts:this.options.evalScripts,evalResponse:this.options.evalResponse,onSuccess:a});
this.request.send();
return false;
},ajaxFailure:function(){},nextEffect:function(){var b=this;
this.center.setStyle("cursor","default");
this.contents.setStyles({width:this.options.contentsWidth+"px",height:this.options.contentsHeight+"px"});
if(this.center.clientWidth!=this.contents.offsetWidth){var a=-this.center.clientWidth/2;
var c=-this.contents.offsetWidth/2;
new Fx.Morph(this.center,{duration:"short"}).start({width:[this.center.clientWidth,this.contents.offsetWidth],"margin-left":[a,c],height:[this.center.clientHeight,this.contents.offsetHeight]}).chain(function(){b.showContents();
});
}else{this.showContents();
}},showContents:function(){var a=this;
new Fx.Morph(a.contents).start({opacity:1}).chain(function(){a.contents.removeClass("loading");
a.closelink.addEvent("click",a.close.bind(a));
a.closelink.inject(a.contents,"top");
a.center.setStyle("overflow","visible");
if(Browser.Engine.trident){a.contents.style.removeAttribute("filter");
}});
},close:function(){var c=this;
this.center.setStyle("display","none");
new Fx.Morph(this.overlay).start({opacity:"0"}).chain(function(){c.overlay.destroy();
c.contents.empty();
});
c.closelink.removeEvents("click");
if(this.pageType=="modify-account"){var d=globalVariables.unifiAccount().externalAccountsList;
var b=globalVariables.externalServiceManager();
for(var a in d){if($defined(d[a].options)){if(b.getById(d[a].options.externalServiceId)=="twitter"){globalVariables.makeShardRequest("getTwitterContacts.json",{async:true,data:{serviceAccountId:d[a].options.id}});
}}}if(globalVariables){globalVariables.unifiAccount().notifySettingsUpdated();
}}return false;
},loadPage:function(c){var b=this;
var a={settings:"/includes/settings.tmpl?version=7951",modify:"/includes/modify-account.tmpl?version=7951"};
var d={settings:"600 400",modify:"768 595"};
this.href=a[c];
this.rel=d[c];
new Fx.Morph(this.contents).start({opacity:0}).chain(function(){b.loadContents(b.href);
});
}};
window.addEvent("domready",function(){modal.init();
});
var InboundManager=new Class({activeObject:null,activeItem:null,isFetching:0,loaderTimer:null,currentFilter:{account:null,folder:null,flag:null,tag:null,search:null},dateUpdateTime:0,dateUpdateTimer:null,fetchNowWait:10000,pollRapidCount:0,pollTimer:null,initialize:function(c,a){this.createRequestIFrame("twitter");
this.createRequestIFrame("flickr");
this.display=new InboundDisplay(this,a);
this.display.createLoadingScreen();
this.loaderTimer=this.checkLoadingScreen.delay(60000,this);
globalVariables.facebookConnect();
var b=globalVariables.unifiAccount();
this.initializeAccountData(b);
this.activeObject=this.display.inboundTab;
this.startTimers(b);
this.startRapidPoll();
b.signUserIn(c);
this.initLineHeight();
this.display.removeLoadingScreen();
if(globalVariables.unifiAccountInstance.contactManager.fetched){this.delayMeeboFrame();
}else{b.contactManager.addEvent("contactsLoaded",this.delayMeeboFrame.bind(this));
}},checkLoadingScreen:function(){var b=$("page-loader-overlay");
var a=$("page-loader-box");
if(b&&a){globalVariables.logout();
}},clearPollTimer:function(){if(this.pollTimer!=null){var a=this.pollTimer;
this.pollTimer=null;
$clear(a);
}},createRequestIFrame:function(a){var b=document.createElement("iframe");
b.id=a+"Data";
b.src=globalVariables.configInstance.protocol+"://"+globalVariables.configInstance.shard+"/client-iframe.html?service="+a;
b.height=0;
b.style.visibility="hidden";
document.body.appendChild(b);
},delayMeeboFrame:function(){this.display.createMeeboIframe.delay(2000,this);
},finishUpdates:function(){},initializeAccountData:function(a){a.fetchExternalAccounts(false);
a.fetchFolders(3,1);
a.fetchCounts(3);
this.display.createDisplay();
a.folders.inbox.addEvent("messagesLoaded",this.display.clearLoader.bind(this.display));
a.folders.inbox.addEvent("messagesLoaded",a.fetchContacts.bind(a));
a.contactManager.addEvent("contactsLoaded",globalVariables.rightColumnManager.initOptionalStreamManager.bind(globalVariables.rightColumnManager));
a.setActiveFolder(a.folders.inbox);
this.currentFilter.folder=a.folders.inbox;
a.contactManager.addEvent("contactsLoaded",this.schedulePurgeOld);
},initLineHeight:function(){var c=Cookie.read("lineHeight");
if(c=="med"){if($(document.body).hasClass("singleLine")){$(document.body).removeClass("singleLine");
}}else{if(c=="small"){$(document.body).addClass("singleLine");
}else{Cookie.write("lineHeight","med",{domain:"threadsy.com",duration:365});
}}var b=this;
globalVariables.config().setPageSize(c);
var a=globalVariables.unifiAccountInstance.activeFolder;
a.minimumMessages=globalVariables.config().options.initialPageSize;
},onContactsLoaded:function(){},notifyWindowActivated:function(){var a=new Date();
if(this.dateUpdateTime<a.getTime()){this.updateTimes();
}},poll:function(){this.clearPollTimer();
try{globalVariables.unifiAccountInstance.checkNew();
}catch(a){globalVariables.log.error("error while polling",a);
}this.setPollTimer();
},schedulePurgeOld:function(){(function(){globalVariables.makeShardRequest("purgeOld.json",{isAsync:true});
}).delay(60000);
},setDateUpdateTimer:function(){if(this.dateUpdateTimer==null){var c=new Date();
var e=1000*60*60*24;
var d=new Date(c.getTime()+e);
d.setHours(0);
d.setMinutes(1);
d.setSeconds(0);
var a=this;
this.dateUpdateTime=d.getTime();
var b=d.getTime()-c.getTime();
this.dateUpdateTimer=this.updateTimes.delay(b,a);
}},setFilter:function(b,d,a,c,e){if((this.currentFilter.account==b)&&(this.currentFilter.folder==d)&&(this.currentFilter.tag==a)&&(this.currentFilter.search==e)&&(this.currentFilter.flag==c)){return;
}this.currentFilter.account=b;
this.currentFilter.folder=d;
this.currentFilter.tag=a;
this.currentFilter.flag=c;
this.currentFilter.search=e;
if(d){if(b){globalVariables.messageFilterInstance.filterAccount(b.options.id);
}else{globalVariables.messageFilterInstance.removeAccountFilter();
}globalVariables.messageFilterInstance.setFlag(c);
globalVariables.messageFilterInstance.setTag(null);
globalVariables.unifiAccountInstance.setActiveFolder(d);
}else{if(a){globalVariables.unifiAccountInstance.setActiveTag(a);
}else{if(e){globalVariables.unifiAccountInstance.setActiveSearch(e);
}else{globalVariables.log.error("error setting inbound filter, no folder or tag specified");
return;
}}}},setMode:function(a){if(this.activeObject==a){return;
}else{this.activeObject.deactivate();
a.activate(a.folder);
this.activeObject=a;
this.activeItem=null;
}},setMoreMode:function(d,c,b,a){if(this.activeItem==c){return;
}else{this.activeObject.deactivate();
this.activeObject=d;
d.activate(c,b,a);
this.activeItem=c;
}},setPollTimer:function(){if(this.pollTimer==null){if((this.pollRapidCount==0)||(!globalVariables.inboundManagerInstance.isFetching)){this.pollTimer=(function(){this.poll();
}).delay(globalVariables.configInstance.options.pollingInterval,this);
}else{this.pollRapidCount-=1;
if(this.pollRapidCount<0){this.pollRapidCount=0;
}this.pollTimer=(function(){this.poll();
}).delay(globalVariables.configInstance.options.pollingIntervalRapid,this);
}}},setSearchMode:function(a,b){if(this.activeObject==a){a.activate(b);
this.activeObject=a;
this.activeItem=null;
}else{this.activeObject.deactivate();
a.activate(b);
this.activeObject=a;
this.activeItem=null;
}},startRapidPoll:function(){this.pollRapidCount=globalVariables.configInstance.options.pollingRapidCount;
(function(){this.poll();
}).delay(globalVariables.configInstance.options.pollingIntervalRapid,this);
if(this.fetchTimer!=null){var a=this.fetchTimer;
this.fetchTimer=null;
$clear(a);
}},startTimers:function(a){if(globalVariables.configInstance.options.fetchOnStartup){a.fetchMail();
}else{this.setPollTimer();
}this.setDateUpdateTimer();
},updateTimes:function(){var a=this.dateUpdateTimer;
if(a){this.dateUpdateTimer=null;
$clear(a);
}if(globalVariables.unifiAccount.activeFolder){globalVariables.unifiAccount.activeFolder.updateMessageTimes();
}this.setDateUpdateTimer();
}});
var SearchInbound=new Class({initialize:function(a){this.display=a;
this.navbar=$("inbound-navigation");
},activate:function(a){globalVariables.destroySearch();
this.navbar.addClass("search-active");
this.display.manager.setFilter(null,null,null,null,a);
},createSearchBox:function(){var a=this;
var b="search inbound";
return this.searchBox=new Element("input",{type:"text",name:"search-inbound",id:"search-inbound",value:b,events:{click:function(c){c.stop();
if(a.searchBox.get("value")==b){a.searchBox.set("value","");
}},blur:function(c){if(a.searchBox.get("value")==""){a.searchBox.set("value",b);
}},keypress:function(d){d.stopPropagation();
if(d.key=="enter"){var c=a.searchBox.get("value");
a.display.manager.setSearchMode(a,c);
a.display.manager.setFilter(null,a.folder,null,null,c);
}}}});
},deactivate:function(){globalVariables.announcementBarInstance.removeAnnouncement();
this.navbar.removeClass("search-active");
globalVariables.destroySearch();
}});
var InboundDisplay=new Class({inboundTab:null,initTime:null,manager:null,meeboIframe:null,tabs:null,initialize:function(b,a){this.initTime=a;
this.manager=b;
this.search=new SearchInbound(this);
},buttonCompose:function(){var a=this;
return new Element("a",{href:"#",id:"new-message-button",events:{click:function(b){b.stop();
a.compose();
}}}).adopt(new Element("span").adopt(new Element("em",{html:"compose"})));
},buttonDelete:function(){var a=this;
return new Element("a",{href:"#",id:"delete-button","class":"dependant",events:{click:function(b){b.stop();
a.multiDelete();
}}}).adopt(new Element("span").adopt(this.deleteButtonText=new Element("em",{html:"delete"})));
},buttonMarkRead:function(){var a=this;
return new Element("a",{href:"#",id:"mark-read","class":"dependant",events:{click:function(b){b.stop();
a.multiMarkRead();
}}}).adopt(new Element("span",{html:"mark read"}));
},buttonMarkUnread:function(){var a=this;
return new Element("a",{href:"#",id:"mark-unread","class":"dependant",events:{click:function(b){b.stop();
a.multiMarkUnread();
}}}).adopt(new Element("span",{html:"mark unread"}));
},buttonSelectAll:function(){var a=this;
return this.selectAllButton=new Element("a",{href:"#",id:"select-all",events:{click:function(b){b.stop();
a.selectAll();
a.updateToolBar();
}}}).adopt(new Element("span",{html:"select all"}));
},buttonUnSelectAll:function(){var a=this;
return this.unSelectAllButton=new Element("a",{href:"#",id:"unselect-all",styles:{display:"none"},events:{click:function(b){b.stop();
a.unselectAll();
a.updateToolBar();
}}}).adopt(new Element("span",{html:"unselect all"}));
},clearLoader:function(){var e=$("page-loader-overlay");
var c=$("page-loader-box");
if(e&&c){var b=this;
var d=window.getSize();
new Tracking({a:"aReload",vBH:d.y,vBW:d.x,vILP:$time()-b.initTime,vSId:globalVariables.configInstance.shardId}).send();
var a=function(){e.addClass("ty_h_hide");
c.addClass("ty_h_hide");
};
a.delay(500);
}if(this.manager.loaderTimer){$clear(this.manager.loaderTimer);
}},compose:function(){if(!globalVariables.composeOpen){this.composeRef=new compose();
}},createDisplay:function(){var a=this;
this.inboundNavContainer=$("inbound-navigation");
this.inboundNavContainer.adopt(this.uboundTabs=new Element("div",{id:"inbound-tabs"}).adopt(a.createTabs(),new Element("div",{"class":"clear"})),this.inboundToolbar=new Element("div",{id:"inbound-toolbar"}).adopt(a.createToolbar(),new SearchInbound(),new Element("div",{"class":"clear"})));
},createLoadingScreen:function(){window.scrollTo(0,0);
var a=$("messages_page");
a.setStyle("opacity",0);
a.removeClass("hide");
if(Browser.Engine.trident){a.style.removeAttribute("filter");
}},createMeeboIframe:function(){var a=new Element("script",{type:"text/javascript",src:globalVariables.configInstance.absoluteUrlPath+"scripts/meebo.js"});
a.inject(document.head);
this.meeboIframe=new Element("div",{id:"meebo",style:"display: none"}).adopt(new Element("iframe",{id:"meebo-iframe",src:"/meebo.html?network=threadsy&domain=threadsy.com"}));
document.body.adopt(this.meeboIframe);
},createTabs:function(){var b=globalVariables.unifiAccountInstance.folders;
this.inboundTab=new InboundTabAll(b.inbox,"inbox",this);
this.draftsTab=new InboundTab(b.draft,"drafts",this);
this.sentTab=new InboundTab(b.sent,"sent",this);
this.moreTab=new InboundTabMore(b,"more",this);
var e=this.inboundTab.element;
var d=this.draftsTab.element;
var a=this.sentTab.element;
var c=this.moreTab.element;
this.tabs=[e,d,a,c];
return new Element("ul").adopt(this.tabs);
},createToolbar:function(){return this.toolbarButtons=new Element("div",{id:"toolbar-buttons","class":"inactive unread"}).adopt(this.buttonCompose(),this.buttonSelectAll(),this.buttonUnSelectAll(),this.buttonDelete(),this.buttonMarkRead(),this.buttonMarkUnread(),this.search.createSearchBox(),new Element("div",{"class":"clear"}));
},multiAction:function(a){if(a=="unselect all"){this.unselectAll();
}else{if(a=="select all"){this.selectAll();
}else{globalVariables.unifiAccount().activeFolder.multiAction(a);
}}this.updateToolBar();
},multiArchive:function(){globalVariables.unifiAccount().activeFolder.multiAction("archive");
},multiDelete:function(){globalVariables.unifiAccount().activeFolder.multiAction("delete");
},multiMarkRead:function(){globalVariables.unifiAccount().activeFolder.multiAction("read");
},multiMarkUnread:function(){globalVariables.unifiAccount().activeFolder.multiAction("unread");
},multiStar:function(){globalVariables.unifiAccount().activeFolder.multiAction("star");
},multiUnstar:function(){globalVariables.unifiAccount().activeFolder.multiAction("unstar");
},removeLoadingScreen:function(){new Fx.Tween($("messages_page"),{duration:100,onComplete:function(){if(Browser.Engine.trident){$("messages_page").style.removeAttribute("flag");
$("messages_page").style.removeAttribute("filter");
}}}).start("opacity",0,1);
window.scrollTo(0,0);
},selectAll:function(){if(globalVariables.searchResultInstance){globalVariables.searchResultInstance.toggleCheckAll(true);
}else{globalVariables.unifiAccount().activeFolder.toggleCheckAll(true);
}globalVariables.checkAll=true;
this.updateToolBar();
},unselectAll:function(){if(globalVariables.searchResultInstance){globalVariables.searchResultInstance.toggleCheckAll(false);
}else{globalVariables.unifiAccount().activeFolder.toggleCheckAll(false);
}globalVariables.checkAll=false;
this.updateToolBar();
},updateToolBar:function(){var g=globalVariables.unifiAccountInstance.activeFolder;
var d=g.checkedMessages;
var f="delete";
if(this.moreTab.moreButtonLabel.hasClass("trash")){f="delete forever";
}this.deleteButtonText.set("html",f);
if(d.length){this.unSelectAllButton.setStyle("display","block");
this.selectAllButton.setStyle("display","none");
if(this.toolbarButtons.hasClass("inactive")){this.toolbarButtons.removeClass("inactive");
}}else{this.unSelectAllButton.setStyle("display","none");
this.selectAllButton.setStyle("display","block");
globalVariables.checkAll=false;
if(!this.toolbarButtons.hasClass("inactive")){this.toolbarButtons.addClass("inactive");
}}if(d.length==g.messages.length){this.selectAllButton.setStyle("display","none");
}var h;
for(var c=0,a=d.length;
c<a;
c++){var b=d[c];
var e=g.idsToMessages[b];
h=e.options.readFlag;
if(!h){if(this.toolbarButtons.hasClass("unread")){this.toolbarButtons.removeClass("unread");
}this.toolbarButtons.addClass("read");
break;
}}if(h){if(this.toolbarButtons.hasClass("read")){this.toolbarButtons.removeClass("read");
}this.toolbarButtons.addClass("unread");
}}});
var InboundTab=new Class({Implements:Events,element:null,folder:null,folderName:null,initialize:function(a,b,c){this.display=c;
this.folder=a;
this.element=this.createTabDisplay(a,b);
a.tab=this;
},createTabDisplay:function(b,c){var a=this;
this.folderName=c;
this.folderId=b.options.id;
return this.tab=new Element("li",{id:"nav-"+a.folderName,"class":"tab"}).adopt(new Element("a",{href:"#","class":"tab-button",html:a.folderName,events:{click:function(d){d.stop();
if(!this.getParent().hasClass("selected")){a.display.manager.setMode(a);
a.display.manager.setFilter(null,a.folder,null,null,null);
}else{if(!globalVariables.inboundManagerInstance.isFetching){globalVariables.inboundManagerInstance.isFetching++;
globalVariables.announcementBarInstance.createAnnouncement("fetching messages...",null,"loading");
globalVariables.unifiAccountInstance.fetchMail();
}}}}}));
},activate:function(a){this.tab.addClass("selected");
if(globalVariables.unifiAccountInstance.activeFolder.checkedMessages.length){this.display.unselectAll();
}this.display.updateToolBar();
window.scrollTo(0,0);
globalVariables.inboundManagerInstance.setFilter(null,a,null,null,null);
},deactivate:function(){this.tab.removeClass("selected");
},updateUnreadCounts:function(){}});
var InboundTabAll=new Class({Extends:InboundTab,fetchingIndicator:false,unreadCount:null,initialize:function(a,b,c){this.parent(a,b,c);
},createTabDisplay:function(b){var a=this;
var c="inbound";
this.folderName=b.name;
this.folderId=b.options.id;
return this.tab=new Element("li",{id:"nav-"+c,"class":"tab selected"}).adopt(new Element("a",{href:"#","class":"tab-button",html:c,events:{click:function(d){d.stop();
if(a.tab.hasClass("selected")&&!globalVariables.inboundManagerInstance.isFetching){globalVariables.inboundManagerInstance.isFetching++;
globalVariables.announcementBarInstance.createAnnouncement("fetching messages...",null,"loading");
a.refreshButton.setStyle("display","none");
a.loader.setStyle("display","block");
a.fetchingIndicator=true;
globalVariables.unifiAccountInstance.fetchMail();
}else{a.display.manager.setMode(a);
a.display.manager.setFilter(null,a.folder,null,null,null);
}}}}).adopt(this.refreshButton=new Element("em",{html:"refresh",events:{click:function(d){d.preventDefault();
}}}),this.loader=new Element("span",{html:"loading","class":"loader"})),new Element("sup").adopt(this.unreadCount=new Element("strong",{html:this.folder.unreadCount})));
},stopFetchingIndicator:function(){this.fetchingIndicator=false;
this.loader.setStyle("display","none");
this.refreshButton.setStyle("display","block");
},updateUnreadCounts:function(a,b){this.unreadCount.set("html",a);
this.display.manager.display.moreTab.updateUnreadCounts(b);
}});
var InboundTabMore=new Class({Extends:InboundTab,accountArray:[],countsByAccount:new Array(),element:null,activeFolderName:null,initialize:function(a,b,c){this.parent(a,b,c);
},activate:function(c,b,a){this.tab.addClass("selected");
c.addClass("activated");
this.moreButtonLabel.set("html",b);
this.moreButtonLabel.addClass(a);
if(globalVariables.unifiAccountInstance.activeFolder.checkedMessages.length){this.display.unselectAll();
}this.display.updateToolBar();
window.scrollTo(0,0);
},createTabDisplay:function(c){var e="more";
var d=c.archive;
var f=c.deleted;
var b="yes";
var a=this;
return this.tab=new Element("li",{id:"nav-more","class":"tab",events:{mouseenter:function(){b="yes";
(function(){if(b=="yes"){a.tab.addClass("active");
}}).delay(300);
},mouseleave:function(){b="no";
a.tab.removeClass("active");
},click:function(){if(this.hasClass("selected")&&!globalVariables.inboundManagerInstance.isFetching){globalVariables.inboundManagerInstance.isFetching++;
globalVariables.announcementBarInstance.createAnnouncement("fetching messages...",null,"loading");
if(globalVariables.inboundManagerInstance.currentFilter.tag){var h=globalVariables.unifiAccountInstance.activeFolder;
h.fetch();
h.updateTimer=h.checkUpdates.periodical(5000,h);
}else{if(globalVariables.inboundManagerInstance.currentFilter.flag){var g=globalVariables.inboundManagerInstance.currentFilter.flag;
a.display.manager.setFilter(null,globalVariables.unifiAccountInstance.folders.inbox,null,g,null);
(function(){globalVariables.announcementBarInstance.removeAnnouncement();
}).delay(500);
}else{if(globalVariables.inboundManagerInstance.currentFilter.account){globalVariables.unifiAccountInstance.fetchMail(globalVariables.inboundManagerInstance.currentFilter.account.options.id);
}else{globalVariables.unifiAccountInstance.fetchMail();
}}}}}}}).adopt(new Element("span",{"class":"shim"}),this.moreButton=new Element("a",{href:"#","class":"tab-button",id:"nav-more-button",events:{click:function(g){g.preventDefault();
}}}).adopt(this.moreButtonLabel=new Element("em",{html:e})),this.navDropdown=new Element("ul",{"class":"dropdown"}).adopt(a.createFolderLink("trash",f),a.createFolderLink("archived",d),a.createFilterLink("unread","unread"),a.createFilterLink("starred","star"),a.createAccountList()));
},createFilterLink:function(c,d){var a=this;
var b=new Element("li",{"class":c+" filter"}).adopt(new Element("a",{href:"#",events:{click:function(f){f.stop();
a.tab.removeClass("active");
a.display.manager.setMoreMode(a,b,c,c);
a.display.manager.setFilter(null,globalVariables.unifiAccountInstance.folders.inbox,null,d,null);
}}}).adopt(new Element("em",{html:c,"class":"service-icon"})));
return b;
},createFlyoutSystemFolder:function(b,g,d,a){var c=this;
var f=b.options.name;
f=f+": "+g;
var e;
return e=new Element("li",{"class":g}).adopt(new Element("a",{href:"#",html:g,events:{click:function(h){h.stop();
c.tab.removeClass("active");
c.display.manager.setMoreMode(c,e,f,a);
c.display.manager.setFilter(b,d,null,null,null);
}}}));
},createFlyoutSystemFilter:function(b,g,d,a,h){var c=this;
var f=b.options.name;
f=f+": "+g;
var e;
return e=new Element("li",{"class":g}).adopt(new Element("a",{href:"#",html:g,events:{click:function(j){j.stop();
c.tab.removeClass("active");
c.display.manager.setMoreMode(c,e,f,a);
c.display.manager.setFilter(b,d,null,h,null);
}}}));
},createFolderLink:function(d,b){var a=this;
var c=new Element("li",{"class":d+" filter"}).adopt(new Element("a",{href:"#",events:{click:function(f){f.stop();
a.tab.removeClass("active");
a.display.manager.setMoreMode(a,c,d,d);
a.display.manager.setFilter(null,b,null,null,null);
}}}).adopt(new Element("em",{html:d,"class":"service-icon"})));
return c;
},createAccountList:function(){var b=this;
var a=globalVariables.unifiAccountInstance.externalAccounts;
var n=globalVariables.unifiAccountInstance.externalAccountsList;
var k=globalVariables.unifiAccountInstance.folders.inbox;
var j=[];
var h=[];
var f=[];
for(var e=0,d=n.length;
e<d;
e++){var g=n[e];
if(g.options.externalServiceId==5){f.push(g);
}else{if(g.options.externalServiceId==8){h.push(g);
}else{j.push(g);
}}}var m=j.concat(f,h);
for(var e=0,d=m.length;
e<d;
e++){var c=m[e];
(function(o){var l=o.options.id;
var v=a[l].folders.user;
var p=o.options.externalServiceId;
var r=b.folder.inbox.unreadCountsByExternalAccountId[l];
var s=r?r:0;
var u=globalVariables.externalServiceManager().getById(p);
var q;
var t=new Element("span",{"class":"count",html:" ("+s+")"});
b.countsByAccount[l]=t;
b.accountArray.push(q=new Element("li",{"class":"more"}).adopt(new Element("a",{href:"#",id:l,"class":u+" dropdown-account",events:{click:function(w){w.stop();
if(l){b.tab.removeClass("active");
q.removeClass("flyout-active");
b.display.manager.setMoreMode(b,q,o.options.name,u);
b.display.manager.setFilter(o,k,null,null,null);
}}}}).adopt(new Element("em",{html:o.options.name,"class":"service-icon"}).adopt(t),new Element("div",{"class":"more-arrow",events:{mouseenter:function(){var z=$(document.window).getSize().y;
var y=q.getPosition().y;
var w=((z-y)>310)?"":"flyup";
q.addClass("flyout-active "+w);
q.getElement(".flyout-wrapper").setStyle("display","block");
q.getElement("ul").scrollTop=0;
},mouseleave:function(){q.removeClass("flyout-active");
q.getElement(".flyout-wrapper").setStyle("display","none");
q.removeClass("flyup");
}}}).adopt(b.createTagList(o,v,u)))));
})(c);
}return this.accountArray;
},createTagList:function(c,m,g){var b=this;
var a="";
if((c.options.externalServiceId!=5)&&(c.options.externalServiceId!=8)){a=this.createFlyoutSystemFolder(c,"drafts",b.folder.draft,g);
}var f;
var h=new Element("div",{"class":"flyout-wrapper",events:{mousedown:function(l){l.preventDefault();
},click:function(l){l.stop();
}}}).adopt(f=new Element("ul",{"class":"flyout"}).adopt(this.createFlyoutSystemFolder(c,"inbox",b.folder.inbox,g),a,this.createFlyoutSystemFolder(c,"sent",b.folder.sent,g),this.createFlyoutSystemFolder(c,"trash",b.folder.deleted,g),this.createFlyoutSystemFolder(c,"archived",b.folder.archive,g),this.createFlyoutSystemFilter(c,"unread",b.folder.inbox,g,"unread"),this.createFlyoutSystemFilter(c,"starred",b.folder.inbox,g,"star")));
for(var e=0,d=m.length;
e<d;
e++){var k=m[e].data;
var j=c.options.name;
if(k.type=="user"){(function(l,p){var o=(l.hasNew==true)?"<strong>"+l.name+"</strong>":l.name;
var q=p+": "+l.name;
var n;
f.adopt(n=new Element("li").adopt(new Element("a",{href:l.id,html:o,events:{click:function(r){r.stop();
globalVariables.inboundManagerInstance.isFetching++;
b.tab.removeClass("active");
b.display.manager.setMoreMode(b,n,q,g);
b.display.manager.setFilter(c,null,l,null,null);
}}})));
})(k,j);
}}return h;
},deactivate:function(){this.tab.removeClass("selected");
this.moreButtonLabel.set("class","");
this.tab.getElements("li").removeClass("activated");
this.moreButtonLabel.set("html","more");
},updateUnreadCounts:function(c){var e=globalVariables.unifiAccountInstance.externalAccountsList;
for(var b=0,a=e.length;
b<a;
b++){var f=e[b].options.id;
if(this.countsByAccount[f]){var d=c[f];
if(!$defined(d)){d=0;
}this.countsByAccount[f].set("html"," ("+d+")");
}}}});
var TopNavigation=new Class({initialize:function(){this.createTopNav();
},createTopNav:function(){var a=this;
this.navContainer=$("top-navigation");
var b="images/defaultSmallProfilePicture.png";
if(globalVariables.unifiAccount().primaryFacePic){b=globalVariables.unifiAccount().primaryFacePic;
}globalVariables.unifiAccount().primaryFacePic;
this.navContainer.adopt(new Element("div",{id:"logo"}),new Element("ul",{id:"top-navigation-links"}).adopt(new Element("li").adopt(new Element("a",{href:"#",id:"invite-link",html:"invite 10 friends!",events:{click:function(c){c.stop();
globalVariables.unifiAccountInstance.addEvent("inviteUrl",function(){globalVariables.unifiAccountInstance.setInviteStatus();
});
globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.statusUpdateInstance.toggleUpdateBox(true);
globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:Cookie.read("username"),loopType:"invitefriend",linkType:"vm"},onComplete:function(e){$("optionalColumn").getElement(".streamContainerHolder").scrollTo(0,0);
globalVariables.unifiAccount().setInviteUrl(e);
var d=$("new_status");
if(d){d.highlight("#FF6632","#FFFFFF");
}}});
}}})),new Element("li").adopt(new Element("a",{href:"http://getsatisfaction.com/threadsy/",target:"_blank",id:"feedback-link",html:"feedback"})),new Element("li").adopt(new Element("a",{href:"#",id:"settings-link",html:"settings",events:{click:function(c){c.stop();
var d=globalVariables.configInstance.developer()?"http:":"https:";
document.location.href=globalVariables.configInstance.absoluteUrlPath.replace("http:",d)+"setting.html";
}}})),new Element("li",{id:"about-dropdown"}).adopt(new Element("a",{id:"about-link",html:"about"}),new Element("ul").adopt(new Element("li").adopt(new Element("a",{href:"/static/help.html",html:"help",target:"_blank"})),new Element("li").adopt(new Element("a",{href:"http://blog.threadsy.com/",html:"blog",target:"_blank"})),new Element("li").adopt(new Element("a",{href:"http://twitter.com/threadsy",html:"twitter",target:"_blank"})),new Element("li").adopt(new Element("a",{href:"http://facebook.com/threadsy",html:"facebook",target:"_blank"})),new Element("li").adopt(new Element("a",{href:"/static/terms.html",html:"terms",target:"_blank"})),new Element("li").adopt(new Element("a",{href:"/static/privacy.html",html:"privacy",target:"_blank"})))),new Element("li").adopt(new Element("a",{href:"#",id:"logout-link",html:"logout",events:{click:function(c){c.stop();
globalVariables.logout();
}}})),new Element("li").adopt(this.profileImage=new Element("img",{id:"user-profile-thumbnail",src:"images/defaultSmallProfilePicture.png",border:0,alt:"click to view profile",title:"click to view profile",events:{click:function(c){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:"th"+globalVariables.unifiAccountInstance.personId,displayName:globalVariables.unifiAccountInstance.displayName}});
}}}))),new Element("div",{"class":"clear"}));
},setUserFacepic:function(a){if(!a){return;
}this.profileImage.set("src",a);
}});
var UnboundTab=new Class({Extends:InboundTabMore,element:null,manager:null,activeFilter:null,initialize:function(b,a){this.parent({},a,null);
this.manager=b;
return this.element;
},createTabDisplay:function(c){var d="all unbound";
var b="yes";
var a=this;
return this.tab=new Element("li",{id:"unbound-tab","class":"tab selected",events:{mouseenter:function(){b="yes";
if(a.tab.hasClass("selected")){(function(){if(b=="yes"){a.tab.addClass("active");
}}).delay(300);
}},mouseleave:function(){b="no";
a.tab.removeClass("active");
},click:function(f){f.stop();
if(a.tab.hasClass("selected")){a.tab.addClass("active");
}else{a.tab.removeClass("active");
a.manager.unboundModeManager.setMode({mode:"timeline"});
}}}}).adopt(new Element("span",{"class":"shim"}),this.moreButton=new Element("a",{href:"#","class":"tab-button",id:"unbound-tab-button"}).adopt(new Element("span",{"class":"unbound"}).adopt(new Element("em",{html:"unbound","class":"service-icon"}))),new Element("ul",{"class":"dropdown"}).adopt(a.createAccountList()));
},createFilterLink:function(a,b){return;
},createAccountList:function(){var f=this;
var h=globalVariables.unifiAccountInstance.externalAccountsList;
var e=globalVariables.externalServiceManager();
var d=[];
var b=function(k){var n=k.options?k.options.id:k;
if(k!="all"){var m=k.options.externalServiceId;
var j=e.getById(m);
}if(n=="all"||j=="twitter"||j=="facebook"){var l;
l=new Element("li",{"class":"more",events:{mouseenter:function(){l.addClass("flyout-active");
},mouseleave:function(){l.removeClass("flyout-active");
}}}).adopt(new Element("a",{href:n,"class":(j||"unbound"),events:{click:function(o){o.stop();
if(n){f.setActive(this);
f.manager.filterOptionalStream(n);
f.manager.unboundModeManager.setMode({mode:"timeline"});
}}}}).adopt(new Element("em",{html:(k.options?k.options.name:"unbound"),"class":"service-icon"})));
if(j=="facebook"){d.splice(1,0,l);
}else{d.push(l);
}}return d[d.length-1];
};
this.activeFilter=b("all");
for(var g=0,c=h.length;
g<c;
g++){var a=h[g];
b(a);
}return d;
},setActive:function(a){if(this.activeFilter==a.getParent()){return;
}this.activeFilter=a.getParent();
this.tab.removeClass("active");
this.moreButton.set("html",'<span class="'+a.get("class")+'">'+a.get("html")+"</span>");
}});
var bkExtend=function(){var a=arguments;
if(a.length==1){a=[this,a[0]];
}for(var b in a[1]){a[0][b]=a[1][b];
}return a[0];
};
function bkClass(){}bkClass.prototype.construct=function(){};
bkClass.extend=function(c){var a=function(){if(arguments[0]!==bkClass){return this.construct.apply(this,arguments);
}};
var b=new this(bkClass);
bkExtend(b,c);
a.prototype=b;
a.extend=this.extend;
return a;
};
var bkElement=bkClass.extend({construct:function(b,a){if(typeof(b)=="string"){b=(a||document).createElement(b);
}b=$BK(b);
return b;
},appendTo:function(a){a.appendChild(this);
return this;
},appendBefore:function(a){a.parentNode.insertBefore(this,a);
return this;
},addEvent:function(b,a){bkLib.addEvent(this,b,a);
return this;
},setContent:function(a){this.innerHTML=a;
return this;
},pos:function(){var d=curtop=0;
var c=obj=this;
if(obj.offsetParent){do{d+=obj.offsetLeft;
curtop+=obj.offsetTop;
}while(obj=obj.offsetParent);
}var a=(!window.opera)?parseInt(this.getStyle("border-width")||this.style.border)||0:0;
return[d+a,curtop+a+this.offsetHeight];
},noSelect:function(){bkLib.noSelect(this);
return this;
},parentTag:function(a){var b=this;
do{if(b&&b.nodeName&&b.nodeName.toUpperCase()==a){return b;
}b=b.parentNode;
}while(b);
return false;
},hasClass:function(a){return this.className.match(new RegExp("(\\s|^)nicEdit-"+a+"(\\s|$)"));
},addClass:function(a){if(!this.hasClass(a)){this.className+=" nicEdit-"+a;
}return this;
},removeClass:function(a){if(this.hasClass(a)){this.className=this.className.replace(new RegExp("(\\s|^)nicEdit-"+a+"(\\s|$)")," ");
}return this;
},setStyle:function(a){var b=this.style;
for(var c in a){switch(c){case"float":b.cssFloat=b.styleFloat=a[c];
break;
case"opacity":b.opacity=a[c];
b.filter="alpha(opacity="+Math.round(a[c]*100)+")";
break;
case"className":this.className=a[c];
break;
default:b[c]=a[c];
}}return this;
},getStyle:function(a,c){var b=(!c)?document.defaultView:c;
if(this.nodeType==1){return(b&&b.getComputedStyle)?b.getComputedStyle(this,null).getPropertyValue(a):this.currentStyle[bkLib.camelize(a)];
}},remove:function(){this.parentNode.removeChild(this);
return this;
},setAttributes:function(a){for(var b in a){this[b]=a[b];
}return this;
}});
var bkLib={isMSIE:(navigator.appVersion.indexOf("MSIE")!=-1),addEvent:function(c,b,a){(c.addEventListener)?c.addEventListener(b,a,false):c.attachEvent("on"+b,a);
},toArray:function(c){var a=c.length,b=new Array(a);
while(a--){b[a]=c[a];
}return b;
},noSelect:function(a){if(a.setAttribute&&a.nodeName.toLowerCase()!="input"&&a.nodeName.toLowerCase()!="textarea"){a.setAttribute("unselectable","on");
}for(var b=0;
b<a.childNodes.length;
b++){bkLib.noSelect(a.childNodes[b]);
}},camelize:function(a){return a.replace(/\-(.)/g,function(b,c){return c.toUpperCase();
});
},inArray:function(a,b){return(bkLib.search(a,b)!=null);
},search:function(a,c){for(var b=0;
b<a.length;
b++){if(a[b]==c){return b;
}}return null;
},cancelEvent:function(a){a=a||window.event;
if(a.preventDefault&&a.stopPropagation){a.preventDefault();
a.stopPropagation();
}return false;
},domLoad:[],domLoaded:function(){if(arguments.callee.done){return;
}arguments.callee.done=true;
for(i=0;
i<bkLib.domLoad.length;
i++){bkLib.domLoad[i]();
}},onDomLoaded:function(a){this.domLoad.push(a);
if(document.addEventListener){document.addEventListener("DOMContentLoaded",bkLib.domLoaded,null);
}else{if(bkLib.isMSIE){document.write("<style>.nicEdit-main p { margin: 0; }</style><script id=__ie_onload defer "+((location.protocol=="https:")?"src='javascript:void(0)'":"src=//0")+"><\/script>");
$BK("__ie_onload").onreadystatechange=function(){if(this.readyState=="complete"){bkLib.domLoaded();
}};
}}window.onload=bkLib.domLoaded;
}};
function $BK(a){if(typeof(a)=="string"){a=document.getElementById(a);
}return(a&&!a.appendTo)?bkExtend(a,bkElement.prototype):a;
}var bkEvent={addEvent:function(b,a){if(a){this.eventList=this.eventList||{};
this.eventList[b]=this.eventList[b]||[];
this.eventList[b].push(a);
}return this;
},fireEvent:function(){var b=bkLib.toArray(arguments),a=b.shift();
if(this.eventList&&this.eventList[a]){for(var c=0;
c<this.eventList[a].length;
c++){this.eventList[a][c].apply(this,b);
}}}};
function __(a){return a;
}Function.prototype.closure=function(){var b=this,a=bkLib.toArray(arguments),c=a.shift();
return function(){if(typeof(bkLib)!="undefined"){return b.apply(c,a.concat(bkLib.toArray(arguments)));
}};
};
Function.prototype.closureListener=function(){var c=this,a=bkLib.toArray(arguments),b=a.shift();
return function(d){d=d||window.event;
if(d.target){var f=d.target;
}else{var f=d.srcElement;
}return c.apply(b,[d,f].concat(a));
};
};
var nicEditorConfig=bkClass.extend({buttons:{bold:{name:__("Click to Bold"),command:"Bold",tags:["B","STRONG"],css:{"font-weight":"bold"},key:"b"},italic:{name:__("Click to Italic"),command:"Italic",tags:["EM","I"],css:{"font-style":"italic"},key:"i"},underline:{name:__("Click to Underline"),command:"Underline",tags:["U"],css:{"text-decoration":"underline"},key:"u"},left:{name:__("Left Align"),command:"justifyleft",noActive:true},center:{name:__("Center Align"),command:"justifycenter",noActive:true},right:{name:__("Right Align"),command:"justifyright",noActive:true},justify:{name:__("Justify Align"),command:"justifyfull",noActive:true},ol:{name:__("Insert Ordered List"),command:"insertorderedlist",tags:["OL"]},ul:{name:__("Insert Unordered List"),command:"insertunorderedlist",tags:["UL"]},subscript:{name:__("Click to Subscript"),command:"subscript",tags:["SUB"]},superscript:{name:__("Click to Superscript"),command:"superscript",tags:["SUP"]},strikethrough:{name:__("Click to Strike Through"),command:"strikeThrough",css:{"text-decoration":"line-through"}},removeformat:{name:__("Remove Formatting"),command:"removeformat",noActive:true},indent:{name:__("Indent Text"),command:"indent",noActive:true},outdent:{name:__("Remove Indent"),command:"outdent",noActive:true},hr:{name:__("Horizontal Rule"),command:"insertHorizontalRule",noActive:true}},iconsPath:"../nicEditorIcons.gif",buttonList:["save","bold","italic","underline","left","center","right","justify","ol","ul","fontSize","fontFamily","fontFormat","indent","outdent","image","upload","link","unlink","forecolor","bgcolor"],iconList:{bgcolor:1,forecolor:2,bold:3,center:4,hr:5,indent:6,italic:7,justify:8,left:9,ol:10,outdent:11,removeformat:12,right:13,save:24,strikethrough:15,subscript:16,superscript:17,ul:18,underline:19,image:20,link:21,unlink:22,close:23,arrow:25,upload:26}});
var nicEditors={nicPlugins:[],editors:[],registerPlugin:function(a,b){this.nicPlugins.push({p:a,o:b});
},allTextAreas:function(b){var c=document.getElementsByTagName("textarea");
for(var a=0;
a<c.length;
a++){nicEditors.editors.push(new nicEditor(b).panelInstance(c[a]));
}return nicEditors.editors;
},findEditor:function(c){var a=nicEditors.editors;
for(var b=0;
b<a.length;
b++){if(a[b].instanceById(c)){return a[b].instanceById(c);
}}}};
var nicEditor=bkClass.extend({construct:function(c){this.options=new nicEditorConfig();
bkExtend(this.options,c);
this.nicInstances=new Array();
this.loadedPlugins=new Array();
var b=nicEditors.nicPlugins;
for(var a=0;
a<b.length;
a++){this.loadedPlugins.push(new b[a].p(this,b[a].o));
}nicEditors.editors.push(this);
bkLib.addEvent(document.body,"mousedown",this.selectCheck.closureListener(this));
},panelInstance:function(b,c){b=this.checkReplace($BK(b));
var a=new bkElement("DIV").appendBefore(b);
this.setPanel(a);
return this.addInstance(b,c);
},checkReplace:function(b){var a=nicEditors.findEditor(b);
if(a){a.removeInstance(b);
a.removePanel();
}return b;
},addInstance:function(b,c){b=this.checkReplace($BK(b));
if(b.contentEditable||!!window.opera){var a=new nicEditorInstance(b,c,this);
}else{var a=new nicEditorIFrameInstance(b,c,this);
}this.nicInstances.push(a);
return this;
},removeInstance:function(c){c=$BK(c);
var b=this.nicInstances;
for(var a=0;
a<b.length;
a++){if(b[a].e==c){b[a].remove();
this.nicInstances.splice(a,1);
}}},removePanel:function(a){if(this.nicPanel){this.nicPanel.remove();
this.nicPanel=null;
}},instanceById:function(c){c=$BK(c);
var b=this.nicInstances;
for(var a=0;
a<b.length;
a++){if(b[a].e==c){return b[a];
}}},setPanel:function(a){this.nicPanel=new nicEditorPanel($BK(a),this.options,this);
this.fireEvent("panel",this.nicPanel);
return this;
},nicCommand:function(b,a){if(this.selectedInstance){this.selectedInstance.nicCommand(b,a);
}},getIcon:function(d,b){var c=this.options.iconList[d];
var a=(b.iconFiles)?b.iconFiles[d]:"";
return{backgroundImage:"url('"+((c)?this.options.iconsPath:a)+"')",backgroundPosition:((c)?((c-1)*-18):0)+"px 0px",backgroundRepeat:"no-repeat"};
},selectCheck:function(c,a){var b=false;
do{if(a.className&&a.className.indexOf("nicEdit")!=-1){return false;
}}while(a=a.parentNode);
this.fireEvent("blur",this.selectedInstance,a);
this.lastSelectedInstance=this.selectedInstance;
this.selectedInstance=null;
return false;
}});
nicEditor=nicEditor.extend(bkEvent);
var nicEditorInstance=bkClass.extend({isSelected:false,construct:function(k,c,b){this.ne=b;
this.elm=this.e=k;
this.options=c||{};
newX=parseInt(k.getStyle("width"))||k.clientWidth;
newY=parseInt(k.getStyle("height"))||k.clientHeight;
this.initialHeight=newY-8;
var j=(k.nodeName.toLowerCase()=="textarea");
if(j||this.options.hasPanel){var a=(bkLib.isMSIE&&!((typeof document.body.style.maxHeight!="undefined")&&document.compatMode=="CSS1Compat"));
var d={border:"1px solid #ccc",backgroundColor:"#fff",overflowY:"auto",overflowX:"hidden"};
d[(a)?"height":"maxHeight"]=(this.ne.options.maxHeight)?this.ne.options.maxHeight+"px":null;
this.editorContain=new bkElement("DIV").setStyle(d).appendBefore(k);
var h=new bkElement("DIV").setStyle({margin:"4px",minHeight:newY+"px",textTransform:"none"}).addClass("main").appendTo(this.editorContain);
k.setStyle({display:"none"});
h.innerHTML=k.innerHTML;
if(j){h.setContent(k.value);
this.copyElm=k;
var g=k.parentTag("FORM");
if(g){bkLib.addEvent(g,"submit",this.saveContent.closure(this));
}}h.setStyle((a)?{height:newY+"px"}:{overflow:"hidden"});
this.elm=h;
}this.ne.addEvent("blur",this.blur.closure(this));
this.init();
this.blur();
},init:function(){this.elm.setAttribute("contentEditable","true");
if(this.getContent()==""){this.setContent("<br />");
}this.instanceDoc=document.defaultView;
this.elm.addEvent("mousedown",this.selected.closureListener(this)).addEvent("keypress",this.keyDown.closureListener(this)).addEvent("focus",this.selected.closure(this)).addEvent("blur",this.blur.closure(this)).addEvent("keyup",this.selected.closure(this));
this.ne.fireEvent("add",this);
},remove:function(){this.saveContent();
if(this.copyElm||this.options.hasPanel){this.editorContain.remove();
this.e.setStyle({display:"block"});
this.ne.removePanel();
}this.disable();
this.ne.fireEvent("remove",this);
},disable:function(){this.elm.setAttribute("contentEditable","false");
},getSel:function(){return(window.getSelection)?window.getSelection():document.selection;
},getRng:function(){var a=this.getSel();
if(!a){return null;
}return(a.rangeCount>0)?a.getRangeAt(0):a.createRange();
},selRng:function(a,b){if(window.getSelection){b.removeAllRanges();
b.addRange(a);
}else{a.select();
}},selElm:function(){var c=this.getRng();
if(c.startContainer){var d=c.startContainer;
if(c.cloneContents().childNodes.length==1){for(var b=0;
b<d.childNodes.length;
b++){var a=d.childNodes[b].ownerDocument.createRange();
a.selectNode(d.childNodes[b]);
if(c.compareBoundaryPoints(Range.START_TO_START,a)!=1&&c.compareBoundaryPoints(Range.END_TO_END,a)!=-1){return $BK(d.childNodes[b]);
}}}return $BK(d);
}else{return $BK((this.getSel().type=="Control")?c.item(0):c.parentElement());
}},saveRng:function(){this.savedRange=this.getRng();
this.savedSel=this.getSel();
},restoreRng:function(){if(this.savedRange){this.selRng(this.savedRange,this.savedSel);
}},keyDown:function(b,a){if(b.ctrlKey){this.ne.fireEvent("key",this,b);
}},selected:function(c,b){if(!b){b=this.selElm();
}if(!c.ctrlKey){var a=this.ne.selectedInstance;
if(a!=this){if(a){this.ne.fireEvent("blur",a,b);
}this.ne.selectedInstance=this;
this.ne.fireEvent("focus",this,b);
}this.ne.fireEvent("selected",this,b);
this.isFocused=true;
this.elm.addClass("selected");
}return false;
},blur:function(){this.isFocused=false;
this.elm.removeClass("selected");
},saveContent:function(){if(this.copyElm||this.options.hasPanel){this.ne.fireEvent("save",this);
(this.copyElm)?this.copyElm.value=this.getContent():this.e.innerHTML=this.getContent();
}},getElm:function(){return this.elm;
},getContent:function(){this.content=this.getElm().innerHTML;
this.ne.fireEvent("get",this);
return this.content;
},setContent:function(a){this.content=a;
this.ne.fireEvent("set",this);
this.elm.innerHTML=this.content;
},nicCommand:function(b,a){document.execCommand(b,false,a);
}});
var nicEditorIFrameInstance=nicEditorInstance.extend({savedStyles:[],init:function(){var b=this.elm.innerHTML.replace(/^\s+|\s+$/g,"");
this.elm.innerHTML="";
(!b)?b="<br />":b;
this.initialContent=b;
this.elmFrame=new bkElement("iframe").setAttributes({src:"javascript:;",frameBorder:0,allowTransparency:"true",scrolling:"no"}).setStyle({height:"100px",width:"100%"}).addClass("frame").appendTo(this.elm);
if(this.copyElm){this.elmFrame.setStyle();
}var a=["font-size","font-family","font-weight","color"];
for(itm in a){this.savedStyles[bkLib.camelize(itm)]=this.elm.getStyle(itm);
}setTimeout(this.initFrame.closure(this),50);
},disable:function(){this.elm.innerHTML=this.getContent();
},initFrame:function(){var b=$BK(this.elmFrame.contentWindow.document);
b.designMode="on";
b.open();
var a=this.ne.options.externalCSS;
b.write("<html><head>"+((a)?'<link href="'+a+'" rel="stylesheet" type="text/css" />':"")+'</head><body id="nicEditContent" style="margin: 0 !important; background-color: transparent !important;">'+this.initialContent+"</body></html>");
b.close();
this.frameDoc=b;
this.frameWin=$BK(this.elmFrame.contentWindow);
this.frameContent=$BK(this.frameWin.document.body).setStyle(this.savedStyles);
this.instanceDoc=this.frameWin.document.defaultView;
this.heightUpdate();
this.frameDoc.addEvent("mousedown",this.selected.closureListener(this)).addEvent("keyup",this.heightUpdate.closureListener(this)).addEvent("keydown",this.keyDown.closureListener(this)).addEvent("keyup",this.selected.closure(this));
this.ne.fireEvent("add",this);
},getElm:function(){return this.frameContent;
},setContent:function(a){this.content=a;
this.ne.fireEvent("set",this);
this.frameContent.innerHTML=this.content;
this.heightUpdate();
},getSel:function(){return(this.frameWin)?this.frameWin.getSelection():this.frameDoc.selection;
},heightUpdate:function(){this.elmFrame.style.height=Math.max(this.frameContent.offsetHeight,this.initialHeight)+"px";
},nicCommand:function(b,a){this.frameDoc.execCommand(b,false,a);
setTimeout(this.heightUpdate.closure(this),100);
}});
var nicEditorPanel=bkClass.extend({construct:function(f,c,a){this.elm=f;
this.options=c;
this.ne=a;
this.panelButtons=new Array();
this.buttonList=bkExtend([],this.ne.options.buttonList);
this.panelContain=new bkElement("DIV").setStyle({overflow:"hidden",width:"100%",border:"1px solid #333",padding:"2px 0",backgroundColor:"#333333"}).addClass("panelContain");
this.panelElm=new bkElement("DIV").setStyle({margin:"2px",marginTop:"0px",zoom:1,overflow:"hidden"}).addClass("panel").appendTo(this.panelContain);
this.panelContain.appendTo(f);
var b=this.ne.options;
var d=b.buttons;
for(button in d){this.addButton(button,b,true);
}this.reorder();
f.noSelect();
},addButton:function(buttonName,options,noOrder){var button=options.buttons[buttonName];
var type=(button.type)?eval("(typeof("+button.type+') == "undefined") ? null : '+button.type+";"):nicEditorButton;
var hasButton=bkLib.inArray(this.buttonList,buttonName);
if(type&&(hasButton||this.ne.options.fullPanel)){this.panelButtons.push(new type(this.panelElm,buttonName,options,this.ne));
if(!hasButton){this.buttonList.push(buttonName);
}}},findButton:function(b){for(var a=0;
a<this.panelButtons.length;
a++){if(this.panelButtons[a].name==b){return this.panelButtons[a];
}}},reorder:function(){var c=this.buttonList;
for(var b=0;
b<c.length;
b++){var a=this.findButton(c[b]);
if(a){this.panelElm.appendChild(a.margin);
}}},remove:function(){this.elm.remove();
}});
var nicEditorButton=bkClass.extend({construct:function(d,a,c,b){this.options=c.buttons[a];
this.name=a;
this.ne=b;
this.elm=d;
this.margin=new bkElement("DIV").setStyle({"float":"left",marginTop:"2px"}).appendTo(d);
this.contain=new bkElement("DIV").setStyle({width:"20px",height:"20px"}).addClass("buttonContain").appendTo(this.margin);
this.border=new bkElement("DIV").setStyle({backgroundColor:"#333333",border:"1px solid #000000"}).appendTo(this.contain);
this.button=new bkElement("DIV").setStyle({width:"18px",height:"18px",overflow:"hidden",zoom:1,cursor:"pointer"}).addClass("button").setStyle(this.ne.getIcon(a,c)).appendTo(this.border);
this.button.addEvent("mouseover",this.hoverOn.closure(this)).addEvent("mouseout",this.hoverOff.closure(this)).addEvent("mousedown",this.mouseClick.closure(this)).noSelect();
if(!window.opera){this.button.onmousedown=this.button.onclick=bkLib.cancelEvent;
}b.addEvent("selected",this.enable.closure(this)).addEvent("blur",this.disable.closure(this)).addEvent("key",this.key.closure(this));
this.disable();
this.init();
},init:function(){},hide:function(){this.contain.setStyle({display:"none"});
},updateState:function(){if(this.isDisabled){this.setBg();
}else{if(this.isHover){this.setBg("hover");
}else{if(this.isActive){this.setBg("active");
}else{this.setBg();
}}}},setBg:function(a){switch(a){case"hover":var b={border:"1px solid #222",borderTop:"1px solid #111",borderBottom:"1px solid #444",backgroundColor:"#222"};
break;
case"active":var b={border:"1px solid #333",backgroundColor:"#333"};
break;
default:var b={border:"1px solid #333",backgroundColor:"#333"};
}this.border.setStyle(b).addClass("button-"+a);
},checkNodes:function(a){var b=a;
while(b&&b.className&&(b.className.indexOf("nicEdit-main")==-1)){if(this.options.tags&&bkLib.inArray(this.options.tags,b.nodeName)){this.activate();
return true;
}b=b.parentNode;
}if(!b||!b.className){return;
}b=$BK(a);
while(b.nodeType==3){b=$BK(b.parentNode);
}if(this.options.css){for(itm in this.options.css){if(b.getStyle(itm,this.ne.selectedInstance.instanceDoc)==this.options.css[itm]){this.activate();
return true;
}}}this.deactivate();
return false;
},activate:function(){if(!this.isDisabled){this.isActive=true;
this.updateState();
this.ne.fireEvent("buttonActivate",this);
}},deactivate:function(){this.isActive=false;
this.updateState();
if(!this.isDisabled){this.ne.fireEvent("buttonDeactivate",this);
}},enable:function(a,b){this.isDisabled=false;
this.contain.setStyle({opacity:1}).addClass("buttonEnabled");
this.updateState();
this.checkNodes(b);
},disable:function(a,b){this.isDisabled=true;
this.contain.setStyle({opacity:0.6}).removeClass("buttonEnabled");
this.updateState();
},toggleActive:function(){(this.isActive)?this.deactivate():this.activate();
},hoverOn:function(){if(!this.isDisabled){this.isHover=true;
this.updateState();
this.ne.fireEvent("buttonOver",this);
}},hoverOff:function(){this.isHover=false;
this.updateState();
this.ne.fireEvent("buttonOut",this);
},mouseClick:function(){if(this.options.command){this.ne.nicCommand(this.options.command,this.options.commandArgs);
if(!this.options.noActive){this.toggleActive();
}}this.ne.fireEvent("buttonClick",this);
},key:function(a,b){if(this.options.key&&b.ctrlKey&&String.fromCharCode(b.keyCode||b.charCode).toLowerCase()==this.options.key){this.mouseClick();
if(b.preventDefault){b.preventDefault();
}}}});
var nicPlugin=bkClass.extend({construct:function(a,b){this.options=b;
this.ne=a;
this.ne.addEvent("panel",this.loadPanel.closure(this));
this.init();
},loadPanel:function(c){var b=this.options.buttons;
for(var a in b){c.addButton(a,this.options);
}c.reorder();
},init:function(){}});
var nicPaneOptions={};
var nicEditorPane=bkClass.extend({construct:function(d,a,b,c){this.ne=a;
this.elm=d;
this.pos=d.pos();
this.contain=new bkElement("div").setStyle({zIndex:"99999",overflow:"hidden",position:"absolute",left:(this.pos[0]-260)+"px",top:"30px"});
this.pane=new bkElement("div").setStyle({fontSize:"12px",border:"1px solid #ccc",overflow:"hidden",padding:"4px",textAlign:"left",backgroundColor:"#ffffc9"}).addClass("pane").setStyle(b).appendTo(this.contain);
if(c&&!c.options.noClose){this.close=new bkElement("div").setStyle({"float":"right",height:"16px",width:"16px",cursor:"pointer"}).setStyle(this.ne.getIcon("close",nicPaneOptions)).addEvent("mousedown",c.removePane.closure(this)).appendTo(this.pane);
}this.contain.noSelect().appendTo(this.elm);
this.position();
this.init();
},init:function(){},position:function(){if(this.ne.nicPanel){var b=this.ne.nicPanel.elm;
var a=b.pos();
var c=a[0]+parseInt(b.getStyle("width"))-(parseInt(this.pane.getStyle("width"))+8);
if(c<this.pos[0]){this.contain.setStyle({left:c+"px"});
}}},toggle:function(){this.isVisible=!this.isVisible;
this.contain.setStyle({display:((this.isVisible)?"block":"none")});
},remove:function(){if(this.contain){this.contain.remove();
this.contain=null;
}},append:function(a){a.appendTo(this.pane);
},setContent:function(a){this.pane.setContent(a);
}});
var nicEditorAdvancedButton=nicEditorButton.extend({init:function(){this.ne.addEvent("selected",this.removePane.closure(this)).addEvent("blur",this.removePane.closure(this));
},mouseClick:function(){if(!this.isDisabled){if(this.pane&&this.pane.pane){this.removePane();
}else{this.pane=new nicEditorPane(this.contain,this.ne,{width:(this.width||"270px"),backgroundColor:"#fff"},this);
this.addPane();
this.ne.selectedInstance.saveRng();
}}},addForm:function(c,h){this.form=new bkElement("form").addEvent("submit",this.submit.closureListener(this));
this.pane.append(this.form);
this.inputs={};
for(itm in c){var d=c[itm];
var g="";
if(h){g=h.getAttribute(itm);
}if(!g){g=d.value||"";
}var a=c[itm].type;
if(a=="title"){new bkElement("div").setContent(d.txt).setStyle({fontSize:"14px",fontWeight:"bold",padding:"0px",margin:"2px 0"}).appendTo(this.form);
}else{var b=new bkElement("div").setStyle({overflow:"hidden",clear:"both"}).appendTo(this.form);
if(d.txt){new bkElement("label").setAttributes({"for":itm}).setContent(d.txt).setStyle({margin:"2px 4px",fontSize:"13px",width:"50px",lineHeight:"20px",textAlign:"right","float":"left"}).appendTo(b);
}switch(a){case"text":this.inputs[itm]=new bkElement("input").setAttributes({id:itm,value:g,type:"text"}).setStyle({margin:"2px 0",fontSize:"13px","float":"left",height:"20px",border:"1px solid #ccc",overflow:"hidden"}).setStyle(d.style).appendTo(b);
break;
case"select":this.inputs[itm]=new bkElement("select").setAttributes({id:itm}).setStyle({border:"1px solid #ccc","float":"left",margin:"2px 0"}).appendTo(b);
for(opt in d.options){var e=new bkElement("option").setAttributes({value:opt,selected:(opt==g)?"selected":""}).setContent(d.options[opt]).appendTo(this.inputs[itm]);
}break;
case"content":this.inputs[itm]=new bkElement("textarea").setAttributes({id:itm}).setStyle({border:"1px solid #ccc","float":"left"}).setStyle(d.style).appendTo(b);
this.inputs[itm].value=g;
}}}new bkElement("input").setAttributes({type:"submit"}).setStyle({backgroundColor:"#efefef",border:"1px solid #ccc",margin:"3px 0","float":"left",clear:"both"}).appendTo(this.form);
this.form.onsubmit=bkLib.cancelEvent;
},submit:function(){},findElm:function(b,a,e){var d=this.ne.selectedInstance.getElm().getElementsByTagName(b);
for(var c=0;
c<d.length;
c++){if(d[c].getAttribute(a)==e){return $BK(d[c]);
}}},removePane:function(){if(this.pane){this.pane.remove();
this.pane=null;
this.ne.selectedInstance.restoreRng();
}}});
var nicButtonTips=bkClass.extend({construct:function(a){this.ne=a;
a.addEvent("buttonOver",this.show.closure(this)).addEvent("buttonOut",this.hide.closure(this));
},show:function(a){this.timer=setTimeout(this.create.closure(this,a),400);
},create:function(a){this.timer=null;
if(!this.pane){this.pane=new nicEditorPane(a.button,this.ne,{fontSize:"12px",marginTop:"5px"});
this.pane.setContent(a.options.name);
}},hide:function(a){if(this.timer){clearTimeout(this.timer);
}if(this.pane){this.pane=this.pane.remove();
}}});
nicEditors.registerPlugin(nicButtonTips);
var nicSelectOptions={buttons:{fontSize:{name:__("Select Font Size"),type:"nicEditorFontSizeSelect",command:"fontsize"},fontFamily:{name:__("Select Font Family"),type:"nicEditorFontFamilySelect",command:"fontname"},fontFormat:{name:__("Select Font Format"),type:"nicEditorFontFormatSelect",command:"formatBlock"}}};
var nicEditorSelect=bkClass.extend({construct:function(d,a,c,b){this.options=c.buttons[a];
this.elm=d;
this.ne=b;
this.name=a;
this.selOptions=new Array();
this.margin=new bkElement("div").setStyle({"float":"left",margin:"2px 1px 0 1px"}).appendTo(this.elm);
this.contain=new bkElement("div").setStyle({width:"60px",height:"20px",cursor:"pointer",overflow:"hidden"}).addClass("selectContain").addEvent("click",this.toggle.closure(this)).appendTo(this.margin);
this.items=new bkElement("div").setStyle({overflow:"hidden",zoom:1,paddingLeft:"3px",backgroundColor:"#fff"}).appendTo(this.contain);
this.control=new bkElement("div").setStyle({overflow:"hidden","float":"right",height:"18px",width:"16px",backgroundColor:"#666"}).addClass("selectControl").setStyle(this.ne.getIcon("arrow",c)).appendTo(this.items);
this.txt=new bkElement("div").setStyle({overflow:"hidden","float":"left",height:"14px",marginTop:"3px",fontFamily:"sans-serif",fontSize:"12px"}).addClass("selectTxt").appendTo(this.items);
if(!window.opera){this.contain.onmousedown=this.control.onmousedown=this.txt.onmousedown=bkLib.cancelEvent;
}this.margin.noSelect();
this.ne.addEvent("selected",this.enable.closure(this)).addEvent("blur",this.disable.closure(this));
this.disable();
this.init();
},disable:function(){this.isDisabled=true;
this.close();
this.contain.setStyle({opacity:0.6});
},enable:function(a){this.isDisabled=false;
this.close();
this.contain.setStyle({opacity:1});
},setDisplay:function(a){this.txt.setContent(a);
},toggle:function(){if(!this.isDisabled){(this.pane)?this.close():this.open();
}},open:function(){this.pane=new nicEditorPane(this.items,this.ne,{width:"88px",padding:"0px",borderTop:0,borderLeft:"1px solid #ccc",borderRight:"1px solid #ccc",borderBottom:"0px",backgroundColor:"#fff"});
for(var c=0;
c<this.selOptions.length;
c++){var b=this.selOptions[c];
var a=new bkElement("div").setStyle({overflow:"hidden",borderBottom:"1px solid #ccc",width:"88px",textAlign:"left",overflow:"hidden",cursor:"pointer"});
var d=new bkElement("div").setStyle({padding:"0px 4px"}).setContent(b[1]).appendTo(a).noSelect();
d.addEvent("click",this.update.closure(this,b[0])).addEvent("mouseover",this.over.closure(this,d)).addEvent("mouseout",this.out.closure(this,d)).setAttributes("id",b[0]);
this.pane.append(a);
if(!window.opera){d.onmousedown=bkLib.cancelEvent;
}}},close:function(){if(this.pane){this.pane=this.pane.remove();
}},over:function(a){a.setStyle({backgroundColor:"#ccc"});
},out:function(a){a.setStyle({backgroundColor:"#fff"});
},add:function(b,a){this.selOptions.push(new Array(b,a));
},update:function(a){this.ne.nicCommand(this.options.command,a);
}});
var nicEditorFontSizeSelect=nicEditorSelect.extend({sel:{1:"1&nbsp;(8pt)",2:"2&nbsp;(10pt)",3:"3&nbsp;(12pt)",4:"4&nbsp;(14pt)",5:"5&nbsp;(18pt)",6:"6&nbsp;(24pt)"},init:function(){this.setDisplay("Size");
for(itm in this.sel){this.add(itm,'<font size="'+itm+'">'+this.sel[itm]+"</font>");
}}});
var nicEditorFontFamilySelect=nicEditorSelect.extend({sel:{arial:"Arial","comic sans ms":"Comic Sans","courier new":"Courier New",georgia:"Georgia",helvetica:"Helvetica",impact:"Impact","times new roman":"Times","trebuchet ms":"Trebuchet",verdana:"Verdana"},init:function(){this.setDisplay("Font");
for(itm in this.sel){this.add(itm,'<font face="'+itm+'">'+this.sel[itm]+"</font>");
}}});
var nicEditorFontFormatSelect=nicEditorSelect.extend({sel:{p:"Paragraph",pre:"Pre",h6:"Heading&nbsp;6",h5:"Heading&nbsp;5",h4:"Heading&nbsp;4",h3:"Heading&nbsp;3",h2:"Heading&nbsp;2",h1:"Heading&nbsp;1"},init:function(){this.setDisplay("Font&nbsp;Format...");
for(itm in this.sel){var a=itm.toUpperCase();
this.add("<"+a+">","<"+itm+' style="padding: 0px; margin: 0px;">'+this.sel[itm]+"</"+a+">");
}}});
nicEditors.registerPlugin(nicPlugin,nicSelectOptions);
var nicLinkOptions={buttons:{link:{name:"Add Link",type:"nicLinkButton",tags:["A"]},unlink:{name:"Remove Link",command:"unlink",noActive:true}}};
var nicLinkButton=nicEditorAdvancedButton.extend({addPane:function(){this.ln=this.ne.selectedInstance.selElm().parentTag("A");
this.addForm({"":{type:"title",txt:"Add/Edit Link"},href:{type:"text",txt:"URL",value:"http://",style:{width:"150px"}},title:{type:"text",txt:"Title"},target:{type:"select",txt:"Open In",options:{"":"Current Window",_blank:"New Window"},style:{width:"100px"}}},this.ln);
},submit:function(c){var a=this.inputs.href.value;
if(a=="http://"||a==""){alert("You must enter a URL to Create a Link");
return false;
}this.removePane();
if(!this.ln){var b="javascript:nicTemp();";
this.ne.nicCommand("createlink",b);
this.ln=this.findElm("A","href",b);
}if(this.ln){this.ln.setAttributes({href:this.inputs.href.value,title:this.inputs.title.value,target:this.inputs.target.options[this.inputs.target.selectedIndex].value});
}}});
nicEditors.registerPlugin(nicPlugin,nicLinkOptions);
var nicColorOptions={buttons:{forecolor:{name:__("Change Text Color"),type:"nicEditorColorButton",noClose:true},bgcolor:{name:__("Change Background Color"),type:"nicEditorBgColorButton",noClose:true}}};
var nicEditorColorButton=nicEditorAdvancedButton.extend({addPane:function(){var d={0:"00",1:"33",2:"66",3:"99",4:"CC",5:"FF"};
var k=new bkElement("DIV").setStyle({width:"270px"});
for(var a in d){for(var h in d){for(var f in d){var l="#"+d[a]+d[f]+d[h];
var e=new bkElement("DIV").setStyle({cursor:"pointer",height:"15px","float":"left"}).appendTo(k);
var j=new bkElement("DIV").setStyle({border:"2px solid "+l}).appendTo(e);
var c=new bkElement("DIV").setStyle({backgroundColor:l,overflow:"hidden",width:"11px",height:"11px"}).addEvent("click",this.colorSelect.closure(this,l)).addEvent("mouseover",this.on.closure(this,j)).addEvent("mouseout",this.off.closure(this,j,l)).appendTo(j);
if(!window.opera){e.onmousedown=c.onmousedown=bkLib.cancelEvent;
}}}}this.pane.append(k.noSelect());
},colorSelect:function(a){this.ne.nicCommand("foreColor",a);
this.removePane();
},on:function(a){a.setStyle({border:"2px solid #000"});
},off:function(a,b){a.setStyle({border:"2px solid "+b});
}});
var nicEditorBgColorButton=nicEditorColorButton.extend({colorSelect:function(a){this.ne.nicCommand("hiliteColor",a);
this.removePane();
}});
nicEditors.registerPlugin(nicPlugin,nicColorOptions);
var nicImageOptions={buttons:{image:{name:"Add Image",type:"nicImageButton",tags:["IMG"]}}};
var nicImageButton=nicEditorAdvancedButton.extend({addPane:function(){this.im=this.ne.selectedInstance.selElm().parentTag("IMG");
this.addForm({"":{type:"title",txt:"Add/Edit Image"},src:{type:"text",txt:"URL",value:"http://",style:{width:"150px"}},alt:{type:"text",txt:"Alt Text",style:{width:"100px"}},align:{type:"select",txt:"Align",options:{none:"Default",left:"Left",right:"Right"}}},this.im);
},submit:function(b){var c=this.inputs.src.value;
if(c==""||c=="http://"){alert("You must enter a Image URL to insert");
return false;
}this.removePane();
if(!this.im){var a="javascript:nicImTemp();";
this.ne.nicCommand("insertImage",a);
this.im=this.findElm("IMG","src",a);
}if(this.im){this.im.setAttributes({src:this.inputs.src.value,alt:this.inputs.alt.value,align:this.inputs.align.value});
}}});
nicEditors.registerPlugin(nicPlugin,nicImageOptions);
var nicSaveOptions={buttons:{save:{name:__("Save this content"),type:"nicEditorSaveButton"}}};
var nicEditorSaveButton=nicEditorButton.extend({init:function(){if(!this.ne.options.onSave){this.margin.setStyle({display:"none"});
}},mouseClick:function(){var b=this.ne.options.onSave;
var a=this.ne.selectedInstance;
b(a.getContent(),a.elm.id,a);
}});
nicEditors.registerPlugin(nicPlugin,nicSaveOptions);
var nicUploadOptions={buttons:{upload:{name:"Upload Image",type:"nicUploadButton"}}};
var nicUploadButton=nicEditorAdvancedButton.extend({nicURI:"http://files.nicedit.com/",addPane:function(){this.im=this.ne.selectedInstance.selElm().parentTag("IMG");
this.myID=Math.round(Math.random()*Math.pow(10,15));
this.requestInterval=1000;
this.uri=this.ne.options.uploadURI||this.nicURI;
nicUploadButton.lastPlugin=this;
this.myFrame=new bkElement("iframe").setAttributes({width:"100%",height:"100px",frameBorder:0,scrolling:"no"}).setStyle({border:0}).appendTo(this.pane.pane);
this.progressWrapper=new bkElement("div").setStyle({display:"none",width:"100%",height:"20px",border:"1px solid #ccc"}).appendTo(this.pane.pane);
this.progress=new bkElement("div").setStyle({width:"0%",height:"20px",backgroundColor:"#ccc"}).setContent("&nbsp").appendTo(this.progressWrapper);
setTimeout(this.addForm.closure(this),50);
},addForm:function(){var a=this.myDoc=this.myFrame.contentWindow.document;
a.open();
a.write("<html><body>");
a.write('<form method="post" action="'+this.uri+"?id="+this.myID+'" enctype="multipart/form-data">');
a.write('<input type="hidden" name="APC_UPLOAD_PROGRESS" value="'+this.myID+'" />');
if(this.uri==this.nicURI){a.write('<div style="position: absolute; margin-left: 160px;"><img src="http://imageshack.us/img/imageshack.png" width="30" style="float: left;" /><div style="float: left; margin-left: 5px; font-size: 10px;">Hosted by<br /><a href="http://www.imageshack.us/" target="_blank">ImageShack</a></div></div>');
}a.write('<div style="font-size: 14px; font-weight: bold; padding-top: 5px;">Insert an Image</div>');
a.write('<input name="nicImage" type="file" style="margin-top: 10px;" />');
a.write("</form>");
a.write("</body></html>");
a.close();
this.myBody=a.body;
this.myForm=$BK(this.myBody.getElementsByTagName("form")[0]);
this.myInput=$BK(this.myBody.getElementsByTagName("input")[1]).addEvent("change",this.startUpload.closure(this));
this.myStatus=new bkElement("div",this.myDoc).setStyle({textAlign:"center",fontSize:"14px"}).appendTo(this.myBody);
},startUpload:function(){this.myForm.setStyle({display:"none"});
this.myStatus.setContent('<img src="http://files.nicedit.com/ajax-loader.gif" style="float: right; margin-right: 40px;" /><strong>Uploading...</strong><br />Please wait');
this.myForm.submit();
setTimeout(this.makeRequest.closure(this),this.requestInterval);
},makeRequest:function(){if(this.pane&&this.pane.pane){nicUploadButton.lastPlugin=this;
var a=new bkElement("script").setAttributes({type:"text/javascript",src:this.uri+"?check="+this.myID+"&rand="+Math.round(Math.random()*Math.pow(10,15))}).addEvent("load",function(){a.parentNode.removeChild(a);
}).appendTo(document.getElementsByTagName("head")[0]);
if(this.requestInterval){setTimeout(this.makeRequest.closure(this),this.requestInterval);
}}},setProgress:function(a){this.progressWrapper.setStyle({display:"block"});
this.progress.setStyle({width:a+"%"});
},update:function(c){if(c==false){this.progressWrapper.setStyle({display:"none"});
}else{if(c.url){this.setProgress(100);
this.requestInterval=false;
if(!this.im){this.ne.selectedInstance.restoreRng();
var b="javascript:nicImTemp();";
this.ne.nicCommand("insertImage",b);
this.im=this.findElm("IMG","src",b);
}var a=parseInt(this.ne.selectedInstance.elm.getStyle("width"));
if(this.im){this.im.setAttributes({src:c.url,width:(a&&c.width)?Math.min(a,c.width):""});
}this.removePane();
}else{if(c.error){this.requestInterval=false;
this.setProgress(100);
alert("There was an error uploading your image ("+c.error+").");
this.removePane();
}else{if(c.noprogress){this.progressWrapper.setStyle({display:"none"});
if(this.uri.indexOf("http:")==-1||this.uri.indexOf(window.location.host)!=-1){this.requestInterval=false;
}}else{this.setProgress(Math.round((c.current/c.total)*75));
if(c.interval){this.requestInterval=c.interval;
}}}}}}});
nicUploadButton.statusCb=function(a){nicUploadButton.lastPlugin.update(a);
};
nicEditors.registerPlugin(nicPlugin,nicUploadOptions);
var nullExternalAccount=new Class({Extends:externalAccount,initialize:function(a){this.parent({id:new Date().getTime(),username:null,externalServiceId:a,personId:0,name:null,primary:false,replyTo:null,userId:null,uid:0});
}});
var nullOptionalStream=new Class({Extends:OptionalStream,initialize:function(a){this.parent(a,"null");
},addContainerDisplay:function(){},createMessageListDisplay:function(){},doDestroy:function(){},doInit:function(){},hideMessage:function(a,b){},initHiddenMessages:function(){},isNull:function(){return true;
},isVisible:function(){return false;
},makeActive:function(){},makeInactive:function(){},removeColumnClass:function(){},toggleComposeContainer:function(){},toggleUpdateBox:function(){},updateColor:function(a){}});
OAuth.getUrl=function getUrl(m,a,o,k,j,e,c,f){var l=OAuth.getParams(m,a,o,k,j,e,c,f);
var h=[];
for(var b in l){if(b!="oauth_signature"){h[h.length]=b;
}}h.sort();
h[h.length]="oauth_signature";
var d="";
for(var g=0;
g<h.length;
g++){var b=h[g];
var n=escape(l[b]);
n=n.replace(/\+/g,"%2B");
n=n.replace(/\//g,"%2F");
d+="&"+b+"="+n;
}d=d.substring(1);
var q=a+"?"+d;
return q;
};
OAuth.getParams=function getParams(j,a,k,g,f,d,b,e){if(b==null){b="";
}var c={consumerSecret:g,tokenSecret:b};
var l={action:a,method:j,parameters:[]};
OAuth.setParameter(l,"oauth_consumer_key",k);
OAuth.setParameter(l,"oauth_signature_method",f);
OAuth.setParameter(l,"oauth_version","1.0");
if(d!=null&&d!=""){OAuth.setParameter(l,"oauth_token",d);
}OAuth.setParameters(l,e);
OAuth.setTimestampAndNonce(l);
OAuth.SignatureMethod.sign(l,c);
var h=OAuth.getParameterMap(l.parameters);
return h;
};
Request.OAUTH=new Class({Extends:Request.JSONP,oauth:{consumerKey:null,consumerSecret:null,authKey:null,authSecret:null,signatureMethod:null},params:{},initialize:function(b,a,c){this.parent(b);
this.oauth=a;
if(c){this.params=c;
}},getScript:function(b){var a=Request.OAUTH.counter;
Request.OAUTH.counter++;
$extend(this.params,{callback:"Request.OAUTH.request_map.request_"+a});
var d=OAuth.getUrl("GET",b.url,this.oauth.consumerKey,this.oauth.consumerSecret,this.oauth.signatureMethod,this.oauth.authKey,this.oauth.authSecret,this.params);
if(d.length>2083){this.log("OAUTH "+d+" will fail in Internet Explorer, which enforces a 2083 bytes length limit on URIs");
}var c=new Element("script",{type:"text/javascript",src:d});
Request.OAUTH.request_map["request_"+a]=function(e){this.success(e,c);
}.bind(this);
return c.inject(this.options.injectScript);
}});
Request.OAUTH.counter=0;
Request.OAUTH.request_map={};
var OnlineAddress=new Class({options:{email:null,id:-1,label:null,personId:-1,primaryFlag:false},initialize:function(a){this.options=a;
}});
var OptionalStreamManagerDisplay=new Class({container:null,streamManager:null,initialize:function(a){this.streamManager=a;
this.addContainer();
},addContainer:function(){var a=this;
this.container=new Element("div",{"class":"unifi_optionalStreamManager optional_write"}).inject(this.streamManager.unboundModeManager.display.element,"bottom");
}});
var optionalStreamManager=new Class({Implements:Events,hasInit:false,activeContent:null,display:null,optionalContactStream:null,optionalPollTimer:null,rightColumnManager:null,statusUpdateInstance:null,tabs:[],twitterAccountIds:[],unboundTab:null,unboundModeManager:null,updaters:[],updatersByKey:[],initialize:function(a){this.unboundModeManager=a;
this.rightColumnManager=a.rightColumnManager;
},initDropDown:function(){this.unboundTab=new UnboundTab(this,"All unbound");
this.unboundTab.inject($("unbound-nav"),"top");
},createSearchInstance:function(){this.searchBoxInstance=new optionalStreamSearchBox(this);
if(this.searchBoxInstance){this.searchBoxInstance.createSearchBox().inject($("unbound-nav-container"),"top");
}},createStatusUpdateInstance:function(){this.statusUpdateInstance=new optionalStreamUpdateBox(this);
if(this.statusUpdateInstance){this.statusUpdateInstance.updateBox.inject($("unbound-nav-container"),"top");
this.fireEvent("hasStatusInstance");
}},doAfterInit:function(){this.hasInit=true;
this.createManagerDisplay();
var a=globalVariables.unifiAccountInstance;
if(a.hasFacebook||a.hasTwitter){this.addTwitterAccounts(a.twitterAccounts);
this.createInitialTabs();
this.createInitialUpdaters();
this.createSearchInstance();
this.createStatusUpdateInstance();
this.initDropDown();
this.unboundModeManager.rightColumnManager.display.enableColumn();
}else{this.tabs.all=new nullOptionalStream(this,"null");
this.activeContent=this.tabs.all;
}},addFacebookUpdater:function(a,c){var b=this.makeUpdaterKey("facebook",a.options.name,"request_stream");
var d=this.updatersByKey[b];
if(!$defined(d)){d=new facebookUpdater(b,a,null);
this.updaters[this.updaters.length]=d;
this.updatersByKey[b]=d;
}d.facebookEndTime=null;
if(c){if(d.addUpdateListener(c)){d.checkUpdates();
}}},addTwitterAccounts:function(c){for(var b=0;
b<c.length;
b++){var a=c[b];
this.twitterAccountIds.push(a.options.uid);
}},addTwitterUpdater:function(b,d,a){var c=this.makeUpdaterKey("twitter",b.options.name,a.join("_"));
var e=this.updatersByKey[c];
if(!$defined(e)){e=new twitterUpdater(c,b,a);
this.updaters[this.updaters.length]=e;
this.updatersByKey[c]=e;
}else{e.clearIds();
}if(d){if(e.addUpdateListener(d)){e.checkUpdates();
}}},addTwitterUpdaters:function(a,b){this.addTwitterUpdater(a,b,["friends_timeline","retweetedToMe","retweetedByMe"]);
},checkOptional:function(){for(var a=0;
a<this.updaters.length;
a++){if(this.updaters[a].listeners.length>0){this.updaters[a].checkUpdates();
}}},clearOptionalPollTimer:function(){if(this.optionalPollTimer!=null){var a=this.optionalPollTimer;
this.optionalPollTimer=null;
$clear(a);
}},copyMessages:function(g,f){var c=this.tabs.all.messages;
var e;
var b;
var d;
for(var a=0;
a<c.length;
a++){d=c[a];
b=d.options;
if((b.serviceAccountId==f)&&(!g.idsToMessages[d.messageId])){e=g.createMessage(b,d.messageId,d.bitlyLinks);
e.summary=d.summary;
e.updatedTime=d.updatedTime;
g.insertMessage(e,true);
if(globalVariables.externalServiceManagerInstance.isFacebook(b.externalServiceId)){e.post=d.post;
e.facebookLinks=e.messageDisplay.generateFacebookLinks(e.post,"fb"+e.options.uid,e.options.noteId);
}}}},createInitialTabs:function(){var a=this.createTab("all");
this.tabs.all=a;
this.activeContent=a;
this.setOptionalPollTimer();
},createInitialUpdaters:function(){var c=globalVariables.unifiAccountInstance;
if(c.hasFacebook){this.addFacebookUpdater(c.facebookAccount,this.tabs.all);
}for(var d=0,b=c.twitterAccounts.length;
d<b;
d++){var a=c.twitterAccounts[d];
this.addTwitterUpdaters(a,this.tabs.all);
}},createManagerDisplay:function(){this.display=new OptionalStreamManagerDisplay(this);
},createTab:function(a){var b=this.tabs[a];
if(!b||b.isNull()){b=new OptionalStream(this,a);
this.tabs[a]=b;
}return b;
},filterOptionalStream:function(b){this.startSpinner("pulling it all together...");
globalVariables.soundEffectsInstance.unboundTimeFlag=$time()+2500;
var a=""+b;
if(this.activeContent.uniqueId==a){return;
}this.activeContent.makeInactive();
var c=null;
if(b=="all"){if(!c){c=this.tabs.all;
}}else{c=this.makeAccountFilteredStream(b);
}if(!c){this.activeContent.makeActive();
return;
}c.makeActive();
if(this.activeContent.uniqueId.indexOf("all")!=0){this.activeContent.doDestroy();
}this.activeContent=c;
},getActiveContent:function(){return this.activeContent;
},hasFlickr:function(){},hasOccupations:function(){},hideMessage:function(a,b){this.tabs.all.hideMessage(a,b);
},makeAccountFilteredStream:function(d){var a=globalVariables.unifiAccountInstance.getAccount(d);
if(!$defined(a)){globalVariables.log.error("Bad account selected for optional stream: "+d);
return null;
}var e=new OptionalStream(this,d);
e.parentFolder=this.tabs.all;
var c=globalVariables.externalServiceManager();
if(c.isFacebook(a.options.externalServiceId)){this.addFacebookUpdater(a,e);
}else{if(c.isTwitter(a.options.externalServiceId)){this.addTwitterUpdaters(a,e);
if(globalVariables.twitterApiInstance.options.tweetCount>=e.limitMessageNumber){return e;
}}}var b=this;
(function(){b.copyMessages(e,d);
}).delay(250);
return e;
},makeActive:function(){if(!this.display){return;
}if(this.display.container.hasClass("ty_h_bury")){this.display.container.removeClass("ty_h_bury");
}this.activeContent.makeActive();
},makeInactive:function(){this.activeContent.makeInactive();
this.display.container.addClass("ty_h_bury");
},makeUpdaterKey:function(a,b,c){return a+"_"+b+"_"+c;
},notifyPublicInfoDataReady:function(){if(!this.publicInfoData.hasStatuses){this.stopSpinner("no statuses found","no statuses found");
}},pollOptional:function(){this.clearOptionalPollTimer();
try{this.checkOptional();
}catch(a){globalVariables.log.error("error while polling optional",a);
}this.setOptionalPollTimer();
},reactivatePersonCardStream:function(a){this.tabs.all.makeInactive();
var b=a.getDisplayName(5,this.facebookAccountId);
this.personCardManager.createPersonCard(a,b);
this.personCardManager.makeActive();
},removeUpdater:function(b){this.updatersByKey[b]=null;
for(var a=0;
a<this.updaters.length;
a++){if(this.updaters[a].key==b){this.updaters.splice(a,1);
}}},setOptionalPollTimer:function(){if(this.optionalPollTimer==null){this.optionalPollTimer=(function(){this.pollOptional();
}).delay(globalVariables.config().options.optionalPollingInterval,this);
}},startSpinner:function(a){if(this.unboundModeManager.activeModeName=="timeline"){$("unifi_loadingText_value").set("html",a);
}},stopSpinner:function(b,a){if(this.unboundModeManager.activeModeName=="timeline"){if(this.activeContent){if(this.activeContent.messages.length==0){$("unifi_loadingText_value").set("html",a);
}else{$("unifi_loadingText_value").set("html",b);
}}}else{if(this.unboundModeManager.activeModeName=="person"){globalVariables.rightColumnManager.unboundModeManagerInstance.personCardManager.stopSpinner("updates");
}}},toggleComposeContainer:function(a){this.tabs.all.toggleComposeContainer(a);
},updateColor:function(a){this.tabs.all.updateColor(a);
},updateTwitterStream:function(a,b){var c=this.makeUpdaterKey("twitter",a.options.name,"friends_timeline_retweetedToMe_retweetedByMe");
var d=this.updatersByKey[c];
if(d){if(b){d.checkUpdates(b);
}else{d.checkUpdates();
}}}});
var optionalStreamSearchBox=new Class({initialize:function(a){this.manager=a;
},createSearchBox:function(){var a=this;
return this.fakeSearchBox=new Element("input",{value:"search twitter",id:"fake-search-box",events:{click:function(b){b.stop();
a.manager.unboundModeManager.setMode({mode:"search"});
if(a.manager.unboundModeManager.searchManager.display){a.manager.unboundModeManager.searchManager.display.searchInput.set("value","");
a.manager.unboundModeManager.searchManager.display.searchInput.focus();
}}}});
}});
var optionalStreamUpdateBox=new Class({Implements:Events,activeTwitterAccounts:[],activeFacebookAccount:null,addLinkContainer:null,addLinkOpen:false,addLinkSubmit:null,addLinkTextInput:null,charCounter:null,charCountMax:null,updateBoxContainer:null,defaultAddLinkText:null,defaultEditingText:"<p><br></p>",errorType:null,facebookCheckbox:null,facebookCheckboxImg:null,hasFacebook:null,hasTwitter:null,nextAssignableTabIndex:3,optionalStreamManager:null,optionalSettings:null,outgoing:[],outgoingFailed:false,slideLinkInstance:null,slideMessageInstance:null,slideContainer:null,statusForm:null,statusFoot:null,statusSubmit:null,statusTextArea:null,status:null,tabOrder:null,twitterContacts:null,twitterDropDown:null,twitterDropDownOptions:null,twitterDropDownOptionsVisibile:false,twitterDropDownSlideInstance:null,twitterIcon:null,twitterUserAccounts:{},unifiAccount:null,updateBox:null,userSubmittedURL:null,initialize:function(a){this.charCountMax=140;
if(Browser.Engine.trident){this.defaultEditingText="";
}this.defaultAddLinkText="http://";
this.optionalStreamManager=a;
this.tabOrder=[];
this.unifiAccount=globalVariables.unifiAccount();
this.twitterContacts=this.unifiAccount.contactManager.twitterContacts;
this.setHasAccounts();
this.setTwitterUserAccounts();
this.createElement();
globalVariables.unifiAccountInstance.getMyContact().addChangeListener(this);
this.statusTextArea.set("contentEditable",true);
},statusTextAreaValue:function(a){if(a){return this.statusTextArea.get("text").clean();
}else{return this.statusTextArea.get("text");
}},bitlyEl:function(a,c){var c=c.replace(/(['"\\])/gi,"\\$1");
var b="globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.statusUpdateInstance.revertBitly('"+a+"','"+c+"');";
return'&nbsp;<span id="'+a+'" title="'+c+'" class="bitly-element" CONTENTEDITABLE="false">loading...<span onClick="'+b+'"></span></span>&nbsp;';
},bitlyElUpdate:function(e,a,g){try{var c=this.url;
c=c.replace(/(['\\])/gi,"\\$1");
var b=this.url.replace(/'/g,"%27");
var f="globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.statusUpdateInstance.revertBitly('"+g+"','"+c+"');";
$(g).set("html",e[b].shortUrl+'<span onClick="'+f+'"></span>');
}catch(d){globalVariables.log.error("error replacing long url with bitly in status update DATA url: "+c+" divId: "+g,d);
}},revertBitly:function(c,a){a=a.replace(/\\/g,"");
var b=$(c);
new Element("span",{html:a}).inject(b,"before");
b.destroy();
this.clearSelection();
return false;
},animateSend:function(){var a="#ff6632";
this.statusTextArea.highlight(a,"transparent");
this.statusTextArea.set("html","");
this.updateCharCounter();
this.statusTextArea.focus();
this.statusTextArea.blur();
this.toggleUpdateBox(false);
},assignNextTabindex:function(){return this.nextAssignableTabIndex++;
},autoComplete:function(){var b=0;
var c=5;
for(var a=0;
a<this.twitterContacts.length&&b<c;
a++){if(this.twitterContacts[a].substr(0,1)=="a"){b++;
}}},clearSelection:function(){if(Browser.Engine.gecko||Browser.Engine.webkit){var b=document.createRange();
b.selectNodeContents(this.statusTextArea);
var a=window.getSelection();
a.removeAllRanges();
a.addRange(b);
a.collapseToEnd();
}this.updateCharCounter();
},changeContact:function(){},contactModified:function(){this.updateOptionalServiceBlock();
},createButtons:function(){var a=this;
this.statusSubmit=new Element("a",{"class":"post-button",events:{click:a.submitStatus.bind(a),blur:function(){if(this.hasClass("hover")){this.removeClass("hover");
}},focus:function(){this.addClass("hover");
},mouseup:function(){if(this.hasClass("hover")){this.removeClass("hover");
}},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
this.fireEvent("click");
}}},tabindex:"",html:"post"});
},createCharCounter:function(){this.charCounter=new Element("div",{"class":"c_char_counter"});
return this.charCounter;
},createAddLink:function(){var a=this;
this.addLinkContainer=new Element("div",{id:"c_add_link","class":"hide",events:{keyup:function(b){if(b.key=="enter"){a.addLinkSubmit.fireEvent("click");
b.stop();
}}}}).adopt(new Element("div",{"class":"unifi_c_addLinkText"}).adopt(this.addLinkTextInput=new Element("input",{"class":"text",type:"text",value:this.defaultAddLinkText,events:{focus:function(){if(a.addLinkTextInput.value==a.defaultAddLinkText){a.addLinkTextInput.value="";
}}},tabindex:6})),this.addLinkCancel=new Element("a",{"class":"button cancel "+globalVariables.siteColor,id:"b_add_link_cancel",events:{click:function(){a.statusTextArea.focus();
a.addLinkTextInput.value=a.defaultAddLinkText;
a.slideAddLink();
a.hideError();
},blur:function(){if(a.addLinkCancel.hasClass("hover")){a.addLinkCancel.removeClass("hover");
}},focus:function(){a.addLinkCancel.addClass("hover");
},keydown:function(b){if(b.key=="space"){b.stop();
}else{if(b.key=="tab"){b.stop();
a.get_next_tab_elem(a.addLinkCancel).focus();
}}},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
a.addLinkCancel.fireEvent("click");
}}},tabindex:8,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">cancel</div><div class="threadsy_br_small"></div>'}),this.addLinkSubmit=new Element("a",{"class":"button add "+globalVariables.siteColor,id:"b_add_link",events:{click:function(){if(a.addLinkTextInput.value!=""&&a.addLinkTextInput.value!=a.defaultAddLinkText){a.userSubmittedURL=a.addLinkTextInput.value;
new BitlyShorten({cb:a.bitlyShortenCB,url:a.addLinkTextInput.value,shortURL:a});
}else{a.showError("URL you tried to shorten was invalid.");
}},blur:function(){if(a.addLinkSubmit.hasClass("hover")){a.addLinkSubmit.removeClass("hover");
}},focus:function(){a.addLinkSubmit.addClass("hover");
},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
a.addLinkSubmit.fireEvent("click");
}}},tabindex:7,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">add</div><div class="threadsy_br_small"></div>'}));
return this.addLinkContainer;
},createElement:function(){if(this.updateBox==null){var a=this;
this.createButtons();
this.updateBox=new Element("div",{id:"c_optional_stream_status_update"}).adopt(this.updateBoxContainer=new Element("div",{id:"c_Coptional_stream_status_update"}).adopt(this.createCharCounter(),this.statusForm=new Element("form",{id:"f_optional_stream_status_update",action:"",method:"post",target:"twitter_hidden"}).adopt(a.createStatusFakeBox(),a.createStatusTextArea(),this.statusSubmit,new Element("div",{"class":"bottom"}).adopt(a.createMessageContainer())),a.createAddLink()));
this.setTabbingOrder();
}},createMessageContainer:function(){this.messageContainer=new Element("div",{id:"c_message","class":"hide"});
return this.messageContainer;
},createOptionalServiceBlockItems:function(d){var d=d||this;
var e=[];
var b=function(k,q){var p=globalVariables.externalServiceManager().isFacebook(k.options.externalServiceId)?"facebook":"twitter";
var n="";
if(d.activeFacebookAccount&&p=="facebook"){n="active";
}else{for(var o=0,m=d.activeTwitterAccounts.length;
o<m;
o++){if(d.activeTwitterAccounts[o]==k.options.id){n="active";
break;
}}}var j=p=="facebook"?"facebook":k.options.username;
e.push(new Element("div",{"class":"account-toggle "+n+" "+p,title:j,events:{click:function(){if(d.errorType=="select_service"){d.hideError();
}if(this.hasClass("active")){this.removeClass("active");
if(p=="facebook"){d.activeFacebookAccount=null;
}else{d.activeTwitterAccounts.erase(k.options.id);
}}else{this.addClass("active");
if(p=="facebook"){d.activeFacebookAccount=k.options.id;
}else{d.activeTwitterAccounts.include(k.options.id);
}}d.updatePostability();
d.updateCharCounter();
}}}).adopt(new Element("img",{src:q})));
};
var g=globalVariables.unifiAccountInstance.getMyContact();
if(this.hasFacebook){var a=globalVariables.unifiAccountInstance.getFacebookAccount();
var h=g.getInfoRecord(a.options.externalServiceId,a.options.id);
if(h){h=h.smallPicUrl;
}b(a,h);
}if(this.hasTwitter){for(var f=0,c=this.unifiAccount.twitterAccountIds.length;
f<c;
f++){a=globalVariables.unifiAccountInstance.getAccount(this.unifiAccount.twitterAccountIds[f]);
var h=g.getInfoRecord(a.options.externalServiceId,a.options.id);
if(h){h=h.smallPicUrl;
}b(a,h);
}}this.serviceAccountToggleLength=e.length;
return e;
},computeWelcomeText:function(b,a){var c=a;
if(b&&globalVariables.unifiAccountInstance.inviteUrl){if(globalVariables.unifiAccountInstance.inviteMessage){c=globalVariables.unifiAccountInstance.inviteMessage;
}else{c="testing out threadsy... here's an invite: "+globalVariables.unifiAccountInstance.inviteUrl;
}}return c;
},createStatusFakeBox:function(){var a=this;
return this.fakeStatusBox=new Element("input",{id:"fake-update-box",type:"text",value:"what's happening?",events:{click:function(b){b.stop();
a.toggleUpdateBox(true);
a.statusTextArea.focus();
}}});
},createStatusTextArea:function(){var a=this;
var d="what's happening?";
var e=true;
var c=this.isInviteOk();
var f=this.computeWelcomeText(c,d);
globalVariables.unifiAccountInstance.addEvent("updateInviteUrl",function(g){var h=a.statusTextAreaValue(true);
h=h.replace(g.oldBitly,g.newBitly);
a.statusTextArea.set("html",h);
});
if(!globalVariables.unifiAccountInstance.inviteUrl){globalVariables.unifiAccountInstance.addEvent("inviteUrl",function(){a.statusTextArea.set("html",a.computeWelcomeText(c,d));
});
}var b=c?"":"unifi_inactive";
return new Element("div",{"class":"unifi_c_new_status"}).adopt(new Element("div",{"class":"close-update",html:"x",events:{click:function(){a.toggleUpdateBox(false);
a.statusTextArea.addClass("unifi_inactive");
a.statusTextArea.set("html",f);
e=true;
}}}),new Element("div",{id:"status-shimmy"}).adopt(a.statusTextArea=new Element("div",{id:"new_status","class":b,html:f,unselectable:true,events:{paste:function(B){var z=this.get("html");
if(z==""){this.set("html",a.defaultEditingText);
}else{if(z.test(a.defaultEditingText)){this.set("html",z.replace(a.defaultEditingText,""));
z=this.get("html");
a.clearSelection();
}}var h=this.getElements("span");
var o=a.statusTextAreaValue(true);
if(o.test(/(ftp|http|https)\:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&\?\/\,\.\?\=\+\:\#\'\~\*]+/i)){var g=o.match(/(ftp|http|https)\:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&\?\/\,\.\?\+\:\=\#\'\~\*]+/gi);
for(var y=0,u=g.length;
y<u;
y++){var m=g[y].trim();
if(!m.test(/^http\:\/\/bit\.ly/)){var C=false;
for(var w=0,v=h.length;
w<v;
w++){if(h[w].get("text")==m){C=true;
break;
}}if(!C){var t="bitly"+$time();
var r=a.bitlyEl(t,m);
var s=z;
m=m.replace(/&/gi,"&amp;");
var A=a.reverseText(m);
A=globalVariables.textHelpers().excapeRegex(A);
var q=new RegExp(A+"(?!\\\"=eltit)(?!\\\"=ferh)(?!\\'\\,\\')","ig");
var n=a.reverseText(a.reverseText(s).replace(q,a.reverseText(r)));
this.set("html",n);
var D=this.getElement("br");
if(D){D.destroy();
}var p=new BitlyShorten({cb:a.bitlyElUpdate,url:m,shortURL:a,params:t});
a.clearSelection();
}}}}a.updateCharCounter();
},focus:function(){a.toggleUpdateBox(true);
if(a.errorType=="update_failed"){a.hideError();
a.errorType=null;
}if(e&&a.statusTextAreaValue(true)==d){if(this.hasClass("unifi_inactive")){this.removeClass("unifi_inactive");
}e=false;
this.set("html",a.defaultEditingText);
}},blur:function(){if(a.statusTextAreaValue(true)==a.defaultEditingText||a.statusTextAreaValue(true)==""){a.statusTextArea.addClass("unifi_inactive");
this.set("html",f);
e=true;
}},keyup:function(A){var y=this.get("html");
if(y==""){this.set("html",a.defaultEditingText);
}else{if(y.test(a.defaultEditingText)){this.set("html",y.replace(a.defaultEditingText,""));
y=this.get("html");
a.clearSelection();
}}var h=this.getElements("span");
var o=a.statusTextAreaValue(false);
if(o.test(/(ftp|http|https)\:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&\?\/\,\.\=\+\:\?\#\'\~\*]+\s/i)){var g=o.match(/(ftp|http|https)\:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&\?\/\,\.\?\+\:\=\~\#\'\*]+\s/gi);
for(var w=0,t=g.length;
w<t;
w++){var m=g[w].trim();
if(!m.test(/^http\:\/\/bit\.ly/)){var B=false;
for(var v=0,u=h.length;
v<u;
v++){if(h[v].get("text")==m){B=true;
break;
}}if(!B){var s="bitly"+$time();
var q=a.bitlyEl(s,m);
var r=y;
m=m.replace(/&/gi,"&amp;");
var z=a.reverseText(m);
z=globalVariables.textHelpers().excapeRegex(z);
var p=new RegExp(z+"(?!\\\"=eltit)(?!\\\"=ferh)(?!\\'\\,\\')","ig");
var n=a.reverseText(a.reverseText(r).replace(p,a.reverseText(q)));
this.set("html",n);
var C=this.getElement("br");
if(C){C.destroy();
}new BitlyShorten({cb:a.bitlyElUpdate,url:m,shortURL:a,params:s});
a.clearSelection();
}}}}a.updateCharCounter();
}}})),a.statusFoot=new Element("div",{"class":"textarea-foot"}).adopt(new Element("div",{"class":"service-block-containers"}).adopt(a.createOptionalServiceBlockItems())));
},reverseText:function(a){splitext=a.split("");
revertext=splitext.reverse();
reversed=revertext.join("");
return reversed;
},disableFacebookPosting:function(){this.hasFacebook=false;
this.activeFacebookAccount=null;
},disableTwitterPosting:function(){this.hasTwitter=false;
if(this.twitterCheckbox){this.twitterCheckbox.destroy();
}if(this.twitterIcon){this.twitterIcon.destroy();
}this.activeTwitterAccounts.empty();
},get_next_tab_elem:function(b){var a=(b.getProperty("tabindex")<this.tabOrder.length)?b.getProperty("tabindex"):0;
return this.tabOrder[a];
},hideError:function(){this.messageContainer.empty();
this.slideErrorMsg(false);
},isInviteOk:function(){return globalVariables.unifiAccountInstance.welcomeUser;
},notifyAccountsChanged:function(){this.setTwitterUserAccounts();
this.updateOptionalServiceBlock();
},notifyFacebookConnected:function(){this.updateOptionalServiceBlock();
},updateOptionalServiceBlock:function(){this.setHasAccounts();
this.statusFoot.empty().adopt(new Element("div",{"class":"service-block-containers"}).adopt(this.createOptionalServiceBlockItems()));
},updateActiveTwitterAccounts:function(a){this.activeTwitterAccounts.erase(a);
},bitlyShortenCB:function(d,c){try{var a=c;
if(d[a.userSubmittedURL]["statusCode"]!="ERROR"){var b=d[a.userSubmittedURL]["shortUrl"];
if(a.statusTextAreaValue(true)=="what's happening?"){a.statusTextArea.set("html",a.defaultEditingText);
}if(a.statusTextArea.hasClass("unifi_inactive")){a.statusTextArea.removeClass("unifi_inactive");
}a.statusTextArea.set("html",a.statusTextAreaValue(true).trim()+" "+b);
a.statusTextArea.focus();
a.addLinkTextInput.value=a.defaultAddLinkText;
a.slideAddLink();
a.hideError();
a.updateCharCounter();
}else{a.showError(d[a.userSubmittedURL]["errorMessage"]);
}}catch(e){globalVariables.log.error("error replacing long url in status with bitly DATA url: "+a.userSubmittedURL,e);
}},setHasAccounts:function(){this.hasFacebook=this.unifiAccount.hasFacebook;
this.hasTwitter=this.unifiAccount.hasTwitter;
},setTabbingOrder:function(){this.tabOrder=[this.statusTextArea,this.statusSubmit];
if($defined(this.facebookCheckbox)){this.tabOrder.push(this.facebookCheckbox);
}if($defined(this.twitterCheckbox)){this.tabOrder.push(this.twitterCheckbox);
}},setTwitterUserAccounts:function(){for(var a=0;
a<this.unifiAccount.twitterAccountIds.length;
a++){var b=this.unifiAccount.twitterAccountIds[a];
if($defined(this.unifiAccount.externalAccounts[b])){this.twitterUserAccounts[b]=this.unifiAccount.externalAccounts[b].options.replyTo;
}}},showError:function(a){this.messageContainer.empty();
this.messageContainer.appendText(a);
this.slideErrorMsg(true);
},slideAddLink:function(){if(this.addLinkContainer.hasClass("hide")){this.addLinkContainer.removeClass("hide");
}else{this.addLinkContainer.addClass("hide");
}},slideErrorMsg:function(a){if(a){if(this.messageContainer.hasClass("hide")){this.messageContainer.removeClass("hide");
}}else{if(!this.messageContainer.hasClass("hide")){this.messageContainer.addClass("hide");
}}},toggleUpdateBox:function(b){var a=$("optionalColumnSlide");
if(b){if(!a.hasClass("update-box-open")){a.addClass("update-box-open");
}this.fakeStatusBox.addClass("hide");
this.updateBox.addClass("edit-mode");
}else{if(a.hasClass("update-box-open")){a.removeClass("update-box-open");
}this.fakeStatusBox.removeClass("hide");
this.updateBox.removeClass("edit-mode");
this.statusTextArea.addClass("unifi_inactive");
}if(this.serviceAccountToggleLength>2){if(!a.hasClass("two-rows")){a.addClass("two-rows");
}}},updatePostability:function(){var b=this.statusFoot.getElements(".account-toggle");
var d=false;
for(var c=0,a=b.length;
c<a;
c++){var e=b[c];
if(e.hasClass("active")){d=true;
break;
}}if(d){if(!this.statusSubmit.hasClass("active")){this.statusSubmit.addClass("active");
}}else{if(this.statusSubmit.hasClass("active")){this.statusSubmit.removeClass("active");
}}},updateCharCounter:function(){if(this.activeTwitterAccounts.length){var a;
if(this.statusTextArea.hasClass("unifi_inactive")){a=140;
}else{a=this.charCountMax-this.statusTextAreaValue(true).length;
}this.charCounter.set("html",a);
var b=(a>=20)?"":((a>=10)?"caution":((a>=0)?"warning":"danger"));
this.charCounter.setProperty("class","");
this.charCounter.addClass("c_char_counter "+b);
if(a>=0){if(this.errorType=="long_status"){this.hideError();
this.errorType=null;
}}}else{this.charCounter.set("html","");
}},setUserAvatar:function(){var a=($defined(this.unifiAccount.primaryFacePic))?this.unifiAccount.primaryFacePic:globalVariables.configInstance.staticServer+"images/defaultFacePic-"+globalVariables.siteColor+".png";
this.userImage=new Element("img",{src:a,"class":"unifi_updateStreamFacepic"});
},submitStatus:function(){var a=this;
var p=this.statusTextAreaValue(true);
var k=false;
var n=false;
var m=[];
var d=[];
this.removeEvents();
if(this.statusTextArea.hasClass("unifi_inactive")){return;
}else{if(!this.activeFacebookAccount&&!this.activeTwitterAccounts.length){a.showError("don't forget to select a service to update.");
a.errorType="select_service";
}else{globalVariables.announcementBar().createAnnouncement("posting your status update...");
if(this.activeFacebookAccount){try{k=true;
this.addEvent("facebookStatusSent",function(l){if(l){d.push("facebook");
}else{m.push("facebook");
}if(!n){a.statusUpdateComplete(d,m);
}});
if(a.validate("facebook")){if(p.length>0){globalVariables.facebookConnect().updateStatus(p,function(l){if(l){k=false;
this.fireEvent("facebookStatusSent",true);
}else{this.fireEvent("facebookStatusSent",false);
}}.bind(this));
}}else{a.showError("facebook closed the connection, could not post status. please reload page and try again.");
a.errorType="fb_not_connected";
}}catch(g){globalVariables.log.error("submitStatus",g);
}}if(a.activeTwitterAccounts.length){try{if(a.validate("twitter")){var b=[];
pendingAccount=b.combine(a.activeTwitterAccounts);
n=true;
a.addEvent("twitterStatusSent",function(q){var l=q.account;
var r=q.success;
b.erase(l.options.id);
if(r){d.push(l);
}else{m.push(l);
}if(!b.length){n=false;
if(!k){a.statusUpdateComplete(d,m);
}}});
for(var h=0,e=a.activeTwitterAccounts.length;
h<e;
h++){var f=a.activeTwitterAccounts[h];
var o=globalVariables.unifiAccountInstance.getAccount(f);
var j=globalVariables.twitterApi().statusUpdate(f,a.statusTextAreaValue(true));
if(j===0){var c={account:o,success:true};
a.fireEvent("twitterStatusSent",c);
}else{var c={account:o,success:false};
a.fireEvent("twitterStatusSent",c);
}}}else{a.showError("whoops, your tweet is either empty or too long.");
a.errorType="long_status";
}}catch(g){globalVariables.log.error("Error sending to twitter",g);
}}}}},validate:function(b){var a=null;
switch(b){case"twitter":a=this.statusTextAreaValue(true).length>0&&this.statusTextAreaValue(true).length<=140;
break;
case"facebook":a=true;
break;
}return a;
},statusUpdateComplete:function(p,o){var a=this;
var n=false;
var b=false;
var j=0;
var c=globalVariables.unifiAccountInstance.getMyContact();
var e;
var d=globalVariables.unifiAccountInstance.inviteUrl&&(this.statusTextAreaValue(true).indexOf(globalVariables.unifiAccountInstance.inviteUrl)>-1);
if(!o.length){globalVariables.announcementBar().createAnnouncement("your status has been posted",null,"success");
globalVariables.soundEffects().playSound("playSent");
this.animateSend();
for(var m=0,f=p.length;
m<f;
m++){if(p[m]!="facebook"){n=true;
e=c.getTwitterInfo(p[m].options.replyTo).options.followers_count;
j=j+e;
this.trackSend(e,8,"tw");
(function(l){this.optionalStreamManager.updateTwitterStream(l,"friends_timeline");
}).delay(500,this,p[m]);
}else{b=true;
this.trackSend(globalVariables.unifiAccountInstance.numFacebookFriend,5,"fbs");
q=this.optionalStreamManager.makeUpdaterKey("facebook",globalVariables.unifiAccountInstance.getFacebookAccount().options.name,"request_stream");
(function(l){var s=this.optionalStreamManager.updatersByKey[q].checkUpdates();
}).delay(500,this,p[m]);
}}}else{if(!p.length){k=o.join(" + ");
globalVariables.announcementBar().createAnnouncement("failed to post status to "+k,null,"error");
}else{var h="";
var k="";
if(p.length){h="your status was posted to"+p.join(" + ");
for(var m=0,f=p.length;
m<f;
m++){if(p[m]!="facebook"){n=true;
e=c.getTwitterInfo(p[m].options.replyTo).options.followers_count;
j=j+e;
this.trackSend(e,8,"tw");
(function(l){this.optionalStreamManager.updateTwitterStream(l,"friends_timeline");
}).delay(500,this,p[m]);
}else{b=true;
this.trackSend(globalVariables.unifiAccountInstance.numFacebookFriend,5,"fbs");
var q=this.optionalStreamManager.makeUpdaterKey("facebook",globalVariables.unifiAccountInstance.getFacebookAccount().options.name,"request_stream");
(function(l){var s=this.optionalStreamManager.updatersByKey[q].checkUpdates();
}).delay(500,this,p[m]);
}}}if(o.length){k="failed to post status to "+o.join(" + ");
}globalVariables.announcementBar().createAnnouncement(h+"but, "+k);
}}if(d){var r=globalVariables.unlockManagerInstance;
if(!r.unlockedFeatures.contains(r.featureIds.nostreamadds)){r.unlock("nostreamadds");
}var g={a:"aSendViral",vSInId:globalVariables.unifiAccountInstance.inviteId,vOR:globalVariables.unifiAccountInstance.inviteOnRamp,vLT:globalVariables.unifiAccountInstance.inviteLoopType};
if(b){g.vIF=b?1:0;
g.vFF=globalVariables.unifiAccountInstance.numFacebookFriends;
}if(n){g.vIT=n?1:0;
g.vTF=j;
}new Tracking(g).send();
}},trackSend:function(c,a,b){new Tracking({a:"aSend",vCR:c,vES:a,vHA:0,vST:b,vIO:2}).send();
}});
var PageInit=new Class({hasFlash:false,pageMode:null,welcomeUser:false,initTime:0,iframeTimer:null,initialize:function(c,b,a){this.initTime=$time();
document.domain="threadsy.com";
if(b){if(!globalVariables.createShardIframe(document,this.initPage.bind(this),null,"")){window.location.href=globalVariables.configInstance.absoluteUrlPath+"error.html";
}iframeTimer=this.checkShardIframe.periodical(3000,this);
}this.pageMode=c;
this.open=a?a:false;
this.isWelcomeUserOk();
this.preloadImages();
this.ie7Warning();
if($("top-navigation")){globalVariables.topNavigation();
}if($("sounds")){globalVariables.soundEffects();
}if($("announcement-bar")){globalVariables.announcementBar();
}},checkFlash:function(){this.hasFlash=true;
this.initPage(false);
},checkShardIframe:function(){if(!globalVariables.shardVariables){var a=document.getElementById("shardData");
document.body.removeChild(a);
a.destroy();
globalVariables.createShardIframe(document,this.initPage.bind(this),null,"");
}else{$clear(this.iframeTimer);
this.iframeTimer=null;
}},getInternetExplorerVersion:function(){var c=-1;
if(navigator.appName=="Microsoft Internet Explorer"){var a=navigator.userAgent;
var b=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");
if(b.exec(a)!=null){c=parseFloat(RegExp.$1);
}}return c;
},ie7Warning:function(){var a=this.getInternetExplorerVersion();
if(a>-1){if(a>=8){}else{if(a>=7){if(!$defined(Cookie.read("warning"))){this.warningBubble();
Cookie.write("warning","displayed",{domain:"threadsy.com",duration:false});
}}}}},initPage:function(a){if(globalVariables.initCallback&&!a&&!globalVariables.shardVariables){return;
}if(this.pageMode=="index"){this.initIndex();
}else{if(this.pageMode=="messages"){this.initMessages();
$("isJs").setStyle("display","block");
globalVariables.unifiAccountInstance.addEvent("inviteUrl",function(){globalVariables.unifiAccountInstance.setInviteStatus();
});
}else{if(this.pageMode=="settings"){this.initSettings();
}else{if(this.pageMode=="reset"){this.initReset();
}else{if(this.pageMode=="signup"){Cookie.write("signup",1,{domain:"threadsy.com",duration:365});
new SignUp();
}else{if(this.pageMode=="oauth"){new OauthSignup();
}}}}}}},initIndex:function(){Cookie_Router=new cookieRouter();
if(!this.open){if(!Cookie_Router.redirecting){var a=new HomePage();
a.load();
}}},initMessages:function(){if(!globalVariables.configInstance.shardServer){var a=globalVariables.getParams().get_clean_string(["logout","nr"]);
if(a!="?"){a+="&";
}document.location.href=globalVariables.config().absoluteUrlPath+a+"nr=1";
return;
}globalVariables.noPersonCard=globalVariables.getParams().get().nopc=="true";
globalVariables.noFacePics=globalVariables.getParams().get().nofp=="true";
globalVariables.rightColumnManager1();
globalVariables.inboundManager(this.welcomeUser,this.initTime);
if(this.welcomeUser){this.showWelcomeUser();
}globalVariables.footer();
window.onfocus=function(){globalVariables.activityMonitor().newActivity();
globalVariables.inboundManagerInstance.notifyWindowActivated();
};
window.scrollTo(0,0);
},initReset:function(){if(globalVariables.getParams().get("code")){GlobalFx=new globalFx();
new resetPassword("c_reset_password");
$("reset_password_page").removeClass("hide");
}else{}},initSettings:function(){globalVariables.settings();
},isWelcomeUserOk:function(){this.welcomeUser=Cookie.read("signup");
Cookie.dispose("signup",{domain:"threadsy.com"});
},preloadImages:function(){var b=globalVariables.configInstance.staticServer;
var c=new Array();
c[0]=b+"images/footer/messagebubble-left.png";
c[1]=b+"images/footer/messagebubble-middle.png";
c[2]=b+"images/footer/messagebubble-right.png";
c[3]=b+"images/buttons/b_s_l_cap.png";
c[4]=b+"images/buttons/b_s_r_cap.png";
c[5]=b+"images/buttons/b_s_c_gray.png";
c[6]=b+"images/buttons/b_s_c_orange.png";
c[7]=b+"images/buttons/b_s_c_blue.png";
c[8]=b+"images/buttons/b_s_c_green.png";
c[9]=b+"images/buttons/requestInvite.png";
c[10]=b+"images/stream/write/linkIcon.png";
c[11]=b+"images/stream/write/linkIcon_hover.png";
for(var a=0;
a<c.length;
a++){(function(d){d.src=c[a];
})(new Image());
}this.checkFlash();
},showWelcomeUser:function(){var b=((window.getSize().y/2)-355)>-45?0:-45;
var a=new Element("div",{"class":"overlay",events:{click:function(){a.destroy();
c.destroy();
}}}).inject($(document.body),"top");
var c=new Element("div",{id:"unifi_c_welcome"}).adopt(new Element("div",{id:"unifi_welcomeGrain_topRight"}),new Element("div",{id:"unifi_welcomeGrain_topMiddle"}),new Element("div",{id:"unifi_welcomeGrain_topLeft"}),new Element("div",{id:"unifi_welcomeGrain_middle"}),new Element("div",{id:"unifi_welcomeGrain_bottomLeft"}),new Element("div",{id:"unifi_welcomeGrain_bottomMiddle"}),new Element("div",{id:"unifi_welcomeGrain_bottomRight"}),new Element("div",{id:"unifi_welcomeOverlay"}),new Element("div",{id:"unifi_welcomeBanner"}),new Element("div",{id:"unifi_introducingPlate"}),new Element("div",{id:"unifi_welcomeInboundMsg"}),new Element("div",{id:"unifi_welcomeInboundFacebook"}),new Element("div",{id:"unifi_welcomeInboundTwitter"}),new Element("div",{id:"unifi_welcomeUnboundTwitter"}),new Element("div",{id:"unifi_welcomeUnboundFacebook"}),new Element("div",{id:"unifi_welcomeMagnifier"}),new Element("div",{id:"unifi_userWelcomeText",html:"welcome "+Cookie.read("username")}),new Element("div",{"class":"get-started-button",events:{click:function(){a.destroy();
c.destroy();
}}}),new Element("div",{id:"unifi_userWelcomeClose",events:{click:function(){a.destroy();
c.destroy();
}}}),new Element("div",{"class":"unifi_welcomeSubText",id:"unifi_allOnePlace",html:"manage all your messages in one place"}),new Element("div",{"class":"unifi_welcomeSubText",id:"unifi_enjoyableExperience",html:"pull your accounts together into a fresh, enjoyable experience"}),new Element("div",{"class":"unifi_welcomeSubText",id:"unifi_focusWelcome",html:"people"}),new Element("div",{"class":"unifi_welcomeSubText",id:"unifi_discoverMore",html:"discover more about people<br/>you exchange messages with"}),new Element("div",{id:"unifi_welcomeIntroducing",html:"introducing"}),new Element("div",{"class":"unifi_welcomeSubText",id:"unifi_inboundWelcome",html:"everything directed to you from email, Facebook, and Twitter"}),new Element("div",{"class":"unifi_welcomeSubText",id:"unifi_unboundWelcome",html:"your Facebook News Feed and Twitter stream"}),new Element("div",{"class":"unifi_welcomeSubTextLrg",id:"unifi_inboundTitle",html:"inbound"}),new Element("div",{"class":"unifi_welcomeSubTextLrg",id:"unifi_unboundTitle",html:"unbound"})).inject($(document.body),"top");
if(b){c.setStyles({top:0,"margin-top":-45});
}},warningBubble:function(){var a=new Element("div",{id:"warning-bubble",styles:{width:325,height:205,padding:"80px 90px",position:"absolute",top:"30%",left:"60%","margin-left":"-250px","margin-top":"-180px","z-index":99999,background:" url(../images/warning-bubble.png) center top no-repeat"}}).adopt(new Element("h1",{html:"before you start...",styles:{"font-family":"Georgia, Times, serif","font-size":"26px",color:"#333","font-weight":"bold",padding:"10px 10px 10px 42px",margin:"0px",background:"url(../images/icons/warning.png) left center no-repeat"}}),new Element("p",{html:"threadsy has not yet been optimized for Internet Explorer 7 (we're working on it).",styles:{"font-family":"Georgia, Times, serif","font-size":"17px","line-height":"26px",color:"#333",margin:"0px 0px 20px 0px"}}),new Element("p",{html:'for the best experience, please upgrade to <a style="font-weight: bold; color: #FF6632;" href="http://www.microsoft.com/windows/internet-explorer/tour/default.aspx" target="_blank">Internet Explorer 8</a> or <a style="font-weight: bold; color: #FF6632;" href="http://www.firefox.com" target="_blank">use Firefox</a>',styles:{"font-family":"Georgia, Times, serif","font-size":"17px","line-height":"26px",color:"#333",margin:0}}),new Element("div",{html:"close",styles:{background:"url(../images/icons/close.png) center center no-repeat",width:"29px",height:"31px",position:"absolute","z-index":9999999,top:"55px",right:"55px","text-indent":"-5000px",cursor:"pointer"},events:{click:function(){this.getParent().destroy();
}}})).inject($(document.body),"top");
}});
var PaintTrace=new Class({Implements:[Options,Events],onPaintHandle:null,listening:false,buttons:[],container:null,store:[],options:{buttonPos:[10,10]},initialize:function(a){if(!Browser.Engine.gecko){return;
}this.onPaintHandle=this.onPaint.bind(this);
this.showButtons();
},showButtons:function(){$(document.body).adopt(this.buttons=[new Element("a",{styles:{MozBorderRadius:10,background:"#000",bottom:this.options.buttonPos[1],color:"#fff",cursor:"pointer",font:"15px helvetica, arial, sans-serif",left:this.options.buttonPos[0],opacity:0.8,padding:12,position:"absolute",zIndex:2147483647},html:"show trace",events:{click:this.display.bind(this)}}),new Element("a",{styles:{MozBorderRadius:10,background:"#000",bottom:this.options.buttonPos[1],color:"#fff",cursor:"pointer",font:"15px helvetica, arial, sans-serif",left:this.options.buttonPos[0]+100,opacity:0.8,padding:12,position:"absolute",zIndex:2147483647},html:"listen",events:{click:this.toggleListen.bind(this)}})]);
},clearDisplay:function(a){a.stop();
this.buttons.each(function(b){b.setStyle("display","block");
});
this.container.setStyle("bottom","auto");
this.container.empty();
this.store=[];
},display:function(){this.ignorePaint();
this.buttons.each(function(h){h.setStyle("display","none");
});
var f=[];
for(var e=0,a=this.store.length;
e<a;
e++){var c=this.store[e][1];
for(var d=0,b=c.length;
d<b;
d++){var g=c[d];
f.push(new Element("div",{styles:{position:"absolute",background:"red",border:"#9E0000 1px solid",opacity:0.1,top:g.top,left:g.left,width:g.width,height:g.height,zIndex:100001}}));
}}this.container=this.container||new Element("div",{styles:{cursor:"pointer",left:0,position:"absolute",right:0,top:0,zIndex:100000}}).addEvent("click",this.clearDisplay.bind(this));
this.container.setStyle("bottom",0).adopt(f).inject($(document.body),"top");
},ignorePaint:function(){window.removeEventListener("MozAfterPaint",this.onPaintHandle,false);
},listenPaint:function(){window.addEventListener("MozAfterPaint",this.onPaintHandle,false);
},onPaint:function(a){this.store.push([(new Date).getTime(),a.clientRects]);
this.fireEvent("onPaint");
},toggleListen:function(){if(this.listening){this.ignorePaint();
this.buttons[1].set("html","listen");
this.buttons[0].setStyle("display","block");
}else{this.buttons[0].setStyle("display","none");
this.listenPaint();
this.buttons[1].set("html","stop listening...");
}this.listening=!this.listening;
}});
var ContactBioData=new Class({bioText:null,card:null,contact:null,display:null,initialize:function(b,a){this.contact=a;
this.card=b;
a.addPublicInfoListener(this);
},createDisplay:function(){this.display=new ContactBioDisplay(this);
},getAge:function(){return(this.card.contact.publicInfoData)?this.card.contact.publicInfoData.age:null;
},getBioText:function(){if(this.bioText){return this.bioText;
}return this.bioText=this.card.contact.twitterDescription||this.card.contact.facebookAboutMe;
},getJobInfo:function(){return(this.card.contact.publicInfoData)?this.card.contact.publicInfoData.occupations:[];
},getLocation:function(){return(this.card.contact.publicInfoData)?this.card.contact.publicInfoData.location:null;
},getMemberships:function(){return(this.card.contact.publicInfoData)?this.card.contact.publicInfoData.memberships:[];
},getSchool:function(){return(this.card.contact.publicInfoData)?this.card.contact.publicInfoData.universities:[];
},getTwitterSites:function(){var b=[];
for(var a=0;
a<this.card.contact.contactInfo.twitter.length;
a++){if(this.card.contact.contactInfo.twitter[a].options.url){b[a]=this.card.contact.contactInfo.twitter[a].options.url;
}}return b;
},hasNoData:function(){return !this.getBioText()&&!(this.getTwitterSites()&&this.getTwitterSites().length)&&!(this.getMemberships()&&this.getMemberships().length)&&!(this.getSchool()&&this.getSchool().length)&&!this.getLocation()&&!this.getAge()&&!(this.getJobInfo()&&this.getJobInfo().length);
},publicInfoReady:function(){if(this.hasNoData()){this.card.display.bioTextBox.set("html","");
if(this.hasNoData()){this.card.display.bioTextBox.adopt(this.card.display.newEmpty("bio",true));
}}return this.card.contact.publicInfoData.memberships;
}});
var ContactBioDisplay=new Class({element:null,moreElement:null,supportedServices:["360","amazon","bebo","blackplanet","care2","classmates","ecademy","evelvetrope","facebook","flickr","flixster","friendster","hi5","linkedin","livejounal","multiply","myspace","netlog","pandora","perfspot","plaxo","playlist","straata","tagged","tribe","twitter","vox","yelp"],initialize:function(a){this.data=a;
this.data.contact.addChangeListener(this);
this.data.contact.addPublicInfoListener(this);
this.createElement();
},bioAge:function(){var a=this.data.getAge();
if(this.bioAgeBox){if(!a){this.bioAgeBox.set("html","");
this.bioAgeBox.set("html",'<span class="pcard_loading">age: ?</span>');
}else{this.bioAgeBox.set("html","");
this.bioAgeBox.set("html","age:"+a);
}}else{if(!a){a=new Element("span",{"class":"pcard_loading",html:"age: ?"});
}else{a=new Element("span",{html:"age: "+a});
}return a;
}},bioLocation:function(){var a=this.data.getLocation();
if(this.bioLocationBox){if(!a){this.bioLocationBox.set("html","");
this.bioLocationBox.set("html",'<span class="pcard_loading">location: ?</span>');
}else{this.bioLocationBox.set("html","");
this.bioLocationBox.set("html","location:"+a);
}}else{if(!a){a=new Element("span",{"class":"pcard_loading",html:"location: ?"});
}else{a=new Element("span",{html:"location: "+a});
}return a;
}},bioMemberships:function(){var a=this.data.getMemberships();
var c=false;
var d=[];
if(this.bioMembershipsBox){this.bioMembershipsBox.set("html","");
for(var b=0;
b<a.length;
b++){var e=a[b].profileUrl.replace(/(?:http:\/\/)?(?:www\.)?/,"").toLowerCase();
if(a[b].profileUrl&&!d.contains(e)){d.push(e);
new Element("a",{href:a[b].profileUrl,title:a[b].profileUrl,target:"_blank","class":"pcard_badge"}).adopt(this.data.card.display.lookupIcon(a[b].site)).inject(this.bioMembershipsBox);
c=true;
}}if(c==false){this.bioMembershipsBox.adopt(new Element("span",{"class":"pcard_loading",html:"no web pages"}));
}this.bioMembershipsBox.adopt(new Element("div",{"class":"clear"}));
}else{this.bioMembershipsHolder=new Element("div");
for(var b=0;
b<a.length;
b++){var e=a[b].profileUrl.replace(/(?:http:\/\/)?(?:www\.)?/,"").toLowerCase();
if(a[b].profileUrl&&!d.contains(e)){d.push(e);
new Element("a",{href:a[b].profileUrl,title:a[b].profileUrl,target:"_blank","class":"pcard_badge"}).adopt(this.data.card.display.lookupIcon(a[b].site)).inject(this.bioMembershipsHolder);
c=true;
}}if(c==false){this.bioMembershipsHolder.adopt(new Element("span",{"class":"pcard_loading",html:"no web pages "}));
}this.bioMembershipsHolder.adopt(new Element("div",{"class":"clear"}));
return this.bioMembershipsHolder;
}},bioSchool:function(){var b=this.data.getSchool();
if(this.bioSchoolBox){if(b.length<1){this.bioSchoolBox.set("html","");
new Element("span",{"class":"pcard_loading",html:"no education info"}).inject(this.bioSchoolBox);
}else{this.bioSchoolBox.set("html","");
for(var a=0;
a<b.length;
a++){if(b[a].university){new Element("div",{"class":"bio_listeditems",html:b[a].university}).inject(this.bioSchoolBox);
}}}this.bioSchoolBox.adopt(new Element("div",{"class":"clear"}));
}else{if(b.length<1){b=new Element("span",{"class":"pcard_loading",html:"no education info"});
return b;
}else{this.schoolsHolder=new Element("div");
for(var a=0;
a<b.length;
a++){if(b[a].university){new Element("div",{"class":"bio_listeditems",html:b[a].university}).inject(this.schoolsHolder);
}}return this.schoolsHolder;
}}},bioTextFull:function(){var a=globalVariables.textHelpersInstance.replaceCrocs(this.data.getBioText());
if(this.bioTextBox){if(!a){this.bioTextBox.set("html","");
this.bioTextBox.adopt(this.data.card.display.newEmpty("bio"));
}else{this.bioTextBox.set("html","");
this.bioTextBox.set("html",a);
}}else{if(!a){a=new Element("div").adopt(this.data.card.display.newEmpty("bio"));
}else{a=new Element("div",{html:a});
}return a;
}},bioWebsites:function(){var b=this.data.getTwitterSites();
if(this.bioWebsiteBox){if(b.length<1){}else{this.bioWebsiteBox.set("html","");
for(var a=0;
a<b.length;
a++){if($defined(b[a])){new Element("a",{href:b[a],title:b[a],target:"_blank"}).adopt(new Element("span",{html:b[a]})).inject(this.bioWebsiteBox);
}}this.bioWebsiteBox.adopt(new Element("div",{"class":"clear"}));
}}else{this.websiteBox=new Element("div");
for(var a=0;
a<b.length;
a++){if($defined(b[a])){new Element("a",{href:b[a],title:b[a],target:"_blank"}).adopt(new Element("span",{html:b[a]})).inject(this.websiteBox);
}}this.websiteBox.adopt(new Element("div",{"class":"clear"}));
return this.websiteBox;
}},bioWork:function(){var a=this.data.getJobInfo();
if(!a){return;
}if(this.bioWorkBox){if(a.length<1){this.bioJobsBox.set("html","");
new Element("span",{"class":"pcard_loading",html:"no work info"}).inject(this.bioWorkBox);
}else{this.bioJobsBox.set("html","");
for(var b=0;
b<a.length;
b++){if(a[b].company){new Element("div",{"class":"bio_listeditems",html:a[b].company+", "+a[b].jobTitle}).inject(this.bioWorkBox);
}}}this.bioWorkBox.adopt(new Element("div",{"class":"clear"}));
}else{if(a.length<1){a=new Element("span",{"class":"pcard_loading",html:"no work info"});
return a;
}else{this.jobsHolder=new Element("div");
for(var b=0;
b<a.length;
b++){if(a[b].company){new Element("div",{"class":"bio_listeditems",html:a[b].company+", "+a[b].jobTitle}).inject(this.jobsHolder);
}}return this.jobsHolder;
}}},changeContact:function(a){this.data.contact=a;
},contactModified:function(){if(this.bioTextBox){this.bioTextFull();
}},createElement:function(){var a=this.data.card.display.moreElement;
a.empty();
this.fullBioDisplay().inject(a,"top");
return a;
},fullBioDisplay:function(){var a=this;
return this.bioElement=new Element("div",{id:"personcard_bio"}).adopt(this.bioHeader=new Element("div",{"class":"pcard_header"}).adopt(this.bioTitle=new Element("h2",{html:"bio"}),this.bioMore=new Element("span",{html:"back","class":"back",events:{click:function(){a.data.card.display.slide("back");
}}}),new Element("div",{"class":"clear"})),new Element("div",{"class":"pcard_fullbio_container"}).adopt(this.bioBody=new Element("div",{"class":"pcard_body pcard_body_description"}).adopt(a.data.card.display.addLargeFacepic(),this.bioTextBox=new Element("p",{"class":"bio_description"}).adopt(a.bioTextFull()),this.bioLocationBox=new Element("div",{"class":"bio_location"}).adopt(a.bioLocation()),this.bioAgeBox=new Element("div",{"class":"bio_age"}).adopt(a.bioAge()),this.bioFollowersBox=new Element("div",{"class":"bio_followers"}),new Element("div",{"class":"clear"})),new Element("div",{"class":"pcard_divider"}).adopt(new Element("div",{html:"pages","class":"title"}),new Element("div",{"class":"clear"})),new Element("div",{"class":"pcard_body"}).adopt(this.bioWebsiteBox=new Element("div",{"class":"bio_websites"}).adopt(a.bioWebsites()),this.bioMembershipsBox=new Element("div",{"class":"bio_memberships"}).adopt(a.bioMemberships())),new Element("div",{"class":"pcard_divider"}).adopt(new Element("div",{html:"education","class":"title"}),new Element("div",{"class":"clear"})),this.bioSchoolBox=new Element("div",{"class":"pcard_body"}).adopt(a.bioSchool()),new Element("div",{"class":"pcard_divider"}).adopt(new Element("div",{html:"work","class":"title"}),new Element("div",{"class":"clear"})),this.bioWorkBox=new Element("div",{"class":"pcard_body pcard_body_schools"}).adopt(a.bioWork())));
},publicInfoReady:function(){if(this.bioWebsiteBox){this.bioWebsites();
}if(this.bioMembershipsBox){this.bioMemberships();
}if(this.bioWorkBox){this.bioWork();
}if(this.bioSchoolBox){this.bioSchool();
}if(this.bioAgeBox){this.bioAge();
}if(this.bioLocationBox){this.bioLocation();
}}});
var ContactPhotoData=new Class({card:null,contact:null,facebookPhotos:[],facebookRequested:false,flickrIdsRequested:[],flickrRequested:false,flickrPhotos:[],photoListeners:[],initialize:function(b,a){this.contact=a;
this.card=b;
a.addPublicInfoListener(this);
if(a.flickrIds.length||a.isOnFacebook()){this.requestPhotos();
}else{this.checkRequestStatus();
}},addPhotoListener:function(a){if(!this.photoListeners.contains(a)){this.photoListeners.push(a);
}},checkRequestStatus:function(){if(!this.facebookRequested&&!this.flickrRequested){if(this.card.display.photoBody&&!this.contact.flickrPhotos.length&&!this.contact.facebookPhotos.length){this.card.display.photoBody.set("html","");
this.card.display.photoBody.adopt(this.card.display.newEmpty("photos"));
}}},createDisplay:function(){this.display=new ContactPhotoDisplay(this,this.contact);
this.addPhotoListener(this.display);
},handleFacebookPhotos:function(c){if(!$defined(c)||!$defined(c[0])){return;
}this.contact.facebookPhotos=[];
for(var b=0;
b<c.length;
b++){var a=new FacebookPhoto(c[b]);
this.facebookPhotos[this.facebookPhotos.length]=a;
this.contact.facebookPhotos.push(a);
}this.notifyPhotoListeners("newFacebookPhotos");
},handleFlickrPhotos:function(c){if(!c||!$defined(c.photos)||!c.photos.photo.length){return;
}this.contact.flickrPhotos=[];
for(var b=0;
b<c.photos.photo.length;
b++){var a=new FlickrPhoto(c.photos.photo[b]);
this.flickrPhotos[this.flickrPhotos.length]=a;
this.contact.flickrPhotos.push(a);
}this.notifyPhotoListeners("newFlickrPhotos");
},launchSlideShow:function(b,a){if(!this.display){this.createDisplay();
}this.display.launchSlideShow(b,a);
},notifyPhotoListeners:function(b){for(var a=0;
a<this.photoListeners.length;
a++){this.photoListeners[a].photosModified(b);
}},openMore:function(){if(!this.display){this.createDisplay();
}this.display.createElement();
},publicInfoReady:function(){this.requestPhotos();
},requestFacebook:function(){if(!this.facebookRequested&&globalVariables.unifiAccountInstance.hasFacebook){var a=globalVariables.externalServiceManager().getByName("facebook");
if(this.contact.socialNetworkIds&&this.contact.socialNetworkIds[a]){var b=this.contact.socialNetworkIds[a];
globalVariables.facebookConnectInstance.getPhotos(b,this.handleFacebookPhotos.bind(this));
this.facebookRequested=true;
}}},requestFlickr:function(){var a;
var c=globalVariables.flickrApi();
for(var b=0;
b<this.contact.flickrIds.length;
b++){a=this.contact.flickrIds[b];
if(!this.flickrIdsRequested.contains(a)){this.flickrRequested=true;
this.flickrIdsRequested.push(a);
c.getPhotos(a,this.handleFlickrPhotos.bind(this));
}}},requestPhotos:function(){this.requestFacebook();
this.requestFlickr();
this.checkRequestStatus();
}});
var PhotoData=new Class({caption:"",isFacebook:false,isFlickr:false,largeImageUrl:null,smallImageUrl:null,initialize:function(){}});
var FacebookPhoto=new Class({Extends:PhotoData,data:{caption:null,src_big:null,src_small:null},initialize:function(a){this.data=a;
this.caption=a.caption;
this.largeImageUrl=a.src_big;
this.smallImageUrl=a.src_small;
this.isFacebook=true;
}});
var FlickrPhoto=new Class({Extends:PhotoData,data:{farm:null,id:null,secret:null,server:null,title:null},initialize:function(b){this.data=b;
var a="http://farm"+b.farm+".static.flickr.com/"+b.server+"/"+b.id+"_"+b.secret;
this.largeImageUrl=a+".jpg";
this.smallImageUrl=a+"_s.jpg";
this.caption=b.title;
this.isFlickr=true;
}});
var ContactPhotoDisplay=new Class({contact:null,data:null,facebookInjected:false,flickrInjected:false,element:null,moreElement:null,photoBody:null,photoBack:null,photoTitle:null,initialize:function(b,a){this.contact=a;
this.data=b;
this.moreElement=this.data.card.display.moreElement;
},adoptFlickrPhotos:function(){var f=this.data.flickrPhotos;
if(!f.length){return;
}var d=this;
this.flickrInjected=true;
var g=new Element("div",{"class":"photoBodyContain"}).adopt(photoBody=new Element("div",{"class":"photoBody"}));
var c=f.length>24?24:f.length;
for(var e=0,b=c;
e<b;
e++){var a=f[e];
photoBody.adopt(this.createPhoto(a));
}return new Element("div",{"class":"flickr"}).adopt(new Element("div",{"class":"header"}).adopt(new Element("div",{"class":"title",html:"flickr photos"}),new Element("div",{"class":"slideShow",html:"launch slideshow",events:{click:function(){d.data.launchSlideShow("flickr",null);
}}}),new Element("div",{"class":"clear"})),g);
},adoptFacebookPhotos:function(){var e=this.data.contact.facebookPhotos;
if(!e.length){return;
}var d=this;
var g;
this.facebookInjected=true;
var h=new Element("div",{"class":"photoBodyContain"}).adopt(g=new Element("div",{"class":"photoBody"}));
var c=e.length>24?24:e.length;
for(var f=0,b=c;
f<b;
f++){var a=e[f];
g.adopt(this.createPhoto(a));
}g.adopt(new Element("div",{"class":"clear"}));
return new Element("div",{"class":"facebook"}).adopt(new Element("div",{"class":"header"}).adopt(new Element("div",{"class":"title",html:"facebook photos"}),new Element("div",{"class":"slideShow",html:"launch slideshow",events:{click:function(){d.data.launchSlideShow("facebook",null);
}}}),new Element("div",{"class":"clear"})),h);
},createPhoto:function(b){var a=this;
var c=b.isFacebook?"facebook":"flickr";
return new Element("div",{"class":"pcard_thumbnail",events:{click:function(){a.data.launchSlideShow(c,b);
}}}).adopt(new Element("div",{"class":"expandCorner"}),new Element("div",{"class":"pcard_image",styles:{background:"center center no-repeat url("+b.smallImageUrl+")"}}));
},createElement:function(){var a=this;
this.moreElement.empty();
this.element=new Element("div",{"class":"morePhotosContain"}).adopt(new Element("div",{"class":"pcard_header"}).adopt(this.photoTitle=new Element("h2",{html:"photos"}),this.photoBack=new Element("span",{html:"back","class":"back",events:{click:function(){a.data.card.display.slide("back");
}}}),new Element("div",{"class":"clear"})),this.photoBody=new Element("div",{"class":"pcard_body"}).adopt(this.adoptFlickrPhotos(),this.adoptFacebookPhotos())).inject(this.moreElement);
},photosModified:function(a){if(!this.flickrInjected){this.photoBody.grab(this.adoptFlickrPhotos(),"top");
}if(!this.facebookInjected){this.photoBody.grab(this.adoptFacebookPhotos(),"bottom");
}},launchSlideShow:function(m,a){var j=true;
var e=true;
var h=new Element("div",{id:"photo-gallery"}).inject($(document.body));
var k=[];
if(a){var b=a;
var d=b.caption?b.caption:"";
k.push(b.largeImageUrl+"@@"+d);
}if(m){if(m=="flickr"){j=false;
}else{if(a=="facebook"){e=false;
}}}if(this.data.facebookPhotos&&j){for(var g=0,c=this.data.facebookPhotos.length;
g<c;
g++){var b=this.data.facebookPhotos[g];
if(!a||(b.largeImageUrl!=a.largeImageUrl)){var d=b.caption?b.caption:"";
k.push(b.largeImageUrl+"@@"+d);
}}}if(this.data.flickrPhotos&&e){for(var g=0,c=this.data.flickrPhotos.length;
g<c;
g++){var b=this.data.flickrPhotos[g];
if(!a||(b.largeImageUrl!=a.largeImageUrl)){k.push(b.largeImageUrl+"@@");
}}}var f=new SimpleBox(h);
k=k.join("$$");
this.flashObj=new versionedSwiff("swf/photo-gallery.swf",{width:"100%",height:"100%",container:h,params:{allowFullScreen:true,wMode:""},vars:{images:k}});
}});
var ContactStreamData=new Class({Extends:OptionalStream,card:null,count:15,contact:null,displayVirgin:true,facebookRequested:false,filterFacebookUid:null,filtered:false,mode:null,twitterRequested:false,twitterScreenNamesRequested:[],initialize:function(b,a,c){this.mode=c;
this.card=b;
this.contact=a;
this.allowPosting=false;
this.parent();
a.addPublicInfoListener(this);
if(c=="more"){this.count="null";
this.addContainerDisplay();
}this.requestStreams();
},addContainerDisplay:function(){if(this.mode=="more"){return this.createMessageListDisplay().createElement();
}},checkRequestStatus:function(){if(!this.facebookRequested&&!this.twitterRequested){this.card.stopSpinner("updates");
}},checkUpdates:function(){},container:function(){if(this.mode=="more"){return this.display.streamBody;
}else{if(this.mode=="overview"){return this.card.display.statusBody;
}}},createMessageListDisplay:function(){if(this.mode=="more"){if(!this.display){this.display=new ContactStreamDisplay(this);
}return this.display;
}else{return this.card.display.statusBody;
}},displayContainer:function(){return this.container();
},displayMessage:function(d,c,b,f,a){var e=this.createMessageDisplay(d);
d.messageDisplay=e;
if(c=="bottom"){b=this.container();
}if(this.displayVirgin){b.set("html","");
this.displayVirgin=false;
if(this.card.display.statusMore.hasClass("hide")){this.card.display.statusMore.removeClass("hide");
}this.card.display.hasStream=true;
}d.messageDisplay.element.inject(b,c);
return e;
},divId:function(){return this.mode+"personCard"+this.contact.contactId;
},doInsert:function(){return this.active&&(this.mode=="more")||!Browser.Engine.trident||(this.messages.length<2);
},isMessageHidden:function(){return false;
},moveTodayDiv:function(a){},playSound:function(a){return;
},publicInfoReady:function(){this.requestStreams();
},requestFacebook:function(){if(!this.facebookRequested&&globalVariables.unifiAccountInstance.hasFacebook){var b=globalVariables.externalServiceManager().getByName("facebook");
if(this.contact.socialNetworkIds&&this.contact.socialNetworkIds[b]){var c=this.contact.socialNetworkIds[b];
this.facebookRequested=true;
var a=new facebookResponseHandler();
globalVariables.facebookConnect().requestStream(c,this.facebookEndTime,globalVariables.facebookConnectInstance.statusLimit,a.processStreamResult.bind(a),this);
}}},requestTwitter:function(){var f;
var g=globalVariables.unifiAccountInstance.getTwitterAccount();
var c;
var a;
var j;
var h;
var d;
var b=this;
for(var e=0;
e<this.contact.contactInfo.twitter.length;
e++){j=this.contact.contactInfo.twitter[e];
f=j.options.screen_name;
f=(f)?f.toLowerCase():"";
c=globalVariables.unifiAccountInstance.getAccountByScreenName(f)||g;
a=c.options.id;
if(!this.twitterScreenNamesRequested.contains(f)){this.twitterRequested=true;
this.twitterScreenNamesRequested.push(f);
h=new twitterResponseHandler({account_id:a,request_type:"user_timeline"},b,c);
d={count:this.count,screen_name:f};
globalVariables.twitterApi().getUserTimeline(d,h,a);
}}},requestStreams:function(){this.requestTwitter();
this.requestFacebook();
this.checkRequestStatus();
}});
var ContactStreamDisplay=new Class({data:null,element:null,moreElement:null,streamBody:null,streamBack:null,streamTitle:null,initialize:function(a){this.data=a;
this.moreElement=this.data.card.display.moreElement;
},createElement:function(){var a=this;
this.moreElement.empty();
this.element=new Element("div",{"class":"moreStreamContain"}).adopt(new Element("div",{"class":"pcard_header"}).adopt(this.streamTitle=new Element("h2",{html:"updates"}),this.streamBack=new Element("span",{html:"back","class":"back",events:{click:function(){a.data.card.display.slide("back");
}}}),new Element("div",{"class":"clear"})),this.streamBody=new Element("div",{"class":"body"}).adopt(this.data.card.display.newLoader("updates",true))).inject(this.moreElement);
}});
var ContactOptionalStreamManager=new Class({activeContent:null,card:null,contact:null,hasFacebook:null,hasTwitter:null,tabs:null,initialize:function(b,a){this.card=b;
this.contact=a;
this.createManagerDisplay();
this.hasFacebook=$defined(a.socialNetworks[globalVariables.externalServiceManager().getByName("facebook")]);
this.hasTwitter=$defined(a.socialNetworks[globalVariables.externalServiceManager().getByName("twitter")]);
if(this.hasFacebook||this.hasTwitter){this.createInitialTabs();
}else{this.tabs.all=new nullOptionalStream(this,"null");
this.activeContent=this.tabs.all;
}},createInitialTabs:function(){var a=this.createTab("all");
this.tabs.all=a;
this.activeContent=a;
},createTab:function(a){var b=this.tabs[a];
if(!b||b.isNull()){b=new ContactStreamData(this,this.contact);
this.tabs[a]=b;
}return b;
},createManagerDisplay:function(){}});
var PersonCardDisplay=new Class({card:null,bioBody:null,bioElement:null,bioHeader:null,bioMore:null,bioTitle:null,clearPhotosFloats:null,currentScroll:0,contact:null,contactManager:null,displayName:null,element:null,gotPhotos:false,hasBio:false,hasFacebookPhotos:false,hasFlickrPhotos:false,hasPhotos:false,hasStream:false,manager:null,moreElement:null,numberOfPhotos:0,photoElement:null,photoHeader:null,photoMore:null,photoTitle:null,picElement:null,picElementSmall:null,slideInstance:null,statusElement:null,statusBody:null,statusHeader:null,statusMore:null,statusTitle:null,summaryElement:null,supportedServices:["360","amazon","bebo","blackplanet","care2","classmates","ecademy","evelvetrope","facebook","flickr","flixster","friendster","hi5","linkedin","livejounal","multiply","myspace","netlog","pandora","perfspot","plaxo","playlist","straata","tagged","tribe","twitter","vox","yelp"],initialize:function(c,a,b,d){this.card=c;
this.contact=a;
this.contactManager=globalVariables.unifiAccountInstance.contactManager;
this.displayName=b;
a.addChangeListener(this);
a.addPublicInfoListener(this);
this.createElement();
if(this.card.contact.facebookPhotos||this.card.contact.flickrPhotos){this.photosModified();
}},addFacepic:function(){if(!this.picElement){var a;
if(a=this.contact.getLargePicUrl(0,0)){this.picElement=new Element("img",{src:a});
var b=new Element("div",{"class":"pcard_largepic"}).adopt(this.picElement);
return b;
}}else{return this.picElement;
}},addLargeFacepic:function(){if(!this.picElement){var a;
if(a=this.contact.getLargePicUrl(0,0)){this.picElement=new Element("img",{src:a});
var b=new Element("div",{"class":"pcard_largepic"}).adopt(this.picElement);
return b;
}}else{new Element("div",{"class":"pcard_largepic"}).adopt(this.picElement);
}},addSmallFacepic:function(){if(!this.picElement){var b;
if(b=this.contact.getSmallPicUrl(0,0)){this.picElementSmall=new Element("img",{src:b});
var a=new Element("div",{"class":"pcard_smallpic"}).adopt(this.picElementSmall);
return a;
}}else{return new Element("div",{"class":"pcard_smallpic"}).adopt(this.picElementSmall);
}},bioDisplay:function(){var a=this;
return this.bioElement=new Element("div",{id:"personcard_bio"}).adopt(this.bioHeader=new Element("div",{"class":"pcard_header"}).adopt(this.bioTitle=new Element("h2",{html:"bio"}),this.bioMore=new Element("span",{html:"more","class":"more",events:{click:function(){if(a.card.currentMore!="bio"){a.card.bioData.createDisplay();
a.card.currentMore="bio";
}a.slide("more");
new Tracking({a:"aPCMore",vPCS:"bio"}).send();
}}}),new Element("div",{"class":"clear"})),this.bioBody=new Element("div",{"class":"pcard_body"}).adopt(this.bioTextBox=new Element("p",{"class":"bio_description"}).adopt(this.addSmallFacepic(),this.bioText("new")),this.bioWebsiteBox=new Element("div",{"class":"bio_websites"}).adopt(this.bioWebsites("new")),this.bioMembershipsBox=new Element("div",{"class":"bio_memberships"}).adopt(this.bioMemberships("new")),this.bioFollowersBox=new Element("div",{"class":"bio_followers"}).adopt(this.twitterCheckFollowStatus())));
},bioMemberships:function(e){var d=[];
if(e=="new"){}else{if(e=="update"){this.bioMembershipsBox.set("html","");
}}var a=this.card.bioData.getMemberships();
if(a.length){var c=new Element("div",{"class":"bio-memberships-holder"});
for(var b=0;
b<a.length;
b++){var f=a[b].profileUrl.replace(/(?:http:\/\/)?(?:www\.)?/,"").toLowerCase();
if(a[b].profileUrl&&!d.contains(f)){d.push(f);
c.adopt(new Element("a",{href:a[b].profileUrl,title:a[b].profileUrl,target:"_blank","class":"pcard_badge"}).adopt(this.lookupIcon(a[b].site)));
}}return c.adopt(new Element("div",{"class":"clear"}));
}},bioText:function(c){if(c=="new"){var b;
if(this.contact.hasPublicInfo&&this.card.bioData.hasNoData()){b=this.newEmpty("bio",true);
}else{if(this.contact.hasPublicInfo&&this.card.bioData.getBioText()){this.hasBio=true;
var a=this.card.bioData.getBioText();
a=a.length>133?a.substring(0,133)+"...":a;
b=new Element("div",{html:a});
}else{b=new Element("div").adopt(this.newLoader("bio",false));
}}return b;
}else{if(c=="update"){var a=this.card.bioData.getBioText();
this.bioTextBox.set("html","");
if(a){this.hasBio=true;
a=a.length>133?a.substring(0,133)+"...":a;
return[this.addSmallFacepic(),new Element("span",{html:a})];
}else{if(this.card.bioData.hasNoData()){return[this.addSmallFacepic(),this.newEmpty("bio",true)];
}else{return[this.addSmallFacepic(),this.newEmpty("bio",false)];
}}}}},bioWebsites:function(d){if(d=="new"){}else{if(d=="update"){this.bioWebsiteBox.set("html","");
}}var c=this.card.bioData.getTwitterSites();
if(c.length){var a=new Element("div",{"class":"website-box"});
for(var b=0;
b<c.length;
b++){if($defined(c[b])){a.adopt(new Element("a",{href:c[b],title:c[b],target:"_blank"}).adopt(new Element("span",{html:c[b]})));
}}return a.adopt(new Element("div",{"class":"clear"}));
}},changeContact:function(){},contactModified:function(){if(this.bioTextBox&&!this.hasBio){this.bioTextBox.adopt(this.bioText("update"));
}if(this.bioFollowersBox){this.bioFollowersBox.set("html","");
this.bioFollowersBox.adopt(this.twitterCheckFollowStatus());
}},createElement:function(){return this.element=new Element("div",{"class":"personCard"}).adopt(this.createOverviewELement(),this.createMoreElement()).inject(this.card.manager.display.element);
},createOverviewELement:function(){return this.overviewElement=new Element("div",{"class":"personCardOverview"}).adopt(this.sizeMarker=new Element("div",{styles:{display:"block",position:"relative","min-height":0}}).adopt(this.bioDisplay(),this.photoBox()),this.statusBox());
},createMoreElement:function(){return this.moreElement=new Element("div",{"class":"personCardMore"});
},createPhoto:function(b){var a=this;
return new Element("div",{"class":"pcard_thumbnail",events:{click:function(){a.card.photoData.launchSlideShow(null,b);
}}}).adopt(new Element("div",{"class":"expandCorner"}),new Element("div",{"class":"pcard_image",styles:{background:"center center no-repeat url("+b.smallImageUrl+")"}}));
},doDestroy:function(){this.element.addClass("ty_h_bury");
this.element.destroy();
},errorMessage:function(b,d,c){var a=this;
this.errorMessageDestroy();
this.errorBox=new Element("div",{html:c,"class":"error-box"}).adopt(new Element("div",{html:"close","class":"error-box-close",events:{click:function(){a.errorBox.destroy();
}}})).inject(b,d);
},errorMessageDestroy:function(){if(this.errorBox){this.errorBox.destroy();
}},lookupIcon:function(b){var c=b.replace(/\..*/,"");
var a;
if(this.supportedServices.contains(c)){a=globalVariables.configInstance.staticServer+"images/logos/publicInfo/"+c+".gif";
}else{a=globalVariables.configInstance.staticServer+"images/logos/publicInfo/publiIcon.png";
}return new Element("img",{"class":"serviceicon",width:15,height:15,src:a});
},newEmpty:function(c,a){var c=c||"stuff";
var b="no "+c+" available";
if(a){this.switchMore(c,false);
}return new Element("div",{"class":"loadContainer"}).adopt(new Element("div",{"class":"pcard_loading"}).adopt(new Element("span",{html:b})));
},newLoader:function(d,b){var d=d||"stuff";
var a=this.card.getDisplayName();
loadingText="loading "+d+" for "+a;
var c=new Element("div",{"class":"loadContainer"}).adopt(new Element("div",{"class":"loading_text"}).adopt(new Element("span",{html:loadingText})));
return c;
},photoBox:function(){var a=this;
return this.photoElement=new Element("div",{id:"personcard_photo"}).adopt(this.photoHeader=new Element("div",{"class":"pcard_header"}).adopt(this.photoTitle=new Element("h2",{html:"photos"}),this.photoMore=new Element("span",{html:"more","class":"more",events:{click:function(){if(a.card.currentMore!="photos"){a.card.photoData.openMore();
a.card.currentMore="photos";
}a.slide("more");
new Tracking({a:"aPCMore",vPCS:"photos"}).send();
}}}),new Element("div",{"class":"clear"})),this.photoBody=new Element("div",{"class":"pcard_body"}).adopt(this.photoBuilder("new")));
},photoBuilder:function(e){if(e=="new"){if(this.contact.facebookPhotos.length||this.contact.flickrPhotos.length){var c=new Element("div",{"class":"pcard_photo_row"});
var d=[];
d.extend(this.contact.facebookPhotos);
var a=[];
a.extend(this.contact.flickrPhotos);
if(d){this.hasFacebookPhotos=true;
}if(a){this.hasFlickrPhotos=true;
}var f=d.extend(a);
for(this.numberOfPhotos;
this.numberOfPhotos<f.length&&this.numberOfPhotos<6;
this.numberOfPhotos++){c.adopt(this.createPhoto(f[this.numberOfPhotos]));
}if(!this.clearPhotosFloats){this.clearPhotosFloats=new Element("div",{"class":"clear"});
}return c.adopt(this.clearPhotosFloats);
}else{if(!this.contact.hasPublicInfo){return this.newLoader("photos",false);
}else{return this.newEmpty("photos","true");
}}}else{if(e=="update"){if((this.contact.facebookPhotos.length||this.contact.flickrPhotos.length)&&this.numberOfPhotos<5){if(this.photoMore.hasClass("hide")){this.photoMore.removeClass("hide");
}if(!this.hasFacebookPhotos&&!this.hasFlickrPhotos){this.photoBody.set("html","");
}var c=this.photoBody.getElement(".pcard_photo_row")||new Element("div",{"class":"pcard_photo_row"});
var d=[];
d.extend(this.contact.facebookPhotos);
var a=[];
a.extend(this.contact.flickrPhotos);
var f=this.hasFacebookPhotos?d.extend(a):a.extend(d);
if(d){this.hasFacebookPhotos=true;
}if(a){this.hasFlickrPhotos=true;
}for(this.numberOfPhotos;
this.numberOfPhotos<f.length&&this.numberOfPhotos<6;
this.numberOfPhotos++){var b=f[this.numberOfPhotos];
c.adopt(this.createPhoto(f[this.numberOfPhotos]));
}if(!this.clearPhotosFloats){this.clearPhotosFloats=new Element("div",{"class":"clear"});
}return c.adopt(this.clearPhotosFloats);
}else{if(this.numberOfPhotos>5){return;
}else{this.photoBody.set("html","");
return this.newEmpty("photos","true");
}}}}},photosModified:function(){if(this.photoBody){this.photoBody.adopt(this.photoBuilder("update"));
}},publicInfoReady:function(){if(!this.card.bioData.hasNoData()){if(this.bioMore.hasClass("hide")){this.bioMore.removeClass("hide");
}this.contactModified();
}if(this.bioWebsiteBox){this.bioWebsiteBox.adopt(this.bioWebsites("update"));
}if(this.bioMembershipsBox){this.bioMembershipsBox.adopt(this.bioMemberships("update"));
}this.bioFollowersBox.set("html","");
this.bioFollowersBox.adopt(this.twitterCheckFollowStatus());
},statusBox:function(){var a=this;
return this.statusElement=new Element("div",{id:"personcard_status"}).adopt(this.statusHeader=new Element("div",{"class":"pcard_header"}).adopt(this.statusTitle=new Element("h2",{html:"updates"}),this.statusMore=new Element("span",{html:"more","class":"more",events:{click:function(){if(a.card.currentMore!="stream"){a.card.moreStreamData=new ContactStreamData(a.card,a.card.contact,"more");
a.card.currentMore="stream";
}a.slide("more");
new Tracking({a:"aPCMore",vPCS:"updates"}).send();
}}}),this.clear=new Element("div",{"class":"clear"})),this.statusBody=new Element("div",{"class":"pcard_body",id:"pcard-status-body"}).adopt(this.newLoader("updates",true)));
},slide:function(b){if(!this.scrollInstance){this.scrollInstance=new Fx.Scroll(this.element,{duration:"short",transition:"quad:in"});
}var a=globalVariables.rightColumnManager.display.sizeX;
if(b=="more"){this.card.currentView="more";
this.scrollInstance.start(a,0);
this.currentScroll=a;
}else{if(b=="back"){this.card.currentView="overview";
this.scrollInstance.start(0,0);
this.currentScroll=0;
}else{if(b&&$type(b)=="number"&&this.currentScroll!=b&&this.currentScroll){this.scrollInstance.set(b,0);
this.currentScroll=b;
}}}},switchMore:function(b,a){if(!a){if(b=="updates"){if(this.statusMore){this.statusMore.addClass("hide");
}}else{if(b=="photos"){if(this.photoMore){this.photoMore.addClass("hide");
}}else{if(b=="bio"){if(this.bioMore){this.bioMore.addClass("hide");
}}}}}else{if(b=="updates"){if(this.statusMore&&this.statusMore.hasClass("hide")){this.statusMore.removeClass("hide");
}}else{if(b=="photos"){if(this.photoMore&&this.photoMore.hasClass("hide")){this.photoMore.removeClass("hide");
}}else{if(b=="bio"){if(this.bioMore&&this.bioMore.hasClass("hide")){this.bioMore.removeClass("hide");
}}}}}},twitterCheckFollowStatus:function(){var g=globalVariables.unifiAccountInstance.getMyContact().contactId,b=this.card.contact.contactInfo.twitter;
if(this.card.contact.contactId==g){return;
}if(b.length){var f=[],e,h;
var c;
for(var d=0,a=b.length;
d<a;
d++){c=b[d].options.screen_name;
if(c){f.include(c);
}}if(!f.length){return false;
}else{if(globalVariables.unifiAccountInstance.twitterAccountIds.length==1&&f.length==1){e=this.contactManager.isFollowing(f[0],true);
if(e.length){return this.twitterButtonUnfollow(b[0].options.screen_name);
}else{return this.twitterButtonFollow(b[0].options.screen_name);
}}else{return this.twitterDropdownMenu();
}}}},twitterButtonFollow:function(c){var b=this;
var d=this.contactManager.isFollowing(c,false);
var a=this.card.contact.contactInfo.twitter[0];
if(!$defined(c)){c=this.card.contact.contactInfo.twitter[0].options.screen_name;
}return new Element("div",{"class":"container-following-indicator"}).adopt(this.followButton=new Element("div",{"class":"follow-button",title:this.card.contact.contactInfo.twitter[0].options.screen_name,events:{click:function(){b.twitterRequest("single","follow",c,a,this,d[0]);
event.stop();
}}}).adopt(new Element("div",{"class":"follow-button-inner",html:"follow"})),new Element("div",{"class":"clear"}));
},twitterButtonUnfollow:function(c){var b=this;
var d=this.contactManager.isFollowing(c,true);
var a=b.card.contact.contactInfo.twitter[0];
if(!$defined(c)){c=this.card.contact.contactInfo.twitter[0].options.screen_name;
}return new Element("div",{"class":"container-following-indicator"}).adopt(this.followingIndicator=new Element("div",{html:"following ","class":"following-indicator"}).adopt(new Element("a",{html:"(unfollow)",href:"#",events:{click:function(e){b.twitterRequest("single","unfollow",c,a,this,d[0]);
e.stop();
}}})),new Element("div",{"class":"clear"}));
},twitterButtonMulti:function(d,b,f,g){var c=this;
var a="";
var e=new Element("div",{"class":f,html:f,events:{click:function(){var h=this;
c.twitterRequest("multiple",f,d,b,e,g);
}}});
return e;
},twitterDropdownMenu:function(c,m){this.followOptions=new Element("div").adopt(this.followButton=new Element("div",{"class":"follow-button"}).adopt(new Element("div",{"class":"follow-button-inner",html:"twitter options"}),this.followDropdown=new Element("div",{"class":"follow-dropdown-list"}).adopt(new Element("div",{"class":"fdl-header"}).adopt(new Element("div",{"class":"fdl-arrow"}),new Element("div",{"class":"fdl-top"}),new Element("div",{"class":"fdl-top-right"})),new Element("div",{"class":"fdl-body"}).adopt(new Element("div",{"class":"fdl-body-inner"}).adopt(this.twitterAccountList=new Element("ul"))),new Element("div",{"class":"fdl-footer"}).adopt(new Element("div",{"class":"fdl-bottom-left"}),new Element("div",{"class":"fdl-bottom"}),new Element("div",{"class":"fdl-bottom-right"})))),new Element("div",{"class":"clear"}));
var a=this.card.contact.contactInfo,p=globalVariables.unifiAccountInstance.twitterAccounts,b,o=a.twitter;
var d;
var q;
var n;
for(var h=0,e=p.length;
h<e;
h++){var r=[];
b=p[h];
if(p.length>1){this.twitterAccountList.adopt(new Element("li",{"class":"follow-twitter-account",html:b.options.name}));
}for(var g=0,f=o.length;
g<f;
g++){n=o[g].options.screen_name;
if(n){n=n.toLowerCase();
if(!r.contains(n)){r.include(n);
q=this.contactManager.followListByAccount[b.options.id];
if(q&&q.contains(n)){d=this.twitterButtonMulti(n,o[g],"unfollow",b.options.id);
}else{d=this.twitterButtonMulti(n,o[g],"follow",b.options.id);
}this.twitterAccountList.adopt(new Element("li").adopt(new Element("strong",{html:n+" "}),new Element("div",{"class":"multi-follow-button-container"}).adopt(d),new Element("div",{"class":"clear"})));
}}}}return this.followOptions;
},twitterLoader:function(){return new Element("div",{"class":"follow-button-loader",html:"one moment please"});
},twitterRequest:function(e,a,h,c,k,g){var b=this;
var j=e;
var f=a;
var d=k;
var l="";
if(f=="follow"){l="twitterFollow.json";
}else{l="twitterUnfollow.json";
}globalVariables.makeShardRequest(l,{data:{serviceAccountId:g,toUser:h},isAsync:true,onRequest:function(){if(j=="single"){b.bioFollowersBox.set("html","");
b.bioFollowersBox.adopt(b.twitterLoader());
}else{if(j=="multiple"){d.set("class","");
d.addClass("follow-loader");
}}},onSuccess:function(n){var p=d.parentNode;
try{var m=n.result;
if(f=="follow"){globalVariables.unifiAccountInstance.contactManager.followListByAccount[g].include(m);
c.isFollowing=true;
if(j=="single"){b.bioFollowersBox.set("html","");
b.bioFollowersBox.adopt(b.twitterButtonUnfollow(h));
}else{if(j=="multiple"){p.set("html","");
p.adopt(b.twitterButtonMulti(h,c,"unfollow",g));
}}globalVariables.announcementBar().createAnnouncement("followed successfully",null,"success");
}else{if(f=="unfollow"){globalVariables.unifiAccountInstance.contactManager.followListByAccount[g].erase(m);
c.isFollowing=false;
if(j=="single"){b.bioFollowersBox.set("html","");
b.bioFollowersBox.adopt(b.twitterButtonFollow(h));
}else{if(j=="multiple"){p.set("html","");
p.adopt(b.twitterButtonMulti(h,c,"follow",g));
}}globalVariables.announcementBar().createAnnouncement("unfollowed successfully",null,"success");
}}}catch(o){globalVariables.log.error("onSuccess personcard",o);
}},onFailure:function(){}});
}});
var PersonCardManagerDisplay=new Class({manager:null,initialize:function(a){this.manager=a;
this.createElement();
},createElement:function(a){this.element=new Element("div",{id:"personCardManager","class":"ty_h_bury"}).inject(this.manager.unboundModeManager.display.element);
},calcDisplayName:function(a){if(a){return a;
}else{if(this.manager.activeContent){return this.manager.activeContent.displayName;
}else{return"";
}}},setDisplayNameBar:function(a){a=this.calcDisplayName(a);
var b=$("display-name-bar");
if(!b){b=new Element("div",{id:"display-name-bar"}).inject("unbound-nav-container","top");
}b.set("html",a);
}});
var PersonCardManager=new Class({activeContent:null,display:null,unboundModeManager:null,initialize:function(a){this.unboundModeManager=a;
this.createDisplay();
},createPersonCard:function(a,b){if(globalVariables.noPersonCard){return;
}this.makeActive();
this.display.setDisplayNameBar(b);
globalVariables.rightColumnManager.unboundModeManagerInstance.activeMode=this;
this.removeCurrentCard();
this.activeContent=new PersonCard(this,a,b);
},createDisplay:function(a){this.display=new PersonCardManagerDisplay(this);
},getActiveContent:function(){return this.activeContent;
},makeActive:function(){if(this.activeContent){this.unboundModeManager.display.resetLoader();
}if(this.display.element.hasClass("ty_h_bury")){this.display.element.removeClass("ty_h_bury");
}},makeInactive:function(){this.display.element.addClass("ty_h_bury");
},stopSpinner:function(a){if((a=="updates")&&this.activeContent&&(this.activeContent.streamData.messages.length==0)){this.activeContent.display.statusBody.set("html","");
this.activeContent.display.statusBody.adopt(this.activeContent.display.newEmpty(a));
}},removeCurrentCard:function(){if(this.activeContent){this.activeContent.doDestroy();
this.activeContent=null;
}this.display.element.empty();
}});
var PersonCard=new Class({bioData:null,currentMore:null,currentView:"overview",contact:null,display:null,displayName:null,manager:null,moreStreamData:null,noFacebook:false,noTwitter:false,photoData:null,streamData:null,initialize:function(c,a,b){this.manager=c;
this.contact=a;
b=b||a.getDisplayName(0,0);
this.displayName=b;
this.bioData=new ContactBioData(this,a);
this.display=new PersonCardDisplay(this,a,b);
this.photoData=new ContactPhotoData(this,a);
this.streamData=new ContactStreamData(this,a,"overview");
if(!a.hasPublicInfo){a.requestPublicInfo();
}if(globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.activeContent){globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.activeContent.makeInactive();
}this.photoData.addPhotoListener(this.display);
},doDestroy:function(){this.streamData.active=false;
this.display.doDestroy();
},expandComments:function(a){if(this.currentView=="more"&&this.currentMore=="stream"){this.moreStreamData.expandComments(a);
}else{this.streamData.expandComments(a);
}},getDisplayName:function(){var a=this.displayName||this.contact.getDisplayName(5,0);
if(!a&&this.contact.emails.length>0){a=this.contact.emails[0].email;
}return a;
},makeInactive:function(){if(this.streamData){this.streamData.makeInactive();
}},noUpdates:function(a){if(a=="facebook"){this.noFacebook=true;
}else{if(a=="twitter"){this.noTwitter=true;
}}if((this.noFacebook||!this.contact.facebookAccounts||!this.contact.facebookAccounts.length)&&(this.noTwitter||!this.contact.twitterAccounts||!this.contact.twitterAccounts.length)){this.stopSpinner("updates");
}},stopSpinner:function(a){if(a=="updates"){if(this.display.statusBody&&!this.display.hasStream){this.display.statusBody.set("html","");
this.display.statusBody.adopt(this.display.newEmpty(a,true));
}}},toggleLikes:function(a){if(this.currentView=="more"&&this.currentMore=="stream"){this.moreStreamData.toggleLikes(a);
}else{this.streamData.toggleLikes(a);
}}});
var popem=new Class({myPopem:null,titleStore:null,initialize:function(b){this.titleStore=b.title;
b.erase("title");
var a=this;
b.addEvents({mouseenter:function(c){a.myPopem=new Element("div",{"class":"unifi_tipDisplay unifi_tipOf"+b.get("class"),html:'<div class="unifi_tipTail"></div><div class="unifi_tipShadowContain">'+a.titleStore+"</div>"});
a.myPopem.inject(b.getParent(),"before");
},mouseleave:function(c){if(a.myPopem){a.myPopem.destroy();
}}});
}});
Array.implement({tidy:function(c){c=!c?"":c;
for(x in this){for(var b=x,a=this.length;
b<a;
b++){if(x==0){this[b]=this[b].clean();
}if(this[b]==this[x]&&b!==x||this[b].test(c)){this.splice(b,1);
a-=1;
}}}return this;
},blend:function(d){var c=d.length;
if(!c){d=this;
}else{for(var b=0;
b<this.length;
b++){for(var e=0;
e<c;
e++){if(d[e].toLowerCase()==this[b].toLowerCase()){break;
}if(e==c-1){d.push(this[b]);
}}}}return d;
},rinse:function(){for(var b=0,a=this.length;
b<a;
b++){if(this[b].test(/^\s*(?!\w)$/)){this.splice(b,1);
a-=1;
}}return this;
}});
var PublicInfoData=new Class({Implements:[Events],age:null,callerPID:null,contact:null,displayName:null,facebookUid:0,flickrID:0,hasStatuses:false,location:null,memberships:[],occupations:[],twitterNames:null,twitterData:[],privateTwitterNames:null,urls:{facebookProfile:"http://www.facebook.com/profile.php?id=",twitterPage:"http://www.twitter.com/"},initialize:function(c,a,b){this.twitterNames=[];
this.privateTwitterNames=[];
this.contact=a;
this.callerPID=c;
this.displayName=b;
this.addEvents({hasFacebook:this.hasFacebook,hasFlickr:this.hasFlickr,hasOccupations:this.hasOccupations,hasPrivateTwitter:this.hasPrivateTwitter,hasTwitter:this.hasTwitter});
this.processContact();
},addTwitterName:function(a,c,d){if(a){a=a.toLowerCase();
if(!this.twitterNames.contains(a)){this.twitterNames[this.twitterNames.length]=a;
this.twitterData[a]=c;
this.fireEvent("hasTwitter");
if(d){var b=this.urls.twitterPage+a;
this.memberships[this.memberships.length]={profileUrl:b,site:"twitter.com"};
}return true;
}}return false;
},fetchPublicInfo:function(a){globalVariables.makeShardRequest("publicInfo.json",{data:{emails:a},isAsync:true,onSuccess:function(b){this.handleResponse(b);
}.bind(this),onFailure:function(){this.callerPID.notifyPublicInfoDataReady(false);
}.bind(this)});
},handleResponse:function(n){if(n&&!n.error&&(n.result!=1)){if(n.memberships){for(var h=0,f=n.memberships.length;
h<f;
h++){var o=true;
var d=n.memberships[h].site;
if(d=="flickr.com"){this.flickrID=n.memberships[h].profileUrl.match(/\/[^\/]*\/$/);
this.flickrID=this.flickrID[0].replace(/\//g,"");
this.fireEvent("hasFlickr");
}else{if(d=="facebook.com"){if(this.facebookUid==0){var m=n.memberships[h].profileUrl;
var j=m.match(/id=\d*/);
if(!j){j=m.substring(m.lastIndexOf("/")+1);
}else{j=j[0].replace(/id=/,"");
}if(j){j=j.toLowerCase();
}if(j&&(this.facebookUid!=j)){this.facebookUid=j;
this.fireEvent("hasFacebook");
}}else{o=false;
}}else{if(d=="twitter.com"){var c=n.memberships[h].profileUrl;
var b=n.memberships[h].privateFlag;
c=c.substring(c.lastIndexOf("/")+1);
c=c.toLowerCase();
if(!b){o=this.addTwitterName(c,n.memberships[h],false);
}else{if(!this.privateTwitterNames.contains(c)){this.privateTwitterNames[this.privateTwitterNames.length]=c;
this.fireEvent("hasPrivateTwitter");
}}}}}if(o){this.memberships[this.memberships.length]=n.memberships[h];
}}}this.location=n.publicInfo.location;
this.age=n.publicInfo.age;
this.universities=n.publicInfo.universities;
if(n.publicInfo.occupations){var a=false;
var e;
for(var g=0;
(g<n.publicInfo.occupations.length)&&!a;
g++){e=n.publicInfo.occupations[g];
if(e.company){a=true;
}}if(a){this.fireEvent("hasOccupations",n);
this.occupations=n.publicInfo.occupations;
}}this.callerPID.notifyPublicInfoDataReady(true);
}else{this.callerPID.notifyPublicInfoDataReady(false);
}},hasFacebook:function(){this.hasStatuses=true;
if(this.facebookUid>0){globalVariables.unifiAccountInstance.contactManager.addFacebookPublicInfo(this.contact,this.facebookUid);
}},hasFlickr:function(){if(this.flickrID){this.callerPID.hasFlickr(this.flickrID);
}},hasOccupations:function(a){this.callerPID.hasOccupations(a);
},hasPrivateTwitter:function(){var a=this.privateTwitterNames[this.privateTwitterNames.length-1];
if(a){}},hasTwitter:function(){this.hasStatuses=true;
var a=this.twitterNames[this.twitterNames.length-1];
if(a){globalVariables.unifiAccountInstance.contactManager.addTwitterPublicInfo(this.contact,a,this.twitterData[a]);
}},processContact:function(){var c=[];
this.contact.emails.each(function(d){c.push(d.email);
});
this.setFacebookUid((this.contact.facebookUid)?this.contact.facebookUid:this.contact.socialNetworkIds[5]);
var a=this.contact.contactInfo.twitter;
for(var b=0;
b<a.length;
b++){this.addTwitterName(a[b].options.screen_name,a[b].options,true);
}this.fetchPublicInfo(c);
},setFacebookUid:function(b){if($defined(b)){this.facebookUid=b;
var a=this.urls.facebookProfile+this.contact.socialNetworkIds[5];
this.memberships[this.memberships.length]={profileUrl:a,site:"facebook.com"};
this.fireEvent("hasFacebook");
}}});
PublicInfoData.implement(new Events());
var quickReply=new Class({addLinkTextInput:null,addLinkSubmit:null,charCounter:null,myReplyElement:null,Implements:Options,toAllFlag:false,myMessageDisplay:null,myQuickSlide:null,myQuickFade:null,myAlertDiv:null,quickReplyID:null,defaultAddLinkText:"http://",streamBubbleReplyTextArea:null,myTextField:null,newlineCounter:0,entercounter:0,preValue:"",okSend:false,roundedTL:null,roundedTR:null,roundedBL:null,roundedBR:null,roundedSL:null,roundedSR:null,roundedMM:null,sendErrorArray:["","","","","","Sorry, couldn't send your message, illegal attachment.","Sorry, couldn't send your message, attachment too big (720 mb).","Sorry, couldn't send your message, attachment has virus.","Sorry, couldn't send your message, update your username/password in settings.","Sorry, couldn't send your message, network connection error.","Sorry, couldn't send your message, an unexpected error occurred.  please try again later.","Sorry, couldn't send your message, you have an invalid to address.","Sorry, couldn't send your message, please log in at yahoo.com to fix.","Sorry, couldn't send your message, please log in at aol.com to fix."],plainTextArea:null,userSubmittedURL:null,slideLinkInstance:null,options:{mode:"qr",whoCalled:null,replyContainerId:null,serviceId:2,serviceAccountId:null,fromAddress:null,toEmails:null,toAllEmails:null,toName:null,subject:null,lineHeight:null,minHeight:0,maxHeight:0,replyBody:"",replySlug:"",uid:null,defaultQuickReplyText:"enter a quick reply..."},initialize:function(a,b){this.setOptions(a);
this.myMessageDisplay=b;
this.createElement();
},addEvents:function(){var d=this.myReplyElement.getElement(".unifi_Qsend");
var e=this.myReplyElement.getElement(".unifi_Qcancel");
var c=this.myReplyElement.getElement(".unifi_quickToAllCheckBox");
if(!this.myMessageDisplay.message.isTwitter){var b=this.myNicEditInstance.instanceById(this.quickReplyID);
}var a=this;
window.onbeforeunload=function(){return"Your quick reply message has not been sent.";
};
if(this.myMessageDisplay.message.isTwitter){var f=this.myReplyElement.getElement(".unifi_addLink");
f.addEvent("click",function(){f.setStyle("visibility","hidden");
if(!a.addLinkContainer){a.createAddLink().inject(a.myReplyElement,"bottom");
}a.addLinkTextInput.focus();
a.slideLinkContainer();
});
}if(globalVariables.externalServiceManager().isEmail(this.options.serviceId)){var g=this.myReplyElement.getElement(".unifi_QfullView");
g.addEvent("click",function(h){h.stop();
a.myMessageDisplay.closeCC();
a.transitionFullView();
});
if(c){c.addEvent("click",function(h){h.stop();
if(!a.toAllFlag){a.toAllFlag=true;
c.setStyle("background-color","#F26631");
}else{a.toAllFlag=false;
c.setStyle("background-color","#EEEEEE");
}});
}}e.addEvent("click",function(h){h.stop();
a.killQuickReply();
});
d.addEvent("click",function(j){j.stop();
if(!d.hasClass("disabled")){var h=1;
if(globalVariables.externalServiceManager().isFacebook(a.options.serviceId)){a.sendFaceBook();
}else{if(a.options.mode=="dm"){a.sendTwitterDM();
}else{if((a.options.mode=="@r")||(a.options.mode=="rt")){a.sendTwitterAtReplyOrRT();
h=globalVariables.unifiAccountInstance.getMyContact().getTwitterInfo(globalVariables.unifiAccountInstance.getAccount(a.options.serviceAccountId).options.replyTo).options.followers_count;
}else{if(a.toAllFlag){h=a.options.toAllEmails.length+1;
}globalVariables.announcementBar().createAnnouncement("ok, we're sending your quick reply...");
a.sendMessage.delay(50,a);
}}}new Tracking({a:"aSend",vCR:h,vES:a.options.serviceId,vHA:0,vST:a.options.mode,vIO:1}).send();
}});
},bitlyShortenCB:function(c,e){try{var a=this;
if(c[e]["statusCode"]!="ERROR"){var b=c[e]["shortUrl"];
if(this.plainTextArea.value==a.options.defaultQuickReplyText&&a.options.mode=="dm"){this.plainTextArea.value="";
}this.plainTextArea.value=a.plainTextArea.value.trim()+" "+b;
this.plainTextArea.focus();
if((a.options.mode=="@r")||(a.options.mode=="rt")){a.updateCounter();
}a.addLinkTextInput.value="http://";
a.slideLinkContainer();
a.myReplyElement.getElement(".unifi_addLink").setStyle("visibility","visible");
}}catch(d){globalVariables.log.error("error replacing long url in quick reply DATA url: "+e,d);
}},createAddLink:function(){var a=this;
this.addLinkContainer=new Element("div",{"class":"unifi_addReplyLink hide",events:{keyup:function(b){if(b.key=="enter"){a.addLinkSubmit.fireEvent("click");
b.stop();
}}}}).adopt(new Element("div",{"class":"unifi_c_addLinkText"}).adopt(a.addLinkTextInput=new Element("input",{"class":"text",type:"text",value:this.defaultAddLinkText,events:{focus:function(){if(a.addLinkTextInput.value==a.defaultAddLinkText){a.addLinkTextInput.value="";
}}},tabindex:6})),a.addLinkCancel=new Element("a",{"class":"button cancel "+globalVariables.siteColor,id:"b_add_link_cancel",events:{click:function(){a.plainTextArea.focus();
a.myReplyElement.getElement(".unifi_addLink").setStyle("visibility","visible");
a.addLinkTextInput.value="http://";
a.slideLinkContainer();
},blur:function(){if(a.addLinkCancel.hasClass("hover")){a.addLinkCancel.removeClass("hover");
}},focus:function(){a.addLinkCancel.addClass("hover");
},keydown:function(b){if(b.key=="space"){b.stop();
}else{if(b.key=="tab"){b.stop();
a.get_next_tab_elem(a.addLinkCancel).focus();
}}},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
a.addLinkCancel.fireEvent("click");
}}},tabindex:8,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">cancel</div><div class="threadsy_br_small"></div>'}),a.addLinkSubmit=new Element("a",{"class":"button add "+globalVariables.siteColor,id:"b_add_link",events:{click:function(){if(a.addLinkTextInput.value!=""&&a.addLinkTextInput.value!="http://"){a.userSubmittedURL=a.addLinkTextInput.value;
new BitlyShorten({cb:a.bitlyShortenCB.bind(a),url:a.addLinkTextInput.value,shortURL:a.addLinkTextInput.value});
}},blur:function(){if(a.addLinkSubmit.hasClass("hover")){a.addLinkSubmit.removeClass("hover");
}},focus:function(){a.addLinkSubmit.addClass("hover");
},keyup:function(b){if(b.key=="space"||b.key=="enter"){b.stop();
a.addLinkSubmit.fireEvent("click");
}}},tabindex:7,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">add</div><div class="threadsy_br_small"></div>'}));
return this.addLinkContainer;
},createCharCounter:function(){this.charCounter=new Element("div",{"class":"c_char_counter"});
return this.charCounter;
},slideLinkContainer:function(){var a=this;
if(!this.slideLinkInstance){this.slideLinkInstance=new Fx.Slide(a.addLinkContainer,{duration:1000,transition:Fx.Transitions.Pow.easeOut,link:"chain"}).hide();
a.addLinkContainer.removeClass("hide");
}this.slideLinkInstance.toggle();
},slideWindow:function(){var a=new Fx.Scroll(window);
var b=(this.options.whoCalled.getPosition().y+this.options.whoCalled.getSize().y)-(window.getScroll().y+window.getSize().y);
if(b>0){a.start(0,window.getScroll().y+b+this.myReplyElement.getSize().y);
}else{a.start(0,window.getScroll().y+this.myReplyElement.getSize().y);
}},createElement:function(){var a=this;
if(!this.roundedTL){this.roundedTL=new Element("div",{"class":"unifi_roundedTL"});
this.roundedTR=new Element("div",{"class":"unifi_roundedTR"});
this.roundedBL=new Element("div",{"class":"unifi_roundedBL"});
this.roundedBR=new Element("div",{"class":"unifi_roundedBR"});
this.roundedSL=new Element("div",{"class":"unifi_roundedSL"});
this.roundedSR=new Element("div",{"class":"unifi_roundedSR"});
this.roundedMM=new Element("div",{"class":"unifi_roundedMM"});
}this.options.whoCalled.setStyles({"margin-top":4,"margin-bottom":4,border:"none"});
this.roundedTL.inject(this.options.whoCalled,"top");
this.roundedTR.inject(this.options.whoCalled,"top");
this.roundedSL.inject(this.options.whoCalled,"top");
this.roundedSR.inject(this.options.whoCalled,"top");
this.roundedMM.inject(this.options.whoCalled,"top");
this.roundedBL.inject(this.options.whoCalled,"bottom");
this.roundedBR.inject(this.options.whoCalled,"bottom");
this.options.whoCalled.addClass("unifi_quickReplyOpen");
this.quickReplyID=this.options.whoCalled.get("id")+"quickReply";
this.myReplyElement=this.createMyRelpyElement();
this.myReplyElement.inject(this.options.whoCalled,"bottom");
if((this.myReplyElement.getSize().y+this.options.whoCalled.getPosition().y+this.options.whoCalled.getSize().y)>(window.getSize().y+window.getScroll().y)){this.slideWindow();
}this.createQuickSlideFade();
if(!this.myMessageDisplay.message.isTwitter){this.myNicEditInstance=new nicEditor({buttonList:[],externalCSS:"css/quickReply.css?version=7951"}).panelInstance(this.quickReplyID);
}this.myReplyElement.setStyle("height",30);
this.myQuickFade.start("opacity",0,1);
this.myQuickSlide.slideIn().chain(function(){a.myReplyElement.setStyle("height","");
a.myReplyElement.getParent().setStyle("height","");
if(a.myMessageDisplay.message.isTwitter){a.plainTextArea=$(a.quickReplyID);
if((a.options.mode=="@r")||(a.options.mode=="rt")){a.createCharCounter().inject(a.plainTextArea,"after");
a.updateCounter();
}var c=true;
a.plainTextArea.addEvents({keydown:function(){if(c){c=false;
a.okSend=true;
if((a.options.mode!="@r")&&(a.options.mode!="rt")){a.plainTextArea.value="";
}if(a.myReplyElement.getElement(".disabled")){a.myReplyElement.getElement(".disabled").removeClass("disabled");
}}},keyup:function(){if((a.options.mode=="@r")||(a.options.mode=="rt")){a.updateCounter();
}}});
a.plainTextArea.focus();
}else{var b=a.myNicEditInstance.instanceById(a.quickReplyID);
b.elm.focus();
var d=true;
b.elm.addEvent("keydown",function(){if(d){d=false;
if(!Browser.Engine.webkit){b.setContent("");
}b.elm.setStyle("color","black");
if(a.myReplyElement.getElement(".disabled")){a.myReplyElement.getElement(".disabled").removeClass("disabled");
}a.okSend=true;
}});
}a.addEvents();
});
},createMyRelpyElement:function(){var c="";
switch(this.options.mode){case"@r":case"dm":case"rt":c="post";
break;
case"qr":c="send";
break;
}var a=this.options.defaultQuickReplyText;
var b=new Element("div",{"class":"unifi_quickReplyContain",id:"unifi_quickReplyContain_"+this.options.replyContainerId}).adopt(new Element("div",{"class":"unifi_quickContain"}).adopt(new Element("div",{"class":"unifi_quickActionContain"}).adopt(new Element("div",{"class":"quickreplyactionoptions"}).adopt(this.createOptionAction(),this.createReplyToAll()),new Element("a",{"class":"unifi_quickActionButton unifi_Qcancel "+globalVariables.siteColor,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">cancel</div><div class="threadsy_br_small"></div>'}),new Element("a",{"class":"unifi_quickActionButton unifi_Qsend "+globalVariables.siteColor,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">'+c+'</div><div class="threadsy_br_small"></div>'}),new Element("div",{"class":"clear"}))),new Element("div",{"class":"unifi_quickReplyUserFacePic "+globalVariables.siteColor,events:{click:function(){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:"th"+globalVariables.unifiAccountInstance.personId,displayName:globalVariables.unifiAccountInstance.displayName}});
return false;
}}}).adopt(this.createUserFacePic()),new Element("div",{"class":"unifi_quickTextContain",html:'<textarea class="unifi_rteStyle" id="'+this.quickReplyID+'">'+a+"</textarea>"}));
if(globalVariables.externalServiceManager().isFacebook(this.options.serviceId)){b.getElement(".unifi_QfullView").setStyle("display","none");
}return b;
},createOptionAction:function(){var a;
if(this.myMessageDisplay.message.isTwitter){a=new Element("div",{"class":"unifi_addLink",html:"add link"});
}else{a=new Element("div",{"class":"unifi_QfullView",html:"more +"});
}return a;
},createQuickSlideFade:function(){this.myQuickSlide=new Fx.Slide(this.myReplyElement,{duration:200,transition:"expo:out",overflow:"visible"}).hide();
this.myQuickFade=new Fx.Tween(this.myReplyElement,{duration:350});
},createReplyToAll:function(){if(this.options.toAllEmails&&!this.myMessageDisplay.message.isTwitter&&!globalVariables.externalServiceManager().isFacebook(this.options.serviceId)){return new Element("div",{"class":"unifi_quickToAllContain",html:'<div class="unifi_quickToAllCheckBox"></div>to all'});
}else{return false;
}},createUserFacePic:function(){var b=globalVariables.unifiAccount();
var a=this.myMessageDisplay.message.options;
var c=b.contactManager.contactsByContactId["th"+b.personId].getSmallPicUrl(a.externalServiceId,a.serviceAccountId,a.fromAddress,a.replyToString);
if(!c){c=globalVariables.configInstance.staticServer+"images/defaultFacePic-"+globalVariables.siteColor+".png";
}if(b.primaryFacePic){return new Element("img",{src:c});
}return false;
},killQuickReply:function(){var a=this;
this.removeEvents();
this.myQuickSlide.slideOut();
this.roundedTL.destroy();
this.roundedTR.destroy();
this.roundedBL.destroy();
this.roundedBR.destroy();
this.roundedSL.destroy();
this.roundedSR.destroy();
this.roundedMM.destroy();
this.myReplyElement.getParent().setStyle("overflow","hidden");
this.myQuickFade.start("opacity",1,0);
this.myQuickSlide.slideOut();
this.options.whoCalled.removeClass("unifi_quickReplyOpen");
this.options.whoCalled.removeClass("quick_reply");
this.options.whoCalled.setStyles({"border-top":"1px solid #fff","border-bottom":"1px solid #BBB","margin-top":"","margin-bottom":"",visibility:""});
this.myReplyElement.getParent().destroy();
this.myMessageDisplay.notifyQuickReplyClose();
this.myMessageDisplay.quickReplyOpen=false;
this.myMessageDisplay.closeCC();
},transitionSlugView:function(){this.myReplyElement.getParent().setStyles({overflow:"hidden"});
this.roundedTL.destroy();
this.roundedTR.destroy();
this.roundedBL.destroy();
this.roundedBR.destroy();
this.roundedSL.destroy();
this.roundedSR.destroy();
this.roundedMM.destroy();
this.options.whoCalled.removeClass("unifi_quickReplyOpen");
this.options.whoCalled.setStyles({"margin-top":"","margin-bottom":"",border:""});
if(this.options.mode=="email"){this.options.whoCalled.getElement(".unifi_messageQuickReply").set("style","");
}this.myMessageDisplay.quickReplyOpen=false;
this.options.whoCalled.removeClass("quick_reply");
this.options.whoCalled.setStyle("visibility","");
},transitionFullView:function(){var c=this;
if(this.options.mode=="email"){c.options.whoCalled.getElement(".unifi_messageQuickReply").set("style","");
}c.myMessageDisplay.quickReplyOpen=false;
var e=c.myNicEditInstance.instanceById(c.quickReplyID).getContent();
if(e.trim()==c.options.defaultQuickReplyText){e="";
}var f=[];
f[0]=c.options.toEmails;
this.myReplyElement.empty();
var b=$(document.body).hasClass("singleLine");
var a="-52px";
if(b){a="-26px";
}this.myReplyElement.setStyles({padding:0,border:0,"margin-top":a});
this.myReplyElement.addClass("unifi_moreReply");
var d=!this.toAllFlag?"re":"ra";
var g=c.options.toAllEmails?c.options.toAllEmails.combine(f):"";
new compose({stopBubble:true,whereInject:c.myReplyElement,fromAddress:c.options.fromAddress,serviceId:c.options.serviceId,serviceAccountId:c.options.serviceAccountId,toEmails:f,toAllEmails:g,subject:c.options.subject,myType:d,toName:c.options.toStr,replyBody:c.options.replyBody,replySlug:c.options.replySlug,quickBody:e,initiatedFrom:"quick_reply"},c.myMessageDisplay);
this.myReplyElement.getParent().setStyles({"overflow-x":"visible","overflow-y":"visible"});
},markRead:function(){var a=this.myMessageDisplay.message;
if(!a.options.readFlag){a.markRead();
this.myMessageDisplay.changeReadStatus(true);
a.folder.unreadMessageRemoved(a.options.serviceAccountId);
}},removeEvents:function(){window.onbeforeunload="";
},sendMessage:function(){if(!this.okSend||this.myNicEditInstance.instanceById(this.quickReplyID).getContent()=="<br>"){}var c=this;
var b=c.myNicEditInstance.instanceById(c.quickReplyID).getContent()+' <div style="color:#888; border-top: 5px solid #ccc; margin-top: 10px;">'+c.options.replyBody+"</div>";
var d=[];
d[0]=c.options.toEmails;
if(this.toAllFlag){d.extend(this.options.toAllEmails);
}var a={serviceId:this.options.serviceId,toEmails:d,subject:this.options.subject,serviceAccountId:this.options.serviceAccountId,replyToMessageId:this.myMessageDisplay.message.options.id,type:"qr",body:b};
globalVariables.makeShardRequest("send.json",{isAsync:true,method:"post",timeout:60000,data:{serviceId:this.options.serviceId,toEmails:d,subject:this.options.subject,serviceAccountId:this.options.serviceAccountId,replyToMessageId:this.myMessageDisplay.message.options.id,type:"qr",body:b},onRequest:function(){c.removeEvents();
c.roundedTL.destroy();
c.roundedTR.destroy();
c.roundedBL.destroy();
c.roundedBR.destroy();
c.roundedSL.destroy();
c.roundedSR.destroy();
c.roundedMM.destroy();
c.myReplyElement.getParent().destroy();
c.myMessageDisplay.notifyQuickReplyClose();
c.options.whoCalled.removeClass("unifi_quickReplyOpen");
c.options.whoCalled.setStyles({"border-top":"1px solid #ffffff","border-bottom":"1px solid #BBBBBB","margin-top":0,"margin-bottom":0});
c.options.whoCalled.getElement(".unifi_messageQuickReply").set("style","");
c.myMessageDisplay.quickReplyOpen=false;
c.options.whoCalled.removeClass("quick_reply");
c.myMessageDisplay.closeCC();
c.options.whoCalled.setStyle("visibility","");
c.markRead();
},onFailure:function(){c.sendErrorNotification(a);
globalVariables.announcementBar().createAnnouncement("Sorry, your quick reply failed to send!",null,"error");
},onComplete:function(e){c.removeEvents();
if(!$defined(e)){c.sendErrorNotification(a);
globalVariables.announcementBar().createAnnouncement("Sorry, your quick reply failed to send!",null,"error");
}else{if(e.result==0){globalVariables.announcementBar().createAnnouncement("Success! Your quick reply has just been sent.",null,"success");
globalVariables.soundEffects().playSound("playSent");
if(c.toAllFlag){d.extend(c.options.toAllEmails);
}}else{var f=0-e.error;
globalVariables.announcementBar().createAnnouncement(c.sendErrorArray[f],null,"error");
c.sendErrorNotification(a);
return false;
}}globalVariables.inboundManagerInstance.startRapidPoll();
}});
},sendMessageAgain:function(b){var a=this;
globalVariables.announcementBar().createAnnouncement("ok, we're sending your quick reply...");
globalVariables.makeShardRequest("send.json",{isAsync:false,method:"post",timeout:60000,data:{serviceId:this.options.serviceId,toEmails:b.toEmails,subject:b.subject,serviceAccountId:b.serviceAccountId,replyToMessageId:b.replyToMessageId,type:b.type,body:b.body},onFailure:function(){a.sendErrorNotification(myData);
globalVariables.announcementBar().createAnnouncement("Sorry, your quick reply failed to send!",null,"error");
},onComplete:function(c){a.removeEvents();
if(!$defined(c)){a.sendErrorNotification(b);
globalVariables.announcementBar().createAnnouncement("Sorry, your quick reply failed to send!",null,"error");
}else{if(c.result==0){globalVariables.announcementBar().createAnnouncement("Success! Your quick reply has just been sent.",null,"success");
globalVariables.soundEffects().playSound("playSent");
}else{var d=0-c.error;
globalVariables.announcementBar().createAnnouncement(a.sendErrorArray[d],null,"error");
a.sendErrorNotification(b);
return false;
}}globalVariables.inboundManagerInstance.startRapidPoll();
}});
},sendFaceBook:function(){var b=this;
if(!this.okSend||this.myNicEditInstance.instanceById(this.quickReplyID).getContent()=="<br>"){var c=confirm("Are you sure you want to send this empty message?");
if(!c){return;
}}var a=b.myNicEditInstance.instanceById(b.quickReplyID).getContent().replace(/<[^>]+(>|$)/g,"");
a=a.replace(/\&nbsp\;/gi," ");
globalVariables.announcementBar().createAnnouncement("ok, we're sending your facebook message...");
globalVariables.makeShardRequest("fbReply.json",{isAsync:true,method:"post",data:{serviceAccountId:this.options.serviceAccountId,replyToMsgUid:this.options.uid,toEmails:this.options.toEmails+" "+this.options.toName,body:a},onFailure:function(){globalVariables.announcementBar().createAnnouncement("Sorry, your facebook message failed to send!",null,"error");
},onComplete:function(f){b.removeEvents();
if(!$defined(f)){globalVariables.announcementBar().createAnnouncement("Sorry, your facebook message failed to send!",null,"error");
}else{globalVariables.announcementBar().createAnnouncement("Success! We've just sent your facebook message!",null,"success");
globalVariables.soundEffects().playSound("playSent");
b.removeEvents();
b.myQuickSlide=new Fx.Slide(b.myReplyElement,{duration:500,mode:"horizontal",transition:"expo:in"});
var d=b.myReplyElement.getParent();
var e=new Fx.Slide(d,{duration:500,transition:"expo:out"});
b.myQuickSlide.slideOut().chain(function(){e.slideOut();
b.roundedTL.destroy();
b.roundedTR.destroy();
b.roundedBL.destroy();
b.roundedBR.destroy();
b.roundedSL.destroy();
b.roundedSR.destroy();
b.roundedMM.destroy();
b.options.whoCalled.removeClass("unifi_quickReplyOpen");
});
b.options.whoCalled.setStyles({"border-top":"1px solid #ffffff","border-bottom":"1px solid #BBBBBB","margin-top":0,"margin-bottom":0});
b.markRead();
(function(){d.getParent().destroy();
b.myMessageDisplay.notifyQuickReplyClose();
}).delay(1000);
b.options.whoCalled.getElement(".unifi_messageQuickReply").set("style","");
b.myMessageDisplay.quickReplyOpen=false;
b.options.whoCalled.removeClass("quick_reply");
b.myMessageDisplay.closeCC();
b.options.whoCalled.setStyle("visibility","");
}}});
},sendErrorNotification:function(b){var a=this;
$(document.body).adopt(this.modalOverlay=new Element("div",{"class":"overlay"}),this.sendMessageErrorModal=new Element("div",{id:"send-error-modal","class":"small-modal"}).adopt(new Element("h2",{html:"sorry, your message could not be sent <br/>"}),new Element("p",{html:"A copy of this message will be saved in your <strong>drafts folder</strong>. would you like to try sending this message again?"}),new Element("div",{"class":"modal-footer"}).adopt(new Element("a",{href:"#","class":"submit-button",html:"try again",events:{click:function(c){c.stop();
a.sendMessageErrorModal.destroy();
a.modalOverlay.destroy();
a.sendMessageAgain(b);
}}}),new Element("a",{href:"#","class":"cancel-button",html:"cancel",events:{click:function(c){c.stop();
a.sendMessageErrorModal.destroy();
a.modalOverlay.destroy();
}}}),new Element("div",{"class":"clear"}))));
},sendTwitterAtReplyOrRT:function(){var a=this;
globalVariables.announcementBar().createAnnouncement("sending your tweet...");
var e=a.myMessageDisplay.message.options.serviceAccountId;
var c=$(this.quickReplyID).value;
var b=a.myMessageDisplay.message.options.uid.replace(/^\w/,"");
var d=globalVariables.twitterApi().statusUpdate(e,c,b);
if(!d){(function(){a.sendTwitterCommon();
globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.updateTwitterStream(globalVariables.unifiAccount().getAccount(a.myMessageDisplay.message.options.serviceAccountId),"friends_timeline");
}).delay(3000);
globalVariables.announcementBar().createAnnouncement("your tweet has been sent",null,"success");
globalVariables.soundEffects().playSound("playSent");
}else{if(d==1){globalVariables.announcementBar().createAnnouncement("whoops, couldn't post your tweet, try again later",null,"error");
}else{globalVariables.announcementBar().createAnnouncement("whoops, twitter didn't accept your tweet, try again later",null,"error");
}}},sendTwitterCommon:function(){var a=this;
this.removeEvents();
this.markRead();
a.roundedTL.destroy();
a.roundedTR.destroy();
a.roundedBL.destroy();
a.roundedBR.destroy();
a.roundedSL.destroy();
a.roundedSR.destroy();
a.roundedMM.destroy();
a.options.whoCalled.removeClass("unifi_quickReplyOpen");
this.options.whoCalled.setStyles({"border-top":"1px solid #ffffff","border-bottom":"1px solid #BBBBBB","margin-top":0,"margin-bottom":0});
this.myReplyElement.getParent().destroy();
a.myMessageDisplay.notifyQuickReplyClose();
a.myMessageDisplay.quickReplyOpen=false;
this.options.whoCalled.removeClass("quick_reply");
this.myMessageDisplay.closeCC();
this.options.whoCalled.setStyle("visibility","");
},sendTwitterDM:function(){var a=this;
globalVariables.announcementBar().createAnnouncement("sending your twitter direct message...");
globalVariables.makeShardRequest("twitterSendDM.json",{isAsync:false,data:{serviceAccountId:this.options.serviceAccountId,status:$(this.quickReplyID).value,toUser:this.options.toEmails},onRequest:function(){a.removeEvents();
a.sendTwitterCommon();
},onFailure:function(){globalVariables.announcementBar().createAnnouncement("Sorry, your twitter direct message failed to send!",null,"error");
},onComplete:function(b){if(!$defined(b)){globalVariables.announcementBar().createAnnouncement("Sorry, your twitter direct message failed to send!",null,"error");
}else{globalVariables.announcementBar().createAnnouncement("Success! We've just sent your twitter direct message!",null,"success");
globalVariables.soundEffects().playSound("playSent");
}}});
},updateCounter:function(){var a=140-this.plainTextArea.value.length;
this.charCounter.empty().appendText(a);
var b=(a>=20)?"":((a>=10)?"caution":((a>=0)?"warning":"danger"));
this.charCounter.setProperty("class","");
this.charCounter.addClass("c_char_counter "+b);
if(a>=0){if(this.errorType=="long_status"){}}}});
var RightColumnManagerDisplay=new Class({columnA:null,columnB:null,unboundColumn:null,columnAx:0,columnBx:200,container:null,manager:null,visibility:true,slideInstance:null,streamFadeInstance:null,sizeX:383,reSizeX:0,initialize:function(a){this.manager=a;
this.setContainer();
$("unifi_maincontain").addClass("stream");
this.columnA=$("toggleColumnA");
this.columnB=$("toggleColumnB");
this.unboundColumn=$("optionalColumn");
this.setInitialOpenWidth();
this.disableColumn();
this.addToggleListeners();
},addToggleListeners:function(){var a=this;
this.columnA.addEvents({click:function(){a.setActiveContent(a.columnAx);
}});
this.columnB.addEvents({click:function(){a.setActiveContent(a.columnBx);
}});
},disableColumn:function(){this.visibility=false;
this.container.setStyle("left",this.sizeX);
$("messagesColumn").setStyle("right",0);
},enableColumn:function(){this.setActiveContent("stream");
},setActiveContent:function(b){var a=$("columns");
if(b=="chat"){if($("optionalColumn").hasClass("streamManager")){$("optionalColumn").removeClass("streamManager");
}$("optionalColumn").addClass("chat");
}else{if(b=="stream"){if($("optionalColumn").hasClass("chat")){$("optionalColumn").removeClass("chat");
}$("optionalColumn").addClass("streamManager");
}}if(b=="close"){this.toggleView(false);
a.removeClass("messagesColumnSharedWidth");
a.addClass("requiredReadingFull");
}else{if(b=="open"){this.toggleView(true);
a.addClass("messagesColumnSharedWidth");
a.removeClass("requiredReadingFull");
}else{if(b==this.manager.activeContent&&this.streamVisible){this.toggleView(!this.visibility);
a.addClass("messagesColumnSharedWidth");
a.removeClass("requiredReadingFull");
}else{if($type(b)=="number"){this.toggleView(b);
a.addClass("messagesColumnSharedWidth");
a.removeClass("requiredReadingFull");
}else{if(!this.visibility){this.toggleContent(b);
this.toggleView(this.reSizeX);
a.addClass("messagesColumnSharedWidth");
a.removeClass("requiredReadingFull");
}else{this.toggleContent(b);
a.addClass("messagesColumnSharedWidth");
a.removeClass("requiredReadingFull");
}}}}}this.manager.activeContent=b;
},setContainer:function(){this.container=$("optionalColumnSlide");
},setXValue:function(a){if(a==0){this.columnAx=200;
this.columnA.set("class","");
this.columnA.addClass("toggleSingleOpen");
this.columnBx=383;
this.columnB.set("class","");
this.columnB.addClass("toggleDoubleOpen");
this.unboundColumn.set("class","");
}else{if(a==200){this.columnAx=0;
this.columnA.set("class","");
this.columnA.addClass("toggleSingleClose");
this.columnBx=383;
this.columnB.set("class","");
this.columnB.addClass("toggleSingleOpen");
this.unboundColumn.set("class","");
this.unboundColumn.addClass("small-unbound");
}else{if(a==383){this.columnAx=0;
this.columnA.set("class","");
this.columnA.addClass("toggleDoubleClose");
this.columnBx=200;
this.columnB.set("class","");
this.columnB.addClass("toggleSingleClose");
this.unboundColumn.set("class","");
}}}},setInitialOpenWidth:function(){var a=parseInt(this.manager.getSizeCookie());
if(a){this.reSizeX=a;
}else{if(window.getSize().x<=1024){this.reSizeX=200;
}else{this.reSizeX=383;
}}},statusPersonCardHeight:function(){var b=$("personcard_photo").getSize();
var a=$("personcard_bio").getSize();
this.statusBoxBody=$("pcard-status-body");
var c=27;
var d=b.y+a.y+c;
this.statusBoxBody.setStyle("top",d);
},toggleContent:function(a){},toggleView:function(c){if(c!==this.visibility){if($type(c)=="number"){if(this.sizeX!=c&&c!=0){this.manager.setSizeCookie(c);
this.sizeX=c;
this.slide("set",c,c);
if(!this.visibility){this.slide("in",0,this.sizeX);
}this.visibility=true;
if(this.manager.unboundModeManagerInstance.personCardManager&&this.manager.unboundModeManagerInstance.personCardManager.activeContent){var b=this.manager.unboundModeManagerInstance.personCardManager.activeContent.display;
b.slide(this.sizeX);
}}else{if(c==0){this.disableColumn();
this.slide("out",this.sizeX,0);
this.visibility=false;
}else{this.slide("in",0,this.sizeX);
this.visibility=true;
}}}else{if(c){this.slide("in",0,parseInt($("optionalColumn").getStyle("width")));
this.visibility=true;
}else{this.slide("out",parseInt($("optionalColumn").getStyle("width")),0);
this.visibility=false;
}}if($type(c)=="number"){this.setXValue(c);
}else{var a=this.visibility?this.sizeX:0;
this.setXValue(a);
}}},slide:function(d,e,c){var b=Browser.Engine.trident;
var a=this;
if(!this.slideInstance&&!b){this.slideInstance=new Fx.Tween(this.container,{duration:500,transition:"expo:out"});
this.msgSlideInstance=new Fx.Tween($("messagesColumn"),{duration:500,transition:"expo:out",onComplete:function(){}});
}if(!b&&d!="set"&&this.manager.unboundModeManagerInstance){if(d=="out"){this.manager.unboundModeManagerInstance.makeInactive();
}this.slideInstance.start("left",e).chain(function(){if(d=="in"){a.manager.unboundModeManagerInstance.makeActive();
}});
this.msgSlideInstance.start("right",c);
}else{if(d=="set"){$("optionalColumn").setStyle("width",e);
}else{$(this.container).setStyle("left",e);
}$("messagesColumn").setStyle("right",c);
}}});
var RightColumnManager=new Class({display:null,activeManager:null,optionalStreamManager:null,unboundModeManagerInstance:null,initialize:function(){this.display=new RightColumnManagerDisplay(this);
this.unboundModeManagerInstance=new UnboundModeManager(this);
},activeContent:function(){return this.activeManager.getActiveContent();
},getSizeCookie:function(){return Cookie.read("columnSize");
},initOptionalStreamManager:function(){this.unboundModeManagerInstance.setMode({mode:"timeline",data:{facebook:null,twitter:null}});
},setSizeCookie:function(a){Cookie.write("columnSize",a,{domain:"threadsy.com",duration:30});
}});
Scroller.implement({options:{area:20,velocity:1,scrollReturn:false,_x:null,_y:null,onChange:function(a,b){this.element.scrollTo(a,b);
}},scroll:function(){var a=this.element.getSize(),c=this.element.getScroll(),f=this.element.getOffsets(),b=this.element.getScrollSize(),d={x:0,y:0};
for(var e in this.page){if(this.page[e]<(this.options.area+f[e])&&c[e]!=0){d[e]=(this.page[e]-this.options.area-f[e])*this.options.velocity;
}else{if(this.page[e]+this.options.area>(a[e]+f[e])&&c[e]+a[e]!=b[e]){d[e]=(this.page[e]-a[e]+this.options.area-f[e])*this.options.velocity;
}}}if(d.y||d.x){this.fireEvent("change",[c.x+d.x,c.y+d.y]);
}},stop:function(){this.listener.removeEvent("mousemove",this.coord);
this.timer=$clear(this.timer);
if(this.options.scrollReturn){var a=new Fx.Scroll(this.element,{duration:"long",transition:"elastic:out"});
a.start(this.options._x,this.options._y);
}}});
var searchResult=new Class({Extends:messageList,originalSearchTerm:null,searchTerm:null,startTime:0,totalMessages:0,totalRetrievedMessages:0,totalPreviouslyShown:-1,initialize:function(){this.parent();
this.listType="search-results";
this.scrollable=true;
this.initial=true;
this.makeActive();
},divId:function(){return"search_result_"+new Date().getTime()+"_"+Math.round(Math.random()*100);
},doSearch:function(a){this.startTime=$time();
if(this.fetching){return;
}try{if(this.originalSearchTerm==a){return;
}this.originalSearchTerm=a;
this.searchTerm=this.prepareSearchQuery(a);
if(!this.goodTerm()){return;
}globalVariables.unifiAccountInstance.deactivateCurrentFolder();
globalVariables.unifiAccountInstance.setActiveFolder(this);
this.fetchMoreMessages(0,30,false,false);
}catch(b){globalVariables.log.error("error while searching",b);
}},fetchMoreMessages:function(f,b,e,c){if(this.fetching||!this.goodTerm()){return;
}this.fetching=true;
var a=this;
try{globalVariables.makeShardRequest("search.json",{isAsync:true,data:{searchTerm:this.searchTerm,start:f,rows:b},onSuccess:function(g){a.initial=false;
if(g&&(g.error!=1)){a.totalRetrievedMessages+=g.messages.length;
if(g.messages.length<this.options.data.rows){a.totalMessages=a.totalRetrievedMessages;
}else{a.totalMessages=g.total;
}if(a.totalMessages!=a.totalPreviouslyShown){a.totalPreviouslyShown=a.totalMessages;
globalVariables.announcementBar().createAnnouncement("<strong>"+a.totalMessages+"</strong> results for: <strong>"+a.originalSearchTerm+"</strong>");
}if(g.messages.length<b){a.moreMessages=false;
}if(g.messages.length>0){a.showMessages(g.messages,e);
globalVariables.announcementBar().createAnnouncement("<strong>"+a.totalMessages+"</strong> results for: <strong>"+a.originalSearchTerm+"</strong>");
}if(f==0){new Tracking({a:"aSearch",vSrT:a.originalSearchTerm,vSrR:a.totalMessages,vSrP:($time()-a.startTime),vSrTp:"in",vSId:globalVariables.configInstance.shardId}).send();
}}else{globalVariables.announcementBar().createAnnouncement("search failed, please try again",null,"error");
globalVariables.unifiAccountInstance.reactivateCurrentFolder();
this.originalSearchTerm=null;
}a.fetching=false;
},onFailure:function(){globalVariables.announcementBar().createAnnouncement("search failed, please try again",null,"error");
globalVariables.unifiAccountInstance.reactivateCurrentFolder();
this.originalSearchTerm=null;
}});
}catch(d){globalVariables.log.error("error while searching",d);
a.fetching=false;
}},filterMessages:function(a){this.moreMessages=true;
this.requestFirstPage();
},generateFolderName:function(){return"search";
},goodTerm:function(){return(this.searchTerm!=null)&&(this.searchTerm.trim().length>0);
},handleFrom:function(a){return("(fromName:"+a+" OR fromAddress:"+a+")");
},handleIn:function(b){var a=globalVariables.unifiAccount().getFolderByName(b);
if(a){return("folderId:"+a);
}else{return"";
}},handleSubject:function(a){return("subject:"+a);
},handleTo:function(a){return("to:"+a);
},prepareSearchQuery:function(f){var b=new Array("from","to","in","subject");
var e=new Array();
var p=new Array();
var o=new Array();
e=f.split(" ");
for(var g=0;
g<e.length;
g++){if(b.contains(e[g].match(/[^:]*/)[0])){p.push(e[g]);
}else{o.push(e[g]);
}}var l=false;
var k=new Array();
for(var g=0;
g<p.length;
g++){var h=p[g].indexOf(":");
var d=p[g].substring(0,h);
var c=p[g].substring(h+1);
if(c){switch(d){case"from":k.push(this.handleFrom(c));
break;
case"to":k.push(this.handleTo(c));
break;
case"in":l=true;
var m=this.handleIn(c);
if(m){k.push(this.handleIn(c));
}break;
case"subject":k.push(this.handleSubject(c));
break;
}}}if(!l){var a="(folderId:"+globalVariables.unifiAccountInstance.folders.inbox.options.id+" OR folderId:"+globalVariables.unifiAccountInstance.folders.sent.options.id+" OR folderId:"+globalVariables.unifiAccountInstance.folders.archive.options.id+")";
k.push(a);
}var j=(k.length)?"("+k.join(" AND ")+")":"";
var n=(o.length)?"("+o.join(" ")+")":"";
if((j)&&(n)){finalQuery=j+" AND "+n;
}else{finalQuery=j+n;
}return finalQuery;
},toggleCheckAll:function(c){if(c){this.checkedMessages.empty();
var a=0;
this.displayContainer().getElements(".unifi_messageCheckBox").clean().each(function(d){this.checkedMessages.push(d.getFirst().get("id"));
if(!d.hasClass("unifi_checked")){d.addClass("unifi_checked");
d.getFirst().checked=true;
}a++;
}.bind(this));
var b=a>1?a+" messages selected.":a+"message selected";
globalVariables.announcementBar().createAnnouncement(b,4000);
}else{this.checkedMessages.empty();
$$(".unifi_messageCheckBox").clean().each(function(d){if(d.hasClass("unifi_checked")){d.removeClass("unifi_checked");
d.getFirst().checked=false;
}}.bind(this));
}}});
var ServiceAccountTag=new Class({data:{id:null,hasNew:false,name:null,serviceAccountId:null,type:null},initialize:function(a){this.data=a;
}});
var SimpleBox=new Class({overlay:null,container:null,initialize:function(a){if(!a){return;
}var b=$type(a)=="element"?a:$(b);
this.createOverlay();
this.addElement(b);
},addElement:function(b){var a=this;
this.container=new Element("div",{styles:{display:"block",position:"absolute","z-index":1000,top:0,left:0,bottom:0,right:0},events:{click:function(){a.destroySimpleBox();
}}}).adopt(b,new Element("div",{id:"simpleBoxclose",title:"close",styles:{"margin-left":(parseInt(b.getStyle("width"))-5)/2},events:{click:function(){a.destroySimpleBox();
}}})).inject(this.overlay,"after");
b.addEvent("click",function(c){c.stop();
});
},createOverlay:function(){var a=this;
this.overlay=new Element("div",{styles:{display:"block",position:"fixed","background-color":"#000000",opacity:".7",top:0,left:0,right:0,bottom:0,"z-index":999,cursor:"pointer"}}).inject($(document.body));
},destroySimpleBox:function(){this.overlay.destroy();
this.container.destroy();
}});
var SoundEffects=new Class({okSound:null,inboundTimeFlag:0,unboundTimeFlag:0,myAudioObj:null,audioObjSupport:false,basicAudioSupport:false,audiotype:null,soundType:{playNewStatus:"sounds/tink",playError:"sounds/scratch",playSent:"sounds/shoopsend",playNewMail:"sounds/tink",unlock:"sounds/LOZ_Secret"},initialize:function(){this.setSoundSupport();
},insertSoundSwf:function(){var a=this;
var c=$("logoFlag");
var b=Browser.Plugins.Flash.version;
if(b){this.logo=new versionedSwiff("swf/Logo.swf",{container:c,width:135,height:87});
}},playSound:function(a){if(this.okSound){if(!this.audioObjSupport){this.playFlashSound(a);
}else{this.myAudioObj.src=this.soundType[a]+this.audiotype;
this.myAudioObj.load();
this.myAudioObj.play();
}}},playFlashSound:function(a){this.okSound=false;
var b=$time();
if(a=="playNewMail"){if((this.inboundTimeFlag+5000)<b){this.logo.remote(a);
this.inboundTimeFlag=$time();
}}else{if(a=="playNewStatus"){if((this.unboundTimeFlag+5000)<b){this.logo.remote(a);
this.unboundTimeFlag=$time();
}}else{this.logo.remote(a);
}}this.okSound=true;
},setSound:function(){var a=Cookie.read("sound");
if(a){this.okSound=(a!="on")?false:true;
}else{this.okSound=true;
}},setSoundSupport:function(){try{this.myAudioObj=new Audio("");
this.audioObjSupport=!!(this.myAudioObj.canPlayType);
}catch(a){this.audioObjSupport=false;
}if(this.audioObjSupport){this.audiotype=this.myAudioObj.canPlayType("audio/wav")&&this.myAudioObj.canPlayType("audio/wav")!="no"?".wav":".ogg";
}else{this.insertSoundSwf();
}this.setSound();
}});
var ThreadsyContactInfo=new Class({Extends:contactInfo,avatarUrls:{small:null,medium:null,large:null,square:null},options:{avatars:null,displayName:null,emails:null,firstName:null,id:0,lastName:null,normalizedFullName:null,registeredUser:false,twitterContacts:null},initialize:function(a){this.parent(a);
},mergeData:function(a){},processData:function(a){this.firstName=a.firstName;
this.lastName=a.lastName;
this.displayName=this.cleanDisplayName(a.displayName);
this.normalizedFullName=a.normalizedFullName;
this.serviceUid="";
},updatePicUrls:function(){this.setPicUrls(this.avatarUrls.small,this.avatarUrls.medium,this.avatarUrls.large,this.avatarUrls.square);
}});
var Tracking=new Class({types:{code:1,request:2,success:3,capacity:4,inviteMarketing:5,slideshow:6,signup:7,settings:8,"soft-sell":9,boast:10,love:11,dislike:12,unlock:13,"invite-popup":14,homepage:15},trackingUrl:"/tracking/tracking.php",param:null,initialize:function(a){this.param=a;
this.trackingUrl=globalVariables.config().trackingUrl;
},formatData:function(){var g="";
var c=new compressedCookie("userData",365);
var d=new Hash({vCoh:c.getCookieDefault("cohort","0"),vRCoh:c.getCookieDefault("referringCohort","-1")});
var f;
var a=globalVariables.abTest(false,null).getTestData();
var e=new Hash({vTstId:a.id,vTstBkt:a.bucket});
if(globalVariables.unifiAccountInstance&&globalVariables.unifiAccountInstance.id){g=globalVariables.unifiAccountInstance.id;
f=new Hash({vAId:g});
}else{f=new Hash({});
}var b=new Hash({vBE:Browser.Engine.name,vBEV:Browser.Engine.version,vCOS:Browser.Platform.name});
f.extend(b);
f.extend(d);
f.extend(e);
f.extend(this.param);
return f;
},send:function(a){new AjaxRequest({url:this.trackingUrl,method:"post",data:this.formatData(),isAsync:$defined(a)?a:true}).send();
}});
var TwitterContactInfo=new Class({Extends:contactInfo,fromTwitter:false,hasFreshData:false,isFollowing:false,privateFlag:false,serviceAccountId:0,options:{following:null,friends_count:0,profile_sidebar_border_color:null,description:null,time_zone:null,utc_offset:0,profile_text_color:null,profile_image_url:null,profile_background_image_url:null,created_at:null,url:null,name:null,statuses_count:0,profile_link_color:null,screen_name:null,notifications:null,profile_background_tile:null,favourites_count:0,profile_background_color:null,verified:false,profile_sidebar_fill_color:null,followers_count:0,location:null,id:0},initialize:function(a){this.parent(a);
},freshData:function(){if(this.hasFreshData){return true;
}if(!this.options.profile_image_url||!this.options.name){return false;
}if(this.options.profile_image_url.indexOf("default_profile")<0){return false;
}this.hasFreshData=true;
return true;
},mergeData:function(a){if(a.name&&(a.name!=this.options.name)){this.options.name=a.name;
this.displayName=this.cleanDisplayName(a.name);
this.normalizedFullName=a.name.toLowerCase();
}if(a.profile_image_url&&(a.profile_image_url!=this.options.profile_image_url)){if(a.profile_image_url.indexOf("default_profile_normal.png")<0){this.options.profile_image_url=a.profile_image_url;
this.smallPicUrl=a.profile_image_url;
this.mediumPicUrl=a.profile_image_url;
this.largePicUrl=a.profile_image_url;
}}if(a.url&&(a.url!=this.options.url)){this.options.url=a.url;
}if(a.description&&(a.description!=this.options.description)){this.options.description=a.description;
this.contact.twitterDescription=a.description;
}},processData:function(a){this.displayName=this.cleanDisplayName(a.name);
this.normalizedFullName=(a.name)?a.name.toLowerCase():null;
this.serviceUid=a.screen_name;
if(a.profile_image_url&&a.profile_image_url.indexOf("default_profile_normal.png")<0){this.smallPicUrl=a.profile_image_url;
this.mediumPicUrl=a.profile_image_url;
this.largePicUrl=a.profile_image_url;
}}});
var MessageDisplayTwitter=new Class({Extends:MessageDisplay,isFavorite:false,initialize:function(c,a,b){this.parent(c,a,b);
},addMessageEvents:function(){this.addCheckBoxEvents();
if(!Browser.Engine.trident){this.addLargePicEvent();
}},addAttachmentIcon:function(){var a=this.setAttachmentIcon();
if(a&&this.msgSubjectPointer){a.inject(this.msgSubjectPointer,"bottom");
this.msgSubjectPointer.addClass("hasAttachment");
this.msgSubjectPointer.adopt(this.setShowMoreHint());
}},createActionButtons:function(){var d=this;
if(this.message.options.messageType==1){var e=new Element("div",{"class":"unifi_messageQuickDM",title:"direct message",events:{click:function(h){h.stop();
d.closeCC();
d.engageQuickReply("dm");
}}});
}else{if(this.message.options.messageType==2){var c=new Element("div",{"class":"unifi_messageQuickRT",title:"retweet",events:{click:function(h){h.stop();
d.closeCC();
globalVariables.announcementBar().createAnnouncement("posting retweet...");
d.makeRetweet();
}}});
}}var a=new Element("div",{"class":"unifi_messageQuickReply",title:"reply",events:{click:function(h){h.stop();
d.closeCC();
d.engageQuickReply("at");
}}});
var g=new Element("div",{"class":"unifi_messageQuickFAV",title:"favorite",events:{click:function(h){h.stop();
d.closeCC();
d.setFavorite(!d.message.options.starredFlag);
}}});
var b=new Element("div",{"class":"unifi_messageQuickDelete",title:"quick delete",events:{click:function(h){h.stop();
d.closeCC();
d.folder.deleteMessageEvent(d.message.messageId,false);
}}});
var f=this.createActionQuickArchive();
this.actionButtons=new Element("div",{"class":"unifi_actionButtons "+globalVariables.siteColor});
if(this.message.options.messageType==1){this.actionButtons.addClass("unifi_dmActions");
return this.actionButtons.adopt(b,g,f,a,e);
}else{if(this.message.options.messageType==2){this.actionButtons.addClass("unifi_atReplyActions");
return this.actionButtons.adopt(b,g,f,a,c);
}else{if(this.message.options.messageType==3){this.actionButtons.addClass("unifi_atReplyActions");
return this.actionButtons.adopt(b,g,f,null,null);
}}}},createDatePointer:function(){this.datePointer=new Element("div",{"class":"unifi_messageDate"}).adopt(new Element("div",{"class":"unifi_messageDateFormat",title:this.formatDate.formatFull(),html:this.formatDate.formatShort()}));
},createElementContainer:function(){return new Element("div",{"class":"unifi_message unifi_twitterInbound unifi_closed "+this.colorFlag+this.readFlag,id:this.setElementId()}).adopt(this.leftHighlight,this.rightHighlight,this.createCheckBox(),this.createAvatarContain(),this.createActionButtons(),this.msgSubjectPointer);
},createElement:function(){this.setReadFlags();
this.addTotal=this.message.addTotal;
this.createHighlight();
this.createDatePointer();
this.createMessageSubjectPointer();
this.element=this.createElementContainer();
if(this.message.options.starredFlag){this.setFavorite("pre");
}this.addMessageEvents();
},createFromBoxSent:function(b,c,f){var a=this;
var d="everyone";
var h=this.message.avatarDisplay.facePic||this.message.avatarDisplay.favIcon;
var g=h?155:205;
if(this.message.options.messageType==1){d=this.message.options.toStr;
}this.ccContainer=new Element("div",{"class":"unifi_ccStringContain",styles:{width:g}});
var e=new Element("div",{"class":"unifi_messageFrom"}).adopt(new Element("div",{"class":"unifi_fromSlug",title:d,html:"to "+d}),new Element("div",{"class":"unifi_toSlug unifi_toAddressFormat"}));
return e;
},createMessageSubjectPointer:function(){var a=this.msgSubjectPointer=new Element("div",{"class":"unifi_messageSubjectContain "}).adopt(new Element("div",{"class":"unifi_streamBubbleTop"}),new Element("div",{"class":"unifi_streamBubbleBottom"}),new Element("div",{"class":"unifi_streamBubbleTopLeft"}),new Element("div",{"class":"unifi_streamBubbleTopRight"}),new Element("div",{"class":"unifi_streamBubbleBottomLeft"}),new Element("div",{"class":"unifi_streamBubbleBottomRight"}),new Element("div",{"class":"unifi_streamBubbleLeft"}),new Element("div",{"class":"unifi_streamBubbleRight"}),new Element("div",{"class":"unifi_streamBubbleFill"}),new Element("div",{"class":"unifi_messageSubject"}).adopt(this.bodyText=new Element("div",{styles:{"min-width":0,overflow:"hidden","text-transform":"none"},html:this.getMessageTitle()})),this.datePointer,this.createFromBox(),this.createTwitterIcon());
this.addAttachmentIcon();
return a;
},createTwitterIcon:function(){var a=globalVariables.config().staticServer;
if(this.message.options.messageType==1){return new Element("div",{"class":"unifi_toDisplay",title:this.setToAddress(),html:'<img class="twitter_unbound_icon" alt="twitter direct message" title="twitter direct message" src="'+a+'images/logos/twitter_dm_scaled.png" />'});
}else{if(this.message.options.messageType==2){return new Element("div",{"class":"unifi_toDisplay",title:this.setToAddress(),html:'<img class="twitter_unbound_icon" alt="twitter @reply" title="twitter @reply"  src="'+a+'images/logos/twitter_at_scaled.png"/>'});
}else{if(this.message.options.messageType==3){return new Element("div",{"class":"unifi_toDisplay",title:this.setToAddress(),html:'<img class="twitter_unbound_icon" src="'+a+'images/logos/twitter_scaled.png"/>'});
}else{if(this.message.options.messageType==5){return new Element("div",{"class":"unifi_toDisplay",title:this.setToAddress(),html:'<img class="twitter_unbound_icon retweet" src="'+a+'images/logos/twitter_rt_scaled.png"/>'});
}}}}},engageQuickReply:function(a){if(!this.quickReplyOpen){this.quickReplyOpen=true;
if(a=="dm"){this.myQuickReply=new quickReply({mode:"dm",whoCalled:this.element,replyContainerId:this.message.messageId,serviceId:this.message.options.externalServiceId,serviceAccountId:this.message.options.serviceAccountId,toEmails:this.message.options.replyToString,defaultQuickReplyText:"enter a direct reply..."},this);
}else{if(a=="at"){this.myQuickReply=new quickReply({mode:"@r",whoCalled:this.element,replyContainerId:this.message.messageId,serviceId:this.message.options.externalServiceId,serviceAccountId:this.message.options.serviceAccountId,defaultQuickReplyText:"@"+this.message.options.replyToString+" "},this);
}else{if(a=="rt"){this.myQuickReply=new quickReply({mode:"rt",whoCalled:this.element,replyContainerId:this.message.messageId,serviceId:this.message.options.externalServiceId,serviceAccountId:this.message.options.serviceAccountId,defaultQuickReplyText:"RT @"+this.message.options.replyToString+": "+this.message.options.subject},this);
}}}}else{this.myQuickReply.killQuickReply();
}},getMessageTitle:function(){var a=globalVariables.textHelpers().urlConvertNoMedia(this.message.options.subject,true,false);
a=globalVariables.textHelpers().replaceScriptCrocs(a);
return a;
},makeRetweet:function(){globalVariables.twitterApiInstance.reTweet(this.message.options.serviceAccountId,this.message.options.uid.replace(/a/,""),function(a){if(a.result===0){globalVariables.announcementBar().createAnnouncement("Success! Your retweet has been posted",null,"success");
(function(){globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.updateTwitterStream(globalVariables.unifiAccountInstance.getAccount(this.message.options.serviceAccountId),"retweetedByMe");
}.bind(this)).delay(3000);
}else{globalVariables.announcementBarInstance.createAnnouncement("Sorry, twitter failed to respond.",null,"error");
}}.bind(this));
},messageToggle:function(){var c=new Hash({a:"aOpen",vES:this.message.options.externalServiceId,vHA:this.message.options.hasAttachments?1:0,vIFC:this.message.contact.temporary?0:1});
if(!this.message.options.readFlag){c.extend({vIUr:1});
}else{c.extend({vIUr:0});
}if(!this.message.options.readFlag){var a=this.message.folder;
a.unreadMessageRemoved(this.message.options.serviceAccountId);
this.message.markRead();
this.changeReadStatus(true);
}if(this.element.hasClass("unifi_closed")){this.element.removeClass("unifi_closed");
this.element.addClass("unifi_opened");
}else{if(this.element.hasClass("unifi_opened")&&$(document.body).hasClass("singleLine")){this.element.addClass("unifi_closed");
this.element.removeClass("unifi_opened");
}}if(this.message.options.hasAttachments&&!this.elementOpen){this.bodyText.set("html",globalVariables.textHelpers().urlConvert(this.message.options.subject,true,true));
this.msgSubjectPointer.getElement(".unifi_msgSubjectAttachmentShowMore").set("html","hide");
this.stopEventPropagations();
this.elementOpen=!this.elementOpen;
var b=new Element("img",{styles:{position:"absolute",width:1,height:1},events:{readystatechange:function(){this.messageBodyLoaded($time());
}.bind(this),load:function(){this.messageBodyLoaded($time());
}.bind(this),error:function(){this.messageBodyLoaded($time());
}.bind(this)}}).inject(this.msgSubjectPointer,"bottom");
b.src="http://p.unifi.me/images/backgrounds/one-pixel.png";
new Tracking(c).send();
}else{if(this.message.options.hasAttachments&&this.elementOpen){this.bodyText.set("html",this.getMessageTitle());
this.msgSubjectPointer.getElement(".unifi_msgSubjectAttachmentShowMore").set("html","show");
this.elementOpen=!this.elementOpen;
globalVariables.unifiAccount().deactivateOptionalContactStream(true);
}else{globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"person",data:{contact:this.message.contact,displayName:this.message.options.fromName}});
new Tracking(c).send();
}}},setAttachmentIcon:function(){var c=globalVariables.textHelpers().testYouTube(this.message.options.subject);
var b=globalVariables.textHelpers().testPics(this.message.options.subject);
if(c||b){var a=new Element("div",{"class":"unifi_msgSubjectAttachmentTwitter"});
this.message.options.hasAttachments=true;
if(c){a.addClass("video");
}else{if(b){a.addClass("photo");
}}return a;
}},setFromUserName:function(){return this.message.options.replyToString;
},setShowMoreHint:function(){return new Element("div",{"class":"unifi_msgSubjectAttachmentShowMore",html:"show"});
},setMessageTitleDisplay:function(){var a=null;
if(this.msgSubjectPointer){a=this.bodyText;
if(a){a.set("html",this.getMessageTitle());
}}},setUnread:function(){this.message.options.readFlag=false;
this.element.removeClass("unifi_read");
var a=this.element.getChildren("div");
a.each(function(b){if(b.hasClass("unifi_messageFrom")){b.removeClass("unifi_read");
b.getElement("div").removeClass(("unifi_read"));
}else{if(b.hasClass("unifi_whiteTextText")){b.removeClass("unifi_readText");
}else{if(b.hasClass("unifi_c_messageAvatar")){b.removeClass("unifi_read");
b.getElement(".unifi_messageAvatar").removeClass("unifi_read");
}else{b.removeClass("unifi_read");
}}}});
},setFavorite:function(b){var a=this;
if(!this.isFavorite){this.isFavorite=new Element("div",{"class":"unifi_isFavoriteTweet hide"}).inject(this.element);
}var d;
if(b=="pre"){a.message.options.starredFlag=true;
if(a.isFavorite.hasClass("hide")){a.isFavorite.removeClass("hide");
}if(a.message.folder.parentFolder){var c=a.message.folder.parentFolder.idsToMessages[a.message.messageId];
if(c){c.options.starredFlag=true;
if(c.messageDisplay.isFavorite&&c.messageDisplay.isFavorite.hasClass("hide")){c.messageDisplay.isFavorite.removeClass("hide");
}}}}else{if(b){d=function(e){if($defined(e)&&(e.result==0)){a.message.options.starredFlag=true;
if(a.isFavorite.hasClass("hide")){a.isFavorite.removeClass("hide");
}if(a.message.folder.parentFolder){var f=a.message.folder.parentFolder.idsToMessages[a.message.messageId];
if(f){f.options.starredFlag=true;
if(f.messageDisplay.isFavorite&&f.messageDisplay.isFavorite.hasClass("hide")){f.messageDisplay.isFavorite.removeClass("hide");
}}}}};
globalVariables.messageApi().markStarred(this.folder,this.message,true,d);
}else{d=function(e){if($defined(e)&&(e.result==0)){a.message.options.starredFlag=false;
a.isFavorite.addClass("hide");
if(a.message.folder.parentFolder){var f=a.message.folder.parentFolder.idsToMessages[a.message.messageId];
f.options.starredFlag=false;
f.messageDisplay.isFavorite.addClass("hide");
}}};
globalVariables.messageApi().markStarred(this.folder,this.message,false,d);
}}},stopEventPropagations:function(){this.msgSubjectPointer.getElements(".unifi_stopPropagation").each(function(a){a.addEvent("click",function(b){b.stopPropagation();
});
});
},tryPlusOthers:function(){}});
var TwitterMessage=new Class({Extends:Message,youtubeWidth:"100%",youtubeHeight:"",RTContact:null,initialize:function(e,b,d,c,a){this.body=new messageBody({externalServiceId:e.externalServiceId},this);
this.parent(e,b,d);
if(this.options.isRT){this.RTContact=this.createRTContact(this.options.isRT.user.screen_name);
}if(c){this.summary=c;
}else{this.setSummary(e.subject);
}if(!this.options.optional){if(a){this.replaceBitlyUrls(a);
}else{globalVariables.textHelpers().expandBitlyLinks(this.options.subject,this.replaceBitlyUrlsInSubject.bind(this));
}}},createRTContact:function(a){return globalVariables.unifiAccountInstance.contactManager.contactsByScreenName.get(a);
},getBody:function(){return this.summary;
},hasBody:function(){return true;
},replaceBitlyUrlsInSubject:function(f){if(f.statusCode!="OK"){return;
}var a;
var e;
var d;
var c=f.results;
for(var b in c){d="http://bit.ly/"+b;
a=new RegExp(d,"im");
e=c[b].longUrl;
this.options.subject=this.options.subject.replace(a,e.substr(0,this.maxUrlDisplayLength));
}if(globalVariables.textHelpers().testYouTube(this.options.subject)){this.messageDisplay.addAttachmentIcon();
}this.messageDisplay.setMessageTitleDisplay();
},setSummary:function(b){this.summary=b;
if(!this.summary.length){this.summary="No Subject";
return;
}var a=globalVariables.textHelpers();
if(this.options.externalServiceId==8){this.summary=a.replaceScriptCrocs(this.summary);
this.summary=a.urlConvert(this.summary,true,true,this.youtubeWidth,this.youtubeHeight);
}if(this.body){this.body.contents=this.summary;
}this.summary=a.replaceTwitterIds(this.summary);
if(!globalVariables.configInstance.getUrlParam("tuneIn")){globalVariables.textHelpersInstance.expandBitlyLinks(this.summary,this.replaceBitlyUrls.bind(this));
}}});
var twitterResponseHandler=new Class({messageList:null,twitterAccount:null,options:{account_id:0,request_type:null},initialize:function(c,b,a){this.options=c;
this.messageList=b;
this.twitterAccount=a;
},createTuneInMessages:function(d){globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.stopSpinner("","no statuses found");
if(!d||!d.length){if(globalVariables.rightColumnManager.unboundModeManagerInstance.personCardManager.activeContent){globalVariables.rightColumnManager.unboundModeManagerInstance.personCardManager.activeContent.noUpdates("twitter");
}return null;
}var a=this;
var e=a.twitterAccount;
var h=a.options.account_id;
var f=0;
var j=0;
e.fetching=false;
var l=globalVariables.externalServiceManager().getByName("twitter");
var k=false;
var c=globalVariables.unifiAccountInstance;
var b=c.myContact;
var g=null;
d.each(function(q){try{var s="tw"+q.id;
var p=a.messageList.isDuplicateTweet(s,q.user.id,e.options.uid);
var o=(b.getTwitterInfo(q.user.screen_name)!=null);
if(!p&&$defined(q.text)){var n=q.created_at*1000;
if(a.messageList.willInsertMessage(n)){k=true;
if(a.options.request_type=="friends_timeline"){f=Math.max(f,q.id);
j=(j)?Math.min(j,q.id):q.id;
if(globalVariables.unifiAccountInstance.contactManager.followListByAccount){if(!globalVariables.unifiAccountInstance.contactManager.followListByAccount[h]){globalVariables.unifiAccountInstance.contactManager.followListByAccount[h]=[];
}}globalVariables.unifiAccountInstance.contactManager.followListByAccount[h].include(q.user.screen_name);
}}a.messageList.retrieveFriend(q.user,e);
var r=new TwitterMessage({atReply:g,externalServiceId:l,facePic:true,folderId:0,favoritedTweet:q.favorited,fromAddress:q.user.id,fromName:q.user.name,hasAttachments:false,id:q.id,mediaItems:q.media_items,miniBody:"",myTweet:o,optional:true,readFlag:false,replyToString:q.user.screen_name,sentDate:{time:n},serviceAccountId:h,subject:q.text,toStr:null,tags:null,uid:q.id},a.messageList,s,null,null);
a.messageList.insertMessage(r,true);
}}catch(m){globalVariables.log.error("error processing tweet",m);
}});
return({newest:f,oldest:j});
},createMessages:function(p){if(p=="fail"){return;
}globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.stopSpinner("","no statuses found");
if(!p||!p.length){if(globalVariables.rightColumnManager.unboundModeManagerInstance.personCardManager.activeContent){globalVariables.rightColumnManager.unboundModeManagerInstance.personCardManager.activeContent.noUpdates("twitter");
}return;
}var r=this;
var m=r.twitterAccount;
var a=r.options.account_id;
var q=0;
var d=0;
var b=0;
var D=0;
m.fetching=false;
var A=globalVariables.externalServiceManager().getByName("twitter");
var z=false;
var h=globalVariables.unifiAccountInstance;
var j=h.myContact;
var B;
for(var v=0,u=p.length;
v<u;
v++){B=p[v];
try{var w="tw"+B.id;
var s=r.messageList.isDuplicateTweet(w,B.user.id,m.options.uid);
var t=(j.getTwitterInfo(B.user.screen_name)!=null);
if(!s&&$defined(B.text)){var f=B.created_at;
var n=f.substring(f.length-4);
var y=f.indexOf(":");
var g=f.substring(y-2,f.length-4);
var C=f.substring(0,y-2);
var o=new Date(C+n+" "+g).getTime();
var k=false;
if(r.messageList.willInsertMessage(o)){z=true;
if(r.options.request_type=="friends_timeline"){q=Math.max(q,B.id);
d=(d)?Math.min(d,B.id):B.id;
if(globalVariables.unifiAccountInstance.contactManager.followListByAccount){if(!globalVariables.unifiAccountInstance.contactManager.followListByAccount[a]){globalVariables.unifiAccountInstance.contactManager.followListByAccount[a]=[];
}globalVariables.unifiAccountInstance.contactManager.followListByAccount[a].include(B.user.screen_name);
}}else{if((r.options.request_type=="retweetToMe")||(r.options.request_type=="retweetByMe")){k=B;
B=B.retweeted_status;
if(r.options.request_type=="retweetToMe"){b=Math.max(k.id,b);
}else{D=Math.max(k.id,D);
}}}r.messageList.retrieveFriend(B.user,m);
var c=new TwitterMessage({atReply:false,externalServiceId:A,facePic:true,folderId:0,favoritedTweet:B.favorited,fromAddress:B.user.id,fromName:B.user.name,hasAttachments:false,id:B.id,isRT:k,miniBody:"",myTweet:t,optional:true,readFlag:false,replyToString:B.user.screen_name,sentDate:{time:o},serviceAccountId:a,subject:B.text,toStr:null,tags:null,uid:B.id},r.messageList,w,null,null);
r.messageList.insertMessage(c,true);
}}}catch(e){globalVariables.log.error("error processing tweet",e);
}}if(z){r.messageList.playSound("playNewStatus");
}return({newest:q,oldest:d,newestRTToMe:b,newestRTByMe:D});
}});
var twitterUserInfoResponseHandler=new Class({account:null,callback:null,contact:null,initialize:function(c,b,a){this.account=a;
this.callback=c;
this.contact=b;
},handleResponse:function(a){this.callback(a,this.contact,this.account);
}});
var TwitterFriendsIdsResponseHandler=new Class({accountId:null,screen_name:null,initialize:function(b,a){this.screen_name=b;
this.accountId=a;
},createFriendsIds:function(a){if(!a){return;
}var e=a.length;
var d=100;
var g=5;
var f=Math.min(e/d+1,g);
var j=globalVariables.twitterApi();
for(var b=1;
b<=f;
b++){var h=new TwitterFriendsStatusesResponseHandler(this.accountId);
var c={screen_name:this.screen_name,page:b};
j.getFriendsStatuses(c,h,this.accountId);
}}});
var TwitterFriendsStatusesResponseHandler=new Class({accountId:null,account:null,initialize:function(a){this.accountId=a;
this.account=globalVariables.unifiAccountInstance.externalAccounts[a];
},createFriends:function(d){if(!d||d=="fail"){return;
}var b=globalVariables.unifiAccountInstance.contactManager;
var a=b.followListByAccount;
for(var c=0;
c<d.length;
c++){b.addTwitterUser(d[c],this.account,true);
if(!a[this.accountId]){a[this.accountId]=[];
}a[this.accountId].push(d[c].screen_name);
}}});
var twitterUpdater=new Class({Extends:optionalStreamUpdater,account:null,apiCalls:null,fetching:false,newestRTByMe:0,newestRTToMe:0,newestTweet:0,oldestTweet:0,timestamp:null,twitterApi:null,initialize:function(c,b,a){this.parent(c);
this.account=b;
this.apiCalls=a;
this.twitterApi=globalVariables.twitterApi();
},checkUpdates:function(c){var b=new Date();
var e=b.getTime();
if(this.timestamp&&(e-this.timestamp.getTime())>this.twitterApi.options.maxTimeBetweenTweets){this.fetching=false;
}if(!this.fetching){if(this.timestamp&&(e-this.timestamp.getTime())<this.twitterApi.options.minTimeBetweenTweets){return;
}if($defined(c)){this[c]();
}else{for(var d=0,a=this.apiCalls.length;
d<a;
d++){this[this.apiCalls[d]]();
}}this.fetching=true;
this.timestamp=new Date();
}},clearIds:function(){this.newestRTByMe=0;
this.newestRTToMe=0;
this.newestTweet=0;
this.oldestTweet=0;
},createTuneInMessages:function(c){var a;
for(var b=0;
b<this.listeners.length;
b++){a=new twitterResponseHandler({account_id:this.account.options.id,request_type:"friends_timeline"},this.listeners[b],this.account);
a.createTuneInMessages(c);
}},createMessages:function(e,d){var a;
var c=null;
for(var b=0;
b<this.listeners.length;
b++){a=new twitterResponseHandler({account_id:this.account.options.id,request_type:d},this.listeners[b],this.account);
c=a.createMessages(e);
if(c){if(c.oldest){this.oldestTweet=(this.oldestTweet)?Math.min(this.oldestTweet,c.oldest):c.oldest;
}if(c.newest){this.newestTweet=Math.max(this.newestTweet,c.newest);
}if(c.newestRTToMe){this.newestRTToMe=Math.max(this.newestRTToMe,c.newestRTToMe);
}if(c.newestRTByMe){this.newestRTByMe=Math.max(this.newestRTByMe,c.newestRTByMe);
}}}this.fetching=false;
this.timestamp=null;
},friends_timeline:function(){var c=this;
var d={count:this.twitterApi.options.tweetCount};
if(this.newestTweet){d.since_id=this.newestTweet;
}if(globalVariables.configInstance.getUrlParam("tuneIn")){this.twitterApi.getTuneInTimeline(d,c,this.account.options.id);
}else{var b=0;
var a=function(e){if(e=="fail"&&!b){b++;
this.twitterApi.getFriendsTimeline(d,a,this.account.options.id);
}else{c.createMessages(e,"friends_timeline");
}}.bind(c);
this.twitterApi.getFriendsTimeline(d,a,this.account.options.id);
}},retweetedByMe:function(){var a=this;
this.newestRTByMe=this.newestRTByMe||this.oldestTweet;
if(!this.newestRTByMe){this.retweetedByMe.delay(1000,this);
return;
}var b={count:this.twitterApi.options.tweetCount,since_id:this.newestRTByMe};
this.twitterApi.getRetweetedByMe(b,function(c){a.createMessages(c,"retweetByMe");
}.bind(a),a.account.options.id);
},retweetedToMe:function(){var a=this;
this.newestRTToMe=this.newestRTToMe||this.oldestTweet;
if(!this.newestRTToMe){this.retweetedToMe.delay(1000,this);
return;
}var b={count:this.twitterApi.options.tweetCount,since_id:this.newestRTToMe};
this.twitterApi.getRetweetedToMe(b,function(c){a.createMessages(c,"retweetToMe");
}.bind(a),a.account.options.id);
}});
var UnboundModeDisplay=new Class({element:null,manager:null,initialize:function(a){this.manager=a;
this.addEvents();
this.createElement();
},addEvents:function(){var a=this;
var b=$("unbound-nav");
b.adopt(this.personCardTab=new Element("li",{id:"unbound-nav-person"}).adopt(new Element("a",{href:"#",html:"people","class":"tab-button",events:{click:function(c){c.stop();
a.manager.setMode({mode:"person"});
}}})));
},createElement:function(){this.element=new Element("div",{id:"unbound-mode-container"}).inject("optionalColumnSlide");
},startLoader:function(){$("unifi_loadingText_value").set("html","pulling it all together...");
},resetLoader:function(a){a=a||"";
$("unifi_loadingText_value").set("html",a);
},view:function(c){var b=$("optionalColumnSlide");
var a=false;
if(b.hasClass("update-box-open")){a=true;
}b.set("class",c.mode);
if(a){b.addClass("update-box-open");
}if($("unbound-nav").getElement(".selected")){switch(c.mode){case"timeline":$("unbound-nav").getElement(".selected").removeClass("selected");
$("unbound-tab").addClass("selected");
break;
case"person":$("unbound-nav").getElement(".selected").removeClass("selected");
$("unbound-nav-person").addClass("selected");
break;
case"search":break;
default:break;
}}}});
var UnboundModeManager=new Class({activeMode:null,activeModeName:null,rightColumnManager:null,optionalStreamManager:null,personCardManager:null,searchManager:null,initialize:function(a){this.rightColumnManager=a;
this.optionalStreamManager=new optionalStreamManager(this);
this.display=new UnboundModeDisplay(this);
this.personCardManager=new PersonCardManager(this);
this.searchManager=new UnboundSearchManager(this);
},makeActive:function(){if(this.display&&this.display.element.hasClass("ty_h_bury")){this.display.element.removeClass("ty_h_bury");
}},makeInactive:function(){this.display.element.addClass("ty_h_bury");
},setMode:function(b){if(this.activeMode){this.activeMode.makeInactive();
}this.display.resetLoader();
this.activeModeName=b.mode;
switch(b.mode){case"timeline":this.display.startLoader();
if(!this.optionalStreamManager.hasInit&&b.data){this.optionalStreamManager.doAfterInit();
}this.activeMode=this.optionalStreamManager;
break;
case"person":if(!this.optionalStreamManager.hasInit){this.optionalStreamManager.doAfterInit();
}var a="no person selected.  <span>to view a person's latest photos, bio, and updates, click any profile pic or open an inbound message</span>";
if(!this.personCardManager.activeContent){this.display.resetLoader(a);
}this.activeMode=this.personCardManager;
if(!b.data){break;
}if(!$defined(b.data.contact)){this.display.resetLoader(a);
b.data.contact=null;
}else{if($type(b.data.contact)=="string"){b.data.contact=globalVariables.unifiAccountInstance.contactManager.contactsByContactId[b.data.contact];
}}if(!b.data.contact){return;
}this.personCardManager.createPersonCard(b.data.contact,b.data.displayName);
break;
case"search":this.activeMode=this.searchManager;
break;
default:break;
}this.activeMode.makeActive();
this.display.view(b);
},setModetoString:function(b,a,c){if(a===null){a=="";
}if(a){a=a.replace(/\'/g,"");
a=a.replace(/\"/g,"");
}x="globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({'mode':'"+b+"','data': {'contact':'"+c+"', 'displayName': '"+a+"'}});";
return x;
}});
var UnboundSearchDisplay=new Class({Extends:StreamDisplay,initialize:function(a){this.parent(a);
},activateMessageClose:function(){},addWindowListener:function(){$("unifi_maincontain").addClass("threadsy_overlap");
globalVariables.optionalColumnActivated=true;
},container:function(){var a=this;
if(!this.containerInstance){this.streamContainer=new Element("div",{"class":"streamContainerHolder"}).adopt(this.streamInstance=new Element("div",{"class":"unifi_messageContain stream",id:a.list.divId()}));
this.containerInstance=this.streamInstance;
this.list.manager.display.element.adopt(this.streamContainer);
}return this.containerInstance;
},containerAdd:function(){this.container();
this.addWindowListener();
this.todayDiv=new Element("div",{html:"<div>no messages</div>","class":"unifi_messageDivider "+globalVariables.siteColor});
}});
var UnboundSearchManagerDisplay=new Class({loader:null,manager:null,savedSearchContainer:null,savedSearchesHover:false,searchInput:null,initialize:function(a){this.manager=a;
this.createElement();
},createElement:function(a){this.element=new Element("div",{id:"unbound-search-manager","class":"ty_h_bury"}).inject(this.manager.unboundModeManager.display.element);
this.setSearchBar();
},loader:function(a){if(a){this.startSpinner("searching twitter");
}else{this.stopSpinner("search complete");
}},startSpinner:function(a){$("unifi_loadingText_value").set("html",a);
},stopSpinner:function(b,a){$("unifi_loadingText_value").set("html",b);
},setSearchBar:function(){var a=this;
if(!this.searchInput){this.searchInputContainer=new Element("div",{id:"search-input-contain"}).adopt(new Element("div",{"class":"search-icon"}),this.cancelSearch=new Element("a",{id:"cancel-twitter-search",href:"#",html:"x",events:{click:function(b){b.stop();
a.manager.unboundModeManager.setMode({mode:"timeline"});
}}}),new Element("div",{id:"search-wrapper"}).adopt(this.searchInput=new Element("input",{type:"text",value:"search twitter",events:{focus:function(){if(this.value=="search twitter"){this.value="";
this.set("class","active");
if(a.saveSearchAction.hasClass("hide")){a.saveSearchAction.removeClass("hide");
}}a.toggleSavedSearches(true);
},blur:function(){if(!this.value){this.value="search twitter";
this.set("class","");
if(!a.saveSearchAction.hasClass("hide")){a.saveSearchAction.addClass("hide");
}}if(!a.savedSearchesHover){a.toggleSavedSearches(false);
}},keydown:function(b){if(this.value&&b.key=="enter"){a.manager.searchTwitter(this.value);
this.blur();
}}}})),this.saveSearchAction=new Element("div",{id:"save-search",html:"save","class":"hide",events:{click:function(d){d.stop();
a.toggleSavedSearches();
if(a.manager.savedSearches.length>1){this.set("class","active");
a.toggleSaveSearchAccounts(true);
}else{if(a.manager.savedSearches.length==1){var b=a.searchInput.value;
var c=a.manager.savedSearches[0].id;
a.manager.createSavedSearch(b,c);
}}},mouseleave:function(){a.toggleSaveSearchAccounts(false);
this.set("class","");
}}}).adopt(this.savedSearchAccountContainer=new Element("ul",{id:"saved-search-account-container","class":"hide"})),this.savedSearchContainer=new Element("ul",{id:"saved-search-container","class":"hide",events:{mouseenter:function(){a.savedSearchesHover=true;
},mouseleave:function(){a.savedSearchesHover=false;
},click:function(){a.toggleSaveSearchAccounts(false);
}}})).inject("unbound-nav-container","top");
}},populateSavedSearches:function(){this.savedSearchContainer.empty();
this.savedSearchAccountContainer.empty();
if(this.manager.savedSearches.length){var b=this;
for(var e=0,a=this.manager.savedSearches.length;
e<a;
e++){if(this.manager.savedSearches.length>1){this.savedSearchContainer.adopt(new Element("li",{id:b.manager.savedSearches[e].id,"class":"saved-search-account",html:b.manager.savedSearches[e].name,events:{click:function(g){g.stop();
b.toggleSavedSearches(false);
b.savedSearchesHover=false;
}}}));
(function(g){b.savedSearchAccountContainer.adopt(new Element("li",{"class":"saved-search-account",html:b.manager.savedSearches[g].name,events:{click:function(k){k.stop();
var h=b.searchInput.value;
var j=b.manager.savedSearches[g].id;
b.manager.createSavedSearch(h,j);
b.toggleSaveSearchAccounts(false);
b.saveSearchAction.set("class","");
}}}));
})(e);
}var f=this.manager.savedSearches[e].searches;
if(f.length>0){for(var d=0,c=f.length;
d<c;
d++){if(f=="unable to retrieve searches"){this.savedSearchContainer.adopt(new Element("li",{"class":"saved-search dim fail",html:f+", try refreshing"}));
break;
}else{(function(g,h){b.savedSearchContainer.adopt(new Element("li",{"class":"saved-search",html:g.query,events:{click:function(k){k.stop();
b.searchInput.focus();
var j=g.query;
b.searchInput.set("value",j);
b.manager.searchTwitter(j);
b.savedSearchesHover=false;
b.searchInput.blur();
}}}).adopt(new Element("div",{"class":"destroy",events:{click:function(k){k.stop();
b.manager.destroySavedSearch(g.id,h.id);
h.searches.erase(g);
var j=this.getParent();
if(!h.searches.length){new Element("li",{"class":"saved-search dim",html:"no saved searches",events:{click:function(l){l.stop();
b.toggleSavedSearches(false);
b.savedSearchesHover=false;
}}}).inject(j,"before");
}j.destroy();
b.searchInput.focus();
}}})));
})(f[d],this.manager.savedSearches[e]);
}}}else{this.savedSearchContainer.adopt(new Element("li",{"class":"saved-search dim",html:"no saved searches",events:{click:function(g){g.stop();
b.toggleSavedSearches(false);
b.savedSearchesHover=false;
}}}));
}}}},toggleSaveSearchAccounts:function(a){if(a){this.savedSearchAccountContainer.removeClass("hide");
}else{this.savedSearchAccountContainer.addClass("hide");
}},toggleSavedSearches:function(a){if(a){this.savedSearchContainer.removeClass("hide");
}else{this.savedSearchContainer.addClass("hide");
}}});
var UnboundSearchManager=new Class({display:null,unboundModeManager:null,savedSearches:[],searchTerm:null,startTime:0,initialize:function(a){this.unboundModeManager=a;
this.display=this.createDisplay();
if(!globalVariables.unifiAccountInstance.contactManager.fetched){globalVariables.unifiAccountInstance.contactManager.addEvent("contactsLoaded",this.requestSavedSearches.bind(this));
}else{this.requestSavedSearches();
}},createDisplay:function(){return new UnboundSearchManagerDisplay(this);
},createSavedSearch:function(a,c){var b=function(f){for(var e=0,d=this.savedSearches.length;
e<d;
e++){if(this.savedSearches[e].id==c){this.savedSearches[e].searches.push({id:f.result,query:a});
this.display.populateSavedSearches();
}}};
globalVariables.twitterApi().createSavedSearch(a,c,b.bind(this));
},destroySavedSearch:function(b,a){globalVariables.twitterApi().destroySavedSearch(b,a);
},makeActive:function(){if(this.display.element.hasClass("ty_h_bury")){this.display.element.removeClass("ty_h_bury");
}if(this.display.searchInput.value=="search twitter"){this.display.toggleSavedSearches(true);
}},makeInactive:function(){this.display.element.addClass("ty_h_bury");
},requestSavedSearches:function(){this.savedSearches.empty();
var e=globalVariables.unifiAccountInstance.twitterAccountIds;
var c=this;
for(var d=0,b=e.length;
d<b;
d++){var a=0;
(function(g){var j=0;
var k=e[g];
var f=globalVariables.unifiAccountInstance.getAccount(k);
c.savedSearches.push({id:k,name:f.options.username,searches:[]});
var h=function(l){if(!l){return;
}if(l=="fail"&&!j){j++;
globalVariables.twitterApi().getSavedSearches(h.bind(c),k);
this.savedSearches[g].searches=["unable to retrieve searches"];
}else{if(l=="fail"&&j){this.savedSearches[g].searches=["unable to retrieve searches"];
}else{this.savedSearches[g].searches=l;
}}a++;
if(a==e.length){this.display.populateSavedSearches();
}};
globalVariables.twitterApi().getSavedSearches(h.bind(c),k);
})(d);
}},searchResponse:function(j){if(this.currentResult){this.currentResult.destroy();
this.currentResult=null;
}this.display.loader(false);
this.currentResult=new UnboundSearch(this,"search"+j.query.toUpperCase());
for(var f=0,b=j.results.length;
f<b;
f++){var k=j.results[f];
var h=(globalVariables.unifiAccountInstance.getMyContact().getTwitterInfo(k.from_user_id));
var a="tw"+k.id;
var c=new Date(k.created_at).getTime();
var e=globalVariables.unifiAccountInstance.getTwitterAccount();
var d={id:k.from_user_id,screen_name:k.from_user,name:k.from_user,profile_image_url:k.profile_image_url};
globalVariables.unifiAccount().contactManager.addTwitterUser(d,e);
var g=new TwitterMessage({atReply:false,externalServiceId:globalVariables.externalServiceManager().getByName("twitter"),facePic:true,folderId:0,favoritedTweet:false,fromAddress:k.from_user_id,fromName:k.from_user,fromId:0,hasAttachments:false,id:k.id,miniBody:"",myTweet:h,optional:true,readFlag:false,replyToString:k.from_user,sentDate:{time:c},serviceAccountId:false,subject:k.text.convertHTMLEntity(),toStr:null,tags:null,uid:k.id},this.currentResult,a,null,null);
this.currentResult.insertMessage(g,true);
}new Tracking({a:"aSearch",vSrT:this.searchTerm,vSrR:j.results.length,vSrP:($time()-this.startTime),vSrTp:"tw",vSId:globalVariables.configInstance.shardId}).send();
},searchTwitter:function(b){this.searchTerm=b;
if(this.currentResult){this.currentResult.destroy();
this.currentResult=null;
}this.display.loader(true);
var a={rpp:50,q:b};
this.startTime=$time();
globalVariables.twitterApi().searchTwitter(a,this.searchResponse.bind(this));
}});
var UnboundSearchResultDisplay=new Class({Extends:MiniMessageDisplay,initialize:function(c,a,b){if(globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.statusUpdateInstance){c.options.serviceAccountId=globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.statusUpdateInstance.activeTwitterAccounts[0]||globalVariables.unifiAccountInstance.twitterAccounts[0].options.id||-1;
}else{c.options.serviceAccountId=-1;
}this.parent(c,a,b);
},createElement:function(){var e=this;
var g=this.message.isFromUser()?"unifi_isFromSelf":"";
var r=this.message.options.serviceAccountId!=-1;
this.streamType="twitter";
var h=this.setElementId();
this.fromName=this.message.options.fromName;
if(!$defined(this.fromName)){this.fromName="";
}var q=globalVariables.externalServiceManager().getById(this.message.options.externalServiceId);
if(r){if(this.message.isFromUser()){this.createMyToDisplayActions();
}else{this.createToDisplayActions();
}}q=q=="facebook"?"fb_connect":q;
this.toDisplay=new Element("div",{"class":"unifi_toDisplay stream"}).adopt(new Element("img",{"class":"unifi_toDisplayIcon",src:this.staticServer+"images/logos/"+q+".png"}));
if(this.streamType=="twitter"){this.toDisplay.adopt(this.toDisplayActions);
}var l=this.formatDate.formatFull();
var c=this.formatDate.formatShort();
this.colorFlag="unifi_read";
this.datePointer=new Element("div",{"class":"unifi_messageDate",html:'<div class="unifi_messageDateFormat stream " title="'+l+'" >'+c+"</div>"});
var f=(this.isFacebook)?this.message.options.fromName:"'"+this.message.options.fromName.replace(/\'/,"\\'").replace(/\"/,'\\"')+"'";
this.message.avatarDisplay.createElement(f);
var b=this.message.avatarDisplay.element;
var k=new Element("div",{"class":"unifi_messageAvatar "+this.message.avatarDisplay.avatarType+" "+this.colorFlag+" "+this.readFlag+" "}).adopt(b);
this.wallPosterName="";
var p="";
if(e.isFacebook){var d=this.fromName.indexOf("&");
if(d!=-1){this.wallPosterName=this.fromName.substring(d-1);
this.fromName=this.fromName.substring(0,d-1);
}this.fromProfileUrl='href="http://www.facebook.com/profile.php?id='+e.message.options.fromAddress;
}else{if(e.isTwitter){this.fromProfileUrl='href="http://www.twitter.com/'+e.message.options.replyToString;
p=e.fromName;
}}this.streamTag='<a title="'+p+'" href="#" onclick="'+globalVariables.rightColumnManager.unboundModeManagerInstance.setModetoString("person",f,e.message.contact.contactId)+'return false;">';
e.msgSubjectPointer=new Element("div",{"class":"unifi_messageSubject stream "+e.streamType,html:e.buildSummaryHtml()});
e.subjectContainer=new Element("div",{"class":"unifi_messageSubjectContain stream "+this.colorFlag}).adopt(e.msgSubjectPointer,e.msgPrevDisplay=new Element("div",{"class":"unifi_messagePreview"}));
var n=new Element("div",{"class":"unifi_c_streamBubble"}).adopt(e.subjectContainer.adopt(new Element("div",{"class":"unifi_streamBubbleTop"}),new Element("div",{"class":"unifi_streamBubbleBottom"}),new Element("div",{"class":"unifi_streamBubbleTopLeft"}),new Element("div",{"class":"unifi_streamBubbleTopRight"}),new Element("div",{"class":"unifi_streamBubbleBottomLeft"}),new Element("div",{"class":"unifi_streamBubbleBottomRight"}),new Element("div",{"class":"unifi_streamBubbleLeft"}),new Element("div",{"class":"unifi_streamBubbleRight"}),new Element("div",{"class":"unifi_streamBubbleFill"}),e.datePointer),this.createMessageContainer(),this.createAddLink());
if(this.isFacebook){var o=this.message.facebookLinks;
if(o!=null){e.bottomLinks=new Element("div",{"class":"threadsy_facebookLinks"}).adopt(this.message.facebookLinks);
e.subjectContainer.adopt(e.bottomLinks);
}}var a=this.message.options.atReply?"unifi_isAtReply ":"";
var j=this.message.options.favoritedTweet?"":"hide";
this.isFavorite=new Element("div",{"class":"unifi_isFavoriteTweet "+j});
var m=r?"":"search-no-twitter ";
this.element=new Element("div",{"class":"unifi_message "+m+a+g+" "+this.colorFlag+" "+this.streamType,id:h,html:'<div class="unifi_roundedSL corners hide"></div><div class="unifi_roundedSR corners hide"></div><div class="unifi_roundedMM corners hide"></div><div class="unifi_roundedBL corners hide"></div><div class="unifi_roundedTR corners hide"></div><div class="unifi_roundedTL corners hide"></div><div class="unifi_roundedBR corners hide"></div>'}).adopt(e.isFavorite,e.toDisplay,k,n);
this.addMessageEvents();
},makeReTweet:function(){if(this.message.options.serviceAccountId==-1){return false;
}this.twitterApi.reTweet(this.message.options.serviceAccountId,this.message.options.id,function(a){if(a.result===0){globalVariables.announcementBar().createAnnouncement("Success! Your retweet has been posted",null,"success");
(function(){globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.updateTwitterStream(globalVariables.unifiAccountInstance.getAccount(this.message.options.serviceAccountId),"retweetedByMe");
}.bind(this)).delay(3000);
}else{globalVariables.announcementBarInstance.createAnnouncement("Sorry, couldn't send your message, illegal attachment.",null,"error");
}}.bind(this));
}});
var UnboundSearch=new Class({Extends:OptionalStream,initialize:function(a,b){this.parent(a,b);
},createMessageDisplay:function(a){return new UnboundSearchResultDisplay(a,this);
},createMessageListDisplay:function(){return new UnboundSearchDisplay(this);
},destroy:function(){this.display.streamContainer.destroy();
}});
var unifiAccount=new Class({Implements:Events,activeFolder:null,checking:false,contactManager:null,displayName:"",externalAccounts:new Hash(),externalAccountsList:new Array(),facebookAccount:null,facebookAccountId:0,facebookUid:null,facebookRequested:new Array(),fetching:false,foldersById:new Array(),hasAol:false,hasFacebook:false,hasGmail:false,hasHotmail:false,hasMyspace:false,hasTwitter:false,hasYahoo:false,id:0,inviteOnRamp:null,inviteExpandedUrl:null,inviteUrl:null,isMessages:true,myContact:null,myFacepicSet:false,numFacebookFriends:0,oldActiveFolder:null,onlineAddresses:null,optionalStreamManager:null,options:{emails:null},personId:0,primaryAddress:null,primaryFacePic:null,twitterAccountIds:[],twitterAccounts:[],twitterAccountsByScreenName:new Hash(),updateDate:"",welcomeUser:false,folderOrder:["inbox","sent","archive","trash","draft","synch","user"],folders:{inbox:null,sent:null,archive:null,trash:null,draft:null,synch:null,user:null},requests:{checkUsername:"checkUsername.json",folders:"folderList.json",login:"login.json",register:"register.json"},unlockedFeatures:{dislike:false,love:false},username:null,initialize:function(){this.contactManager=new ContactManager();
},addAccount:function(e,d,c){var b=new externalAccount(e);
this.setHasAccountTypeFlag(b,d);
var a=d.isFacebook(b.options.externalServiceId);
var f=d.isTwitter(b.options.externalServiceId);
if(a){b.options.username=b.options.fromName;
this.facebookAccount=b;
this.facebookAccountId=b.options.id;
this.hasFacebook=true;
}this.externalAccounts.set(b.options.id,b);
b.options.primary=(b.options.id==c);
if(f){this.twitterAccounts[this.twitterAccounts.length]=b;
this.twitterAccountIds[this.twitterAccountIds.length]=b.options.id;
}this.personId=(this.personId>0)?this.personId:b.options.personId;
if(b.options.primary){this.primaryAddress=b;
}else{if((this.primaryAddress==null)&&d.isEmail(b.options.externalServiceId)){this.primaryAddress=b;
}}this.externalAccountsList.push(b);
return b;
},checkNew:function(){var a=this;
if((this.updateDate=="")&&(this.activeFolder!=null)){this.updateDate=this.activeFolder.updateDate;
}if(!this.checking&&(this.updateDate!="")){try{a.checking=true;
this.initial=false;
this.jsLastUpdates=new Date();
var c=(a.folders.inbox!=null)?a.folders.inbox.moreMessages:false;
globalVariables.makeShardRequest("hasUpdates.json",{isAsync:true,data:{lastSentDate:a.formatLastSentDate(a.getLastSentDate()),lastChecked:this.updateDate,filter:false,scroll:c},onComplete:function(g){try{if($defined(g)){if(g.result=="1"){a.fetchUpdates(a.updateDate);
}if(g.scroll){a.folders.inbox.moreMessages=true;
}}a.checking=false;
if(globalVariables.inboundManagerInstance.isFetching){var k=false;
if($defined(g)&&g.accounts){for(var f=0,e=g.accounts.length;
f<e;
f++){if(g.accounts[f].fetching){k=true;
}else{var j=g.accounts[f].id;
var d=a.externalAccounts[j];
if($defined(d)&&d.fetching){d.fetching=false;
}}}}if(!k){globalVariables.inboundManagerInstance.isFetching--;
if(!globalVariables.inboundManagerInstance.isFetching){globalVariables.announcementBarInstance.removeAnnouncement();
if(globalVariables.inboundManagerInstance.display.inboundTab.fetchingIndicator){globalVariables.inboundManagerInstance.display.inboundTab.stopFetchingIndicator();
}}}}}catch(h){a.checking=false;
globalVariables.log.error("error dealing with checking response",h);
}}});
}catch(b){a.checking=false;
globalVariables.log.error("error checking for updates",b);
}}},checkUsername:function(d,a){if(!d||(d=="")){return false;
}var b=globalVariables.makeGatewayRequest(this.requests.checkUsername,{data:{username:this.formatUsername(d),password:a}});
var c=parseInt(b.response.json.result);
return(c==0);
},changeContact:function(){},contactModified:function(){this.setMyInfo();
},deactivateCurrentFolder:function(){if(this.activeFolder&&this.activeFolder.isFolder()){this.oldActiveFolder=this.activeFolder;
this.activeFolder.makeInactive();
this.activeFolder=null;
}},deactivateOptionalContactStream:function(){if($defined(globalVariables.rightColumnManager.unboundModeManagerInstance)){globalVariables.rightColumnManager.unboundModeManagerInstance.setMode({mode:"timeline"});
}},fetchContacts:function(){this.contactManager.checkNew(1,3);
},fetchExternalAccounts:function(a){globalVariables.accountApi().listAccounts(this.setAccounts.bind(this),this.setAccounts.bind(this),a,3,1);
},fetchCounts:function(a){globalVariables.messageApi().getUnreadCounts(this.folders.inbox.options.id,this.setUnreadCounts.bind(this),a);
},fetchFolders:function(d,b){var c=globalVariables.makeShardRequest(this.requests.folders,{data:{},isAsync:false});
var a=($defined(c.response.json)&&$defined(c.response.json.folders))?c.response.json.folders:null;
if(!a){if(b<d){this.fetchFolders(d,b+1);
}}else{this.setFolders(c.response);
}},fetchMail:function(a){var b={isAsync:true};
if(a){b.data={serviceAcctId:a};
this.externalAccounts[a].fetching=true;
}else{this.externalAccountsList.each(function(c){c.fetching=true;
});
}globalVariables.makeShardRequest("fetch.json",b);
if(globalVariables.inboundManagerInstance){globalVariables.inboundManagerInstance.startRapidPoll();
}globalVariables.activityMonitor().resetActivityFetchTimer();
},fetchTags:function(){globalVariables.accountApi().getTags(this.setTags.bind(this));
},fetchUpdates:function(g){var e=globalVariables.messageFilter();
var d=((this.activeFolder!=null)&&this.activeFolder.isFolder()&&!this.activeFolder.isTag())?this.activeFolder.options.id:0;
if(!this.fetching&&!e.chokeFetch&&d){this.fetching=true;
try{var c=this;
var b=0;
var a=this.getLastSentDate();
if((a==null)&&(b==0)){b=globalVariables.configInstance.options.initialPageSize;
}globalVariables.makeShardRequest("headersJ.json",{isAsync:true,data:{folderId:d,lastChecked:g,lastSentDate:c.formatLastSentDate(a),filter:false,pageSize:b},onComplete:function(h){try{if($defined(h)&&(h.error!=1)){c.updateDate=h.updateDate;
c.updateMessages(h.updates);
globalVariables.inboundManagerInstance.display.updateToolBar();
}c.fetching=false;
}catch(j){c.fetching=false;
globalVariables.log.error("error processing updates",j);
}}});
}catch(f){c.fetching=false;
globalVariables.log.error("error fetching updates",f);
}}},formatUsername:function(a){return a.trim().toLowerCase();
},findUnifiContact:function(a,e){var c=this.contactManager.contactsByEmail.get(a);
if(c!=null){return c;
}var b=this.contactManager.contactsBySocialNetworkId[e];
var d=null;
if(b!=null){d=b[""+a];
}return d;
},findExternalServiceAccountByServiceId:function(b){var a=null;
this.externalAccountsList.each(function(c){if((c.options.externalServiceId==b)){a=c;
}});
return a;
},formatLastSentDate:function(b){if(b==null){return"";
}var a;
if(b.timezoneOffset!=0){a=""+((b.timezoneOffset/60)*100);
}else{a="+0000";
}while(a.length<4){a="0"+a;
if(b.timezoneOffset>0){a="-"+a;
}else{a="+"+a;
}}return b.date+"-"+(b.month+1)+"-"+(b.year+1900)+" "+b.hours+":"+b.minutes+":"+b.seconds+" "+a;
},getAccount:function(a){return(this.externalAccounts)?this.externalAccounts.get(a):null;
},getAccountByScreenName:function(a){return this.twitterAccountsByScreenName.get(a);
},getFacebookAccount:function(){return this.facebookAccount;
},getFacebookInfo:function(a){if(this.facebookRequested.contains(a)){return false;
}this.facebookRequested.push(a);
globalVariables.facebookConnect().getProfileInfo(a);
return true;
},getFolderByName:function(a){var b;
this.foldersById.clean().each(function(c){if(c.options.name==a){b=c.options.id;
}});
return b;
},getLastSentDate:function(){var a=null;
this.foldersById.clean().each(function(b){var c=b.getLastSentDate();
if((c!=null)&&((a==null)||(a.time>c.time))){a=c;
}});
return a;
},getMyContact:function(){if(!this.myContact){this.myContact=new Contact();
}return this.myContact;
},getTwitterAccount:function(){if(this.twitterAccountIds.length>0){return this.getAccount(this.twitterAccountIds[0]);
}else{return new nullExternalAccount(8);
}},hasOptionalContent:function(){return this.hasFacebook||this.hasTwitter;
},initFacebook:function(){if(!this.isMessages){return;
}var a=$("fbLoginRight");
if(a){a.destroy();
}var b=$("external-service-dashboard");
if($defined(b)){b.setStyle("background-color","green");
$("external-service-dashboard").setProperty("title","facebook connect is ok");
}},login:function(h,c,b){var d=globalVariables.makeGatewayRequest(this.requests.login,{method:"post",data:{username:this.formatUsername(h),password:c,admin:b}});
if(d.status!=200){return false;
}var g=parseInt(d.response.json.result);
if(g>0){Cookie.write("username",h,{duration:3650,domain:"threadsy.com"});
this.cookie=new compressedCookie("userData",365);
this.cookie.setCookie("cohort",d.response.json.cohort);
this.cookie.setCookie("referringCohort",d.response.json.referringCohort);
var f=new Array();
f.include("5");
var e=globalVariables.abTest(true,f,d.response.json.testId,d.response.json.bucket).getTestData();
if((e.id=="5")&&(e.bucket=="1")){var a=this.cookie.getCookie("loginNumber",false);
if(!a){this.cookie.setCookie("loginNumber",0);
}}}if(g>0){this.username=h;
return true;
}else{return false;
}},moveToTrash:function(a){if(!this.folders.deleted.isEmpty()){a.options.folderId=this.folders.deleted.options.id;
this.folders.deleted.insertMessage(a);
}},moveToInbox:function(a){if(!this.folders.inbox.isEmpty()){$each(a,function(b){b.options.folderId=this.folders.inbox.options.id;
this.folders.inbox.insertMessage(b);
},this);
}},notifySettingsUpdated:function(){this.fetchExternalAccounts(false);
this.fetchContacts(false);
},reactivateCurrentFolder:function(){globalVariables.destroySearch();
this.activeFolder=$defined(this.oldActiveFolder)?this.oldActiveFolder:this.activeFolder;
if(this.activeFolder){this.activeFolder.makeActive();
}this.oldActiveFolder=null;
},redirectToLogin:function(){var a=globalVariables.getParams().get_clean_string(["logout","nr"]);
if(a!="?"){a+="&";
}document.location.href=globalVariables.config().absoluteUrlPath+a+"nr=1";
},register:function(b){var h=Cookie.read("username");
if(!h||(h=="")){return false;
}var g=new getParams();
var f=g.get("src",window.location.href);
var e=globalVariables.abTest(false,null).getTestData();
var d={username:this.formatUsername(h),password:Cookie.read("password"),betaRequestId:f,onRamp:Cookie.read("onRamp"),testId:e.id,bucket:e.bucket};
$each(b.getElements("input"),function(j){d[j.name]=j.value;
});
var a=globalVariables.makeGatewayRequest(this.requests.register,{method:"post",data:d});
var c=parseInt(a.response.json.result);
return(c>0);
},setAccounts:function(d){if(!$defined(d)){this.redirectToLogin();
return;
}var n=d.primaryAccountId;
var c=globalVariables.externalServiceManager();
this.id=d.id;
var g=($defined(d.accounts))?d.accounts:null;
var l=false;
var h=new Array();
var o;
var p;
if($defined(d.accounts)){for(var e=0;
e<d.accounts.length;
e++){o=d.accounts[e];
p=o.externalServiceId;
if(c.isEmail(p)){l=true;
}else{if(c.isTwitter(p)&&!o.authKey1){h.push(o);
}}}}var j=($defined(d.error))?d.error:null;
var k;
if(!l||j){k=globalVariables.getParams().get_clean_string(["logout","nr"]);
if(k!="?"){k+="&";
}if(j==-2){document.location.href=globalVariables.config().absoluteUrlPath+k+"nr=1";
return;
}else{document.location.href=globalVariables.config().absoluteUrlPath+"signup.html"+k+"nr=1";
return;
}}if(h.length>0){k=globalVariables.getParams().get_clean_string(["logout","nr"]);
if(k!="?"){k+="&";
}document.location.href=globalVariables.config().absoluteUrlPath+"twitter-oauth.html"+k+"nr=1";
return;
}this.externalAccounts=new Hash();
this.externalAccountsList=new Array();
var f=new Array();
this.twitterAccounts=[];
for(var m=0;
m<g.length;
m++){var b=this.addAccount(g[m],c,n);
f.push(g[m].id);
}globalVariables.messageFilter().updateAccountList(f);
if(this.primaryAddress!=null){this.primaryAddress.options.primary=true;
}if(this.options.displayName&&(this.options.displayName.length>0)){this.displayName=this.options.displayName;
}else{if(this.primaryAddress!=null){this.displayName=this.primaryAddress.options.email;
}}if(this.hasFacebook){this.initFacebook();
}},setActiveFolder:function(a){if(a==null){globalVariables.log.error("Tried to set active folder to null.");
return;
}if(this.activeFolder!=null){this.activeFolder.makeInactive();
}this.activeFolder=a;
a.makeActive();
},setActiveTag:function(a){var b=new UserTag(a,null);
this.setActiveFolder(b);
},setActiveFolderById:function(a){this.setActiveFolder(this.foldersById[a]);
},setActiveSearch:function(a){globalVariables.searchResult().doSearch(a);
},setFolders:function(d){var b=d.json.folders;
this.folders.user=new Array();
for(var c=0;
c<b.length;
c++){var a=new Folder(b[c]);
a.initial=true;
this.foldersById[b[c].id]=a;
switch(a.options.folderType){case"inbox":this.folders.inbox=a;
a.initial=true;
this.folderOrder[0]={name:"inbox",obj:this.folders.inbox};
break;
case"sent":this.folders.sent=a;
this.folderOrder[1]={name:"sent",obj:this.folders.sent};
break;
case"deleted":this.folders.deleted=a;
this.folderOrder[3]={name:"trash",obj:this.folders.deleted};
break;
case"archive":this.folders.archive=a;
this.folderOrder[2]={name:"archive",obj:this.folders.archive};
break;
case"draft":this.folders.draft=a;
this.folderOrder[4]={name:"draft",obj:this.folders.draft};
break;
case"synch":this.folders.synch=a;
this.folderOrder[5]={name:"synch",obj:this.folders.synch};
break;
default:this.folders.user.push(a);
this.folderOrder[6]={name:"user",obj:this.folders.user};
break;
}}},setHasAccountTypeFlag:function(a,b){switch(b.getById(a.options.externalServiceId)){case"yahoo":this.hasYahoo=true;
break;
case"gmail":this.hasGmail=true;
break;
case"aol":this.hasAol=true;
break;
case"hotmail":this.hasHotmail=true;
break;
case"facebook":this.hasFacebook=true;
break;
case"myspace":this.hasMyspace=true;
break;
case"twitter":this.hasTwitter=true;
break;
}},setMyInfo:function(){if(this.myContact==null){return;
}this.setUserFacepic(this.myContact);
this.setUserName(this.myContact);
var b=globalVariables.externalServiceManager();
var f=globalVariables.twitterApi();
for(var c=0;
c<this.externalAccountsList.length;
c++){var a=this.externalAccountsList[c];
if(b.isFacebook(a.options.externalServiceId)){this.contactManager.addFacebookPublicInfo(this.myContact,a.options.uid);
}else{if(b.isTwitter(a.options.externalServiceId)){if(!this.myContact.twitterAccountsRequested){this.twitterAccountsByScreenName.set(a.options.replyTo.toLowerCase(),a);
this.contactManager.addTwitterScreenName(this.myContact,a.options.replyTo,a,a.options.replyTo,null,a.options.id);
var d=new twitterUserInfoResponseHandler(this.updateTwitterInfo.bind(this),this.myContact,a);
var e={screen_name:a.options.replyTo,suppress_response_codes:1};
f.getUserInfo(a.options.id,e,d);
}}}}this.myContact.addChangeListener(this);
this.myContact.twitterAccountsRequested=true;
},setTags:function(d){if(d&&d.tags){var b;
var a;
for(var e=0,c=d.tags.length;
e<c;
e++){a=d.tags[e];
b=this.getAccount(a.serviceAccountId);
}}},setUnreadCounts:function(a){this.folders.inbox.parseCounts(a);
},setUserFacepic:function(b){if(!b){return;
}var a=b.getInfoProperty(5,0,"mediumPicUrl");
if(a){this.primaryFacePic=a;
}else{if(a=b.getInfoProperty(5,0,"smallPicUrl")){this.primaryFacePic=a;
}}if(this.primaryFacePic){globalVariables.topNavigation().setUserFacepic(this.primaryFacePic);
}},setUserName:function(c){if(c==null){return;
}var a=c.getDisplayName(0,0);
var b=null;
if(a){this.displayName=a;
}else{if((b=c.getInfoProperty("firstName",0,0))!=null){this.displayName=b;
}else{this.displayName=Cookie.read("username");
}}},setInviteUrl:function(d){if(d&&d.code){this.inviteCode=d.code;
this.inviteMessage=d.inviteMessage;
this.inviteId=d.inId;
this.inviteOnRamp=d.onRamp;
this.inviteLoopType=d.loopType;
var c;
if(!this.primaryFacePic||!this.displayName){c=this.contactManager.contactsByContactId["th"+this.personId];
}var a=this.displayName;
if(!a&&c){a=c.getDisplayName(0,0);
}var b=this.primaryFacePic;
if(!b&&c){b=c.getInfoProperty(5,0,"mediumPicUrl")||c.getInfoProperty(5,0,"smallPicUrl");
}if(a){a=a.replace(/\s/g,"+");
}else{a="";
}if(b){if(b.indexOf("/")>-1){b=globalVariables.textHelpers().urlEncode(b);
}}else{b="";
}this.inviteExpandedUrl=globalVariables.configInstance.absoluteUrlPath+"index2.html?action=invite&code="+d.code+"&inId="+d.id+"&onRamp="+d.onRamp+"&loopType="+d.loopType+"&inviterPic="+b+"&inviterName="+globalVariables.textHelpersInstance.urlEncode(a);
new BitlyShorten({cb:this.fireInviteUrl,url:this.inviteExpandedUrl,shortURL:this});
}},fireInviteUrl:function(b,a){if(b[a.inviteExpandedUrl]["statusCode"]!="ERROR"){a.inviteUrl=b[a.inviteExpandedUrl]["shortUrl"];
a.inviteMessage=a.inviteMessage.replace("BITLY_URL",a.inviteUrl);
a.fireEvent("inviteUrl");
}},updateInviteUrl:function(c,a){if(c[a.inviteExpandedUrl]["statusCode"]!="ERROR"){var d=a.inviteUrl;
var b=c[a.inviteExpandedUrl]["shortUrl"];
a.inviteUrl=b;
a.inviteMessage=a.inviteMessage.replace(d,b);
a.fireEvent("updateInviteUrl",{oldBitly:d,newBitly:b});
}},setInviteStatus:function(){if(globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager){var a=globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager;
if($defined(a.statusUpdateInstance.statusTextArea)){if(a.statusUpdateInstance.statusTextArea.hasClass("unifi_inactive")){a.statusUpdateInstance.statusTextArea.removeClass("unifi_inactive");
}a.statusUpdateInstance.statusTextArea.set("html",this.inviteMessage);
a.statusUpdateInstance.statusTextArea.focus();
}}},signUserIn:function(e){this.welcomeUser=e;
globalVariables.unlockManager();
if(e){var b=this;
globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:this.formatUsername(Cookie.read("username")),linkType:"vm",loopType:"defaultTweet"},onComplete:function(f){b.setInviteUrl(f);
}});
}var a;
var d=globalVariables.announcementBar();
for(var c=0;
c<this.externalAccountsList.length;
c++){a=this.externalAccountsList[c];
if((a.options.numFailures>15)&&(a.options.externalServiceId!=5)){if(a.options.failureType=="1"){d.createAnnouncement("unable to connect to "+a.options.username+". please update password in settings if you've changed it recently.",null,"error");
}}}},updateMessages:function(b){var a=this;
if(b&&(b.length>0)){if(this.activeFolder.isFolder()){this.activeFolder.updateMessages(b,false);
}this.foldersById.clean().each(function(c){if(c!=a.activeFolder){c.updateMessages(b,false);
}});
}},updateTwitterInfo:function(c,b,a){if(!c||c.error){return;
}this.contactManager.addTwitterContactInfo(b,c,a.options.externalServiceId,a.options.id);
}});
var UnlockManager=new Class({boastUrl:null,dislikeUrl:"http://en.wikipedia.org/wiki/Dislike",inviteUrl:null,loveUrl:"http://en.wikipedia.org/wiki/Love",featureIds:{loveanddislike:1,nostreamadds:2},inviteCode:null,inviteMessage:null,inviteId:null,inviteModalCookie:false,inviteOnRamp:null,inviteLoopType:null,showBoast:false,unlockedFeatures:[],contactListener:null,initialize:function(){this.inviteModalCookie=new compressedCookie("userData",365);
this.contactListener=this.initUnlocks.bind(this);
globalVariables.unifiAccountInstance.contactManager.addEvent("contactsLoaded",this.contactListener);
},initUnlocks:function(){this.showBoast=true;
this.requestUnlocks();
},getAB:function(){var b=["5"];
var a=globalVariables.abTest(true,b).getTestData();
if((a.id=="5")&&(a.bucket=="1")){return true;
}else{return false;
}},propagateUnlock:function(b){this.unlockedFeatures.include(b);
if(b==this.featureIds.loveanddislike){$(document.body).addClass("unlockEmotes");
this.setDislikeUrl();
this.setLoveUrl();
}else{if(b==this.featureIds.nostreamadds){globalVariables.checkAd=false;
var d=globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager;
if(d.activeContent){for(var c=0,a=d.activeContent.currentAdIds.length;
c<a;
c++){d.activeContent.removeMessageAndDisplay(d.activeContent.currentAdIds[c],true);
}}}}},requestUnlocks:function(){globalVariables.makeShardRequest("getUnlockedFeatures.json",{async:false,onSuccess:function(d){if(d.unlockedFeatures&&d.unlockedFeatures.length){for(var c=0,a=d.unlockedFeatures.length;
c<a;
c++){this.propagateUnlock(d.unlockedFeatures[c]);
}}if(!globalVariables.unifiAccountInstance.welcomeUser){var b=globalVariables.unifiAccountInstance;
if((b.hasTwitter||b.hasFacebook)&&!this.unlockedFeatures.contains(this.featureIds.loveanddislike)){this.unlock("love and dislike");
if(
/*this.inviteModalCookie.getCookie("invitePopupModal") && */
this.getAB()){new InviteModal(this);
}else{new UnlockModal(this,"love and dislike",this.showBoast);
}}}}.bind(this),onFailure:function(){}});
},requestBoastInvite:function(){if(!this.boastUrl){globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:Cookie.read("username"),loopType:"boastLoveDislike",linkType:"uf",reuse:true},onComplete:function(a){this.setBoastUrl(a);
}.bind(this)});
}if(!this.inviteUrl){globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:Cookie.read("username"),loopType:"invitefriend",linkType:"vm"},onComplete:function(a){globalVariables.unifiAccount().setInviteUrl(a);
}.bind(this)});
}},setDislikeUrl:function(){globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:Cookie.read("username"),loopType:"dislike",linkType:"uf"},onComplete:function(a){var b=globalVariables.configInstance.absoluteUrlPath+"index4.html?mode=dislike&code="+a.code+"&inId="+a.id+"&onRamp="+a.onRamp+"&loopType="+a.loopType;
new BitlyShorten({cb:function(c){this.dislikeUrl=c[b].shortUrl;
}.bind(this),url:b,shortURL:this});
}.bind(this)});
},setInviteUrl:function(){globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:Cookie.read("username"),loopType:"invitepopup",linkType:"vm"},onComplete:function(a){var b=globalVariables.configInstance.absoluteUrlPath+"index2.html?action=invite&code="+a.code+"&inId="+a.id+"&onRamp="+a.onRamp+"&loopType="+a.loopType;
new BitlyShorten({cb:function(c){this.inviteUrl=c[b].shortUrl;
}.bind(this),url:b,shortURL:this});
}.bind(this)});
},setLoveUrl:function(){globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:Cookie.read("username"),loopType:"love",linkType:"uf"},onComplete:function(a){var b=globalVariables.configInstance.absoluteUrlPath+"index4.html?mode=love&code="+a.code+"&inId="+a.id+"&onRamp="+a.onRamp+"&loopType="+a.loopType;
new BitlyShorten({cb:function(c){this.loveUrl=c[b].shortUrl;
}.bind(this),url:b,shortURL:this});
}.bind(this)});
},setBoastUrl:function(a){if(!this.boastUrl&&a.code){this.inviteCode=a.code;
this.inviteMessage=a.message;
this.inviteId=a.id;
this.inviteOnRamp=a.onRamp;
this.inviteLoopType=a.loopType;
this.inviteExpandedUrl=globalVariables.configInstance.absoluteUrlPath+"index4.html?mode=boast&code="+a.code+"&inId="+a.id+"&onRamp="+a.onRamp+"&loopType="+a.loopType;
new BitlyShorten({cb:function(c){try{this.boastUrl=c[this.inviteExpandedUrl].shortUrl;
}catch(b){globalVariables.log.error("error setting boast url",b);
}}.bind(this),url:this.inviteExpandedUrl,shortURL:this});
}},updateUnlocks:function(a){this.propagateUnlock(a.featureId);
globalVariables.makeShardRequest("unlockFeature.json",{async:true,data:a,onComplete:function(){if(a.featureId==this.featureIds.loveanddislike){this.requestBoastInvite();
}}.bind(this)});
},unlock:function(a){var b=this.featureIds[a.replace(/\s/g,"")];
if(this.unlockedFeatures.contains(b)){return;
}this.updateUnlocks({featureId:b});
}});
var UserTag=new Class({Extends:Folder,lastUid:0,data:{id:0,hasNew:false,name:null,folderType:null,serviceAccountId:0},initialize:function(b,a){if(a){this.divIdString=a;
}this.data=b;
this.parent(b,a);
this.listType="tag";
this.tagId=this.data.id;
},checkUpdates:function(){var e=false;
try{var b=this.minimumMessages;
var d=this.messageCount();
if(d<b){var a=this;
globalVariables.makeShardRequest("hasUserFolderUpdates.json",{isAsync:true,data:{lastSentDate:globalVariables.unifiAccountInstance.formatLastSentDate(a.getLastSentDate()),lastUid:this.maxUid,serviceAccountId:this.data.serviceAccountId,serviceAccountTagId:this.data.id,scroll:e},onComplete:function(f){try{if($defined(f)){a.moreMessages=f.result=="1"||f.scroll||f.fetching;
}a.checking=false;
if(a.moreMessages){a.fetchMoreMessages(0,b,true,false);
}else{var h=a.updateTimer;
a.updateTimer=null;
$clear(h);
globalVariables.inboundManagerInstance.isFetching--;
if(!globalVariables.inboundManagerInstance.isFetching){globalVariables.announcementBarInstance.removeAnnouncement();
if(globalVariables.inboundManagerInstance.display.inboundTab.fetchingIndicator){globalVariables.inboundManagerInstance.display.inboundTab.stopFetchingIndicator();
}}}}catch(g){a.checking=false;
globalVariables.log.error("error dealing with checking response",g);
}}});
}else{$clear(this.updateTimer);
}}catch(c){globalVariables.log.error("Error in fill minimum messages for user tag",c);
}},doAfterDestroy:function(){if(this.updateTimer){var a=this.updateTimer;
this.updateTimer=null;
$clear(a);
}},fetch:function(){var a=this;
this.fetching=true;
this.moreMessages=true;
globalVariables.announcementBarInstance.createAnnouncement("fetching messages...",null,"loading");
globalVariables.makeShardRequest("fetch.json",{isAsync:true,data:{serviceAcctId:this.data.serviceAccountId,folderName:this.data.name}});
},fetchMoreMessages:function(d,b,c){if(!this.fetching&&this.active){this.fetching=true;
var a=this;
if(b==0){b=this.minimumMessages;
}globalVariables.makeShardRequest("userFolderHeaders.json",{isAsync:true,data:{serviceAccountTagId:this.data.id,start:d,pageSize:b,serviceAccountId:this.data.serviceAccountId},onComplete:function(f){try{a.initial=false;
if(a.active){if(f&&(f.error!=1)){a.maxUid=f.maxUid;
var h=f.messages.length;
var e=h>0;
if(e){a.showMessages(f.messages,c);
}if(h<b){a.moreMessages=false;
}}else{}a.fetching=false;
}else{a.fetching=false;
}}catch(g){globalVariables.log.error("error fetching messages",g);
}}});
}},getTag:function(){return this.data;
},isTag:function(){return true;
},refreshCounts:function(){},requestFirstPage:function(){try{this.moreMessages=true;
this.fetchMoreMessages(0,this.config.options.initialPageSize,true,false);
this.fetch();
this.updateTimer=this.checkUpdates.periodical(5000,this);
}catch(a){globalVariables.log.error("Error in requestFirstPage",a);
this.fetching=false;
}},sameList:function(a){return(a.folderId==this.data.id);
},unreadMessageAdded:function(){},unreadMessageRemoved:function(){}});
var validation=new Class({initialize:function(a){this.defaults=a||{username:"choose username",password:"password"};
this.username_max=100;
this.username_min=3;
this.error=false;
},reset:function(){this.error=false;
},set_default:function(a,b){this.defaults[a]=b;
},username:function(a){this.reset();
this.error=(a.length>=this.username_min&&a.length<=this.username_max)?this.error:"username_length";
if(a==""||a==this.defaults.username){this.error="blank_username";
}return this.error;
},password:function(a){this.reset();
if(a==""||a==this.defaults.password){this.error="blank_password";
}return this.error;
},is_email:function(b){this.reset();
var a=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return b.match(a);
},is_empty:function(a){this.reset();
return(a==""||a==this.defaults.username);
}});
var versionedSwiff=new Class({Extends:Swiff,version:"?version=7951",initialize:function(b,a){this.parent(b+this.version,a);
}});
var ViralModal=new Class({Extends:SimpleBox,Implements:Events,accountContainer:null,activeTwitterAccounts:null,activeFacebookAccount:null,canShare:false,manager:null,updateBox:false,initialize:function(b){this.createOverlay();
var a=globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager;
this.updateBox=a.statusUpdateInstance;
if(!this.updateBox){a.addEvent("hasStatusInstance",function(d){this.updateBox=a.statusUpdateInstance;
this.activeTwitterAccounts=this.updateBox.activeTwitterAccounts;
this.activeFacebookAccount=this.updateBox.activeFacebookAccount;
this.addElement(b);
}.bind(this));
}else{this.activeTwitterAccounts=this.updateBox.activeTwitterAccounts;
this.activeFacebookAccount=this.updateBox.activeFacebookAccount;
this.addElement(b);
}if(!globalVariables.unifiAccountInstance.myContact){var c=function(d){globalVariables.unifiAccountInstance.myContact.addChangeListener(this);
globalVariables.unifiAccountInstance.removeEvent("myContactCreated",c);
}.bind(this);
globalVariables.unifiAccountInstance.addEvent("myContactCreated",c);
}else{globalVariables.unifiAccountInstance.myContact.addChangeListener(this);
}},contactModified:function(){this.updateOptionalServiceBlock();
},updateOptionalServiceBlock:function(){this.accountContainer.empty().adopt(this.updateBox.createOptionalServiceBlockItems(this),new Element("div",{"class":"clear"}));
},addElement:function(){},createFromAccounts:function(a){return this.accountContainer=new Element("div",{id:"unlock-account-container"}).adopt(this.updateBox.createOptionalServiceBlockItems(this),new Element("div",{"class":"clear"}));
},submitStatus:function(c){var a=this;
var q=c;
var m=false;
var o=false;
var n=[];
var e=[];
this.updatePostability();
this.removeEvents();
if(!this.activeFacebookAccount&&!this.activeTwitterAccounts.length){alert("please select a service! (below the share button)");
}else{if(!this.canShare){alert("sorry you can't share this...");
this.destroySimpleBox();
return;
}else{this.destroySimpleBox();
if(this.activeFacebookAccount){try{m=true;
this.addEvent("facebookStatusSent",function(l){if(l){e.push("facebook");
}else{n.push("facebook");
}if(!o){a.statusUpdateComplete(e,n);
}});
if(q.length>0){globalVariables.facebookConnect().updateStatus(q,function(l){if(l){m=false;
this.fireEvent("facebookStatusSent",true);
}else{this.fireEvent("facebookStatusSent",false);
}}.bind(this));
}}catch(h){globalVariables.log.error("submitStatus",h);
}}if(a.activeTwitterAccounts.length){try{var b=[];
pendingAccount=b.combine(a.activeTwitterAccounts);
o=true;
a.addEvent("twitterStatusSent",function(r){var l=r.account;
var s=r.success;
b.erase(l.options.id);
if(s){e.push(l);
}else{n.push(l);
}if(!b.length){o=false;
if(!m){a.statusUpdateComplete(e,n);
}}});
for(var j=0,f=a.activeTwitterAccounts.length;
j<f;
j++){var g=a.activeTwitterAccounts[j];
var p=globalVariables.unifiAccountInstance.getAccount(g);
var k=globalVariables.twitterApi().statusUpdate(g,q);
if(k===0){var d={account:p,success:true};
a.fireEvent("twitterStatusSent",d);
}else{var d={account:p,success:false};
a.fireEvent("twitterStatusSent",d);
}}}catch(h){globalVariables.log.error("Error sending to twitter",h);
}}globalVariables.unlockManagerInstance.unlock("nostreamadds");
}}},statusUpdateComplete:function(j,h){var a=this;
var g=false;
var b=false;
var e=0;
if(!h.length){for(var f=0,d=j.length;
f<d;
f++){if(j[f]!="facebook"){g=true;
var c=globalVariables.unifiAccountInstance.myContact.getTwitterInfo(j[f].options.replyTo).options.followers_count;
if(c){e=e+c;
}(function(l){globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.updateTwitterStream(l);
}).delay(1000,this,j[f]);
}else{b=true;
var k=globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.makeUpdaterKey("facebook",globalVariables.unifiAccountInstance.getFacebookAccount().options.name,"request_stream");
(function(l){var m=globalVariables.rightColumnManager.unboundModeManagerInstance.optionalStreamManager.updatersByKey[k].checkUpdates();
}).delay(1000,this,j[f]);
}}this.trackViralSend(b,g,e);
}else{}},trackPageView:function(a){var b={a:"aPV",vReferrer:null,vKW:null,vPVId:null,vPT:a,vInId:null,vOR:null,vLT:null};
globalVariables.track(b);
},trackViralSend:function(b,a,c){},updatePostability:function(){this.canShare=false;
var b=this.accountContainer.getElements(".account-toggle");
var d=false;
for(var c=0,a=b.length;
c<a;
c++){var e=b[c];
if(e.hasClass("active")){this.canShare=true;
break;
}}},updateCharCounter:function(){return false;
}});
var UnlockModal=new Class({Extends:ViralModal,Implements:Events,initialize:function(b,a){if(!a){return;
}this.manager=b;
this.parent(a);
this.playSound();
},addElement:function(a){this.container=new Element("div",{styles:{display:"block",position:"absolute","z-index":1000,top:0,left:0,bottom:0,right:0},events:{click:function(b){b.stop();
}}}).adopt(new Element("div",{"class":"unlock howto tall "+a}).adopt(new Element("h2",{"class":"unlock-header",html:"Welcome back, new feature for you!"}),new Element("p",{"class":"unlock-feature"}),new Element("p",{"class":"unlock-explain"}).adopt(new Element("span",{html:"Now with threadsy you can let your friends know how you really feel about their facebook posts."})),new Element("p",{"class":"unlock-example",html:"clicking this features post's a comment"}),new Element("p",{"class":"unlock-thanks",html:"so keep coming back and tell your friends!"}),new Element("a",{"class":"unlock-button yes",html:"share!",events:{click:function(){var b="Just unlocked a secret feature on @threadsy: Love or Dislike Facebook posts. Get it for yourself, free invite here "+this.manager.boastUrl;
this.submitStatus(b);
}.bind(this)}}),new Element("a",{"class":"unlock-button",html:"no thanks",events:{click:function(){this.destroySimpleBox();
}.bind(this)}}),new Element("div",{"class":"clear"}),this.createFromAccounts())).inject(this.overlay,"after");
this.trackPageView(13);
},playSound:function(){new Element("audio",{src:"sounds/LOZ_Secret.wav",autoplay:"autoplay"}).inject($(document.body),"top");
},trackViralSend:function(b,a,c){var d={a:"aSendViral",vSInId:this.manager.inviteId,vOR:this.manager.inviteOnRamp,vLT:this.manager.inviteLoopType};
if(b){d.vIF=b?1:0;
d.vFF=globalVariables.unifiAccountInstance.numFacebookFriends;
}if(a){d.vIT=a?1:0;
d.vTF=c;
}new Tracking(d).send();
}});
var InviteModal=new Class({Extends:ViralModal,message:"",initialize:function(){var a=new compressedCookie("userData",365);
a.setCookie("invitePopupModal",true);
this.setInvitePopupUrl();
this.parent(false);
},addElement:function(){this.container=new Element("div",{styles:{display:"block",position:"absolute","z-index":1000,top:0,left:0,bottom:0,right:0},events:{click:function(a){a.stop();
}}}).adopt(new Element("div",{"class":"unlock ",id:"invitePopupModal"}).adopt(new Element("h2",{"class":"plain-header",html:"loving threadsy? invite your friends!"}),new Element("p",{"class":"unlock-envelope"}),new Element("p",{"class":"unlock-envelope-explain"}).adopt(new Element("span",{html:"spread the love. send your friends a special invite."})),this.inviteButton=new Element("a",{"class":"unlock-button yes",html:"share!",events:{click:function(a){a.stop();
if(this.message){this.submitStatus(this.message);
}}.bind(this)}}),new Element("a",{"class":"unlock-button",html:"no thanks",events:{click:function(){this.destroySimpleBox();
}.bind(this)}}),new Element("div",{"class":"clear"}),this.createFromAccounts())).inject(this.overlay,"after");
this.trackPageView(14);
},setInvitePopupUrl:function(){globalVariables.makeGatewayRequest("inviteMessage.json",{data:{username:Cookie.read("username"),loopType:"invitepopup",linkType:"vm",reuse:true},onComplete:function(a){this.inviteId=a.id;
this.inviteOnRamp=a.onRamp;
this.inviteLoopType=a.LoopType;
var b=globalVariables.configInstance.absoluteUrlPath+"index2.html?action=invite&code="+a.code+"&inId="+a.id+"&onRamp="+a.onRamp+"&loopType="+a.loopType;
new BitlyShorten({cb:function(c){this.message="pull your email, facebook, and twitter together with threadsy. here's an invite good for 10 people. "+c[b].shortUrl;
}.bind(this),url:b,shortURL:this});
}.bind(this)});
},trackViralSend:function(b,a,c){var d={a:"aSendViral",vSInId:this.inviteId,vOR:this.inviteOnRamp,vLT:this.inviteLoopType};
if(b){d.vIF=b?1:0;
d.vFF=globalVariables.unifiAccountInstance.numFacebookFriends;
}if(a){d.vIT=a?1:0;
d.vTF=c;
}new Tracking(d).send();
}});
var wtfIE=new Class({Implements:[Events,Options],boundOver:null,boundOut:null,boundClick:null,browserName:null,browserVer:null,console:null,consoleHeight:window.getSize().y*0.6,consoleHeightMin:window.getSize().y*0.6,consoleTop:"",consoleArea:null,consoleFx:null,dragHandle:null,inspector:false,object:null,response:null,searchEl:null,searchSlide:null,options:{console:"html",getChildren:"*",version:7},initialize:function(a){this.setOptions(a);
this.browserName=Browser.Engine.name;
this.browserVersion=Browser.Engine.version;
if(this.options.console=="html"){this.createConsole();
}this.initResponse();
this.initDrag();
this.initDragResize();
},clearConsole:function(){this.consoleArea.set("html","");
},createConsole:function(){var f=this;
var a;
var c;
var b;
var d;
var e;
this.console=new Element("div",{"class":"wtfIEConsole",styles:{display:"block",position:"absolute",background:"#000000 url(images/welcomeGrain_middle.png)",left:15,bottom:0,height:this.consoleHeight,width:275,"z-index":10000000,overflow:"hidden"}}).adopt(this.dragHandle=new Element("div",{"class":"wtfIEConsole",styles:{display:"block",position:"absolute",top:0,left:0,right:0,height:15,"background-color":"#000000",opacity:".8","z-index":10000000,cursor:"move"}}).adopt(d=new Element("div",{"class":"wtfIEConsole",styles:{display:"block",position:"absolute",right:5,top:2,visibility:"hidden",color:"#20CBFF","font-size":"11px","font-family":"helvetica"},html:'wtf<span style="color:#ff6632">IE</span>'}),new Element("div",{"class":"wtfIEConsole",html:"x",styles:{display:"block",position:"absolute",top:2,left:3,width:10,height:10,border:"1px solid #404040",color:"#888888","font-family":"helvetica, arial, sans-serif","font-size":10,"text-align":"center",cursor:"pointer",color:"#ff6632"},events:{click:function(){f.console.destroy();
}}}),new Element("div",{"class":"wtfIEConsole",html:"-",styles:{display:"block",position:"absolute",top:2,left:20,width:10,height:10,border:"1px solid #404040",color:"#888888","font-family":"helvetica, arial, sans-serif","font-size":10,"text-align":"center",cursor:"pointer",color:"#FFDE3B"},events:{click:function(){var g=parseInt(f.console.getStyle("height"));
if(this.get("html")=="-"){f.consoleHeightMin=g;
f.consoleFx.start("height",g,15);
this.set("html","+");
d.setStyle("visibility","visible");
}else{f.consoleFx.start("height",15,f.consoleHeightMin);
this.set("html","-");
d.setStyle("visibility","hidden");
}}}}),new Element("div",{"class":"wtfIEConsole",html:"+",styles:{display:"block",position:"absolute",top:2,left:37,width:10,height:10,border:"1px solid #404040",color:"#888888","font-family":"helvetica, arial, sans-serif","font-size":10,"text-align":"center",cursor:"pointer",color:"#68FF3B"},events:{click:function(){if(this.get("html")=="+"){f.consoleHeight=parseInt(f.console.getStyle("height"));
f.consoleTop=parseInt(f.console.getStyle("top"));
this.set("html","-");
f.console.setStyles({height:"",top:0});
}else{this.set("html","+");
f.console.setStyles({height:f.consoleHeight,top:f.consoleTop});
}}}})),new Element("div",{"class":"wtfIEConsole",styles:{display:"block",position:"absolute",top:15,left:0,"background-image":"url(images/wtfIE/wtfIE.png)","background-position":"-18px 0","background-repeat":"no-repeat",height:80,width:225}}),new Element("div",{"class":"wtfIEConsole toolbox",styles:{display:"block",position:"absolute",top:90,left:0,right:0,height:30,"z-index":1000000}}).adopt(new Element("div",{html:"clear",styles:{position:"absolute",display:"block",background:"#ffffff",color:"#000000","font-family":"helvetica, arial, sans-serif","font-size":12,"line-height":18,opacity:0.3,right:5,"text-align":"center",top:13,width:34,cursor:"pointer"},events:{click:function(){this.highlight("#ff6632");
f.clearConsole();
}}}),this.searchEl=new Element("div",{"class":"wtfIEConsole",styles:{display:"block",position:"relative","margin-top":10,cursor:"pointer",height:35,"background-color":"#333333","border-bottom":"solid 2px #111111"}}).adopt(b=new Element("input",{"class":"wtfIEConsole",type:"text",value:"enter a css selector",styles:{display:"block",position:"absolute",width:198,"border-top":"1px solid #000000","border-left":"none","border-right":"none","border-bottom":"1px solid #404040",color:"#ff6632","font-family":"georgia","font-size":13,height:18,left:10,"padding-left":10,"padding-top":5,top:5,"background-color":"#222222"},events:{keypress:function(g){if(g.key=="enter"){c.highlight("#ff6632");
if(b.value!="enter a css selector"||b.value!="enter a css selector plz. k thx bai."){f.initQuery(b.value);
f.slideSearch();
f.console.getElement(".queryBtn").setStyle("background-position","5px -43px");
}}},focus:function(){if(b.value=="enter a css selector"||b.value=="enter a css selector plz. k thx bai."){b.value="";
}},blur:function(){if(b.value==""){b.value="enter a css selector plz. k thx bai.";
}}}}),c=new Element("div",{"class":"wtfIEConsole",styles:{display:"block",position:"absolute",border:"none",color:"#fff",padding:"5px 10px","background-color":"#000000",right:10,top:5},html:"grab",events:{click:function(){c.highlight("#ff6632");
if(b.value!="enter a css selector"||b.value!="enter a css selector plz. k thx bai."){f.initQuery(b.value);
f.slideSearch();
f.console.getElement(".queryBtn").setStyle("background-position","5px -43px");
}}}})),new Element("div",{"class":"wtfIEConsole",styles:{display:"block",position:"absolute",top:-74,right:0,padding:"5px 10px",height:70,width:20,"background-image":"url(../images/wtfIE/toolBox.png)","background-repeat":"no-repeat","background-position":"-89px -2px"}}).adopt(e=new Element("div",{"class":"wtfIEConsole wtfInspect",styles:{display:"block",position:"absolute",top:0,left:0,height:40,width:40,"background-image":"url(../images/wtfIE/toolBox.png)","background-repeat":"no-repeat","background-position":"-37px -42px",cursor:"pointer"},events:{click:function(g){g.stop();
if(f.inspector==false){f.inspector=true;
this.setStyle("background-position","-37px 2px");
}else{f.inspector=false;
this.setStyle("background-position","-37px -42px");
}f.inspectDom();
}}}),new Element("div",{"class":"wtfIEConsole queryBtn",styles:{display:"block",position:"absolute",top:42,left:0,height:38,width:40,"background-image":"url(../images/wtfIE/toolBox.png)","background-repeat":"no-repeat","background-position":"5px -43px",cursor:"pointer"},events:{click:function(g){g.stop();
if(f.searchSlide&&f.searchSlide.open){this.setStyle("background-position","5px -43px");
}else{this.setStyle("background-position","5px 0px");
}f.slideSearch();
}}}))),this.consoleArea=new Element("div",{"class":"wtfIEConsole",styles:{display:"block",position:"absolute",top:102,left:0,right:0,bottom:5,padding:6,overflow:"auto",color:"#ffffff","font-family":"helvetica","border-top":"1px dotted #444","border-bottom":"1px dotted #444"}}),new Element("div",{"class":"wtfIEConsole wtfResize",styles:{display:"block",position:"absolute",bottom:0,left:0,right:0,height:5,background:"#000",opacity:0.6,cursor:"row-resize"}})).inject($(document.body),"top");
this.slideSearch();
this.initConsoleFx();
},highlightEl:function(a){a.setStyles({background:"#20CBFF"});
},unHighlightEl:function(a){a.setStyles("border","");
a.setStyles({background:""});
},initConsoleFx:function(){this.consoleFx=new Fx.Tween(this.console,{duration:500});
},initDrag:function(){var c=this.console;
var a=this.dragHandle;
var b=new Drag.Move(this.console,{handle:this.dragHandle,snap:0,onDrag:function(){c.setStyle("opacity",0.6);
},onComplete:function(){c.setStyle("opacity",1);
var d=parseInt(c.getStyle("left"));
var g=parseInt(c.getStyle("top"));
var f=window.getSize().x;
var e=window.getSize().y;
if(d<5){c.setStyle("left",0);
}if((d+275)>(f-5)){c.setStyle("left",f-275);
}if(g<5){c.setStyle("top",0);
}if(g>e-parseInt(c.getStyle("height"))){c.setStyle("top","");
}}});
},initDragResize:function(){var c=this.console;
var a=this.dragHandle;
var b=new Drag(this.console,{handle:this.console.getElement(".wtfResize"),snap:0,modifiers:{x:"",y:"height"}});
},initHasLayout:function(){var d="testing hasLayout for "+this.setObjectRef(this.object)+"..."+this.setNewLine();
var e=this.testHasLayout(this.object)?"true":"false";
d=d+this.setLabel("results")+": "+this.setNewLine()+this.setObjectRef(this.object)+" : "+e+this.setNewLine();
if(this.options.getChildren){d=d+this.setLabel("testing hasLayout for children on selector")+":"+this.options.getChildren+this.setNewLine();
var c=this.object.getElements(this.options.getChildren);
if(c.length>0){d=d+this.setLabel("results for "+c.length+"children")+":"+this.setNewLine();
for(var a=0,b=c.length;
a<b;
a++){e=this.testHasLayout(c[a])?"true":"false";
d=d+this.setObjectRef(c[a])+" : "+e+this.setNewLine();
}}else{d=d+"no children found"+this.setNewLine();
}}d=d+"hasLayout test complete"+this.setNewLine();
this.logToConsole(d);
},initQuery:function(f){if($type(f)=="element"){var d=$(f);
var c=this.setStyleEl(d);
var e=this.setElContainer(d);
e.grab(c,"bottom");
this.logToConsole(e,"object");
}else{if(f.test("#")){f=f.replace(/#/,"");
var d=$(f);
var c=this.setStyleEl(d);
var e=this.setElContainer(d);
e.grab(c,"bottom");
this.logToConsole(e,"object");
}else{if(f=="body"||f=="document.body"){var d=$(document.body);
var c=this.setStyleEl(d);
var e=this.setElContainer(d);
e.grab(c,"bottom");
this.logToConsole(e,"object");
}else{var d=$(document.body).getElements(f);
for(var a=0,b=d.length;
a<b;
a++){var c=this.setStyleEl(d[a]);
var e=this.setElContainer(d[a]);
e.grab(c,"bottom");
this.logToConsole(e,"object");
}}}}},initResponse:function(){var a=this.setTitle()+this.setLabel("current time")+": "+$time()+this.setNewLine()+this.setLabel("your browser engine")+": "+this.browserName+this.setNewLine()+this.setLabel("your browser version")+": "+this.browserVersion+this.setNewLine()+this.setLabel("currently testing internet explorer version")+": "+this.options.version+this.setNewLine()+this.setLineBreak();
this.logToConsole(a);
},inspectDom:function(){var a=this;
if(!this.boundOver){this.boundOver=this.inspectMouseOver.bind(this);
this.boundOut=this.inspectMouseOut.bind(this);
this.boundClick=this.inspectMouseClick.bind(this);
}if(this.inspector){$(document.body).getElements("*").each(function(b){if($defined(b)&&b.hasClass&&!b.hasClass("wtfIEConsole")){b.addEvents({mouseover:a.boundOver,mouseout:a.boundOut,click:a.boundClick});
}});
}else{$(document.body).getElements("*").each(function(b){if($defined(b)&&b.hasClass&&!b.hasClass("wtfIEConsole")){b.removeEvents({mouseover:a.boundOver,mouseout:a.boundOut,click:a.boundClick});
}});
}},inspectMouseOver:function(a){a.stopPropagation();
this.highlightEl(a.target);
},inspectMouseOut:function(a){a.stopPropagation();
this.unHighlightEl(a.target);
},inspectMouseClick:function(a){a.stopPropagation();
this.initQuery(a.target);
this.inspector=false;
this.inspectDom();
this.console.getElement(".wtfInspect").setStyle("background-position","-37px -42px");
this.unHighlightEl(a.target);
},logToConsole:function(c,d){if(this.options.console=="alert"){alert(c);
}else{if(this.options.console=="log"&&this.browserName!="trident"){console.log(c);
}else{if(this.options.console=="html"){if(d=="object"){c.inject(this.consoleArea,"bottom");
var b=c.getElement(".wtfStyleBlock");
var e=new Fx.Slide(b,{onStart:function(){b.getParent().setStyle("overflow","hidden");
}}).hide();
c.getElement(".wtfElHeader").addEvents({click:function(){c.getElement(".wtfElHeader").highlight("#ff6632");
e.toggle();
}});
}else{var a=this.consoleArea.get("html");
this.consoleArea.set("html",a+c);
}}}}},setElContainer:function(a){var b=a.get("id")||a.get("class")||a.get("tag");
return new Element("div",{styles:{"margin-bottom":5}}).adopt(new Element("div",{"class":"wtfElHeader",styles:{background:"#000000",padding:5,cursor:"pointer"},html:'<span style="color:#ff6632">'+b+"'s</span> computed styles"}));
},setLabel:function(a){return this.options.console=="html"?'<span style="color:#20CBFF">'+a+"</span>":a;
},setLineBreak:function(){return this.options.console=="html"?'<div style="border-bottom:1px dotted #000;margin:6px 0;"></div>':"------------------------------\n";
},setObjectRef:function(a){var b=(a.get("id")||a.get("class")||a.get("name")||a.get("tag"));
return this.options.console=="html"?'<span style="color: #ff6632; font-weight: #bold;">'+b+"</span>":b;
},setNewLine:function(){return this.options.console=="html"?"<br/>":"\n";
},setStyleEl:function(d){var a;
var b=true;
var g;
var f=true;
var e=new Element("div",{"class":"wtfStyleBlock",styles:{"margin-left":10}}).adopt();
var g;
var c=d.getStyles("background","background-attachment","background-color","background-image","background-position","background-repeat","border","border-bottom","border-left","border-right","border-top","bottom","color","clear","cursor","display","float","font","font-family","font-size","font-style","font-variant","height","left","letter-spacing","line-height","list-style","margin","max-height","max-width","min-height","min-width","overflow","outline","right","padding","position","text-align","text-decoration","text-shadow","text-transform","top","vertical-align","visibility","width","z-index");
c=$H(c);
c.each(function(j,h){if(j){new Element("div",{styles:{display:"block",position:"relative"}}).adopt(new Element("div",{html:h,styles:{display:"block","float":"left",color:"#20CBFF"}}),g=new Element("div",{html:": "+j,styles:{display:"block",cursor:"pointer"},events:{click:function(k){var m=k.target.get("html").replace(/: /,"");
var l;
var n=k.target;
n.set("html","");
n.adopt(l=new Element("input",{type:"text",value:m,styles:{display:"block",width:200,border:"none",color:"#ff6632","font-family":"georgia","font-size":11,height:13,left:0,"margin-left":4,"padding-bottom":2,"padding-left":1,"padding-top":0,top:0,"background-color":"#333333"},events:{blur:function(o){var p=o.target.get("value");
n.set("html",": "+p);
d.setStyle(h,p);
},keypress:function(o){if(o.key=="enter"){var p=o.target.get("value");
n.set("html",": "+p);
d.setStyle(h,p);
}}}}));
l.focus();
}}})).inject(e,"bottom");
}});
return e;
},setTitle:function(){return this.options.console=="html"?"":"*wtfIE\n";
},slideSearch:function(){var a=this;
if(!this.searchSlide){this.searchSlide=new Fx.Slide(this.searchEl).hide();
}else{this.searchSlide.toggle();
}},testHasLayout:function(a){var b=false;
if(this.browserName=="trident"){b=a.currentStyle.hasLayout;
}else{var c=a.getStyles("position","float","display","width","height","zoom","writing-mode");
if(c.position=="absolute"||(c.position=="fixed"&&this.options.version==7)){b=true;
}else{if(c["float"]=="left"||c["float"]=="right"){b=true;
}else{if(c.display=="inline-block"){b=true;
}else{if(c.width!="auto"){b=true;
}else{if(c.height!="auto"){b=true;
}else{if(c.zoom!="normal"){b=true;
}else{if(c["writing-mode"]=="tb-rl"){b=true;
}}}}}}}if(!b&&this.options.version==7){c=this.object.getStyles("overflow","overflow-x","overflow-y","min-width","min-height","max-width","max-height");
if(c.overflow=="hidden"||c.overflow=="scroll"||c.overflow=="auto"){b=true;
}else{if(c["overflow-x"]=="hidden"||c["overflow-x"]=="scroll"||c["overflow-x"]=="auto"){b=true;
}else{if(c["overflow-y"]=="hidden"||c["overflow-y"]=="scroll"||c["overflow-y"]=="auto"){b=true;
}else{if(c["min-width"]!="none"){b=true;
}else{if(c["min-height"]!="none"){b=true;
}else{if(c["max-width"]!="none"){b=true;
}else{if(c["max-height"]!="none"){b=true;
}}}}}}}}}if(b){this.fireEvent("hasLayout",a);
}return b;
}});
var HomeFormFields=new Class({initialize:function(){},get_password_fields:function(e,g){var b=($defined(g))?g+"_text":"";
var f=$("rtnUser");
var d=(b!="f_beta_signup_text")&&$defined(f);
var k=($defined(g))?g+"_password":"";
var j=(d)?f.get("class"):"threadsy_largeInput";
var h=(d)?f.getStyle("width"):"630px";
var a=new Element("input").setStyles({width:h}).setProperties({type:"text",id:b,"class":j,value:"enter password...",tabindex:e}).addClass("text").addEvent("click",this.toggle_next.bind(this)).addEvent("keydown",this.handle_field_keypress.bind(this));
var c=new Element("input").setStyles({width:h}).setProperties({type:"password",id:k,"class":j,tabindex:e,maxlength:32}).addClass("password hide");
return{text:a,pass:c};
},get_password_confirm_fields:function(c,e){var a=($defined(e))?e+"_text":"";
var d=$("rtnUser");
var b=(a!="f_beta_signup_text")&&$defined(d);
var g=(b)?d.get("class"):"threadsy_largeInput";
var f=(b)?d.getStyle("width"):"630px";
var h=new Element("input").setStyles({width:f}).setProperties({type:"text","class":g,value:"confirm password",tabindex:c}).addClass("text").addEvent("click",this.toggle_next.bind(this)).addEvent("keydown",this.handle_field_keypress.bind(this));
var j=new Element("input").setStyles({width:f}).setProperties({type:"password","class":g,tabindex:c,maxlength:32}).addClass("password hide");
return{text:h,pass:j};
},handle_field_keypress:function(a){if(a.key!="tab"){this.toggle_next(a);
}},toggle_elem:function(a){a.toggleClass("hide");
},toggle_next:function(a){var b=a.target.getNext();
this.toggle_elem(a.target);
this.toggle_elem(b);
b.focus();
},clear:function(a,b){if(a.target.value==b&&a.key!="tab"&&a.key!="enter"){a.target.value="";
}}});
var HomePage=new Class({Implements:[Options],options:{get_param_blacklist:["code","action","beta","name"]},initialize:function(){this.HomeConfig={message_lib:{"-1":"this is embarrassing... we've encountered a problem.","-2":"sorry, I couldnt register you.","-3":"guess what? this username has already been used to sign up.","-4":"this is embarrassing... we've encountered a problem.","-101":"we do not have a record of the username provided","-103":"bad news, for some reason we could not send you an email","-104":"this is embarrassing... we've encountered a problem.","-105":"this email address is associated with more than one account. try your username.",invalid_key:"this signup code has already been used",used_key:"this signup code has already been used","-201":"sorry it looks like this is not a valid link.","-202":"it appears the link you used is missing that certain special something.","-500":"this is embarrassing... we've encountered a problem.",blank_username:"you forgot to enter a username.",blank_password:"sorry, no blank passwords allowed.",terms_not_checked:"please read our terms of service and check the box below.",username_length:"please enter a username that is between 3 and 100 characters.",forgot_success:"success! we just sent an email to you at ",cannot_login:"couldn't log you in with that information"},default_field_vals:{forgot:"enter username...",login_username:"enter username",request_email:"enter email...",signup_username:"choose a threadsy username..."}},$("main").removeProperty("class");
if($defined(Cookie_Router.landing_page)){$("main").addClass(Cookie_Router.landing_page);
}this.GET=globalVariables.getParams().get();
this.clean_get_params=globalVariables.getParams().get_clean_string(this.options.get_param_blacklist);
this.clearStyles={"border-color":"",color:"","background-color":""};
this.linkSelectedStyles={"border-bottom-color":"#ff6631",color:"#ff6631"};
this.linkDownStyles={"border-bottom-color":"#CF2200",color:"#ff6631"};
this.buttonSelectedStyles={"border-color":"#ff6631","background-color":"#ff6631",color:"#fff"};
this.buttonDownStyles={"border-color":"#CF2200","background-color":"#ff6631",color:"#fff"};
},assignEvent:function(f,c){var e=$(f);
var b=this;
switch(c){case"login_slide":e.addEvents({click:function(j){if($defined(j)){j.stop();
}$("main").getElement("h2.title").empty().set({html:"login to threadsy"});
$$("#c_login p.message").shift().empty();
$("c_login").removeClass("error");
$("rtnUser").value=b.HomeConfig.default_field_vals.login_username;
var h=b.HomeConfig.default_field_vals.login_username;
var k=$("rtnUser");
k.addEvents({click:function(){if(k.value==h){k.value="";
}},keydown:function(l){b.Form_Fields.clear(l,h);
}});
b.myLoginSlide.toggle();
k.focus();
},blur:function(){e.setStyles(b.clearStyles);
},focus:function(){e.setStyles(b.linkSelectedStyles);
},keydown:function(h){if(h.key=="space"){rtnUser.setStyles(b.linkDownStyles);
rtnUser.fireEvent("click");
}},keyup:function(h){if(h.key=="space"){rtnUser.setStyles(b.clearStyles);
}}});
break;
case"forgot_password":var g=this.HomeConfig.default_field_vals.forgot;
e.addEvents({click:function(h){if($defined(h)){h.stop();
}$("main").getElement("h2.title").empty().set({html:"I forgot my <a>password</a>"});
$$("#c_forgot p.message").shift().empty();
$("c_forgot").removeClass("error");
var j=$("f_forgot_name");
j.value=g;
j.addEvents({click:function(){if(j.value==g){j.value="";
}},keydown:function(k){b.Form_Fields.clear(k,g);
}});
b.myLoginSlide.toggle();
b.myForgotSlide.toggle();
$("f_forgot_name").focus();
},blur:function(){e.setStyles(b.clearStyles);
},focus:function(){e.setStyles(b.linkSelectedStyles);
},keyup:function(h){if(h.key=="space"){e.setStyles(b.linkDownStyles);
e.fireEvent("click");
}},keydown:function(h){if(h.key=="space"){e.setStyles(b.clearStyles);
}}});
break;
case"forgot_cancel":e.addEvents({click:function(h){h.stop();
$("main").getElement("h2.title").empty().set({html:'already invited? <a id="login_here" tabindex="7">login here</a>'});
b.myForgotSlide.toggle();
b.assignEvent("login_here","login_slide");
$("login_here").focus();
},blur:function(){e.removeClass("hover");
},focus:function(){e.addClass("hover");
}});
break;
case"request_email":e.value=this.HomeConfig.default_field_vals.request_email;
var a=this.HomeConfig.default_field_vals.request_email;
e.addEvents({click:function(){if(e.value==a){e.value="";
}},keydown:function(h){b.Form_Fields.clear(h,a);
}});
if(Cookie_Router.state=="beta_invite"){e.focus();
}break;
case"signup_username":e.value=this.HomeConfig.default_field_vals.signup_username;
var d=this.HomeConfig.default_field_vals.signup_username;
e.addEvents({click:function(){if(e.value==d){e.value="";
}},keydown:function(h){b.Form_Fields.clear(h,d);
}});
if(Cookie_Router.state=="beta_signup"){e.focus();
}break;
case"signup_container":e.addEvents({keydown:function(h){if(h.key=="enter"||(h.key=="space"&&h.target.id=="f_beta_signup_submit")){b.request_beta_signup(e);
}},keyup:function(h){if(h.key=="enter"||(h.key=="space"&&h.target.id=="f_beta_signup_submit")){}}});
break;
case"invite_container":e.addEvents({keydown:function(h){if(h.key=="enter"||(h.key=="space"&&h.target.id=="f_beta_invite_request")){b.request_beta_invite(h);
$("f_beta_invite_request").addClass("click");
$("f_beta_invite_request").removeEvents("click");
}},keyup:function(h){if(h.key=="enter"||(h.key=="space"&&h.target.id=="f_beta_invite_request")){$("f_beta_invite_request").removeClass("click");
}}});
break;
case"login_container":e.addEvents({keydown:function(h){if(h.key=="enter"||(h.key=="space"&&h.target.id=="rtnSubmit")){b.loginSubmit(h);
}},keyup:function(h){if(h.key=="enter"||(h.key=="space"&&h.target.id=="rtnSubmit")){}}});
break;
case"forgot_container":e.addEvents({keydown:function(h){if(h.key=="enter"||h.key=="space"){if(h.target.id!="f_forgot_cancel"){b.get_new_password(h);
$("f_forgot_submit").setStyles(b.buttonDownStyles);
}else{$("f_forgot_cancel").setStyles(b.buttonDownStyles);
}}},keyup:function(h){if(h.key=="enter"||h.key=="space"){if(h.target.id!="f_forgot_cancel"){$("f_forgot_submit").setStyles(b.clearStyles);
}else{$("f_forgot_cancel").setStyles(b.clearStyles);
}}}});
break;
case"factsheet":e.addEvents({click:function(h){if($defined(h)){h.stop();
}modal.start("/includes/factsheet.tmpl","765 589",true);
},keyup:function(h){if(h.key=="tab"){e.removeProperty("class").addClass("threadsy_a_over");
}},keydown:function(h){if(h.key=="tab"){e.removeProperty("class").addClass("threadsy_a_off");
}else{if(h.key=="space"){e.removeProperty("class").addClass("threadsy_a_down");
e.fireEvent("click");
e.removeProperty("class").addClass("threadsy_a_off");
}}}});
}},load:function(){var a=this;
$("home").removeClass("hide");
var b=$("main").getPosition().y;
if(b<0){var e=parseInt($("wrapper").getStyle("margin-top"))+(-b);
$("wrapper").setStyle("margin-top",e);
}window.addEvents({resize:function(){b=$("main").getPosition().y;
if(b>=0){$("wrapper").removeProperty("style");
}else{var f=parseInt($("wrapper").getStyle("margin-top"))+(-b);
$("wrapper").setStyle("margin-top",f);
}},scroll:function(){if($(window).getScroll().y>0){$(window).scrollTo(0,0);
$(window).removeEvents.delay(500,window,"scroll");
}}});
if(Cookie_Router.state=="login_rmbr"){if(this.GET.logout){$("c_logout").grab($("c_user_actions"));
}else{$("c_welcome").grab($("c_user_actions"));
$("c_user_actions").setStyles({"float":"none",margin:"5px auto"});
}this.resizeLogin();
var d=$("feedback_link");
d.addEvents({blur:function(){d.setStyles({"border-bottom-color":"",color:""});
},focus:function(){d.setStyles(a.linkSelectedStyles);
},keydown:function(f){if(f.key=="space"){d.setStyles(a.linkDownStyles);
window.open(d.href);
}},keyup:function(f){if(f.key=="space"){d.setStyles(a.clearStyles);
}}});
var c=$("welcome_feedback_link");
c.addEvents({blur:function(){c.setStyles({"border-bottom-color":"",color:""});
},focus:function(){c.setStyles(a.linkSelectedStyles);
},keydown:function(f){if(f.key=="space"){c.setStyles(a.linkDownStyles);
window.open(c.href);
}},keyup:function(f){if(f.key=="space"){c.setStyles(a.clearStyles);
}}});
}this.myLoginSlide=new Fx.Slide("c_login",{duration:300,transition:Fx.Transitions.Pow.easeOut});
this.myLoginSlide.hide();
if($defined(Cookie.read("username"))){this.myLoginSlide.slideIn();
$("main").getElement("h2.title").empty().set({html:"log in to <a>threadsy</a>"});
}this.myForgotSlide=new Fx.Slide("c_forgot",{duration:300,transition:Fx.Transitions.Pow.easeOut});
this.myForgotSlide.hide();
if(!$defined(Cookie.read("username"))){this.assignEvent("login_here","login_slide");
}this.assignEvent("forgot_password","forgot_password");
this.assignEvent("f_forgot_cancel","forgot_cancel");
this.assignEvent("f_beta_invite","request_email");
this.assignEvent("f_beta_signup_name","signup_username");
this.assignEvent("c_beta_signup","signup_container");
this.assignEvent("c_beta_invite","invite_container");
this.assignEvent("c_login","login_container");
this.assignEvent("c_forgot","forgot_container");
this.assignEvent("a_factsheet","factsheet");
this.login();
this.forgot();
this.request();
this.signup();
},login:function(){var a=this;
this.Form_Fields=new HomeFormFields();
var b=this.Form_Fields.get_password_fields(8,"login");
b.pass.addEvent("blur",function(){});
b.text.inject($("rtnUser"),"after");
b.pass.inject(b.text,"after");
if($defined(Cookie.read("username"))){$("login_text").focus();
}var c=$("rtnSubmit");
c.addEvents({click:a.loginSubmit.bind(a),blur:function(){c.removeClass("hover");
},focus:function(){c.addClass("hover");
}});
},loginSubmit:function(c){var g=$("rtnUser").get("value");
var b=new unifiAccount();
var e=new getParams();
var a=e.get("admin",window.location.href);
c.stop();
if(b.login(g,$("login_password").get("value"),a)){if(a){var d={a:"aAdminLogin",vAdmin:a,vUName:g,vRsn:e.get("reason",window.location.href)};
new Tracking(d).send(false);
}document.location.href=globalVariables.config().absoluteUrlPath.replace(/https:/,"http:")+"messages.html"+window.location.search;
}else{var f=$("c_login");
f.getElement(".message").set("html","couldn't log you in with that information").addClass("error");
f.addClass("error");
}},forgot:function(){var a=this;
var c=$("f_forgot_submit");
c.addEvents({blur:function(){c.removeClass("hover");
},focus:function(){c.addClass("hover");
},click:a.start_get_new_password.bind(a)});
var b=$("f_forgot_cancel");
b.addEvents({keydown:function(d){if(d.key=="tab"){d.stop();
$("f_forgot_name").focus();
}}});
},start_get_new_password:function(){var b=this;
var c=$("f_forgot_name").value;
globalVariables.validation().set_default("username",this.HomeConfig.default_field_vals.forgot);
if(!globalVariables.validation().is_empty(c)){var d=new Element("img",{src:"images/loaders/loader_large.gif",width:20,height:20});
$$("#c_forgot p.message").shift().empty().grab(d);
b.get_new_password.delay(500,b);
}else{var a=$("c_forgot");
a.getElement(".message").set("html",this.HomeConfig.message_lib.blank_username).addClass("error");
a.addClass("error");
}},get_new_password:function(){var a=this;
var b=$("f_forgot_name").value;
var c=function(j){if(!j.error){var h="sending you an email...";
$$("#c_forgot p.message").shift().empty().appendText(h).removeClass("error");
globalVariables.configInstance.shard=j.shard;
globalVariables.configInstance.initShardServer();
new Cookie("shard",{domain:"threadsy.com"}).write(j.shard);
var k=a.sendPasswordEmail.bind(a,[j.code,j.shard,j.id,b]);
globalVariables.createShardIframe(document,k,k,"");
}else{var f=j.error+-100;
var g=a.HomeConfig.message_lib[f];
$$("#c_forgot p.message").shift().empty().appendText(g).addClass("error");
}};
var d=function(){var f=a.HomeConfig.message_lib[-500];
$$("#c_forgot p.message").shift().empty().appendText(f).addClass("error");
};
var e={};
e.username=b;
globalVariables.makeGatewayRequest("forgotPass.json",{data:e,isAsync:true,onSuccess:c,onFailure:d});
},sendPasswordEmail:function(e,g,h,b){var a=this;
var c=function(m){if(m&&!m.error){var l=a.HomeConfig.message_lib.forgot_success+m.email;
$$("#c_forgot p.message").shift().empty().appendText(l).removeClass("error");
}else{var j=m.error+-100;
var k=a.HomeConfig.message_lib[j];
$$("#c_forgot p.message").shift().empty().appendText(k).addClass("error");
}};
var d=function(){var j=a.HomeConfig.message_lib[-500];
$$("#c_forgot p.message").shift().empty().appendText(j).addClass("error");
};
var f={};
f.accountId=h;
f.code=e;
f.username=b;
f.gatewayServer=globalVariables.configInstance.absoluteUrlPath;
globalVariables.makeShardRequest("forgotPasswordEmail.json",{data:f,isAsync:true,onSuccess:c,onFailure:d});
},request_beta_invite:function(b){var a=this;
var c=function(j){if(!j.error){$("c_beta_invite_inputs").toggleClass("hide");
new Element("div",{"class":"space_this"}).inject($("c_beta_invite").getElement("p.message"),"before");
$("c_beta_invite").getElement("p.message").set({html:"<b>thanks!</b> we'll send you an invite as soon as things are ready."}).addClass("success");
}else{b.target.addEvent("click",a.request_beta_invite);
var h=a.HomeConfig.message_lib[j.error];
$$("#c_beta_invite p.message").shift().empty().appendText(h).addClass("error");
$("c_beta_invite_inputs").addClass("error");
}};
var g=$("f_beta_invite").value.replace(/^\s*/,"").replace(/\s*$/,"");
if(globalVariables.validation().is_email(g)){b.target.removeEvents("click");
var e=new getParams();
var f=e.get("src",window.location.href);
var d={email:g,beta:"prerelease",src:f};
globalVariables.makeGatewayRequest("betaReq.json",{data:d,isAsync:true,onComplete:c});
}else{$$("#c_beta_invite p.message").shift().empty().appendText("really? that's your email address?").addClass("error");
$("c_beta_invite_inputs").addClass("error");
}},resizeLogin:function(){$("c_user_actions").getElements(".threadsy_smallInput").each(function(a){a.removeClass("threadsy_smallInput");
a.addClass("threadsy_largeInput");
});
$("c_user_actions").setStyles({width:520,margin:"35px auto 0","float":"none"});
$("c_login").setStyles({width:520,height:230});
$("c_forgot").setStyles({width:520,height:230});
$("f_forgot_name").setStyle("width",500);
$("rtnUser").setStyle("width",500);
},request:function(){var a=this;
var b=$("f_beta_invite_request");
$("f_beta_invite_request").addEvents({click:function(c){a.request_beta_invite(c);
},focus:function(){b.addClass("hover");
},blur:function(){if(b.hasClass("hover")){f_beta_invite_requestremoveClass("hover");
}},mousedown:function(){b.addClass("click");
},mouseup:function(){b.removeClass("click");
}});
},request_beta_signup:function(d){var b=this;
var e=$("f_beta_signup_name").value;
var p=$("f_beta_signup_password").value;
b.GET.code=(b.GET.code=="")?false:b.GET.code;
var c=this.GET.code;
var o=this.GET.beta;
var n=this.GET.inId;
var g=this.GET.onRamp||this.GET.loopCode;
var l=b.validate_fields();
if(!l){d.removeEvents("click");
var a=globalVariables.abTest(false,null).getTestData();
var j={username:e,password:p,code:c,beta:o,inId:n,onRamp:g,testId:a.id,bucket:a.bucket};
var h=globalVariables.makeGatewayRequest("register.json",{method:"post",data:j});
var m=parseInt(h.response.json.result);
if(m==-1){$$("#c_beta_signup p.message").shift().empty().appendText(b.HomeConfig.message_lib.invalid_key).addClass("error");
}else{if(m==-2){$$("#c_beta_signup p.message").shift().empty().appendText(b.HomeConfig.message_lib.used_key).addClass("error");
}else{if(m==-3){d.addEvent("click",function(){b.request_beta_signup(d);
});
$$("#c_beta_signup p.message").shift().empty().appendText(b.HomeConfig.message_lib[-3]).addClass("error");
}else{Cookie.write("username",e,{domain:"threadsy.com",duration:3650});
var k=new compressedCookie("userData",365);
k.setCookie("cohort",h.response.json.cohort);
k.setCookie("referringCohort",h.response.json.referringCohort);
var f=(b.clean_get_params=="?")?"email=":"&email=";
document.location.href=globalVariables.config().absoluteUrlPath.replace(/https:/,"http:")+"signup.html"+b.clean_get_params+f+h.response.json.email+"&nr=1";
}}}}else{$$("#c_beta_signup p.message").shift().empty().appendText(b.HomeConfig.message_lib[l]).addClass("error");
}},signup:function(){var c=this;
var f=c.Form_Fields.get_password_fields(2,"f_beta_signup");
f.pass.addEvent("blur",function(){});
f.text.inject($("f_beta_signup_name"),"after");
f.pass.inject(f.text,"after");
var d=$("f_beta_signup_submit");
d.addEvents({blur:function(){if(d.hasClass("hover")){d.removeClass("hover");
}},focus:function(){d.addClass("hover");
},click:function(){c.request_beta_signup(d);
}});
var b=$("terms_link");
b.addEvents({click:function(){modal.start("/includes/terms.tmpl","768 595",true);
},blur:function(){b.setStyles(c.clearStyles);
},focus:function(){b.setStyles(c.linkSelectedStyles);
}});
var a=$("privacy_link");
a.addEvents({click:function(){modal.start("/includes/privacy.tmpl","768 595",true);
},blur:function(){a.setStyles(c.clearStyles);
},focus:function(){a.setStyles(c.linkSelectedStyles);
}});
var e=$("TS_checkbox");
e.addEvents({blur:function(){e.setStyles({outline:"none",border:""});
},focus:function(){e.setStyles({outline:"1px solid #f26631",border:"2px dotted #f26631"});
}});
},validate_fields:function(){var d=new validation({username:this.HomeConfig.default_field_vals.signup_username,password:"password"});
var a=d.username($("f_beta_signup_name").get("value"));
var c=globalVariables.validation().password($("f_beta_signup_password").get("value"));
var b=($("TS_checkbox").checked==false)?"terms_not_checked":false;
return a||c||b;
}});
if($("c_beta_invite")){$("c_beta_invite").getElement("p.overview").set("text","We noticed you are using IE6. To get the full Threadsy experience please upgrade to a modern browser.");
}var Meebo={exec:function(){Meebo._.push(arguments);
},_:[]};
Meebo.exec("domReady");
Meebo.exec("discoverSharable");
Meebo.disableSharePageButton=true;
var GlobalFx;
var resetPassword=new Class({Extends:formFields,initialize:function(a){this.username=globalVariables.getParams().get().user;
this.container=$(a);
this.dom=[];
this.buttonSelectedStyles={"border-color":"#ff6631","background-color":"#ff6631",color:"#fff"};
this.buttonDownStyles={"border-color":"#CF2200","background-color":"#ff6631",color:"#fff"};
this.clearStyles={"border-color":"",color:"","background-color":""};
this.draw();
$("password_text").focus();
},draw:function(){var d=this;
var g=new Element("div").addClass("main");
var a=new Element("p").addClass("message");
var f=this.get_password_fields(1);
f.text.removeClass("threadsy_smallInput");
f.text.addClass("threadsy_largeInput");
f.pass.removeClass("threadsy_smallInput");
f.pass.addClass("threadsy_largeInput");
var c=this.get_password_confirm_fields(2);
c.text.removeClass("threadsy_smallInput");
c.text.addClass("threadsy_largeInput");
c.pass.removeClass("threadsy_smallInput");
c.pass.addClass("threadsy_largeInput");
var e=new Element("a",{id:"f_reset_password","class":"button "+globalVariables.siteColor,events:{click:function(){d.validate();
},blur:function(){if(e.hasClass("hover")){e.removeClass("hover");
}},focus:function(){e.addClass("hover");
},keydown:function(h){if(h.key=="enter"||(h.key=="space"&&e.id=="f_reset_password")){d.validate.bind(d);
$("f_reset_password").addClass("hover");
}},keyup:function(h){if(h.key=="enter"||(h.key=="space"&&e.id=="f_reset_password")){if(e.hasClass("hover")){e.removeClass("hover");
}}}},tabindex:3,html:'<div class="threadsy_bl_small"></div><div class="threadsy_bm_small">save</div><div class="threadsy_br_small"></div>'});
$("main").addEvents({keydown:function(h){if(h.key=="enter"){d.validate();
$("f_reset_password").setStyles(d.buttonDownStyles);
}},keyup:function(h){if(h.key=="enter"){$("f_reset_password").setStyles(d.clearStyles);
}}});
var b=new Element("p").addClass("message lower");
this.dom.main=g;
this.dom.p_msg=a;
this.dom.pass_enter=f.pass;
this.dom.pass_confm=c.pass;
this.dom.button=e;
this.dom.p_msg_lower=b;
this.dom.c_success=$("c_success");
g.grab(a).grab(f.text).grab(f.pass).grab(c.text).grab(c.pass).grab(e).grab(b);
this.container.grab(g);
},validate:function(){if(this.dom.pass_enter.value!=this.dom.pass_confm.value){this.dom.main.addClass("error");
this.dom.p_msg.empty().appendText("passwords do not match.");
GlobalFx.pulse(this.dom.p_msg,null,"#EDFBFC");
this.dom.pass_enter.focus();
}else{if(this.dom.pass_enter.value==""&&this.dom.pass_confm.value==""){this.dom.main.addClass("error");
this.dom.p_msg.empty().appendText("whoah there cupcake - no blank passwords.");
GlobalFx.pulse(this.dom.p_msg,null,"#EDFBFC");
this.dom.pass_enter.focus();
}else{this.password=this.dom.pass_enter.value;
this.update(this.password);
}}},update:function(a){var b={code:globalVariables.getParams().get("code"),username:this.username,password:a};
globalVariables.makeGatewayRequest("resetPass.json",{data:b,isAsync:true,method:"post",onSuccess:this.handle_update_success.bind(this),onFailure:this.handle_update_failure.bind(this)});
},handle_update_success:function(b){if(!b.error){var a=this;
this.dom.main.removeClass("error");
new Fx.Morph(this.dom.main,{duration:"long",transition:Fx.Transitions.Sine.easeOut}).start({opacity:[1,0]}).chain(function(){a.dom.main.setStyle("display","none");
a.dom.c_success.removeClass("hide");
a.dom.c_success.addClass("success").set({html:'congrats! password updated. <p><a id="check_messages" href="#">now - check your messages</a></p>'});
$("check_messages").addEvent("click",function(){var c=new unifiAccount();
c.login(a.username,a.password);
document.location.href=globalVariables.config().absoluteUrlPath.replace(/https:/,"http:")+"messages.html";
});
});
}else{this.dom.main.addClass("error");
this.dom.p_msg.empty().appendText(ResetConfig.message_lib[b.error]);
GlobalFx.pulse(this.dom.p_msg);
}},handle_update_failure:function(){}});
var globalFx=new Class({initialize:function(){this.error="#FFEFEF";
},pulse:function(c,a,b){this.color=(a)?a:this.error;
this.bgcolor=(b)?b:"#fff";
new Fx.Morph(c,{onComplete:function(){new Fx.Morph(c).start({"background-color":this.bgcolor});
}}).start({"background-color":this.color});
}});
ResetConfig={message_lib:{"-1":"whoops, missing arguments","-2":"You may have already used this link to reset your password.","-3":"this is embarrassing... we've encountered a problem.","-4":"guess what? code doesnt match.","-100":"please enter the account username.","-101":"please enter an account password","-102":"ooops... we've had a problem.","-103":"wow, i'm not sure what just happened. try later."}};
