/** * SWFAddress v2.0: Deep linking for Rich content - http://www.asual.com/swfaddress/ * * SWFAddress is (c) 2006-2007 Rostislav Hristov and is released under the MIT License: * http://www.opensource.org/licenses/mit-license.php * */if(typeof asual=="undefined"){var asual={}}if(typeof asual.util=="undefined"){asual.util={}}asual.util.Browser=new function(){var B=false;var D=-1;var F=navigator.userAgent;var H=false;var A=false;var G=false;var C=false;var E=false;if(/MSIE/.test(F)){H=true;D=parseFloat(F.substring(F.indexOf("MSIE")+4));B=D>=6}else{if(/AppleWebKit/.test(F)){G=true;D=parseFloat(F.substring(F.indexOf("Safari")+7));B=D>=312}else{if(/Opera/.test(F)){C=true;D=parseFloat(navigator.appVersion);B=D>=9.02}else{if(/Camino/.test(F)){A=true;D=parseFloat(F.substring(F.indexOf("Camino")+7));B=D>=1}else{if(/Firefox/.test(F)){E=true;D=parseFloat(F.substring(F.indexOf("Firefox")+8));B=D>=1}else{if(/Netscape/.test(F)){E=true;D=parseFloat(F.substring(F.indexOf("Netscape")+9));B=D>=8}else{if(/Mozilla/.test(F)&&/rv:/.test(F)){E=true;D=parseFloat(F.substring(F.indexOf("rv:")+3));B=D>=1.8}}}}}}}this.isSupported=function(){return B};this.getVersion=function(){return D};this.isIE=function(){return H};this.isSafari=function(){return G};this.isOpera=function(){return C};this.isCamino=function(){return A};this.isMozilla=function(){return E}};asual.util.Functions=new function(){this.extend=function(D,A){function B(){}B.prototype=D.prototype;A.prototype=new B();A.prototype.constructor=A;A.superConstructor=D;A.superClass=D.prototype;for(var C in D){if(C!="prototype"){A[C]=D[C]}}return A}};asual.util.Events=new function(){var B=[];var C=asual.util.Browser;var D="DOMContentLoaded";if(C.isIE()){document.write("<script id=swfaddress-domload defer=true src=//:></script>");document.getElementById("swfaddress-domload").onreadystatechange=function(){if(this.readyState=="complete"){this.parentNode.removeChild(this);for(var F=0,G;G=B[F];F++){if(G.t==D){G.l.call(null)}}}}}else{if(C.isSafari()){var E=setInterval(function(){if(/loaded|complete/.test(document.readyState)){clearInterval(E);for(var F=0,G;G=B[F];F++){if(G.t==D){G.l.call(null)}}}},10)}}this.addListener=function(H,F,G){B.push({o:H,t:F,l:G});if(F==D&&(C.isIE()||C.isSafari())){return }if(H.addEventListener){H.addEventListener(F,G,false)}else{if(H.attachEvent){H.attachEvent("on"+F,G)}else{H["on"+F]=G}}};this.removeListener=function(J,G,H){for(var F=0,I;I=B[F];F++){if(I.o==J&&I.t==G&&I.l==H){B.splice(F,1);break}}if(G==D&&(C.isIE()||C.isSafari())){return }if(J.removeEventListener){J.removeEventListener(G,H,false)}else{if(J.detachEvent){J.detachEvent("on"+G,H)}else{J["on"+G]=H}}};var A=function(){for(var G=0,F;F=B[G];G++){if(F.t!=D){asual.util.Events.removeListener(F.o,F.t,F.l)}}};if(C.isIE()||C.isSafari()){this.addListener(window,"unload",A)}};SWFAddressEvent=function(B){this.type=B;this.target=[SWFAddress][0];this.value=SWFAddress.getValue();this.path=SWFAddress.getPath();this.parameters=[];var C=SWFAddress.getParameterNames();for(var A=0,D;D=C[A];A++){this.parameters[D]=SWFAddress.getParameter(D)}};SWFAddressEvent.INIT="init";SWFAddressEvent.CHANGE="change";SWFAddress=new function(){var f=asual.util.Browser;var M,B,C=f.isSupported();var R,F,S=false;var Z=document.title;var I=history.length;var E=[];var N=[];var V={};var X=true;var H=true;var W="swfaddress.js";var g="swfaddress.swf";var P="swfaddress.html";var e=top.document;var c=top.history;var Y=top.location;if((!C&&Y.href.indexOf("#")!=-1)||(f.isSafari()&&f.getVersion()<412&&Y.href.indexOf("#")!=-1&&Y.search!="")){e.open();e.write("<html><head><meta http-equiv=\"refresh\" content=\"0;url="+Y.href.substr(0,Y.href.indexOf("#"))+"\" /></head></html>");e.close()}var Q=function(h){var d=document.getElementsByTagName("script");for(var k=0,l;l=d[k];k++){if(l.src.indexOf(W)>-1){return(new String(l.src)).replace(W,h)}}};var T=function(){var d=Y.href.indexOf("#");if(d!=-1){return Y.href.substring(d).replace(/^#/g,"")}return""};var A=T();var G=function(){if(f.isIE()&&e.title!=Z){SWFAddress.setTitle(Z)}};var J=function(){if(!S){if(f.isSafari()){if(I!=c.length){I=c.length;if(typeof E[I-1]!="undefined"){A=E[I-1]}L()}}else{if(f.isIE()){if(A!=T()){if(f.getVersion()<7){Y.reload()}else{SWFAddress.setValue(T())}}}else{if(A!=T()){A=T();L()}}}G()}};var b=function(){j("init")};var O=function(){j("change")};var j=function(d){if(SWFAddress.hasEventListener(d)){SWFAddress.dispatchEvent(new SWFAddressEvent(d))}d=d.substr(0,1).toUpperCase()+d.substring(1);if(typeof SWFAddress["on"+d]=="function"){SWFAddress["on"+d]()}};var L=function(){if(R!=A){R=A;if(F&&F.call){F.call("setSWFAddressValue",A)}else{for(var h=0,d;d=N[h];h++){var k=document.getElementById(d);if(k){k=(typeof k!="undefined"&&typeof k.setSWFAddressValue!="undefined")?k:((typeof k.getElementsByTagName("object")[0]!="undefined"&&typeof k.getElementsByTagName("object")[0].setSWFAddressValue!="undefined")?k.getElementsByTagName("object")[0]:typeof k.getElementsByTagName("embed")[0]!="undefined"?k.getElementsByTagName("embed")[0]:k);if(k){k.setSWFAddressValue(A)}}}}O()}};var U=function(){if(X&&typeof urchinTracker!="undefined"){var d=Y.pathname+SWFAddress.getValue();d=d.replace(/\/\//,"/");d=d.replace(/^\/$/,"");urchinTracker(d)}};var D=function(){if(M.contentWindow&&M.contentWindow.location){var d=M.contentWindow;d.document.title=e.title=Z;var h=d.location.href;if(h.indexOf("?")>-1){A=h.substring(h.indexOf("?")+1)}else{A=""}if(A!=T()){L();Y.hash="#"+A}}};var K=function(){var d=document.createElement("div");document.body.appendChild(d);d.id="swfaddress";d.style.position="absolute";d.style.left=d.style.top="-9999px";if(f.isIE()||f.isSafari()){d.innerHTML="<iframe src=\""+Q(P)+"?"+T()+"\" width=\"0\" height=\"0\"></iframe>";M=d.getElementsByTagName("iframe")[0]}if(f.isIE()){asual.util.Events.addListener(M,"load",D)}if(f.isSafari()){B=document.createElement("form");B.id="swfaddress-form";B.method="get";d.appendChild(B);if(typeof Y.swfaddress=="undefined"){Y.swfaddress={}}if(typeof Y.swfaddress.history!="undefined"){E=Y.swfaddress.history.split(",")}}if(f.isOpera()&&typeof N.length>0){d.innerHTML="<embed src=\""+Q(g)+"\" type=\"application/x-shockwave-flash\" width=\"1\" height=\"1\" />"}U();L();setTimeout(b,1);setTimeout(O,2);setInterval(J,50)};this.onInit=null;this.onChange=null;this.toString=function(){return"[class SWFAddress]"};this.back=function(){c.back()};this.forward=function(){c.forward()};this.go=function(d){c.go(d)};this.addEventListener=function(d,h){if(typeof V[d]=="undefined"){V[d]=[]}V[d].push(h)};this.removeEventListener=function(k,m){if(typeof V[k]!="undefined"){for(var h=0,d;d=V[k][h];h++){if(d==m){break}}V[k].splice(h,1)}};this.dispatchEvent=function(k){if(typeof V[k.type]!="undefined"){k.target=this;for(var h=0,d;d=V[k.type][h];h++){d(k)}}};this.hasEventListener=function(d){return(typeof V[d]!="undefined"&&V[d].length>0)};this.getHistoryEnabled=function(){return H};this.setHistoryEnabled=function(d){H=d};this.getTrackingEnabled=function(){return X};this.setTrackingEnabled=function(d){X=d};this.openLink=function(d,h){switch(h){case"_blank":window.open(d);break;case"_self":self.location.href=d;break;case"_top":top.location.href=d;break;default:document.frames[h].location.href=d;break}};this.openPopup=function(k,i,h,l){var d=window.open(k,i,h)};this.getSWFObject=function(){if(!C){return null}return F};this.setSWFObject=function(d){if(!C){return null}F=d};this.getId=function(d){if(!C){return null}return typeof d!="undefined"?N[d]:N[0]};this.setId=function(d){if(!C){return null}N[0]=d};this.addId=function(d){if(!C){return null}N.push(d)};this.getTitle=function(){if(!C){return null}return e.title};this.setTitle=function(d){if(!C){return null}if(d=="null"){d=""}if(typeof d!="undefined"){Z=d;e.title=Z}};this.getStatus=function(){if(!C){return null}return top.status};this.setStatus=function(d){if(!C){return null}if(!f.isSafari()){if(d=="null"||typeof d=="undefined"){d=""}if(/http(s)?:\/\//.test(d)==false){var h=Y.href.indexOf("#");d=(h==-1?Y.href:Y.href.substr(0,h))+"#"+d}top.status=d}};this.resetStatus=function(){top.status=""};this.getValue=function(){if(!C){return null}return A};this.setValue=function(k){if(!C){return null}if(k=="null"){k=""}if(R==k){return }S=true;A=k;L();if(R!=k){return }E[history.length]=A;if(f.isSafari()){if(H){Y.swfaddress.history=E.toString();I=history.length+1;if(f.getVersion()<412){if(Y.search==""){B.action="#"+A;B.submit()}}else{var d=document.createEvent("MouseEvents");d.initEvent("click",true,true);var h=document.createElement("a");h.href="#"+A;h.dispatchEvent(d)}}else{Y.hash="#"+A}}else{if(A!=T()){if(H){Y.hash="#"+A}else{Y.replace("#"+A)}}}if(f.isIE()&&H){var l=M.contentWindow;var i="?"+T();l.location.assign(l.location.pathname+i)}U();S=false};this.getPath=function(){var d=this.getValue();if(d.indexOf("?")!=-1){return d.split("?")[0]}else{return d}};this.getQueryString=function(){var h=this.getValue();var d=h.indexOf("?");if(d!=-1&&d<h.length){return h.substr(d+1)}return""};this.getParameter=function(n){var k=this.getValue();var d=k.indexOf("?");if(d!=-1){k=k.substr(d+1);var m=k.split("&");var l,h=m.length;while(h--){l=m[h].split("=");if(l[0]==n){return l[1]}}}return""};this.getParameterNames=function(){var k=this.getValue();var d=k.indexOf("?");var l=[];if(d!=-1){k=k.substr(d+1);if(k!=""&&k.indexOf("=")!=-1){var m=k.split("&");var h=0;while(h<m.length){l.push(m[h].split("=")[0]);h++}}}return l};if(!C){return }for(var a=1;a<I;a++){E.push("")}E.push(Y.hash.replace(/^#/g,""));if(f.isIE()&&Y.hash!=T()){Y.hash="#"+T()}R=this.getValue();G();asual.util.Events.addListener(document,"DOMContentLoaded",K)};if(typeof SWFObject!="undefined"){asual.SWFObject=asual.util.Functions.extend(SWFObject,function(D,B,I,E,G,H,J,F,A,C){asual.SWFObject.superConstructor.apply(this,arguments);SWFAddress.setSWFObject(this);SWFAddress.addId(B);if(this.getAttribute("version").major<8){this.addVariable("$swfaddress",SWFAddress.getValue())}});SWFObject=asual.SWFObject}if(typeof UFO!="undefined"){asual.UFOCreate=UFO.create;UFO.create=function(A,B){asual.UFOCreate(A,B);SWFAddress.addId(B)}}if(typeof SWFFix!="undefined"){asual.SWFFixRegisterObject=SWFFix.registerObject;SWFFix.registerObject=function(B,A){SWFAddress.addId(B);asual.SWFFixRegisterObject.apply(this,arguments)};asual.SWFFixCreateSWF=SWFFix.createSWF;SWFFix.createSWF=function(B,A,C){SWFAddress.addId(B.id);asual.SWFFixCreateSWF.apply(this,arguments)}}if(typeof AC_FL_RunContent!="undefined"){asual.AC_FL_RunContent=AC_FL_RunContent;AC_FL_RunContent=function(){asual.AC_FL_RunContent.apply(this,arguments);SWFAddress.addId(arguments[25])}}