(function(n){n.address=function(){var at=function(t){return t=n.extend(n.Event(t),function(){for(var r={},t=n.address.parameterNames(),i=0,u=t.length;i<u;i++)r[t[i]]=n.address.parameter(t[i]);return{value:n.address.value(),path:n.address.path(),pathNames:n.address.pathNames(),parameterNames:t,parameters:r,queryString:n.address.queryString()}}.call(n.address)),n(n.address).trigger(t),t},w=function(n){return Array.prototype.slice.call(n)},tt=function(){return n().bind.apply(n(n.address),Array.prototype.slice.call(arguments)),n.address},oi=function(){return n().unbind.apply(n(n.address),Array.prototype.slice.call(arguments)),n.address},it=function(){return nt.pushState&&t.state!==r},wt=function(){return("/"+f.pathname.replace(new RegExp(t.state),"")+f.search+(ht()?"#"+ht():"")).replace(ii,"/")},ht=function(){var n=f.href.indexOf("#");return n!=-1?a(f.href.substr(n+1),e):""},l=function(){return it()?wt():ht()},bt=function(){return"javascript"},vt=function(n){return n=n.toString(),(t.strict&&n.substr(0,1)!="/"?"/":"")+n},a=function(n,i){return t.crawlable&&i?(n!==""?"!":"")+n:n.replace(/^\!/,"")},v=function(n,t){return parseInt(n.css(t),10)},rt=function(){if(!p){var n=l();decodeURI(i)!=decodeURI(n)&&(y&&d<7?f.reload():(y&&!ot&&t.history&&c(ct,50),_old=i,i=n,ut(e)))}},ut=function(n){var t=at(gt);n=at(n?ni:ti);c(hi,10);(t.isDefaultPrevented()||n.isDefaultPrevented())&&si()},si=function(){i=_old;it()?nt.popState({},"",t.state.replace(/\/$/,"")+(i===""?"/":i)):(p=s,g?t.history?f.hash="#"+a(i,s):f.replace("#"+a(i,s)):i!=l()&&(t.history?f.hash="#"+a(i,s):f.replace("#"+a(i,s))),y&&!ot&&t.history&&c(ct,50),g?c(function(){p=e},1):p=e)},hi=function(){if(t.tracker!=="null"&&t.tracker!==ft){var e=n.isFunction(t.tracker)?t.tracker:u[t.tracker],i=(f.pathname+f.search+(n.address&&!it()?n.address.value():"")).replace(/\/\//,"/").replace(/^\/$/,"");n.isFunction(e)?e(i):n.isFunction(u.urchinTracker)?u.urchinTracker(i):u.pageTracker!==r&&n.isFunction(u.pageTracker._trackPageview)?u.pageTracker._trackPageview(i):u._gaq!==r&&n.isFunction(u._gaq.push)&&u._gaq.push(["_trackPageview",decodeURI(i)])}},ct=function(){var n=bt()+":"+e+";document.open();document.writeln('<html><head><title>"+h.title.replace(/\'/g,"\\'")+"<\/title><script>var "+b+' = "'+encodeURIComponent(l()).replace(/\'/g,"\\'")+(h.domain!=f.hostname?'";document.domain="'+h.domain:"")+"\";<\/script><\/head><\/html>');document.close();";d<7?o.src=n:o.contentWindow.location.replace(n)},kt=function(){if(st&&ri!=-1){for(var n,u=st.substr(ri+1).split("&"),r=0;r<u.length;r++)n=u[r].split("="),/^(autoUpdate|crawlable|history|strict|wrap)$/.test(n[0])&&(t[n[0]]=isNaN(n[1])?/^(true|yes)$/i.test(n[1]):parseInt(n[1],10)!==0),/^(state|tracker)$/.test(n[0])&&(t[n[0]]=n[1]);st=ft}_old=i;i=l()},dt=function(){if(!ui){ui=s;kt();var p=function(){ci.call(this);li.call(this)},w=n("body").ajaxComplete(p);p();t.wrap&&(n("body > *").wrapAll('<div style="padding:'+(v(w,"marginTop")+v(w,"paddingTop"))+"px "+(v(w,"marginRight")+v(w,"paddingRight"))+"px "+(v(w,"marginBottom")+v(w,"paddingBottom"))+"px "+(v(w,"marginLeft")+v(w,"paddingLeft"))+'px;" />').parent().wrap('<div id="'+b+'" style="height:100%;overflow:auto;position:relative;'+(g&&!window.statusbar.visible?"resize:both;":"")+'" />'),n("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"}),g&&n('<style type="text/css" />').appendTo("head").text("#"+b+"::-webkit-resizer { background-color: #fff; }"));y&&!ot&&(p=h.getElementsByTagName("frameset")[0],o=h.createElement((p?"":"i")+"frame"),o.src=bt()+":"+e,p?(p.insertAdjacentElement("beforeEnd",o),p[p.cols?"cols":"rows"]+=",0",o.noResize=s,o.frameBorder=o.frameSpacing=0):(o.style.display="none",o.style.width=o.style.height=0,o.tabIndex=-1,h.body.insertAdjacentElement("afterBegin",o)),c(function(){n(o).bind("load",function(){var n=o.contentWindow;_old=i;i=n[b]!==r?n[b]:"";i!=l()&&(ut(e),f.hash=a(i,s))});o.contentWindow[b]===r&&ct()},50));c(function(){at("init");ut(e)},1);it()||(y&&d>7||!y&&ot?u.addEventListener?u.addEventListener(et,rt,e):u.attachEvent&&u.attachEvent("on"+et,rt):ai(rt,50));"state"in window.history&&n(window).trigger("popstate")}},ci=function(){var t,i=n("a"),f=i.length,r=-1,u=function(){++r!=f&&(t=n(i.get(r)),t.is('[rel*="address:"]')&&t.address('[rel*="address:"]'),c(u,1))};c(u,1)},li=function(){if(t.crawlable){var i=f.pathname.replace(/\/$/,"");n("body").html().indexOf("_escaped_fragment_")!=-1&&n('a[href]:not([href^=http]), a[href*="'+document.domain+'"]').each(function(){var t=n(this).attr("href").replace(/^http:/,"").replace(new RegExp(i+"/?$"),"");(t===""||t.indexOf("_escaped_fragment_")!=-1)&&n(this).attr("href","#"+encodeURI(decodeURIComponent(t.replace(/\/(.*)\?_escaped_fragment_=(.*)$/,"!$2"))))})}},r,ft=null,b="jQueryAddress",et="hashchange",gt="change",ni="internalChange",ti="externalChange",s=!0,e=!1,t={autoUpdate:s,crawlable:e,history:s,strict:s,wrap:e},k=n.browser,d=parseFloat(k.version),y=!n.support.opacity,g=k.webkit||k.safari,u=function(){try{return top.document!==r&&top.document.title!==r?top:window}catch(n){return window}}(),h=u.document,nt=u.history,f=u.location,ai=setInterval,c=setTimeout,ii=/\/{2,9}/g,pt,ei;k=navigator.userAgent;var ot="on"+et in u,o,st=n("script:last").attr("src"),ri=st?st.indexOf("?"):-1,yt=h.title,p=e,ui=e,fi=s,lt=e,i=l();return _old=i,y&&(d=parseFloat(k.substr(k.indexOf("MSIE")+4)),h.documentMode&&h.documentMode!=d&&(d=h.documentMode!=8?7:8),pt=h.onpropertychange,h.onpropertychange=function(){pt&&pt.call(h);h.title!=yt&&h.title.indexOf("#"+l())!=-1&&(h.title=yt)}),nt.navigationMode&&(nt.navigationMode="compatible"),document.readyState=="complete"?ei=setInterval(function(){n.address&&(dt(),clearInterval(ei))},50):(kt(),n(dt)),n(window).bind("popstate",function(){decodeURI(i)!=decodeURI(l())&&(_old=i,i=l(),ut(e))}).bind("unload",function(){u.removeEventListener?u.removeEventListener(et,rt,e):u.detachEvent&&u.detachEvent("on"+et,rt)}),{bind:function(){return tt.apply(this,w(arguments))},unbind:function(){return oi.apply(this,w(arguments))},init:function(){return tt.apply(this,["init"].concat(w(arguments)))},change:function(){return tt.apply(this,[gt].concat(w(arguments)))},internalChange:function(){return tt.apply(this,[ni].concat(w(arguments)))},externalChange:function(){return tt.apply(this,[ti].concat(w(arguments)))},baseURL:function(){var n=f.href;return n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),/\/$/.test(n)&&(n=n.substr(0,n.length-1)),n},autoUpdate:function(n){return n!==r?(t.autoUpdate=n,this):t.autoUpdate},crawlable:function(n){return n!==r?(t.crawlable=n,this):t.crawlable},history:function(n){return n!==r?(t.history=n,this):t.history},state:function(n){if(n!==r){t.state=n;var i=wt();return t.state!==r&&(nt.pushState?i.substr(0,3)=="/#/"&&f.replace(t.state.replace(/^\/$/,"")+i.substr(2)):i!="/"&&i.replace(/^\/#/,"")!=ht()&&c(function(){f.replace(t.state.replace(/^\/$/,"")+"/#"+i)},1)),this}return t.state},strict:function(n){return n!==r?(t.strict=n,this):t.strict},tracker:function(n){return n!==r?(t.tracker=n,this):t.tracker},wrap:function(n){return n!==r?(t.wrap=n,this):t.wrap},update:function(){return lt=s,this.value(i),lt=e,this},title:function(n){return n!==r?(c(function(){yt=h.title=n;fi&&o&&o.contentWindow&&o.contentWindow.document&&(o.contentWindow.document.title=n,fi=e)},50),this):h.title},value:function(n){return n!==r?(n=vt(n),n=="/"&&(n=""),i==n&&!lt)?void 0:(_old=i,i=n,(t.autoUpdate||lt)&&(ut(s),it()?nt[t.history?"pushState":"replaceState"]({},"",t.state.replace(/\/$/,"")+(i===""?"/":i)):(p=s,g?t.history?f.hash="#"+a(i,s):f.replace("#"+a(i,s)):i!=l()&&(t.history?f.hash="#"+a(i,s):f.replace("#"+a(i,s))),y&&!ot&&t.history&&c(ct,50),g?c(function(){p=e},1):p=e)),this):vt(i)},path:function(n){if(n!==r){var t=this.queryString(),u=this.hash();return this.value(n+(t?"?"+t:"")+(u?"#"+u:"")),this}return vt(i).split("#")[0].split("?")[0]},pathNames:function(){var n=this.path(),t=n.replace(ii,"/").split("/");return(n.substr(0,1)=="/"||n.length===0)&&t.splice(0,1),n.substr(n.length-1,1)=="/"&&t.splice(t.length-1,1),t},queryString:function(n){if(n!==r){var t=this.hash();return this.value(this.path()+(n?"?"+n:"")+(t?"#"+t:"")),this}return n=i.split("?"),n.slice(1,n.length).join("?").split("#")[0]},parameter:function(t,i,u){var f,o,s,h,e,c;if(i!==r){for(s=this.parameterNames(),o=[],i=i===r||i===ft?"":i.toString(),f=0;f<s.length;f++)for(h=s[f],e=this.parameter(h),typeof e=="string"&&(e=[e]),h==t&&(e=i===ft||i===""?[]:u?e.concat([i]):[i]),c=0;c<e.length;c++)o.push(h+"="+e[c]);return n.inArray(t,s)==-1&&i!==ft&&i!==""&&o.push(t+"="+i),this.queryString(o.join("&")),this}if(i=this.queryString()){for(u=[],o=i.split("&"),f=0;f<o.length;f++)i=o[f].split("="),i[0]==t&&u.push(i.slice(1).join("="));if(u.length!==0)return u.length!=1?u:u[0]}},parameterNames:function(){var t=this.queryString(),r=[],i,u;if(t&&t.indexOf("=")!=-1)for(t=t.split("&"),i=0;i<t.length;i++)u=t[i].split("=")[0],n.inArray(u,r)==-1&&r.push(u);return r},hash:function(n){return n!==r?(this.value(i.split("#")[0]+(n?"#"+n:"")),this):(n=i.split("#"),n.slice(1,n.length).join("#"))}}}();n.fn.address=function(t){var i;return typeof t=="string"&&(i=t,t=undefined),n(this).attr("address")||n(i?i:this).live("click",function(i){if(i.shiftKey||i.ctrlKey||i.metaKey||i.which==2)return!0;n(this).is("a")&&(i.preventDefault(),i=t?t.call(this):/address:/.test(n(this).attr("rel"))?n(this).attr("rel").split("address:")[1].split(" ")[0]:n.address.state()!==undefined&&!/^\/?$/.test(n.address.state())?n(this).attr("href").replace(new RegExp("^(.*"+n.address.state()+"|\\.)"),""):n(this).attr("href").replace(/^(#\!?|\.)/,""),n.address.value(i))}).live("submit",function(i){n(this).is("form")&&(i.preventDefault(),i=n(this).attr("action"),i=t?t.call(this):(i.indexOf("?")!=-1?i.replace(/&$/,""):i+"?")+n(this).serialize(),n.address.value(i))}).attr("address",!0),this}})(jQuery)