/** * SWFAddress 2.3: Deep linking for Flash and Ajax <http://www.asual.com/swfaddress/> * * SWFAddress is (c) 2006-2009 Rostislav Hristov and contributors * This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> * */if(typeof asual=="undefined"){var asual={};}if(typeof asual.swfaddress=="undefined"){asual.swfaddress={};}if(typeof asual.util=="undefined"){asual.util={};}asual.util.Browser=new function(){var B=navigator.userAgent.toLowerCase(),E=/chrome/.test(B),A=/webkit/.test(B)&&!/chrome/.test(B),F=/opera/.test(B),D=/msie/.test(B)&&!/opera/.test(B),C=/mozilla/.test(B)&&!/(compatible|webkit)/.test(B),G=parseFloat(D?B.substr(B.indexOf("msie")+4):(B.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]);this.toString=function(){return "[class Browser]";};this.getVersion=function(){return G;};this.isIE=function(){return D;};this.isSafari=function(){return A;};this.isOpera=function(){return F;};this.isChrome=function(){return E;};this.isMozilla=function(){return C;};};asual.util.Events=new function(){var C="DOMContentLoaded",G="onstop",I=window,F=document,B=[],A=asual.util,D=A.Browser;this.toString=function(){return "[class Events]";};this.addListener=function(L,J,K){B.push({o:L,t:J,l:K});if(!(J==C&&(D.isIE()||D.isSafari()))){if(L.addEventListener){L.addEventListener(J,K,false);}else{if(L.attachEvent){L.attachEvent("on"+J,K);}}}};this.removeListener=function(N,K,L){for(var J=0,M;M=B[J];J++){if(M.o==N&&M.t==K&&M.l==L){B.splice(J,1);break;}}if(!(K==C&&(D.isIE()||D.isSafari()))){if(N.removeEventListener){N.removeEventListener(K,L,false);}else{if(N.detachEvent){N.detachEvent("on"+K,L);}}}};var H=function(){for(var K=0,J;J=B[K];K++){if(J.t!=C){A.Events.removeListener(J.o,J.t,J.l);}}};var E=function(){if(F.readyState=="interactive"){function J(){F.detachEvent(G,J);H();};F.attachEvent(G,J);I.setTimeout(function(){F.detachEvent(G,J);},0);}};if(D.isIE()||D.isSafari()){(function(){try{if((D.isIE()&&F.body)||!/loaded|complete/.test(F.readyState)){F.documentElement.doScroll("left");}}catch(K){return setTimeout(arguments.callee,0);}for(var J=0,K;K=B[J];J++){if(K.t==C){K.l.call(null);}}})();}if(D.isIE()){I.attachEvent("onbeforeunload",E);}this.addListener(I,"unload",H);};asual.util.Functions=new function(){this.toString=function(){return "[class Functions]";};this.extend=function(C,A){function B(){};B.prototype=C.prototype;A.prototype=new B();A.prototype.constructor=A;A.superConstructor=C;A.superClass=C.prototype;return A;};this.bind=function(F,B,E){for(var C=2,D,A=[];D=arguments[C];C++){A.push(D);}return function(){return F.apply(B,A);};};};asual.swfaddress.WEBAddressEvent=function(D){var A=asual.swfaddress.WEBAddress;this.toString=function(){return "[object WEBAddressEvent]";};this.type=D;this.target=[A][0];this.value=A.getValue();this.path=A.getPath();this.pathNames=A.getPathNames();this.parameters={};var E=A.getParameterNames();for(var C=0,B=E.length;C<B;C++){this.parameters[E[C]]=A.getParameter(E[C]);}this.parametersNames=E;};asual.swfaddress.WEBAddressEvent.INIT="init";asual.swfaddress.WEBAddressEvent.CHANGE="change";asual.swfaddress.WEBAddress=new function(){var n=function(){var i=u.href.indexOf("#");return i!=-1?AC(N(u.href.substr(i+1))):"";};var F=function(){try{top.document;return top;}catch(i){return window;}};var b=function(l,i){if(Y.strict){l=i?(l.substr(0,1)!="/"?"/"+l:l):(l==""?"/":l);}return l;};var O=function(i){return (X.isIE()&&u.protocol=="file:")?o.replace(/\?/,"%3F"):i;};var AD=function(AG){for(var AE=0,p=AG.childNodes.length,AF;AE<p;AE++){if(AG.childNodes[AE].src){G=String(AG.childNodes[AE].src);}if(AF=AD(AG.childNodes[AE])){return AF;}}};var A=function(){if(AB.title!=d&&AB.title.indexOf("#")!=-1){AB.title=d;}};var w=function(){if(!Q){var l=n();var i=!(o==l);if(X.isSafari()&&P<523){if(a!=x.length){a=x.length;if(typeof W[a-1]!=c){o=W[a-1];}t.call(this);}}else{if(X.isIE()&&i){if(P<7){u.reload();}else{this.setValue(l);}}else{if(i){o=l;t.call(this);}}}if(X.isIE()){A.call(this);}}};var m=function(i){this.dispatchEvent(new y.WEBAddressEvent(i));i=i.substr(0,1).toUpperCase()+i.substr(1);if(typeof this["on"+i]==E){this["on"+i]();}};var K=function(){m.call(this,"init");};var Z=function(){m.call(this,"change");};var t=function(){Z.call(this);M(H.bind(S,this),10);};var S=function(){var l=(u.pathname+(/\/$/.test(u.pathname)?"":"/")+this.getValue()).replace(/\/\//,"/").replace(/^\/$/,"");var i=window[Y.tracker];if(typeof i==E){i(l);}else{if(typeof pageTracker!=c&&typeof pageTracker._trackPageview==E){pageTracker._trackPageview(l);}else{if(typeof urchinTracker==E){urchinTracker(l);}}}};var D=function(){var i=T.contentWindow.document;i.open();i.write("<html><head><title>"+AB.title+"</title><script>var "+U+" = \""+n()+"\";</script></head></html>");i.close();};var L=function(){var i=T.contentWindow;var l=i.location.href;o=(typeof i[U]!=c?i[U]:"");if(o!=n()){t.call(y.WEBAddress);u.hash=O(o);}};var j=function(){if(!r){r=true;var i="id=\""+U+"\" style=\"position:absolute;top:-9999px;\"";if(X.isIE()&&P<8){AB.body.appendChild(AB.createElement("div")).innerHTML="<iframe "+i+" src=\"javascript:false;\" width=\"0\" height=\"0\"></iframe>";T=AB.getElementById(U);M(function(){g.addListener(T,"load",L);if(typeof T.contentWindow[U]==c){D();}},50);}else{if(X.isSafari()){if(P<418){AB.body.innerHTML+="<form "+i+" method=\"get\"></form>";e=AB.getElementById(U);}if(typeof u[U]==c){u[U]={};}if(typeof u[U][u.pathname]!=c){W=u[U][u.pathname].split(",");}}}M(H.bind(K,this),20);M(H.bind(Z,this),21);M(H.bind(S,this),22);if(X.isIE()&&P>=8){AB.body.onhashchange=H.bind(w,this);R(H.bind(A,this),50);}else{R(H.bind(w,this),50);}}};var U="",E="function",c="undefined",y=asual.swfaddress,J=asual.util,X=J.Browser,g=J.Events,H=J.Functions,P=X.getVersion(),AA=false,k=F(),AB=k.document,x=k.history,u=k.location,R=setInterval,M=setTimeout,N=decodeURI,AC=encodeURI,T,e,G,d=AB.title,a=x.length,Q=false,r=false,h=true,f=true,W=[],V={},o=n(),Y={history:true,strict:true};if(X.isOpera()){AA=P>=9.02;}if(X.isIE()){AA=P>=6;}if(X.isSafari()){AA=P>=312;}if(X.isChrome()){AA=P>=0.2;}if(X.isMozilla()){AA=P>=1;}if(AA){for(var v=1;v<a;v++){W.push("");}W.push(n());if(X.isIE()&&u.hash!=n()){u.hash="#"+O(n());}AD(document);var B=G.indexOf("?");if(G&&B>-1){var I,C=G.substr(B+1).split("&");for(var v=0,q;q=C[v];v++){I=q.split("=");if(/^(history|strict)$/.test(I[0])){Y[I[0]]=(isNaN(I[1])?/^(true|yes)$/i.test(I[1]):(parseInt(I[1])!=0));}if(/^tracker$/.test(I[0])){Y[I[0]]=I[1];}}}var z=G.indexOf(".js"),s;if(G&&z>-1){while(z--){s=G.substr(z,1);if(/(\/|\\)/.test(s)){break;}U=s.replace(/-|\./g,"_")+U;}}if(X.isIE()){A.call(this);}if(window==k){g.addListener(document,"DOMContentLoaded",H.bind(j,this));}g.addListener(k,"load",H.bind(j,this));}else{if((!AA&&u.href.indexOf("#")!=-1)||(X.isSafari()&&P<418&&u.href.indexOf("#")!=-1&&u.search!="")){AB.open();AB.write("<html><head><meta http-equiv=\"refresh\" content=\"0;url="+u.href.substr(0,u.href.indexOf("#"))+"\" /></head></html>");AB.close();}else{S();}}this.toString=function(){return "[class WEBAddress]";};this.back=function(){x.back();};this.forward=function(){x.forward();};this.up=function(){var i=this.getPath();this.setValue(i.substr(0,i.lastIndexOf("/",i.length-2)+(i.substr(i.length-1)=="/"?1:0)));};this.go=function(i){x.go(i);};this.addEventListener=function(i,l){if(typeof V[i]==c){V[i]=[];}V[i].push(l);};this.removeEventListener=function(AF,AG){if(typeof V[AF]!=c){for(var AE=0,p;p=V[AF][AE];AE++){if(p==AG){break;}}V[AF].splice(AE,1);}};this.dispatchEvent=function(AF){if(this.hasEventListener(AF.type)){AF.target=this;for(var AE=0,p;p=V[AF.type][AE];AE++){p(AF);}return true;}return false;};this.hasEventListener=function(i){return (typeof V[i]!=c&&V[i].length>0);};this.getBaseURL=function(){var i=u.href;if(i.indexOf("#")!=-1){i=i.substr(0,i.indexOf("#"));}if(i.substr(i.length-1)=="/"){i=i.substr(0,i.length-1);}return i;};this.getStrict=function(){return Y.strict;};this.setStrict=function(i){Y.strict=i;};this.getHistory=function(){return Y.history;};this.setHistory=function(i){Y.history=i;};this.getTracker=function(){return Y.tracker;};this.setTracker=function(i){Y.tracker=i;};this.getTitle=function(){return AB.title;};this.setTitle=function(i){if(!AA){return null;}if(typeof i==c){return;}if(i=="null"){i="";}d=AB.title=i;M(function(){if(f&&T&&T.contentWindow&&T.contentWindow.document){T.contentWindow.document.title=i;f=false;}if(!h&&X.isMozilla()){u.replace(u.href.indexOf("#")!=-1?u.href:u.href+"#");}h=false;},50);};this.getStatus=function(){return k.status;};this.setStatus=function(i){if(typeof i==c){return;}if(!X.isSafari()){i=b((i!="null")?i:"",true);if(i=="/"){i="";}if(!(/http(s)?:\/\//.test(i))){var l=u.href.indexOf("#");i=(l==-1?u.href:u.href.substr(0,l))+"#"+i;}k.status=i;}};this.resetStatus=function(){k.status="";};this.getValue=function(){if(!AA){return null;}return N(b(o,false));};this.setValue=function(p){if(!AA){return null;}if(typeof p==c){return;}if(p=="null"){p="";}p=AC(N(b(p,true)));if(p=="/"){p="";}if(o==p){return;}h=true;o=p;Q=true;t.call(y.WEBAddress);W[x.length]=o;if(X.isSafari()){if(Y.history){u[U][u.pathname]=W.toString();a=x.length+1;if(P<418){if(u.search==""){e.action="#"+o;e.submit();}}else{if(P<523||o==""){var i=AB.createEvent("MouseEvents");i.initEvent("click",true,true);var l=AB.createElement("a");l.href="#"+o;l.dispatchEvent(i);}else{u.hash="#"+o;}}}else{u.replace("#"+o);}}else{if(o!=n()){if(Y.history){u.hash=(X.isChrome()?"":"#")+O(o);}else{u.replace("#"+o);}}}if((X.isIE()&&P<8)&&Y.history){M(D,50);}if(X.isSafari()){M(function(){Q=false;},1);}else{Q=false;}};this.getPath=function(){var i=this.getValue();var i=SWFAddress.getValue();if(i.indexOf("?")!=-1){return i.split("?")[0];}else{if(i.indexOf("#")!=-1){return i.split("#")[0];}else{return i;}}};this.getPathNames=function(){var l=this.getPath();var i=l.split("/");if(l.substr(0,1)=="/"||l.length==0){i.splice(0,1);}if(l.substr(l.length-1,1)=="/"){i.splice(i.length-1,1);}return i;};this.getQueryString=function(){var l=this.getValue();var i=l.indexOf("?");return (i!=-1&&i<l.length)?l.substr(i+1):"";};this.getParameter=function(AI){var AF=this.getValue();var l=AF.indexOf("?");if(l!=-1){AF=AF.substr(l+1);var AH=AF.split("&");var AG,AE=AH.length;while(AE--){AG=AH[AE].split("=");if(AG[0]==AI){return AG[1];}}}};this.getParameterNames=function(){var AE=this.getValue();var l=AE.indexOf("?");var AF=[];if(l!=-1){AE=AE.substr(l+1);if(AE!=""&&AE.indexOf("=")!=-1){var AG=AE.split("&");var p=0;while(p<AG.length){AF.push(AG[p].split("=")[0]);p++;}}}return AF;};this.onInit=null;this.onChange=null;};SWFAddressEvent=asual.swfaddress.SWFAddressEvent=function(A){SWFAddressEvent.superConstructor.apply(this,arguments);this.target=[SWFAddress][0];this.toString=function(){return "[object SWFAddressEvent]";};};asual.util.Functions.extend(asual.swfaddress.WEBAddressEvent,SWFAddressEvent);asual.swfaddress.SWFAddressEvent.INIT="init";asual.swfaddress.SWFAddressEvent.CHANGE="change";SWFAddress=asual.swfaddress.SWFAddress=new function(){var _97="undefined",_t=top,_l=_t.location,_9a=this,_9b,_9c,_ec=encodeURI,_9e=[],_9f=[],_a0={},_a1=asual.util,_a2=asual.util.Functions,_a3=asual.swfaddress.WEBAddress;for(var p in _a3){this[p]=_a3[p];}var _a5=function(_a6){this.dispatchEvent(new SWFAddressEvent(_a6));_a6=_a6.substr(0,1).toUpperCase()+_a6.substr(1);if(typeof this["on"+_a6]=="function"){this["on"+_a6]();}};var _a7=function(e){if(_9f.length>0){var _a9=window.open(_9f[0],_9f[1],eval(_9f[2]));if(typeof _9f[3]!=_97){eval(_9f[3]);}}_9f=[];};var _aa=function(){if(_a1.Browser.isSafari()){document.body.addEventListener("click",_a7);}_a5.call(this,"init");};var _ab=function(){_ac();_a5.call(this,"change");};var _ac=function(){for(var i=0,id,obj,_b0=SWFAddress.getValue(),_b1="setSWFAddressValue";id=_9e[i];i++){obj=document.getElementById(id);if(obj){if(obj.parentNode&&typeof obj.parentNode.so!=_97){obj.parentNode.so.call(_b1,_b0);}else{if(!(obj&&typeof obj[_b1]!=_97)){var _b2=obj.getElementsByTagName("object");var _b3=obj.getElementsByTagName("embed");obj=((_b2[0]&&typeof _b2[0][_b1]!=_97)?_b2[0]:((_b3[0]&&typeof _b3[0][_b1]!=_97)?_b3[0]:null));}if(obj){obj[_b1](_ec(_b0));}}}else{if(obj=document[id]){if(typeof obj[_b1]!=_97){obj[_b1](_ec(_b0));}}}}};this.toString=function(){return "[class SWFAddress]";};this.addEventListener=function(_b4,_b5){if(typeof _a0[_b4]==_97){_a0[_b4]=[];}_a0[_b4].push(_b5);};this.removeEventListener=function(_b6,_b7){if(typeof _a0[_b6]!=_97){for(var i=0,l;l=_a0[_b6][i];i++){if(l==_b7){break;}}_a0[_b6].splice(i,1);}};this.dispatchEvent=function(_ba){if(typeof _a0[_ba.type]!=_97&&_a0[_ba.type].length){_ba.target=this;for(var i=0,l;l=_a0[_ba.type][i];i++){l(_ba);}return true;}return false;};this.hasEventListener=function(_bd){return (typeof _a0[_bd]!=_97&&_a0[_bd].length>0);};this.href=function(url,_bf){_bf=typeof _bf!=_97?_bf:"_self";if(_bf=="_self"){self.location.href=url;}else{if(_bf=="_top"){_l.href=url;}else{if(_bf=="_blank"){window.open(url);}else{_t.frames[_bf].location.href=url;}}}};this.popup=function(url,_c1,_c2,_c3){try{var _c4=window.open(url,_c1,eval(_c2));if(typeof _c3!=_97){eval(_c3);}}catch(ex){}_9f=arguments;};this.getIds=function(){return _9e;};this.getId=function(_c5){return _9e[0];};this.setId=function(id){_9e[0]=id;};this.addId=function(id){this.removeId(id);_9e.push(id);};this.removeId=function(id){for(var i=0;i<_9e.length;i++){if(id==_9e[i]){_9e.splice(i,1);break;}}};_a3.addEventListener("init",_a2.bind(_aa,this));_a3.addEventListener("change",_a2.bind(_ab,this));(function(){var _ca;if(typeof FlashObject!=_97){SWFObject=FlashObject;}if(typeof SWFObject!=_97&&SWFObject.prototype&&SWFObject.prototype.write){var _s1=SWFObject.prototype.write;SWFObject.prototype.write=function(){_ca=arguments;if(this.getAttribute("version").major<8){this.addVariable("$swfaddress",SWFAddress.getValue());((typeof _ca[0]=="string")?document.getElementById(_ca[0]):_ca[0]).so=this;}var _cc;if(_cc=_s1.apply(this,_ca)){_9a.addId(this.getAttribute("id"));}return _cc;};}if(typeof swfobject!=_97){var _cd=swfobject.registerObject;swfobject.registerObject=function(){_ca=arguments;_cd.apply(this,_ca);_9a.addId(_ca[0]);};var _ce=swfobject.createSWF;swfobject.createSWF=function(){_ca=arguments;_ce.apply(this,_ca);_9a.addId(_ca[0].id);};var _cf=swfobject.embedSWF;swfobject.embedSWF=function(){_ca=arguments;_cf.apply(this,_ca);_9a.addId(_ca[8].id);};}if(typeof UFO!=_97){var _u=UFO.create;UFO.create=function(){_ca=arguments;_u.apply(this,_ca);_9a.addId(_ca[0].id);};}if(typeof AC_FL_RunContent!=_97){var _a=AC_FL_RunContent;AC_FL_RunContent=function(){_ca=arguments;_a.apply(this,_ca);for(var i=0,l=_ca.length;i<l;i++){if(_ca[i]=="id"){_9a.addId(_ca[i+1]);}}};}})();};