YAHOO.util.History=(function(){var e=null;var n=null;var i=false;var f=[];var d=[];var m=false;var j=null;var g=[];function l(){var q,p;p=top.location.href;q=p.indexOf("#");return q>=0?p.substr(q+1):null}function a(){var q,r,s=[],p=[];for(q in f){if(YAHOO.lang.hasOwnProperty(f,q)){r=f[q];s.push(q+"="+r.initialState);p.push(q+"="+r.currentState)}}n.value=s.join("&")+"|"+p.join("&");if(YAHOO.env.ua.webkit){n.value+="|"+d.join(",")}}function k(p){var u,v,q,s,t,x,w,r;if(!p){for(q in f){if(YAHOO.lang.hasOwnProperty(f,q)){s=f[q];s.currentState=s.initialState;s.onStateChange(unescape(s.currentState))}}return}t=[];x=p.split("&");for(u=0,v=x.length;u<v;u++){w=x[u].split("=");if(w.length===2){q=w[0];r=w[1];t[q]=r}}for(q in f){if(YAHOO.lang.hasOwnProperty(f,q)){s=f[q];r=t[q];if(!r||s.currentState!==r){s.currentState=r||s.initialState;s.onStateChange(unescape(s.currentState))}}}}function o(){if(m){m=false;return}g.pop();if(g.length){j=g[g.length-1];window.history.forward();m=true}else{window.history.back()}}function c(q,p){m=true;e.src="/blank.html";j=q;if(g[g.length-1]!=q){g.push(j)}return true}function b(){var s,p,r,q;if(!e.contentWindow){setTimeout(b,10);return}g.push(null);r=j?j:null;q=l();setInterval(function(){var y,u,v,w,x,t;y=j;x=l();if(y!==r){r=y;k(r);if(!r){u=[];for(v in f){if(YAHOO.lang.hasOwnProperty(f,v)){w=f[v];u.push(v+"="+w.initialState)}}x=u.join("&")}else{x=r}top.location.hash=x;q=x;a()}else{if(x!==q){q=x;c(x)}}},50);i=true;YAHOO.util.History.onLoadEvent.fire()}function h(){var w,y,u,A,q,s,z,t,x,r,p,v;u=n.value.split("|");if(u.length>1){z=u[0].split("&");for(w=0,y=z.length;w<y;w++){A=z[w].split("=");if(A.length===2){q=A[0];t=A[1];s=f[q];if(s){s.initialState=t}}}x=u[1].split("&");for(w=0,y=x.length;w<y;w++){A=x[w].split("=");if(A.length>=2){q=A[0];r=A[1];s=f[q];if(s){s.currentState=r}}}}if(u.length>2){d=u[2].split(",")}if(YAHOO.env.ua.ie){b()}else{p=history.length;v=l();setInterval(function(){var D,B,C;B=l();C=history.length;if(B!==v){v=B;p=C;k(v);a()}else{if(C!==p&&YAHOO.env.ua.webkit){v=B;p=C;D=d[p-1];k(D);a()}}},50);i=true;YAHOO.util.History.onLoadEvent.fire()}}return{onLoadEvent:new YAHOO.util.CustomEvent("onLoad"),onReady:function(q,r,p){if(i){setTimeout(function(){var s=window;if(p){if(p===true){s=r}else{s=p}}q.call(s,"onLoad",[],r)},0)}else{YAHOO.util.History.onLoadEvent.subscribe(q,r,p)}},register:function(s,p,u,v,r){var t,q;if(typeof s!=="string"||YAHOO.lang.trim(s)===""||typeof p!=="string"||typeof u!=="function"){throw new Error("Missing or invalid argument")}if(f[s]){return}if(i){throw new Error("All modules must be registered before calling YAHOO.util.History.initialize")}s=escape(s);p=escape(p);t=null;if(r===true){t=v}else{t=r}q=function(w){return u.call(t,w,v)};f[s]={name:s,initialState:p,currentState:p,onStateChange:q}},initialize:function(p,q){if(i){return}if(YAHOO.env.ua.opera){}if(typeof p==="string"){p=document.getElementById(p)}if(!p||p.tagName.toUpperCase()!=="TEXTAREA"&&(p.tagName.toUpperCase()!=="INPUT"||p.type!=="hidden"&&p.type!=="text")){throw new Error("Missing or invalid argument")}n=p;if(YAHOO.env.ua.ie){if(typeof q==="string"){q=document.getElementById(q)}if(!q||q.tagName.toUpperCase()!=="IFRAME"){throw new Error("Missing or invalid argument")}e=q;m=true;YAHOO.util.Event.addListener(e,"load",o)}YAHOO.util.Event.onDOMReady(h)},navigate:function(q,r){var p;if(typeof q!=="string"||typeof r!=="string"){throw new Error("Missing or invalid argument")}p={};p[q]=r;return YAHOO.util.History.multiNavigate(p)},multiNavigate:function(q){var p,r,t,s,u;if(typeof q!=="object"){throw new Error("Missing or invalid argument")}if(!i){throw new Error("The Browser History Manager is not initialized")}for(r in q){if(!f[r]){throw new Error("The following module has not been registered: "+r)}}p=[];for(r in f){if(YAHOO.lang.hasOwnProperty(f,r)){t=f[r];if(YAHOO.lang.hasOwnProperty(q,r)){s=q[unescape(r)]}else{s=unescape(t.currentState)}r=escape(r);s=escape(s);p.push(r+"="+s)}}u=p.join("&");if(YAHOO.env.ua.ie){return c(u,true)}else{top.location.hash=u;if(YAHOO.env.ua.webkit){d[history.length]=u;a()}return true}},getCurrentState:function(p){var q;if(typeof p!=="string"){throw new Error("Missing or invalid argument")}if(!i){throw new Error("The Browser History Manager is not initialized")}q=f[p];if(!q){throw new Error("No such registered module: "+p)}return unescape(q.currentState)},getBookmarkedState:function(u){var t,q,p,w,r,v,s;if(typeof u!=="string"){throw new Error("Missing or invalid argument")}p=top.location.href.indexOf("#");w=p>=0?top.location.href.substr(p+1):top.location.href;r=w.split("&");for(t=0,q=r.length;t<q;t++){v=r[t].split("=");if(v.length===2){s=v[0];if(s===u){return unescape(v[1])}}}return null},getQueryStringParameter:function(u,r){var s,q,p,w,v,t;r=r||top.location.href;p=r.indexOf("?");w=p>=0?r.substr(p+1):r;p=w.lastIndexOf("#");w=p>=0?w.substr(0,p):w;v=w.split("&");for(s=0,q=v.length;s<q;s++){t=v[s].split("=");if(t.length>=2){if(t[0]===u){return unescape(t[1])}}}return null}}})();var H=YAHOO.util.History;YAHOO.register("history",YAHOO.util.History,{version:"2.5.2",build:"1076"});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("modules.pagination");tagged.modules.pagination={linkHtml:' <a href="#" class="%s" page="%2$d">%3$s</a> ',spanText:' <span class="%s">%s</span> ',renderDirectionLinks:function(f,g,a,i,d,h){h=(typeof h==="undefined")?"l":h;var e=Math.floor(a/g)+1;var c=Math.ceil(f/g);if(c<=1){return}var b="";if(h=="l"){b+=this.dirHelper(1,this.msgs.first,e!=1,"outer")}b+=this.dirHelper(e-1,this.msgs.previous,e>1,"inner")+" | "+this.dirHelper(e+1,this.msgs.next,e!=c,"inner");if(h=="l"){b+=this.dirHelper(c,this.msgs.last,e!=c,"outer")}d=D.get(d);if(d){d.innerHTML=b;if(!d.getAttribute("page_action")){d.setAttribute("page_action",true);YAHOO.util.Event.addListener(d,"click",this.getNavigationHandler(i))}}},dirHelper:function(c,d,b,a){if(b){return sprintf(this.linkHtml,a,c,d)}else{return sprintf(this.spanText,a,d)}},getNavigationHandler:function(b){var a=function(c){var e=E.getTarget(c);if(e.tagName.toUpperCase()!="A"){e=e.parentNode}if(e.tagName.toUpperCase()=="A"){var d=e.getAttribute("page");if(d){E.preventDefault(c);if(typeof(b)=="function"){b(d)}else{YAHOO.util.History.navigate("pageNum",d)}}}};return a},renderPageNumbers:function(g,i,c,j,e){var f=Math.floor(c/i)+1;var d=Math.ceil(g/i);var b='<a href="#%1$d" page="%1$d">%1$d</a> ';var h='<a href="#%1$d" page="%1$d">%2$s</a> ';var a=new tagged.util.stringBuffer();a.add(this.numberHelper(f-1,h,1,d,this.msgs.prev),this.numberHelper(f-2,b,1,d,""),this.numberHelper(f-1,b,1,d,""),sprintf(this.spanText,"page_current",f),this.numberHelper(f+1,b,1,d,""),this.numberHelper(f+2,b,1,d,""),this.numberHelper(f+1,h,1,d,this.msgs.next));e=D.get(e);if(e){e.innerHTML=a;if(!e.getAttribute("tag_action")){e.setAttribute("tag_action",true);YAHOO.util.Event.addListener(e,"click",this.getNavigationHandler(j))}}},numberHelper:function(c,d,b,a,e){if(c<b){return""}if(c>a){return""}return sprintf(d,c,e)},boundsCheck:function(b,a){if(b<0){return false}if(a>0&&b>=a){return false}return true},offset:function(b,a){return a*(b-1)},sanePageNum:function(c,b,a){c=parseInt(c);if(isNaN(c)){return 1}if(!this.boundsCheck(this.offset(c,b),a)){return 1}return c}};tagged.namespace("photos");tagged.photos={_preloadQueue:[],threads:2,preload:function(){if(this._preloadQueue.length<1){return}for(var a=0;a<this.threads;++a){this._load()}},setCaption:function(c,b,a){TAGGED.api.call({method:"tagged.photo.setCaption",photo_id:c,caption:b,callback:a})},setPrimary:function(b,a){TAGGED.api.call({method:"tagged.photo.setPrimary",photo_id:b,callback:a})},remove:function(c,a,b){TAGGED.api.call({method:"tagged.photo.delete",photo_id:c,uid:a,callback:b})},_load:function(){if(this._preloadQueue.length<1){return}var a=new Image();a.src=this._preloadQueue.pop();E.addListener(a,"load",this._load,this,true)}};