/** * 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 A=navigator.userAgent.toLowerCase();_version=parseFloat((A.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]);_chrome=/chrome/.test(A);_safari=/webkit/.test(A)&&!/chrome/.test(A);_opera=/opera/.test(A);_ie=/msie/.test(A)&&!/opera/.test(A);_mozilla=/mozilla/.test(A)&&!/(compatible|webkit)/.test(A);this.toString=function(){return "[class Browser]";};this.getVersion=function(){return _version;};this.isIE=function(){return _ie;};this.isSafari=function(){return _safari;};this.isOpera=function(){return _opera;};this.isChrome=function(){return _chrome;};this.isMozilla=function(){return _mozilla;};};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();return (i.indexOf("?")!=-1)?i.split("?")[0]: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 _91="undefined",_t=top,_l=_t.location,_94=this,_95,_96,_ec=encodeURI,_98=[],_99=[],_9a={},_9b=asual.util,_9c=asual.util.Functions,_9d=asual.swfaddress.WEBAddress;for(var p in _9d){this[p]=_9d[p];}var _9f=function(_a0){this.dispatchEvent(new SWFAddressEvent(_a0));_a0=_a0.substr(0,1).toUpperCase()+_a0.substr(1);if(typeof this["on"+_a0]=="function"){this["on"+_a0]();}};var _a1=function(e){if(_99.length>0){var _a3=window.open(_99[0],_99[1],eval(_99[2]));if(typeof _99[3]!=_91){eval(_99[3]);}}_99=[];};var _a4=function(){if(_9b.Browser.isSafari()){document.body.addEventListener("click",_a1);}_9f.call(this,"init");};var _a5=function(){_a6();_9f.call(this,"change");};var _a6=function(){for(var i=0,id,obj,_aa=SWFAddress.getValue(),_ab="setSWFAddressValue";id=_98[i];i++){obj=document.getElementById(id);if(obj){if(obj.parentNode&&typeof obj.parentNode.so!=_91){obj.parentNode.so.call(_ab,_aa);}else{if(!(obj&&typeof obj[_ab]!=_91)){var _ac=obj.getElementsByTagName("object");var _ad=obj.getElementsByTagName("embed");obj=((_ac[0]&&typeof _ac[0][_ab]!=_91)?_ac[0]:((_ad[0]&&typeof _ad[0][_ab]!=_91)?_ad[0]:null));}if(obj){obj[_ab](_ec(_aa));}}}else{if(obj=document[id]){if(typeof obj[_ab]!=_91){obj[_ab](_ec(_aa));}}}}};this.toString=function(){return "[class SWFAddress]";};this.addEventListener=function(_ae,_af){if(typeof _9a[_ae]==_91){_9a[_ae]=[];}_9a[_ae].push(_af);};this.removeEventListener=function(_b0,_b1){if(typeof _9a[_b0]!=_91){for(var i=0,l;l=_9a[_b0][i];i++){if(l==_b1){break;}}_9a[_b0].splice(i,1);}};this.dispatchEvent=function(_b4){if(typeof _9a[_b4.type]!=_91&&_9a[_b4.type].length){_b4.target=this;for(var i=0,l;l=_9a[_b4.type][i];i++){l(_b4);}return true;}return false;};this.hasEventListener=function(_b7){return (typeof _9a[_b7]!=_91&&_9a[_b7].length>0);};this.href=function(url,_b9){_b9=typeof _b9!=_91?_b9:"_self";if(_b9=="_self"){self.location.href=url;}else{if(_b9=="_top"){_l.href=url;}else{if(_b9=="_blank"){window.open(url);}else{_t.frames[_b9].location.href=url;}}}};this.popup=function(url,_bb,_bc,_bd){try{var _be=window.open(url,_bb,eval(_bc));if(typeof _bd!=_91){eval(_bd);}}catch(ex){}_99=arguments;};this.getIds=function(){return _98;};this.getId=function(_bf){return _98[0];};this.setId=function(id){_98[0]=id;};this.addId=function(id){this.removeId(id);_98.push(id);};this.removeId=function(id){for(var i=0;i<_98.length;i++){if(id==_98[i]){_98.splice(i,1);break;}}};_9d.addEventListener("init",_9c.bind(_a4,this));_9d.addEventListener("change",_9c.bind(_a5,this));(function(){var _c4;if(typeof FlashObject!=_91){SWFObject=FlashObject;}if(typeof SWFObject!=_91&&SWFObject.prototype&&SWFObject.prototype.write){var _s1=SWFObject.prototype.write;SWFObject.prototype.write=function(){_c4=arguments;if(this.getAttribute("version").major<8){this.addVariable("$swfaddress",SWFAddress.getValue());((typeof _c4[0]=="string")?document.getElementById(_c4[0]):_c4[0]).so=this;}var _c6;if(_c6=_s1.apply(this,_c4)){_94.addId(this.getAttribute("id"));}return _c6;};}if(typeof swfobject!=_91){var _c7=swfobject.registerObject;swfobject.registerObject=function(){_c4=arguments;_c7.apply(this,_c4);_94.addId(_c4[0]);};var _c8=swfobject.createSWF;swfobject.createSWF=function(){_c4=arguments;_c8.apply(this,_c4);_94.addId(_c4[0].id);};var _c9=swfobject.embedSWF;swfobject.embedSWF=function(){_c4=arguments;_c9.apply(this,_c4);_94.addId(_c4[8].id);};}if(typeof UFO!=_91){var _u=UFO.create;UFO.create=function(){_c4=arguments;_u.apply(this,_c4);_94.addId(_c4[0].id);};}if(typeof AC_FL_RunContent!=_91){var _a=AC_FL_RunContent;AC_FL_RunContent=function(){_c4=arguments;_a.apply(this,_c4);for(var i=0,l=_c4.length;i<l;i++){if(_c4[i]=="id"){_94.addId(_c4[i+1]);}}};}})();};