/*
 * jQuery Address Plugin v1.3.1
 * http://www.asual.com/jquery/address/
 *
 * Copyright (c) 2009-2010 Rostislav Hristov
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Date: 2010-11-29 11:54:20 +0200 (Mon, 29 Nov 2010)
 */
(function(a){a.address=function(){var b=function(b){a(a.address).trigger(a.extend(a.Event(b),function(){for(var b={},d=a.address.parameterNames(),e=0,f=d.length;e<f;e++)b[d[e]]=a.address.parameter(d[e]);return{value:a.address.value(),path:a.address.path(),pathNames:a.address.pathNames(),parameterNames:d,parameters:b,queryString:a.address.queryString()}}.call(a.address)))},d=function(b,d,e){return a(a.address).bind(b,d,e),a.address},e=function(){return W.pushState&&M.state!==E},f=function(){return("/"+X.pathname.replace(new RegExp(M.state),"")+X.search+(g()?"#"+g():"")).replace(ba,"/")},g=function(){var a=X.href.indexOf("#");return a!=-1?k(X.href.substr(a+1),L):""},h=function(){return e()?f():g()},i=function(){return"javascript"},j=function(a){return a=a.toString(),(M.strict&&a.substr(0,1)!="/"?"/":"")+a},k=function(a,b){return M.crawlable&&b?(a!=""?"!":"")+a:a.replace(/^\!/,"")},l=function(a,b){return parseInt(a.css(b),10)},m=function(a){for(var b,c,d=0,e=a.childNodes.length;d<e;d++){a.childNodes[d].src&&(b=String(a.childNodes[d].src));if(c=m(a.childNodes[d]))b=c}return b},n=function(){if(!bi){var a=h(),b=bo!=a;S&&O<523?bh!=W.length&&(bh=W.length,bn[bh-1]!==E&&(bo=bn[bh-1]),o(L)):b&&(Q&&O<7?X.reload():(Q&&O<8&&M.history&&Z(q,50),bo=a,o(L)))}},o=function(a){b(H),b(a?I:J),Z(p,10)},p=function(){if(M.tracker!=="null"&&M.tracker!==null){var b=a.isFunction(M.tracker)?M.tracker:U[M.tracker],d=(X.pathname+X.search+(a.address&&!e()?a.address.value():"")).replace(/\/\//,"/").replace(/^\/$/,"");a.isFunction(b)?b(d):a.isFunction(U.urchinTracker)?U.urchinTracker(d):U.pageTracker!==E&&a.isFunction(U.pageTracker._trackPageview)?U.pageTracker._trackPageview(d):U._gaq!==E&&a.isFunction(U._gaq.push)&&U._gaq.push(["_trackPageview",d])}},q=function(){var a=i()+":"+L+";document.open();document.writeln('<html><head><title>"+V.title.replace("'","\\'")+"</title><script>var "+F+' = "'+encodeURIComponent(h())+(V.domain!=X.host?'";document.domain="'+V.domain:"")+"\";</script></head></html>');document.close();";O<7?bc.src=a:bc.contentWindow.location.replace(a)},r=function(){if(be&&bf!=-1){var a,b=be.substr(bf+1).split("&");for(bp=0;bp<b.length;bp++)a=b[bp].split("="),/^(autoUpdate|crawlable|history|strict|wrap)$/.test(a[0])&&(M[a[0]]=isNaN(a[1])?/^(true|yes)$/i.test(a[1]):parseInt(a[1],10)!==0),/^(state|tracker)$/.test(a[0])&&(M[a[0]]=a[1]);be=null}bo=h()},s=function(){if(!bj){bj=K,r();var d=function(){t.call(this),w.call(this)},f=a("body").ajaxComplete(d);d(),M.wrap&&(a("body > *").wrapAll('<div style="padding:'+(l(f,"marginTop")+l(f,"paddingTop"))+"px "+(l(f,"marginRight")+l(f,"paddingRight"))+"px "+(l(f,"marginBottom")+l(f,"paddingBottom"))+"px "+(l(f,"marginLeft")+l(f,"paddingLeft"))+'px;" />').parent().wrap('<div id="'+F+'" style="height:100%;overflow:auto;position:relative;'+(S?window.statusbar.visible&&!/chrome/i.test(bb)?"":"resize:both;":"")+'" />'),a("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"}),S&&a('<style type="text/css" />').appendTo("head").text("#"+F+"::-webkit-resizer { background-color: #fff; }")),Q&&O<8?(d=V.getElementsByTagName("frameset")[0],bc=V.createElement((d?"":"i")+"frame"),d?(d.insertAdjacentElement("beforeEnd",bc),d[d.cols?"cols":"rows"]+=",0",bc.noResize=K,bc.frameBorder=bc.frameSpacing=0):(bc.style.display="none",bc.style.width=bc.style.height=0,bc.tabIndex=-1,V.body.insertAdjacentElement("afterBegin",bc)),Z(function(){a(bc).bind("load",function(){var a=bc.contentWindow;bo=a[F]!==E?a[F]:"",bo!=h()&&(o(L),X.hash=k(bo,K))}),bc.contentWindow[F]===E&&q()},50)):S&&(O<418&&(a(V.body).append('<form id="'+F+'" style="position:absolute;top:-9999px;" method="get"></form>'),bd=V.getElementById(F)),X[F]===E&&(X[F]={}),X[F][X.pathname]!==E&&(bn=X[F][X.pathname].split(","))),Z(function(){b("init"),o(L)},1),e()||(Q&&O>7||!Q&&"on"+G in U?U.addEventListener?U.addEventListener(G,n,L):U.attachEvent&&U.attachEvent("on"+G,n):Y(n,50))}},t=function(){var b,d=a("a"),e=d.size(),f=-1;Z(function(){++f!=e&&(b=a(d.get(f)),b.is("[rel*=address:]")&&b.address(),Z(arguments.callee,1))},1)},u=function(){bo!=h()&&(bo=h(),o(L))},v=function(){U.removeEventListener?U.removeEventListener(G,n,L):U.detachEvent&&U.detachEvent("on"+G,n)},w=function(){if(M.crawlable){var b=X.pathname.replace(/\/$/,"");a("body").html().indexOf("_escaped_fragment_")!=-1&&a("a[href]:not([href^=http]), , a[href*="+document.domain+"]").each(function(){var d=a(this).attr("href").replace(/^http:/,"").replace(new RegExp(b+"/?$"),"");(d==""||d.indexOf("_escaped_fragment_")!=-1)&&a(this).attr("href","#"+a.address.decode(d.replace(/\/(.*)\?_escaped_fragment_=(.*)$/,"!$2")))})}},x=function(a){return $(_(a)).replace(/%20/g,"+")},y=function(a){return a.split("#")[0].split("?")[0]},z=function(a){a=y(a);var b=a.replace(ba,"/").split("/");return(a.substr(0,1)=="/"||a.length===0)&&b.splice(0,1),a.substr(a.length-1,1)=="/"&&b.splice(b.length-1,1),b},A=function(a){return a=a.split("?"),a.slice(1,a.length).join("?").split("#")[0]},B=function(b,d){if(d=A(d)){params=d.split("&"),d=[];for(bp=0;bp<params.length;bp++){var e=params[bp].split("=");(e[0]==b||a.address.decode(e[0])==b)&&d.push(e.slice(1).join("="))}if(d.length!==0)return d.length!=1?d:d[0]}},C=function(b){var d=A(b);b=[];if(d&&d.indexOf("=")!=-1){d=d.split("&");for(var e=0;e<d.length;e++){var f=d[e].split("=")[0];a.inArray(f,b)==-1&&b.push(f)}}return b},D=function(a){return a=a.split("#"),a.slice(1,a.length).join("#")},E,F="jQueryAddress",G="hashchange",H="change",I="internalChange",J="externalChange",K=!0,L=!1,M={autoUpdate:K,crawlable:L,history:K,strict:K,wrap:L},N=a.browser,O=parseFloat(a.browser.version),P=N.mozilla,Q=N.msie,R=N.opera,S=N.webkit||N.safari,T=L,U=function(){try{return top.document!==E?top:window}catch(a){return window}}(),V=U.document,W=U.history,X=U.location,Y=setInterval,Z=setTimeout,$=encodeURIComponent,_=decodeURIComponent,ba=/\/{2,9}/g,bb=navigator.userAgent,bc,bd,be=m(document),bf=be?be.indexOf("?"):-1,bg=V.title,bh=W.length,bi=L,bj=L,bk=K,bl=K,bm=L,bn=[],bo=h();Q&&(O=parseFloat(bb.substr(bb.indexOf("MSIE")+4)),V.documentMode&&V.documentMode!=O&&(O=V.documentMode!=8?7:8),a(document).bind("propertychange",function(){V.title!=bg&&V.title.indexOf("#"+h())!=-1&&(V.title=bg)}));if(T=P&&O>=1||Q&&O>=6||R&&O>=9.5||S&&O>=312){for(var bp=1;bp<bh;bp++)bn.push("");bn.push(bo),R&&(history.navigationMode="compatible");if(document.readyState=="complete")var bq=setInterval(function(){a.address&&(s(),clearInterval(bq))},50);else r(),a(s);N=f(),M.state!==E&&(W.pushState?N.substr(0,3)=="/#/"&&X.replace(M.state.replace(/^\/$/,"")+N.substr(2)):N!="/"&&N.replace(/^\/#/,"")!=g()&&X.replace(M.state.replace(/^\/$/,"")+"/#"+N)),a(window).bind("popstate",u).bind("unload",v)}else!T&&g()!=""||S&&O<418&&g()!=""&&X.search!=""?X.replace(X.href.substr(0,X.href.indexOf("#"))):p();return{bind:function(a,b,c){return d(a,b,c)},init:function(a){return d("init",a)},change:function(a){return d(H,a)},internalChange:function(a){return d(I,a)},externalChange:function(a){return d(J,a)},baseURL:function(){var a=X.href;return a.indexOf("#")!=-1&&(a=a.substr(0,a.indexOf("#"))),/\/$/.test(a)&&(a=a.substr(0,a.length-1)),a},autoUpdate:function(a){return a!==E?(M.autoUpdate=a,this):M.autoUpdate},crawlable:function(a){return a!==E?(M.crawlable=a,this):M.crawlable},history:function(a){return a!==E?(M.history=a,this):M.history},state:function(a){return a!==E?(M.state=a,this):M.state},strict:function(a){return a!==E?(M.strict=a,this):M.strict},tracker:function(a){return a!==E?(M.tracker=a,this):M.tracker},wrap:function(a){return a!==E?(M.wrap=a,this):M.wrap},update:function(){return bm=K,this.value(bo),bm=L,this},encode:function(b){var d=z(b),e=C(b),f=A(b),g=D(b),h=b.substr(0,1),i=b.substr(b.length-1),j="";return a.each(d,function(a,b){j+="/"+x(b)}),f!==""&&(j+="?",e.length===0?j+=f:(a.each(e,function(d,e){d=B(e,b),typeof d!="string"?a.each(d,function(a,b){j+=x(e)+"="+x(b)+"&"}):j+=x(e)+"="+x(d)+"&"}),j=j.substr(0,j.length-1))),g!==""&&(j+="#"+x(g)),h!="/"&&j.substr(0,1)=="/"&&(j=j.substr(1)),h=="/"&&j.substr(0,1)!="/"&&(j="/"+j),/#|&|\?/.test(i)&&(j+=i),j},decode:function(a){if(a!==E){var b=[],c=function(a){return _(a.toString().replace(/\+/g,"%20"))};if(typeof a=="object"&&a.length!==E){for(var d=0,e=a.length;d<e;d++)b[d]=c(a[d]);return b}return c(a)}},title:function(a){return a!==E?(Z(function(){bg=V.title=a,bl&&bc&&bc.contentWindow&&bc.contentWindow.document&&(bc.contentWindow.document.title=a,bl=L),!bk&&P&&X.replace(X.href.indexOf("#")!=-1?X.href:X.href+"#"),bk=L},50),this):V.title},value:function(a){if(a!==E){a=this.encode(j(a)),a=="/"&&(a="");if(bo==a&&!bm)return;bk=K,bo=a;if(M.autoUpdate||bm){o(K);if(e())W[M.history?"pushState":"replaceState"]({},"",M.state.replace(/\/$/,"")+(bo==""?"/":bo));else{bi=K,bn[W.length]=bo;if(S)if(M.history){X[F][X.pathname]=bn.toString(),bh=W.length+1;if(O<418)X.search==""&&(bd.action="#"+k(bo,K),bd.submit());else if(O<523||bo==""){a=V.createEvent("MouseEvents"),a.initEvent("click",K,K);var b=V.createElement("a");b.href="#"+k(bo,K),b.dispatchEvent(a)}else X.hash="#"+k(bo,K)}else X.replace("#"+k(bo,K));else bo!=h()&&(M.history?X.hash="#"+k(bo,K):X.replace("#"+k(bo,K)));Q&&O<8&&M.history&&Z(q,50),S?Z(function(){bi=L},1):bi=L}}return this}return T?this.decode(j(bo)):null},path:function(a){if(a!==E){var b=A(j(bo)),c=D(j(bo));return this.value(a+(b?"?"+b:"")+(c?"#"+c:"")),this}return this.decode(y(j(bo)))},pathNames:function(){return this.decode(z(j(bo)))},queryString:function(a){if(a!==E){var b=D(j(bo));return this.value(this.path()+(a?"?"+a:"")+(b?"#"+b:"")),this}return this.decode(A(j(bo)))},parameter:function(b,d,e){var f,g;if(d!==E){var h=this.parameterNames();g=[],d=d?$(d):"";for(f=0;f<h.length;f++){var i=h[f],k=this.parameter(i);typeof k=="string"&&(k=[k]),i==b&&(k=d===null||d===""?[]:e?k.concat([d]):[d]);for(var l=0;l<k.length;l++)g.push(i+"="+x(k[l]))}return a.inArray(b,h)==-1&&d!==null&&d!==""&&g.push(b+"="+x(d)),this.queryString(g.join("&")),this}return this.decode(B(b,j(bo)))},parameterNames:function(){return this.decode(C(j(bo)))},hash:function(a){return a!==E?(this.value(j(bo).split("#")[0]+(a?"#"+a:"")),this):this.decode(D(j(bo)))}}}(),a.fn.address=function(b){if(!a(this).attr("address")){var d=function(d){if(a(this).is("a")){var e=b?b.call(this):/address:/.test(a(this).attr("rel"))?a(this).attr("rel").split("address:")[1].split(" ")[0]:a.address.state()!==undefined&&a.address.state()!="/"?a(this).attr("href").replace(new RegExp("^(.*"+a.address.state()+"|\\.)"),""):a(this).attr("href").replace(/^(#\!?|\.)/,"");a.address.value(e),d.preventDefault()}};a(this).click(d).live("click",d).submit(function(d){if(a(this).is("form")){var e=b?b.call(this):a(this).attr("action")+"?"+a.address.decode(a(this).serialize());a.address.value(e),d.preventDefault()}}).attr("address",!0)}return this}})(jQuery)
