Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.8.2r1
*/
YAHOO.util.History=(function(){varC=null;varK=null;varF=false;varD=[];varB=[];functionI(){varM,L;L=top.location.href;M=L.indexOf("#");returnM>=0?L.substr(M+1):null;}functionA(){varM,N,O=[],L=[];for(MinD){if(YAHOO.lang.hasOwnProperty(D,M)){N=D[M];O.push(M+"="+N.initialState);L.push(M+"="+N.currentState);}}K.value=O.join("&")+"|"+L.join("&");if(YAHOO.env.ua.webkit){K.value+="|"+B.join(",");}}functionH(L){varQ,R,M,O,P,T,S,N;if(!L){for(MinD){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];O.currentState=O.initialState;O.onStateChange(unescape(O.currentState));}}return;}P=[];T=L.split("&");for(Q=0,R=T.length;Q<R;Q++){S=T[Q].split("=");if(S.length===2){M=S[0];N=S[1];P[M]=N;}}for(MinD){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];N=P[M];if(!N||O.currentState!==N){O.currentState=N||O.initialState;O.onStateChange(unescape(O.currentState));}}}}functionJ(O){varL,N;L='<html><body><div id="state">'+O.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")+"</div></body></html>";try{N=C.contentWindow.document;N.open();N.write(L);N.close();returntrue;}catch(M){returnfalse;}}functionG(){varO,L,N,M;if(!C.contentWindow||!C.contentWindow.document){setTimeout(G,10);return;}O=C.contentWindow.document;L=O.getElementById("state");N=L?L.innerText:null;M=I();setInterval(function(){varU,Q,R,S,T,P;O=C.contentWindow.document;L=O.getElementById("state");U=L?L.innerText:null;T=I();if(U!==N){N=U;H(N);if(!N){Q=[];for(RinD){if(YAHOO.lang.hasOwnProperty(D,R)){S=D[R];Q.push(R+"="+S.initialState);}}T=Q.join("&");}else{T=N;}top.location.hash=T;M=T;A();}else{if(T!==M){M=T;J(T);}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}functionE(){varS,U,Q,W,M,O,V,P,T,N,L,R;Q=K.value.split("|");if(Q.length>1){V=Q[0].split("&");for(S=0,U=V.length;S<U;S++){W=V[S].split("=");if(W.length===2){M=W[0];P=W[1];O=D[M];if(O){O.initialState=P;}}}T=Q[1].split("&");for(S=0,U=T.length;S<U;S++){W=T[S].split("=");if(W.length>=2){M=W[0];N=W[1];O=D[M];if(O){O.currentState=N;}}}}if(Q.length>2){B=Q[2].split(",");}if(YAHOO.env.ua.ie){if(typeofdocument.documentMode==="undefined"||document.documentMode<8){G();}else{YAHOO.util.Event.on(top,"hashchange",function(){varX=I();H(X);A();});F=true;YAHOO.util.History.onLoadEvent.fire();}}else{L=history.length;R=I();setInterval(function(){varZ,X,Y;X=I();Y=history.length;if(X!==R){R=X;L=Y;H(R);A();}else{if(Y!==L&&YAHOO.env.ua.webkit){R=X;L=Y;Z=B[L-1];H(Z);A();}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}}return{onLoadEvent:newYAHOO.util.CustomEvent("onLoad"),onReady:function(L,M,N){if(F){setTimeout(function(){varO=window;if(N){if(N===true){O=M;}else{O=N;}}L.call(O,"onLoad",[],M);},0);}else{YAHOO.util.History.onLoadEvent.subscribe(L,M,N);}},register:function(N,L,P,Q,R){varO,M;if(typeofN!=="string"||YAHOO.lang.trim(N)===""||typeofL!=="string"||typeofP!=="function"){thrownewError("Missing or invalid argument");}if(D[N]){return;}if(F){thrownewError("All modules must be registered before calling YAHOO.util.History.initialize");}N=escape(N);L=escape(L);O=null;if(R===true){O=Q;}else{O=R;}M=function(S){returnP.call(O,S,Q);};D[N]={name:N,initialState:L,currentState:L,onStateChange:M};},initialize:function(L,M){if(F){return;}if(YAHOO.env.ua.opera&&typeofhistory.navigationMode!=="undefined"){history.navigationMode="compatible";}if(typeofL==="string"){L=document.getElementById(L);}if(!L||L.tagName.toUpperCase()!=="TEXTAREA"&&(L.tagName.toUpperCase()!=="INPUT"||L.type!=="hidden"&&L.type!=="text")){thrownewError("Missing or invalid argument");}K=L;if(YAHOO.env.ua.ie&&(typeofdocument.documentMode==="undefined"||document.documentMode<8)){if(typeofM==="string"){M=document.getElementById(M);}if(!M||M.tagName.toUpperCase()!=="IFRAME"){thrownewError("Missing or invalid argument");}C=M;}YAHOO.util.Event.onDOMReady(E);},navigate:function(M,N){varL;if(typeofM!=="string"||typeofN!=="string"){thrownewError("Missing or invalid argument");}L={};L[M]=N;returnYAHOO.util.History.multiNavigate(L);},multiNavigate:function(M){varL,N,P,O,Q;if(typeofM!=="object"){thrownewError("Missing or invalid argument");}if(!F){thrownewError("The Browser History Manager is not initialized");}for(NinM){if(!D[N]){thrownewError("The following module has not been registered: "+N);}}L=[];for(NinD){if(YAHOO.lang.hasOwnProperty(D,N)){P=D[N];if(YAHOO.lang.hasOwnProperty(M,N)){O=M[unescape(N)];}else{O=unescape(P.currentState);}N=escape(N);O=escape(O);L.push(N+"="+O);}}Q=L.join("&");if(YAHOO.env.ua.ie&&(typeofdocument.documentMode==="undefined"||document.documentMode<8)){returnJ(Q);}else{top.location.hash=Q;if(YAHOO.env.ua.webkit){B[history.length]=Q;A();}returntrue;}},getCurrentState:function(L){varM;if(typeofL!=="string"){thrownewError("Missing or invalid argument");}if(!F){thrownewError("The Browser History Manager is not initialized");}M=D[L];if(!M){thrownewError("No such registered module: "+L);}returnunescape(M.currentState);},getBookmarkedState:function(Q){varP,M,L,S,N,R,O;if(typeofQ!=="string"){thrownewError("Missing or invalid argument");}L=top.location.href.indexOf("#");if(L>=0){S=top.location.href.substr(L+1);N=S.split("&");for(P=0,M=N.length;P<M;P++){R=N[P].split("=");if(R.length===2){O=R[0];if(O===Q){returnunescape(R[1]);}}}}returnnull;},getQueryStringParameter:function(Q,N){varO,M,L,S,R,P;N=N||top.location.href;L=N.indexOf("?");S=L>=0?N.substr(L+1):N;L=S.lastIndexOf("#");S=L>=0?S.substr(0,L):S;R=S.split("&");for(O=0,M=R.length;O<M;O++){P=R[O].split("=");if(P.length>=2){if(P[0]===Q){returnunescape(P[1]);}}}returnnull;}};})();YAHOO.register("history",YAHOO.util.History,{version:"2.8.2r1",build:"7"});