Team:Groningen/files/address.js

From 2010.igem.org

(Difference between revisions)
(New page: /* * jQuery Address Plugin v1.2.1 * http://www.asual.com/jquery/address/ * * Copyright (c) 2009-2010 Rostislav Hristov * Dual licensed under the MIT or GPL Version 2 licenses. * http...)
 
Line 1: Line 1:
/*
/*
-
  * jQuery Address Plugin v1.2.1
+
  * jQuery Address Plugin v1.3
  * http://www.asual.com/jquery/address/
  * http://www.asual.com/jquery/address/
  *
  *
Line 7: Line 7:
  * http://jquery.org/license
  * http://jquery.org/license
  *
  *
-
  * Date: 2010-05-20 09:39:26 +0300 (Thu, 20 May 2010)
+
  * Date: 2010-09-26 17:58:16 +0300 (Sun, 26 Sep 2010)
  */
  */
-
(function(c){c.address=function(){var v=function(a){c(c.address).trigger(c.extend(c.Event(a),function(){for(var b={},g=c.address.parameterNames(),h=0,q=g.length;h<q;h++)b[g[h]]=c.address.parameter(g[h]);return{value:c.address.value(),path:c.address.path(),pathNames:c.address.pathNames(),parameterNames:g,parameters:b,queryString:c.address.queryString()}}.call(c.address)))},w=function(a,b,g){c(c.address).bind(a,b,g);return c.address},p=function(){var a=d.href.indexOf("#");return a!=-1?W(J(t(d.href.substr(a+
+
(function(c){c.address=function(){var x=function(a){c(c.address).trigger(c.extend(c.Event(a),function(){for(var b={},f=c.address.parameterNames(),h=0,q=f.length;h<q;h++)b[f[h]]=c.address.parameter(f[h]);return{value:c.address.value(),path:c.address.path(),pathNames:c.address.pathNames(),parameterNames:f,parameters:b,queryString:c.address.queryString()}}.call(c.address)))},y=function(a,b,f){c(c.address).bind(a,b,f);return c.address},A=function(){return z.pushState&&typeof d.state!==t},H=function(){return"/"+
-
1),j))):""},X=function(){return"javascript"},Y=function(a,b){if(i.strict)a=b?a.substr(0,1)!="/"?"/"+a:a:a==""?"/":a;return a},K=function(a,b){return u&&d.protocol=="file:"?b?f.replace(/\?/,"%3F"):f.replace(/%253F/,"?"):a},t=function(a,b){if(i.crawlable&&b)return(a!=""?"!":"")+a;return a.replace(/^\!/,"")},x=function(a,b){return parseInt(a.css(b),10)},Z=function(a){for(var b,g,h=0,q=a.childNodes.length;h<q;h++){if(a.childNodes[h].src)b=String(a.childNodes[h].src);if(g=Z(a.childNodes[h]))b=g}return b},
+
e.pathname.replace(new RegExp(d.state),"")+e.search+(G()?"#"+G():"")},G=function(){var a=e.href.indexOf("#");return a!=-1?B(e.href.substr(a+1),l):""},u=function(){return A()?H():G()},ra=function(){return"javascript"},$=function(a,b){if(d.strict)a=b?a.substr(0,1)!="/"?"/"+a:a:a==""?"/":a;return a},B=function(a,b){if(d.crawlable&&b)return(a!=""?"!":"")+a;return a.replace(/^\!/,"")},C=function(a,b){return parseInt(a.css(b),10)},aa=function(a){for(var b,f,h=0,q=a.childNodes.length;h<q;h++){if(a.childNodes[h].src)b=
-
H=function(){if(!L){var a=p(),b=f!=a;if(y&&m<523){if(D!=F.length){D=F.length;if(typeof z[D-1]!=A)f=z[D-1];G(j)}}else if(u&&m<7&&b)d.reload();else if(b){f=a;G(j)}}},G=function(a){v($);v(a?aa:ba);E(ca,10)},ca=function(){var a=(d.pathname+(/\/$/.test(d.pathname)?"":"/")+(c.address?c.address.value():"")).replace(/\/\//,"/").replace(/^\/$/,""),b=n[i.tracker];if(typeof b==M)b(a);else if(typeof urchinTracker==M)urchinTracker(a);else if(typeof pageTracker!=A&&typeof pageTracker._trackPageview==M)pageTracker._trackPageview(a);
+
String(a.childNodes[h].src);if(f=aa(a.childNodes[h]))b=f}return b},M=function(){if(!R){var a=u(),b=g!=a;if(D&&o<523){if(I!=z.length){I=z.length;if(typeof F[I-1]!=t)g=F[I-1];J(l)}}else if(b)if(E&&o<7)e.reload();else{E&&o<8&&d.history&&v(U,50);g=a;J(l)}}},J=function(a){x(ba);x(a?ca:da);v(ea,10)},ea=function(){if(d.tracker!=="null"&&d.tracker!==null){var a=c.isFunction(d.tracker)?d.tracker:j[d.tracker],b=(e.pathname+e.search+(c.address&&!A()?c.address.value():"")).replace(/\/\//,"/").replace(/^\/$/,
-
else typeof _gaq!=A&&typeof _gaq.push==M&&_gaq.push(["_trackPageview",a])},da=function(){var a=l.contentWindow.document;a.open();a.write("<html><head><title>"+k.title+"</title><script>var "+o+' = "'+p()+'";<\/script></head></html>');a.close()},fa=function(){if(!ea){ea=e;var a=c("body").ajaxComplete(function(){ja.call(this)}).trigger("ajaxComplete");if(i.wrap){c("body > *").wrapAll('<div style="padding:'+(x(a,"marginTop")+x(a,"paddingTop"))+"px "+(x(a,"marginRight")+x(a,"paddingRight"))+"px "+(x(a,
+
"");if(c.isFunction(a))a(b);else if(c.isFunction(j.urchinTracker))j.urchinTracker(b);else if(typeof j.pageTracker!=t&&c.isFunction(j.pageTracker._trackPageview))j.pageTracker._trackPageview(b);else typeof j._gaq!=t&&c.isFunction(j._gaq.push)&&j._gaq.push(["_trackPageview",b])}},U=function(){var a=ra()+":"+l+";document.open();document.writeln('<html><head><title>"+m.title+"</title><script>var "+p+' = "'+u()+(m.domain!=e.host?'";document.domain="'+m.domain:"")+"\";<\/script></head></html>');document.close();";
-
"marginBottom")+x(a,"paddingBottom"))+"px "+(x(a,"marginLeft")+x(a,"paddingLeft"))+'px;" />').parent().wrap('<div id="'+o+'" style="height:100%; overflow:auto;'+(y?window.statusbar.visible&&!/chrome/i.test(O)?"":" resize:both;":"")+'" />');c("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"});y&&c('<style type="text/css" />').appendTo("head").text("#"+o+"::-webkit-resizer { background-color: #fff; }")}if(u&&m<8){a=k.getElementsByTagName("frameset")[0];l=k.createElement((a?"":"i")+
+
if(o<7)n.src=a;else n.contentWindow.location.replace(a)},ga=function(){if(N&&fa!=-1){var a,b=N.substr(fa+1).split("&");for(r=0;r<b.length;r++){a=b[r].split("=");if(/^(autoUpdate|crawlable|history|strict|wrap)$/.test(a[0]))d[a[0]]=isNaN(a[1])?/^(true|yes)$/i.test(a[1]):parseInt(a[1],10)!==0;if(/^(state|tracker)$/.test(a[0]))d[a[0]]=a[1]}N=null}g=u()},ia=function(){if(!ha){ha=k;ga();var a=c("body").ajaxComplete(function(){sa.call(this);ta.call(this)}).trigger("ajaxComplete");if(d.wrap){c("body > *").wrapAll('<div style="padding:'+
-
"frame");if(a){a.insertAdjacentElement("beforeEnd",l);a[a.cols?"cols":"rows"]+=",0";l.src=X()+":"+j;l.noResize=e;l.frameBorder=l.frameSpacing=0}else{l.src=X()+":"+j;l.style.display="none";k.body.insertAdjacentElement("afterBegin",l)}E(function(){c(l).bind("load",function(){var b=l.contentWindow;f=typeof b[o]!=A?b[o]:"";if(f!=p()){G(j);d.hash=K(t(f,e),e)}});typeof l.contentWindow[o]==A&&da()},50)}else if(y){if(m<418){c(k.body).append('<form id="'+o+'" style="position:absolute;top:-9999px;" method="get"></form>');
+
(C(a,"marginTop")+C(a,"paddingTop"))+"px "+(C(a,"marginRight")+C(a,"paddingRight"))+"px "+(C(a,"marginBottom")+C(a,"paddingBottom"))+"px "+(C(a,"marginLeft")+C(a,"paddingLeft"))+'px;" />').parent().wrap('<div id="'+p+'" style="height:100%; overflow:auto;'+(D?window.statusbar.visible&&!/chrome/i.test(V)?"":" resize:both;":"")+'" />');c("html, body").css({height:"100%",margin:0,padding:0,overflow:"hidden"});D&&c('<style type="text/css" />').appendTo("head").text("#"+p+"::-webkit-resizer { background-color: #fff; }")}if(E&&
-
P=k.getElementById(o)}if(typeof d[o]==A)d[o]={};if(typeof d[o][d.pathname]!=A)z=d[o][d.pathname].split(",")}E(function(){v("init");G(j)},1);if(u&&m>7||!u&&"on"+I in n)if(n.addEventListener)n.addEventListener(I,H,false);else n.attachEvent&&n.attachEvent("on"+I,H);else ka(H,50);c("a").filter("[rel*=address:]").address()}},la=function(){if(n.removeEventListener)n.removeEventListener(I,H,false);else n.detachEvent&&n.detachEvent("on"+I,H)},ja=function(){var a=d.pathname.replace(/\/$/,"");c("body").html().indexOf("_escaped_fragment_")!=
+
o<8){a=m.getElementsByTagName("frameset")[0];n=m.createElement((a?"":"i")+"frame");if(a){a.insertAdjacentElement("beforeEnd",n);a[a.cols?"cols":"rows"]+=",0";n.noResize=k;n.frameBorder=n.frameSpacing=0}else{n.style.display="none";n.style.width=n.style.height=0;n.tabIndex=-1;m.body.insertAdjacentElement("afterBegin",n)}v(function(){c(n).bind("load",function(){var b=n.contentWindow;g=typeof b[p]!=t?b[p]:"";if(g!=u()){J(l);e.hash=B(g,k)}});typeof n.contentWindow[p]==t&&U()},50)}else if(D){if(o<418){c(m.body).append('<form id="'+
-
-1&&c("a[href]:not([href^=http])",this).each(function(){var b=c(this).attr("href").replace(new RegExp(a+"/?$"),"");if(b==""||b.indexOf("_escaped_fragment_")!=-1)c(this).attr("href","#"+decodeURIComponent(b.replace(/\/(.*)\?_escaped_fragment_=(.*)$/,"!$2")))})},o="jQueryAddress",M="function",A="undefined",I="hashchange",$="change",aa="internalChange",ba="externalChange",e=true,j=false,i={autoUpdate:e,crawlable:j,history:e,strict:e,wrap:j},r=c.browser,m=parseFloat(c.browser.version),ga=r.mozilla,u=
+
p+'" style="position:absolute;top:-9999px;" method="get"></form>');W=m.getElementById(p)}if(typeof e[p]==t)e[p]={};if(typeof e[p][e.pathname]!=t)F=e[p][e.pathname].split(",")}v(function(){x("init");J(l)},1);if(!A())if(E&&o>7||!E&&"on"+O in j)if(j.addEventListener)j.addEventListener(O,M,false);else j.attachEvent&&j.attachEvent("on"+O,M);else ua(M,50)}},sa=function(){var a,b=c("a"),f=b.size(),h=-1;v(function(){if(++h!=f){a=c(b.get(h));a.is("[rel*=address:]")&&a.address();v(arguments.callee,1)}},1)},
-
r.msie,s=r.opera,y=r.safari,Q=j,n=function(){try{return top.document!==undefined?top:window}catch(a){return window}}(),k=n.document,F=n.history,d=n.location,ka=setInterval,E=setTimeout,J=decodeURI,W=encodeURI,O=navigator.userAgent,l,P,B=Z(document),ha=B?B.indexOf("?"):-1,R=k.title,D=F.length,L=j,ea=j,S=e,ia=e,N=j,z=[],f=p();if(u){m=parseFloat(O.substr(O.indexOf("MSIE")+4));if(k.documentMode&&k.documentMode!=m)m=k.documentMode!=8?7:8;c(document).bind("propertychange",function(){if(k.title!=R&&k.title.indexOf("#"+
+
va=function(){if(g!=u()){g=u();J(l)}},wa=function(){if(j.removeEventListener)j.removeEventListener(O,M,false);else j.detachEvent&&j.detachEvent("on"+O,M)},ta=function(){var a=e.pathname.replace(/\/$/,"");c("body").html().indexOf("_escaped_fragment_")!=-1&&c("a[href]:not([href^=http]), , a[href*="+document.domain+"]",this).each(function(){var b=c(this).attr("href").replace(/^http:/,"").replace(new RegExp(a+"/?$"),"");if(b==""||b.indexOf("_escaped_fragment_")!=-1)c(this).attr("href","#"+this.decode(b.replace(/\/(.*)\?_escaped_fragment_=(.*)$/,
-
p())!=-1)k.title=R})}if(Q=ga&&m>=1||u&&m>=6||s&&m>=9.5||y&&m>=312){for(r=1;r<D;r++)z.push("");z.push(f);if(u&&d.hash!=f)d.hash="#"+K(t(f,e),e);if(s)history.navigationMode="compatible";if(B&&ha!=-1){B=B.substr(ha+1).split("&");for(r=0;r<B.length;r++){s=B[r].split("=");if(/^(autoUpdate|crawlable|history|strict|wrap)$/.test(s[0]))i[s[0]]=isNaN(s[1])?/^(true|yes)$/i.test(s[1]):parseInt(s[1],10)!==0;if(/^tracker$/.test(s[0]))i[s[0]]=s[1]}}document.readyState=="complete"&&fa();c(fa);c(window).bind("unload",
+
"!$2")))})},K=function(a){return encodeURIComponent(a).replace(/%20/g,"+")},ja=function(a){return a.split("#")[0].split("?")[0]},ka=function(a){a=ja(a);var b=a.replace(/\/{2,9}/g,"/").split("/");if(a.substr(0,1)=="/"||a.length===0)b.splice(0,1);a.substr(a.length-1,1)=="/"&&b.splice(b.length-1,1);return b},S=function(a){a=a.split("?");return a.slice(1,a.length).join("?").split("#")[0]},la=function(a,b){if(b=S(b)){params=b.split("&");b=[];for(r=0;r<params.length;r++){var f=params[r].split("=");f[0]==
-
la)}else if(!Q&&p()!=""||y&&m<418&&p()!=""&&d.search!=""){k.open();k.write('<html><head><meta http-equiv="refresh" content="0;url='+encodeURI(d.href.substr(0,d.href.indexOf("#")))+'" /></head></html>');k.close()}else ca();return{bind:function(a,b,g){return w(a,b,g)},init:function(a){return w("init",a)},change:function(a){return w($,a)},internalChange:function(a){return w(aa,a)},externalChange:function(a){return w(ba,a)},baseURL:function(){var a=d.href;if(a.indexOf("#")!=-1)a=a.substr(0,a.indexOf("#"));
+
a&&b.push(f.slice(1).join("="))}if(b.length!==0)return b.length!=1?b:b[0]}},ma=function(a){var b=S(a);a=[];if(b&&b.indexOf("=")!=-1){b=b.split("&");for(var f=0;f<b.length;f++){var h=b[f].split("=")[0];c.inArray(h,a)==-1&&a.push(h)}}return a},na=function(a){a=a.split("#");return a.slice(1,a.length).join("#")},p="jQueryAddress",t="undefined",O="hashchange",ba="change",ca="internalChange",da="externalChange",k=true,l=false,d={autoUpdate:k,crawlable:l,history:k,strict:k,wrap:l},s=c.browser,o=parseFloat(c.browser.version),
-
if(/\/$/.test(a))a=a.substr(0,a.length-1);return a},autoUpdate:function(a){if(a!==undefined){i.autoUpdate=a;return this}return i.autoUpdate},crawlable:function(a){if(a!==undefined){i.crawlable=a;return this}return i.crawlable},history:function(a){if(a!==undefined){i.history=a;return this}return i.history},strict:function(a){if(a!==undefined){i.strict=a;return this}return i.strict},tracker:function(a){if(a!==undefined){i.tracker=a;return this}return i.tracker},wrap:function(a){if(a!==undefined){i.wrap=
+
oa=s.mozilla,E=s.msie,pa=s.opera,D=s.webkit,X=l,j=function(){try{return top.document!==undefined?top:window}catch(a){return window}}(),m=j.document,z=j.history,e=j.location,ua=setInterval,v=setTimeout,V=navigator.userAgent,n,W,N=aa(document),fa=N?N.indexOf("?"):-1,Y=m.title,I=z.length,R=l,ha=l,Z=k,qa=k,T=l,F=[],g=u();if(E){o=parseFloat(V.substr(V.indexOf("MSIE")+4));if(m.documentMode&&m.documentMode!=o)o=m.documentMode!=8?7:8;c(document).bind("propertychange",function(){if(m.title!=Y&&m.title.indexOf("#"+
-
a;return this}return i.wrap},update:function(){N=e;this.value(f);N=j;return this},title:function(a){if(a!==undefined){a=J(a);E(function(){R=k.title=a;if(ia&&l&&l.contentWindow&&l.contentWindow.document){l.contentWindow.document.title=a;ia=j}if(!S&&ga)d.replace(d.href.indexOf("#")!=-1?d.href:d.href+"#");S=j},50);return this}return k.title},value:function(a){if(a!==undefined){a=W(J(Y(a,e)));if(a=="/")a="";if(f==a&&!N)return;S=e;f=a;if(i.autoUpdate||N){L=e;G(e);z[F.length]=f;if(y)if(i.history){d[o][d.pathname]=
+
u())!=-1)m.title=Y})}if(X=oa&&o>=1||E&&o>=6||pa&&o>=9.5||D&&o>=312){for(var r=1;r<I;r++)F.push("");F.push(g);if(pa)history.navigationMode="compatible";if(document.readyState=="complete")var xa=setInterval(function(){if(c.address){ia();clearInterval(xa)}},50);else{ga();c(ia)}s=H();if(typeof d.state!==t)if(z.pushState)s.substr(0,3)=="/#/"&&e.replace(d.state.replace(/^\/$/,"")+s.substr(2));else s!="/"&&s.replace(/^\/#/,"")!=G()&&e.replace(d.state.replace(/^\/$/,"")+"/#"+s);c(window).bind("popstate",
-
z.toString();D=F.length+1;if(m<418){if(d.search==""){P.action="#"+t(f,e);P.submit()}}else if(m<523||f==""){a=k.createEvent("MouseEvents");a.initEvent("click",e,e);var b=k.createElement("a");b.href="#"+t(f,e);b.dispatchEvent(a)}else d.hash="#"+t(f,e)}else d.replace("#"+t(f,e));else if(f!=p())if(i.history)d.hash="#"+K(t(f,e),e);else d.replace("#"+t(f,e));u&&m<8&&i.history&&E(da,50);if(y)E(function(){L=j},1);else L=j}return this}if(!Q)return null;return J(Y(K(f,j),j))},path:function(a){if(a!==undefined){var b=
+
va).bind("unload",wa)}else!X&&G()!=""||D&&o<418&&G()!=""&&e.search!=""?e.replace(e.href.substr(0,e.href.indexOf("#"))):ea();return{bind:function(a,b,f){return y(a,b,f)},init:function(a){return y("init",a)},change:function(a){return y(ba,a)},internalChange:function(a){return y(ca,a)},externalChange:function(a){return y(da,a)},baseURL:function(){var a=e.href;if(a.indexOf("#")!=-1)a=a.substr(0,a.indexOf("#"));if(/\/$/.test(a))a=a.substr(0,a.length-1);return a},autoUpdate:function(a){if(a!==undefined){d.autoUpdate=
-
this.queryString(),g=this.hash();this.value(a+(b?"?"+b:"")+(g?"#"+g:""));return this}return this.value().split("#")[0].split("?")[0]},queryString:function(a){if(a!==undefined){var b=this.hash();this.value(this.path()+(a?"?"+a:"")+(b?"#"+b:""));return this}a=this.value().split("?");return a.slice(1,a.length).join("?").split("#")[0]},parameter:function(a,b,g){var h,q;if(b!==undefined){var T=this.parameterNames();q=[];for(h=0;h<T.length;h++){var U=T[h],C=this.parameter(U);if(typeof C=="string")C=[C];
+
a;return this}return d.autoUpdate},crawlable:function(a){if(a!==undefined){d.crawlable=a;return this}return d.crawlable},history:function(a){if(a!==undefined){d.history=a;return this}return d.history},state:function(a){if(a!==undefined){d.state=a;return this}return d.state},strict:function(a){if(a!==undefined){d.strict=a;return this}return d.strict},tracker:function(a){if(a!==undefined){d.tracker=a;return this}return d.tracker},wrap:function(a){if(a!==undefined){d.wrap=a;return this}return d.wrap},
-
if(U==a)C=b===null||b===""?[]:g?C.concat([b]):[b];for(var V=0;V<C.length;V++)q.push(U+"="+C[V])}c.inArray(a,T)==-1&&b!==null&&b!==""&&q.push(a+"="+b);this.queryString(q.join("&"));return this}if(b=this.queryString()){q=b.split("&");b=[];for(h=0;h<q.length;h++){g=q[h].split("=");g[0]==a&&b.push(g[1])}if(b.length!==0)return b.length!=1?b:b[0]}},pathNames:function(){var a=this.path(),b=a.replace(/\/{2,9}/g,"/").split("/");if(a.substr(0,1)=="/"||a.length===0)b.splice(0,1);a.substr(a.length-1,1)=="/"&&
+
update:function(){T=k;this.value(g);T=l;return this},encode:function(a){var b=ka(a),f=ma(a),h=S(a),q=na(a),P=a.substr(0,1),L=a.substr(a.length-1),i="";c.each(b,function(w,Q){i+="/"+K(Q)});if(h!==""){i+="?";if(f.length===0)i+=h;else{c.each(f,function(w,Q){w=la(Q,a);if(typeof w!=="string")c.each(w,function(za,ya){i+=K(Q)+"="+K(ya)+"&"});else i+=K(Q)+"="+K(w)+"&"});i=i.substr(0,i.length-1)}}if(q!=="")i+="#"+K(q);if(P!="/"&&i.substr(0,1)=="/")i=i.substr(1);if(/#|&|\?/.test(L))i+=L;return i},decode:function(a){return decodeURIComponent(a.replace(/\+/g,
-
b.splice(b.length-1,1);return b},parameterNames:function(){var a=this.queryString(),b=[];if(a&&a.indexOf("=")!=-1){a=a.split("&");for(var g=0;g<a.length;g++){var h=a[g].split("=")[0];c.inArray(h,b)==-1&&b.push(h)}}return b},hash:function(a){if(a!==undefined){this.value(this.value().split("#")[0]+(a?"#"+a:""));return this}a=this.value().split("#");return a.slice(1,a.length).join("#")}}}();c.fn.address=function(v){var w=function(){if(c(this).is("a")){var p=v?v.call(this):/address:/.test(c(this).attr("rel"))?
+
"%20"))},title:function(a){if(a!==undefined){v(function(){Y=m.title=a;if(qa&&n&&n.contentWindow&&n.contentWindow.document){n.contentWindow.document.title=a;qa=l}if(!Z&&oa)e.replace(e.href.indexOf("#")!=-1?e.href:e.href+"#");Z=l},50);return this}return m.title},value:function(a){if(a!==undefined){a=$(this.encode(a),k);if(a=="/")a="";if(g==a&&!T)return;Z=k;g=a;if(d.autoUpdate||T){J(k);if(A())z[d.history?"pushState":"replaceState"]({},"",d.state.replace(/\/$/,"")+(g==""?"/":g));else{R=k;F[z.length]=
-
c(this).attr("rel").split("address:")[1].split(" ")[0]:c(this).attr("href").replace(/^#\!?/,"");c.address.value(p);return false}};c(this).click(w).live("click",w);c(this).live("submit",function(){if(c(this).is("form")){var p=v?v.call(this):c(this).attr("action")+"?"+c(this).serialize();c.address.value(p);return false}});return this}})(jQuery);
+
g;if(D)if(d.history){e[p][e.pathname]=F.toString();I=z.length+1;if(o<418){if(e.search==""){W.action="#"+B(g,k);W.submit()}}else if(o<523||g==""){a=m.createEvent("MouseEvents");a.initEvent("click",k,k);var b=m.createElement("a");b.href="#"+B(g,k);b.dispatchEvent(a)}else e.hash="#"+B(g,k)}else e.replace("#"+B(g,k));else if(g!=u())if(d.history)e.hash="#"+B(g,k);else e.replace("#"+B(g,k));E&&o<8&&d.history&&v(U,50);if(D)v(function(){R=l},1);else R=l}}return this}if(!X)return null;return $(this.decode(g),
 +
l)},path:function(a){if(a!==undefined){var b=this.queryString(),f=this.hash();this.value(a+(b?"?"+b:"")+(f?"#"+f:""));return this}return ja(this.value())},pathNames:function(){return ka(this.value())},queryString:function(a){if(a!==undefined){var b=this.hash();this.value(this.path()+(a?"?"+a:"")+(b?"#"+b:""));return this}return S(this.value())},parameter:function(a,b,f){var h,q;if(b!==undefined){var P=this.parameterNames();q=[];for(h=0;h<P.length;h++){var L=P[h],i=this.parameter(L);if(typeof i=="string")i=
 +
[i];if(L==a)i=b===null||b===""?[]:f?i.concat([b]):[b];for(var w=0;w<i.length;w++)q.push(L+"="+i[w])}c.inArray(a,P)==-1&&b!==null&&b!==""&&q.push(a+"="+b);this.queryString(q.join("&"));return this}return la(a,this.value())},parameterNames:function(){return ma(this.value())},hash:function(a){if(a!==undefined){this.value(this.value().split("#")[0]+(a?"#"+a:""));return this}return na(this.value())}}}();c.fn.address=function(x){if(!c(this).attr("address")){var y=function(A){if(c(this).is("a")){var H=x?
 +
x.call(this):/address:/.test(c(this).attr("rel"))?c(this).attr("rel").split("address:")[1].split(" ")[0]:typeof c.address.state()!=="undefined"&&c.address.state()!="/"?c(this).attr("href").replace(new RegExp("^(.*"+c.address.state()+"|\\.)"),""):c(this).attr("href").replace(/^(#\!?|\.)/,"");c.address.value(H);A.preventDefault()}};c(this).click(y).live("click",y).submit(function(A){if(c(this).is("form")){var H=x?x.call(this):c(this).attr("action")+"?"+c.address.decode(c(this).serialize());c.address.value(H);
 +
A.preventDefault()}}).attr("address",true)}return this}})(jQuery);

Latest revision as of 19:51, 24 October 2010

/*

* jQuery Address Plugin v1.3
* 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-09-26 17:58:16 +0300 (Sun, 26 Sep 2010)
*/

(function(c){c.address=function(){var x=function(a){c(c.address).trigger(c.extend(c.Event(a),function(){for(var b={},f=c.address.parameterNames(),h=0,q=f.length;h<q;h++)b[f[h]]=c.address.parameter(f[h]);return{value:c.address.value(),path:c.address.path(),pathNames:c.address.pathNames(),parameterNames:f,parameters:b,queryString:c.address.queryString()}}.call(c.address)))},y=function(a,b,f){c(c.address).bind(a,b,f);return c.address},A=function(){return z.pushState&&typeof d.state!==t},H=function(){return"/"+ e.pathname.replace(new RegExp(d.state),"")+e.search+(G()?"#"+G():"")},G=function(){var a=e.href.indexOf("#");return a!=-1?B(e.href.substr(a+1),l):""},u=function(){return A()?H():G()},ra=function(){return"javascript"},$=function(a,b){if(d.strict)a=b?a.substr(0,1)!="/"?"/"+a:a:a==""?"/":a;return a},B=function(a,b){if(d.crawlable&&b)return(a!=""?"!":"")+a;return a.replace(/^\!/,"")},C=function(a,b){return parseInt(a.css(b),10)},aa=function(a){for(var b,f,h=0,q=a.childNodes.length;h<q;h++){if(a.childNodes[h].src)b= String(a.childNodes[h].src);if(f=aa(a.childNodes[h]))b=f}return b},M=function(){if(!R){var a=u(),b=g!=a;if(D&&o<523){if(I!=z.length){I=z.length;if(typeof F[I-1]!=t)g=F[I-1];J(l)}}else if(b)if(E&&o<7)e.reload();else{E&&o<8&&d.history&&v(U,50);g=a;J(l)}}},J=function(a){x(ba);x(a?ca:da);v(ea,10)},ea=function(){if(d.tracker!=="null"&&d.tracker!==null){var a=c.isFunction(d.tracker)?d.tracker:j[d.tracker],b=(e.pathname+e.search+(c.address&&!A()?c.address.value():"")).replace(/\/\//,"/").replace(/^\/$/, "");if(c.isFunction(a))a(b);else if(c.isFunction(j.urchinTracker))j.urchinTracker(b);else if(typeof j.pageTracker!=t&&c.isFunction(j.pageTracker._trackPageview))j.pageTracker._trackPageview(b);else typeof j._gaq!=t&&c.isFunction(j._gaq.push)&&j._gaq.push(["_trackPageview",b])}},U=function(){var a=ra()+":"+l+";document.open();document.writeln('"+m.title+"