(function(E){var C,F,D=/^.*#/;var B={iframe:null,getDoc:function(){return B.iframe.contentWindow.document},getHash:function(){return B.getDoc().location.hash.substr(1)},setHash:function(G){var H=B.getDoc();H.open();H.close();H.location.hash="#"+G}};var A=function(){var G=B.iframe?B.getHash():location.hash.substr(1);if(G!=C){var H=C;C=G;if(B.iframe){location.hash="#"+C}E.event.trigger("hashchange",[C,H])}};E.hash={set:function(H){switch(typeof H){case"string":H=H.replace(D,"");case"object":var G=H;H="";for(key in G){if(H.length>0){H+="&"}H+=key;H+="=";H+=encodeURIComponent(G[key])}}H=H.replace(D,"");if(C!=H){var I=C;C=H;location.hash="#"+H;if(B.iframe){B.setHash(C)}E.event.trigger("hashset",[C,I])}},get:function(){return C}};E.fn.hashchange=function(G){return E(this).bind("hashchange",G)};E.fn.hashset=function(G){return E(this).bind("hashset",G)};E(function(){C=location.hash.substr(1);if(E.browser.msie){B.iframe=E('<iframe style="display:none" src="javascript:false;"></iframe>').prependTo("body")[0];B.setHash(C);C=B.getHash()}F=setInterval(A,100)})})(jQuery);