/*
	Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
	Available via Academic Free License >= 2.1 OR the modified BSD license.
	see: http://dojotoolkit.org/license for details
*/


if(!dojo._hasResource["dojo.hash"]){dojo._hasResource["dojo.hash"]=true;dojo.provide("dojo.hash");(function(){dojo.hash=function(_1,_2){if(!arguments.length){return _3();}if(_1.charAt(0)=="#"){_1=_1.substring(1);}if(_2){_4(_1);}else{location.href="#"+_1;}return _1;};var _5,_6,_7,_8=dojo.config.hashPollFrequency||100;function _9(_a,_b){var i=_a.indexOf(_b);return (i>=0)?_a.substring(i+1):"";};function _3(){return _9(location.href,"#");};function _c(){dojo.publish("/dojo/hashchange",[_3()]);};function _d(){if(_3()===_5){return;}_5=_3();_c();};function _4(_e){if(_6){if(_6.isTransitioning()){setTimeout(dojo.hitch(null,_4,_e),_8);return;}var _f=_6.iframe.location.href;var _10=_f.indexOf("?");_6.iframe.location.replace(_f.substring(0,_10)+"?"+_e);return;}location.replace("#"+_e);!_7&&_d();};function _11(){var ifr=document.createElement("iframe"),_12="dojo-hash-iframe",_13=dojo.config.dojoBlankHtmlUrl||dojo.moduleUrl("dojo","resources/blank.html");if(dojo.config.useXDomain&&!dojo.config.dojoBlankHtmlUrl){console.warn("dojo.hash: When using cross-domain Dojo builds,"+" please save dojo/resources/blank.html to your domain and set djConfig.dojoBlankHtmlUrl"+" to the path on your domain to blank.html");}ifr.id=_12;ifr.src=_13+"?"+_3();ifr.style.display="none";document.body.appendChild(ifr);this.iframe=dojo.global[_12];var _14,_15,_16,_17,_18,_19=this.iframe.location;function _1a(){_5=_3();_14=_18?_5:_9(_19.href,"?");_15=false;_16=null;};this.isTransitioning=function(){return _15;};this.pollLocation=function(){if(!_18){try{var _1b=_9(_19.href,"?");if(document.title!=_17){_17=this.iframe.document.title=document.title;}}catch(e){_18=true;console.error("dojo.hash: Error adding history entry. Server unreachable.");}}var _1c=_3();if(_15&&_5===_1c){if(_18||_1b===_16){_1a();_c();}else{setTimeout(dojo.hitch(this,this.pollLocation),0);return;}}else{if(_5===_1c&&(_18||_14===_1b)){}else{if(_5!==_1c){_5=_1c;_15=true;_16=_1c;ifr.src=_13+"?"+_16;_18=false;setTimeout(dojo.hitch(this,this.pollLocation),0);return;}else{if(!_18){location.href="#"+_19.search.substring(1);_1a();_c();}}}}setTimeout(dojo.hitch(this,this.pollLocation),_8);};_1a();setTimeout(dojo.hitch(this,this.pollLocation),_8);};dojo.addOnLoad(function(){if("onhashchange" in dojo.global&&(!dojo.isIE||(dojo.isIE>=8&&document.compatMode!="BackCompat"))){_7=dojo.connect(dojo.global,"onhashchange",_c);}else{if(document.addEventListener){_5=_3();setInterval(_d,_8);}else{if(document.attachEvent){_6=new _11();}}}});})();}