TAGGED.namespace("api");TAGGED.api={format:"json",_login_regex_match:/\\"error\\":{\\"code\\":11,.*}/,_captcha_regex_match:/"stat":"security"/,errorResponse:{stat:"fail",error:{code:-1}},errorResponseBC:'({stat: "fail", error: {code: -1}})',queue:[],_deferQueueTime:300,defer:[],_deferTimer:null,_trackedRequests:{},_requestsLUT:{},dequeue:function(){var a=this.queue;this.queue=[];if(a.length){this.call(a)}},deferDequeue:function(){if((this.queue.length+this.defer.length)<=1){this.startDefer({result:this._deferQueueTime});return}this.queue=this.queue.concat(this.defer);this.defer=[];this.dequeue()},handleDefer:function(){this.stopDefer();if(!this.defer.length||this.defer[this.defer.length-1].callback!="TAGGED.api.startDefer"){this.defer.push({method:"tagged.util.echoIt",data:this._deferQueueTime,callback:"TAGGED.api.startDefer"})}this.deferDequeue()},startDefer:function(a){var b=0;if(a){if(a.stat=="fail"){return}if(a.result){b=a.result}else{b=a}}if(YAHOO.lang.isString(b)){b=parseInt(b)}if(!YAHOO.lang.isNumber(b)){b=0}if(b>0){this.stopDefer();this._deferTimer=window.setTimeout("TAGGED.api.handleDefer()",1000*b)}else{this.handleDefer()}},stopDefer:function(){if(!this._deferTimer){return}window.clearTimeout(this._deferTimer);this._deferTimer=null},call:function(k,g){if(this.queue.length&&!g&&YAHOO.lang.isObject(k)){if(YAHOO.lang.isArray(k)){for(var d=0,h=k.length;d<h;++d){this.queue.push(k[d])}}else{this.queue.push(k)}this.dequeue();return}var a="\n";var e={application_id:"user",format:this.format};if(this.getQueryStringParameter("no_cache")||this.getQueryStringParameter("clear_cache")){e.no_cache="1"}var j=this.getQueryStringParameter("loc");if(!j){j=this.getQueryStringParameter("locale")}if(j){e.locale=j}if(k.constructor==Array){var c=tagged.clone(k);for(var d=0,f=k.length;d<f;++d){if(k[d].constructor==String){a+=k[d]+"\n"}else{if(typeof(k[d].callback)=="object"){delete k[d].callback}a+=TAGGED.api.createQueryString(k[d],true)+"\n"}}}else{if(k.constructor==String){var c=k;a+=k+"\n"}else{var c={};YAHOO.lang.augmentObject(c,k);if(typeof(k.callback)=="object"){delete k.callback}a+=TAGGED.api.createQueryString(k,true)+"\n"}}e.session_token=YAHOO.util.Cookie.get("S");TAGGED.api.callback.argument=g;var b=YAHOO.util.Connect.asyncRequest("POST","/api/?"+TAGGED.api.createQueryString(e),TAGGED.api.callback,a);if(tagged.performance){tagged.performance.addXHR(b,a)}this.pushRequestLUT(b.tId,c);return b},callback:{success:function(a){if(!a||!a.responseText){if(tagged.performance){tagged.performance.updateXHRQueue()}TAGGED.api.evalResponse(a,true)}if(tagged.performance){tagged.performance.removeXHR(a)}if(a.responseText.search(TAGGED.api._login_regex_match)>=0){window.location="/index.html?r="+encodeURIComponent(window.location)}else{if(tagged.diagnostics){tagged.diagnostics.findApiData(a.responseText)}if(a.argument){a.argument()}TAGGED.api.evalResponse(a)}},failure:function(a){if(tagged.performance){tagged.performance.updateXHRQueue()}TAGGED.api.evalResponse(a,true)}},recall:function(a,b){if(b==null||b==""){b="default"}if(TAGGED.api._trackedRequests[b]!=null){YAHOO.util.Connect.abort(TAGGED.api._trackedRequests[b]);TAGGED.api._trackedRequests[b]=null}TAGGED.api._trackedRequests[b]=TAGGED.api.call(a)},nullResponseHandler:function(){},createQueryString:function(b,a){var c="";if(a){b.api_signature="";if(TAGGED.guid){b.track=TAGGED.guid}if(b.method){c+="method="+encodeURIComponent(b.method)+"&";delete b.method}else{alert(TAGGED.api.strings.errorMethodMissing);return""}}for(i in b){c+=encodeURIComponent(i)+"="+encodeURIComponent(b[i])+"&"}if(c.length){return c.substr(0,c.length-1)}return c},pushRequestLUT:function(e,c){var d=function(h){var f=h.indexOf("callback=")+9;var g=h.slice(f,h.indexOf("&",f));return{callback:g}};if(YAHOO.lang.isArray(c)){this._requestsLUT[e]=[];for(var b=0,a=c.length;b<a;++b){if(YAHOO.lang.isString(c[b])){this._requestsLUT[e].push(d(c[b]))}else{this._requestsLUT[e].push(c[b])}}}else{if(YAHOO.lang.isString(c)){this._requestsLUT[e]=[d(c)]}else{this._requestsLUT[e]=[c]}}},popRequestLUT:function(b){var a=this._requestsLUT[b];delete this._requestsLUT[b];return a},evalResponse:function(o,isError){var requestCalls=this.popRequestLUT(o.tId);if(!requestCalls||!requestCalls.length){return}if(!isError){try{if(!o.responseText){isError=true}else{if(this.format=="jsonp"){eval(o.responseText);return}else{var requestData=eval(o.responseText);if(requestCalls.length!=requestData.length){isError=true}}}}catch(e){isError=true;alert(TAGGED.api.strings.errorGeneral)}}for(var i=0;i<requestCalls.length;i++){var _request=requestCalls[i];if(typeof(_request.callback)=="string"){if(isError){eval(_request.callback+TAGGED.api.errorResponseBC)}else{try{if(requestData[i].search(TAGGED.api._captcha_regex_match)>-1){var data=eval("("+requestData[i]+")");tagged.security.captcha.trigger(data,_request)}else{eval(_request.callback+"("+requestData[i]+")")}}catch(e){eval(_request.callback+TAGGED.api.errorResponseBC)}}}else{if(isError){_request.callback.fn.apply(_request.callback.scope,[TAGGED.api.errorResponse,_request.callback.args])}else{try{var data=eval("("+requestData[i]+")");if(data.stat=="security"){tagged.security.captcha.trigger(data,_request)}else{if(_request.callback&&_request.callback.fn){var start=new Date();_request.callback.fn.apply(_request.callback.scope,[data,_request.callback.args]);var end=new Date();if(tagged.performance){tagged.performance.recordBenchmarkAPI({apiMethod:_request.method,result:(end-start)})}}}}catch(e){if(_request.callback){_request.callback.fn.apply(_request.callback.scope,[TAGGED.api.errorResponse,_request.callback.args])}}}}}}};if(tagged.exists("H")){TAGGED.api.getQueryStringParameter=H.getQueryStringParameter}else{TAGGED.api.getQueryStringParameter=function(f,c){var d,b,a,h,g,e;c=c||window.location.href;a=c.indexOf("?");h=a>=0?c.substr(a+1):c;a=h.lastIndexOf("#");h=a>=0?h.substr(0,a):h;g=h.split("&");for(d=0,b=g.length;d<b;d++){e=g[d].split("=");if(e.length>=2){if(e[0]===f){return unescape(e[1])}}}return null}}E.onDOMReady(function(){TAGGED.api.startDefer({result:1})});function str_repeat(b,a){for(var c=[];a>0;c[--a]=b){}return(c.join(""))}function sprintf(){var h=0,l,j=arguments[h++],d=[],e,b,k,n;var q=j;if(typeof arguments[1]=="object"){var g=arguments[1];return q.replace(/%\(([^)]+)\)/g,function(c,a){return g[a]})}while(j){if(e=/^[^\x25]+/.exec(j)){d.push(e[0])}else{if(e=/^\x25{2}/.exec(j)){d.push("%")}else{if(e=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(j)){var r=e[1]||h++;if(r>=arguments.length){throw ("Too few arguments: "+q)}var l=arguments[r];switch(e[7]){case"b":l=parseInt(l);l=l.toString(2);break;case"c":l=String.fromCharCode(l);break;case"d":l=parseInt(l);break;case"e":l=parseFloat(l);l=e[6]?l.toExponential(e[6]):l.toExponential();break;case"f":l=e[6]?parseFloat(l).toFixed(e[6]):parseFloat(l);break;case"o":l=parseInt(l);l=l.toString(8);break;case"s":l=((l=String(l))&&e[6]?l.substring(0,e[6]):l);break;case"u":l=Math.abs(l);break;case"x":l=parseInt(l);l=l.toString(16);break;case"X":l=parseInt(l);l=l.toString(16).toUpperCase();break}l=(/[def]/.test(e[7])&&e[2]&&l>0?"+"+l:l);k=e[3]?e[3]=="0"?"0":e[3].charAt(1):" ";n=e[5]-String(l).length;b=e[5]?str_repeat(k,n):"";d.push(e[4]?l+b:b+l)}else{throw ("Huh ?!")}}}j=j.substring(e[0].length)}return d.join("")};tagged.namespace("util.stringBuffer");tagged.util.stringBuffer=function(){this.buffer=[]};tagged.util.stringBuffer.prototype={add:function(c){var b=0;var a=arguments.length;for(;b<a;++b){if(typeof(arguments[b])!="undefined"){this.buffer[this.buffer.length]=arguments[b]}}},append:function(a){this.buffer[this.buffer.length]=a},toString:function(){return this.buffer.join("")}};tagged.namespace("header.connect");tagged.header.connect={container:'<div class="service_container">%s%s</div>',imageHtml:'<div class="image_container connect_icon %s"></span><img width="25" height="25" src="%s" /></div>',nameHtml:'<div class="name_container"><span>%s</span><br/><span class="logout"><a id="%s_logout" class="logout" href="#">(%s)</a></span></div>',init:function(){var a=YAHOO.util.Cookie.get("connect_status");if(D.get("connect_footer")&&tagged.currentUserStatus!=null&&(!a||a>0)){TAGGED.api.queue.push({method:"tagged.connect.getAccountInfos",callback:"tagged.header.connect.show"})}},show:function(e){var b=new tagged.util.stringBuffer();if(e.stat!="ok"){return}e=e.result;var a=false;for(var c in e){var d=e[c];if(d&&d.linked){a=true;b.add(sprintf(this.container,sprintf(this.imageHtml,c+"_icon",d.url),sprintf(this.nameHtml,sprintf(tagged.header.connect.strings.greeting,d.name),c,tagged.header.connect.strings.logout)))}}if(a){D.get("connect_footer").innerHTML=b.toString();D.removeClass("connect_footer","hide_me");E.addListener(D.getElementsByClassName("logout","a"),"click",this.logout)}else{YAHOO.util.Cookie.set("connect_status","-1")}},logout:function(b){E.preventDefault(b);var a=E.getTarget(b);if(a&&a.tagName.toUpperCase()!="A"){a=a.parentNode}if(a.id=="facebook_logout"){FB.getLoginStatus(function(c){if(c.session){FB.logout(function(d){window.location.href="/logout.html"})}else{window.location.href="/logout.html"}})}else{window.location.href="/logout.html"}}};E.onDOMReady(tagged.header.connect.init,"",tagged.header.connect);tagged.namespace("header.alerts");tagged.header.alerts={menuEl:null,alertIconHTML:"",alertMenuOpen:false,init:function(a){var b=(a&&a.result)?TAGGED.api.queue:TAGGED.api.defer;b.push({method:"tagged.header.renderAlerts",callback:"tagged.header.alerts.show"});if(a&&a.result){TAGGED.api.dequeue();return}b.push({method:"tagged.util.echoIt",data:"",callback:"tagged.header.alerts.init"})},show:function(a){if(a&&a.stat&&a.stat=="ok"&&a.result&&a.result.icons){this._renderAlertIcons(a.result.icons);if(a.result.drop_down){this._renderAlertsMenu(a.result.drop_down)}}},_renderAlertIcons:function(b){var a=D.get("header_alerts");a.style.visibility="visible";a.innerHTML=this.alertIconHTML=b},_renderAlertsMenu:function(alerts){var alertsMenu=D.get("alerts_dropdown");var alertsMenuContainer=D.getFirstChild(alertsMenu);var alertsMenuIcon=D.get("alerts-icon");if(!alertsMenu||!alertsMenuIcon){return}alertsMenuIcon.style.visibility="visible";if(!this.menuEl){var refEl=D.getFirstChild("presence-icon")||D.getFirstChild(alertsMenuIcon);this.menuEl=new YAHOO.widget.Menu(alertsMenu,{context:[refEl,"tr","br"],iframe:true,visible:false,zindex:1000})}this.menuEl.clearContent();for(i in alerts){var alertTitle=alerts[i].label||"";var alertURL=alerts[i].link||"#";var item={className:"icon "+i,text:alertTitle,url:alertURL};if(alerts[i].onclick){var alertOnClick=alerts[i].onclick;item.onclick={fn:function(){eval(alertOnClick)}}}this.menuEl.addItem(item)}this.menuEl.render();var items=this.menuEl.getItems();var i=0;for(idx in alerts){if(i>=items.length){break}items[i].element.title=alerts[idx].label;i++}window.setTimeout(this._attachEventHandlers,0)},_attachEventHandlers:function(){YAHOO.widget.Overlay.windowResizeEvent.subscribe(function(){this.menuEl.align("tr","br")},tagged.header.alerts,true);E.addListener("alerts-icon","click",function(b){if(this.ignoreOpen){return}var a=D.get("header_alerts");a.innerHTML=sprintf('<div class="alerts_nav_menu_open">%s</div>',tagged.header.alerts.strings.newAlerts);this.handleAlertsHover("add");this.alertMenuOpen=true;this.menuEl.align("tr","br");this.menuEl.show();this.menuEl.element.style.marginTop="-1px";E.stopEvent(b)},tagged.header.alerts,true);tagged.header.alerts.menuEl.hideEvent.subscribe(function(){var a=D.get("header_alerts");this.menuEl.element.style.marginTop="0";a.innerHTML=this.alertIconHTML;this.alertMenuOpen=false;this.handleAlertsHover("remove");E.addListener(document,"mouseup",function(b){this.ignoreOpen=true;window.setTimeout(function(){tagged.header.alerts.ignoreOpen=false;E.removeListener(document,"mouseup")},0)},tagged.header.alerts,true)},tagged.header.alerts,true)},handleAlertsHover:function(b,d){if(this.alertMenuOpen){return}if(b&&(b=="add"||b=="remove")){var a=D.get("header_alerts");var c=D.getFirstChild("alerts-icon");if(d){D[b+"Class"](a,"alerts-semi-hover");if(c){D[b+"Class"](c,"alerts-hover")}}else{D.removeClass(a,"alerts-semi-hover");D[b+"Class"](a,"alerts-hover");if(c){D[b+"Class"](c,"alerts-hover")}}}},launchChatplus:function(a){var b=window.open("/chatplus.html?inviteid="+a,"tagged_chat","height=590,width=980,menubar=0,toolbar=0,status=0,location=0,scrollbars=0,resizable=0");if(b){b.focus()}else{alert("Please disable your browser's popup blocker.")}}};E.onDOMReady(function(){tagged.header.alerts.init(false)});