/*! * History API JavaScript Library v4.1.0 * * Support: IE6+, FF3+, Opera 9+, Safari, Chrome and other * * Copyright 2011-2013, Dmitrii Pakhtinov ( spb.piksel@gmail.com ) * * http://spb-piksel.ru/ * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * Update: 2014-03-24 13:14 */ (function(e){var i=!0,j=null,p=!1;function K(){}function h(a,b,c){if(a!=j&&""!==a&&!b)var b=h(),c=b.e,f=b.h,a=""+a,a=/^(?:[\w0-9]+\:)?\/\//.test(a)?0===a.indexOf("/")?f+a:a:f+"//"+b.g+(0===a.indexOf("/")?a:0===a.indexOf("?")?c+a:0===a.indexOf("#")?c+b.f+a:c.replace(/[^\/]+$/g,"")+a);else if(a=b?a:d.href,!q||c)a=a.replace(/^[^#]*/,"")||"#",a=d.protocol.replace(/:.*$|$/,":")+"//"+d.host+k.basepath+a.replace(RegExp("^#[/]?(?:"+k.type+")?"),"");P.href=a;var a=/(?:([\w0-9]+:))?(?:\/\/(?:[^@]*@)?([^\/:\?#]+)(?::([0-9]+))?)?([^\?#]*)(?:(\?[^#]+)|\?)?(?:(#.*))?/.exec(P.href),b= a[2]+(a[3]?":"+a[3]:""),c=a[4]||"/",f=a[5]||"",e="#"===a[6]?"":a[6]||"",m=c+f+e,v=c.replace(RegExp("^"+k.basepath,"i"),k.type)+f;return{a:a[1]+"//"+b+m,h:a[1],g:b,i:a[2],k:a[3]||"",e:c,f:f,b:e,c:m,j:v,d:v+e}}function $(){var a;try{a=e.sessionStorage,a.setItem(F+"t","1"),a.removeItem(F+"t")}catch(b){a={getItem:function(a){a=g.cookie.split(a+"=");return 1lfirst=1;parent.location.hash="'+b.d.replace(/"/g,'\\"')+'";<\/script>'),g.close();!f&&a&&(s[d.href]=a)}};y=function(b,c,d,g){f.apply(this,arguments)||(b===u?u[c]=d:b===l?(l[c]=d,"state"===c&&(u=a(u),e.history=l=a(l))):b[c]=d.get&&d.get());return b};setInterval(function(){var a=h().a; if(a!=k){var b=g.createEventObject();b.oldURL=k;b.newURL=k=a;b.type="hashchange";M(b)}},100);e.JSON=r}}if(e.history){var g=e.document,J=g.documentElement,G=e.Object,r=e.JSON,d=e.location,o=e.history,l=o,O=o.pushState,W=o.replaceState,q=!!O,I="state"in o,D=G.defineProperty,u=y({},"t")?{}:g.createElement("a"),x="",N=e.addEventListener?"addEventListener":(x="on")&&"attachEvent",X=e.removeEventListener?"removeEventListener":"detachEvent",Y=e.dispatchEvent?"dispatchEvent":"fireEvent",w=e[N],Q=e[X],ea= e[Y],k={basepath:"/",redirect:0,type:"/"},F="__historyAPI__",P=g.createElement("a"),B=d.href,S="",E=p,s={},A={},C=g.title,ia={onhashchange:j,onpopstate:j},Z=function(a,b){var c=e.history!==o;c&&(e.history=o);a.apply(o,b);c&&(e.history=l)},V={redirect:function(a,b){k.basepath=b=b==j?k.basepath:b;k.type=a=a==j?k.type:a;if(e.top==e.self){var c=h(j,p,i).c,f=d.pathname+d.search;q?(f=f.replace(/([^\/])$/,"$1/"),c!=b&&RegExp("^"+b+"$","i").test(f)&&d.replace(c)):f!=b&&(f=f.replace(/([^\/])\?/,"$1/?"),RegExp("^"+ b,"i").test(f)&&d.replace(b+"#"+f.replace(RegExp("^"+b,"i"),a)+d.hash))}},pushState:function(a,b,c){var d=g.title;C!=j&&(g.title=C);O&&Z(O,arguments);t(a,c);g.title=d;C=b},replaceState:function(a,b,c){var e=g.title;C!=j&&(g.title=C);delete s[d.href];W&&Z(W,arguments);t(a,c,i);g.title=e;C=b},location:{set:function(a){e.location=a},get:function(){return q?d:u}},state:{get:function(){return s[d.href]||j}}},L={assign:function(a){0===(""+a).indexOf("#")?t(j,a):d.assign(a)},reload:function(){d.reload()}, replace:function(a){0===(""+a).indexOf("#")?t(j,a,i):d.replace(a)},toString:function(){return this.href},href:{get:function(){return h().a}},protocol:j,host:j,hostname:j,port:j,pathname:{get:function(){return h().e}},search:{get:function(){return h().f}},hash:{set:function(a){t(j,(""+a).replace(/^(#|)/,"#"),p,B)},get:function(){return h().b}}};ga()&&(l.emulate=!q,e[N]=ca,e[X]=da,e[Y]=H)}})(window);