/** * SWFAddress 2.1: Deep linking for Flash and Ajax - 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 com=="undefined"){	var com={}}if(typeof com.asual=="undefined"){	com.asual={}}if(typeof com.asual.util=="undefined"){	com.asual.util={}}com.asual.util.Browser=new function(){	var J=-1;var I=navigator.userAgent;	var H=false,F=false,E=false,D=false,C=false,B=false,A=false;		var G=function(L,K)	{		return parseFloat(I.substr(I.indexOf(L)+K))	};	if(H=/MSIE/.test(I))	{		J=G("MSIE",4)	}	if(E=/AppleWebKit/.test(I))	{		J=G("Safari",7)	}	if(D=/Opera/.test(I))	{		J=parseFloat(navigator.appVersion)	}		if(F=/Camino/.test(I))	{		J=G("Camino",7)	}	if(C=/Firefox/.test(I))	{		J=G("Firefox",8)	}	if(B=/Netscape/.test(I))	{		J=G("Netscape",9)	}	if(A=/Mozilla/.test(I)&&/rv:/.test(I))	{		J=G("rv:",3)	}	this.getVersion=function()	{		return J	};	this.isIE=function()	{		return H	};	this.isSafari=function()	{		return E	};	this.isOpera=function()	{		return D	};	this.isCamino=function()	{		return F	};	this.isFirefox=function()	{		return C	};	this.isNetscape=function()	{		return B	};	this.isMozilla=function()	{		return A	}};com.asual.util.Events=new function(){	var B=[];	var A=com.asual.util.Browser;	var D="DOMContentLoaded";		if(A.isIE()||A.isSafari())	{		(function()		{			try			{				if(A.isIE()||!/loaded|complete/.test(document.readyState))				{					document.documentElement.doScroll("left")				}			}			catch(F)			{				return setTimeout(arguments.callee,0)			}			for(var E=0,F;F=B[E];E++)			{				if(F.t==D)				{					F.l.call(null)				}			}		})()	}	this.addListener=function(G,F,E)	{		B.push({o:G,t:F,l:E});		if(!(F==D&&(A.isIE()||A.isSafari())))		{			if(G.addEventListener)			{				G.addEventListener(F,E,false)			}			else			{				if(G.attachEvent)				{					G.attachEvent("on"+F,E)				}			}		}	};	this.removeListener=function(I,G,E)	{		for(var F=0,H;H=B[F];F++)		{			if(H.o==I&&H.t==G&&H.l==E)			{				B.splice(F,1);				break			}		}		if(!(G==D&&(A.isIE()||A.isSafari())))		{			if(I.removeEventListener)			{				I.removeEventListener(G,E,false)			}			else			{				if(I.detachEvent)				{					I.detachEvent("on"+G,E)				}			}		}	};	var C=function()	{		for(var F=0,E;E=B[F];F++)		{			if(E.t!=D)			{				com.asual.util.Events.removeListener(E.o,E.t,E.l)			}		}	};	this.addListener(window,"unload",C)};SWFAddressEvent=function(C){	this.toString=function()	{		return"[object SWFAddressEvent]"	};	this.type=C;this.target=[SWFAddress][0];	this.value=SWFAddress.getValue();	this.path=SWFAddress.getPath();	this.pathNames=SWFAddress.getPathNames();	this.parameters={};	var B=SWFAddress.getParameterNames();	for(var D=0,A=B.length;D<A;D++)	{		this.parameters[B[D]]=SWFAddress.getParameter(B[D])	}	this.parametersNames=B};SWFAddressEvent.INIT="init";SWFAddressEvent.CHANGE="change";SWFAddress=new function(){	var _21=com.asual.util.Browser;	var _22=com.asual.util.Events;	var _23=_21.getVersion();	var _24=false;	if(_21.isIE())	{		_24=_23>=6	}	if(_21.isSafari())	{		_24=_23>=312	}	if(_21.isOpera())	{		_24=_23>=9.02	}	if(_21.isCamino())	{		_24=_23>=1	}	if(_21.isFirefox())	{		_24=_23>=1	}	if(_21.isNetscape())	{		_24=_23>=8	}	if(_21.isMozilla())	{		_24=_23>=1.8	}	var _t=top;	var _d=_t.document;	var _h=_t.history;	var _l=_t.location;	var _st=setTimeout;	var _2a="function";	var _2b="undefined";	var _2c="swfaddress";	var _2d,_2e,_2f;	var _30=_d.title;	var _31=_h.length;	var _32=false;	var _33={};	var _34=[];	var _35=[];	var _36={};	_36.history=true;	_36.html=false;	_36.strict=true;	_36.tracker="_trackDefault";	if((!_24&&_l.href.indexOf("#")!=-1)||(_21.isSafari()&&_23<412&&_l.href.indexOf("#")!=-1&&_l.search!=""))	{		_d.open();		_d.write('<html><head><meta http-equiv="refresh" content="0;url='+_l.href.substr(0,_l.href.indexOf("#"))+'" /></head></html>');		_d.close()	}	var _37=function()	{		var _38=_l.href.indexOf("#");		if(_38!=-1)		{			var _39=unescape(_l.href.substr(_38+1));			if(/^[a-z0-9 ,=_&\-\.\?\+\/]*$/i.test(_39))			{				return _39			}			else			{				_l.replace(_l.href.substr(0,_38))			}		}		return""	};	var _3a=_37();	var _3b=function(_3c,_3d)	{		if(_36.strict)		{			_3c=_3d?(_3c.substr(0,1)!="/"?"/"+_3c:_3c):(_3c==""?"/":_3c)		}		return _3c		};		var _3e=function(_3f)		{			return(_21.isIE()&&_l.protocol=="file:")?_3a.replace(/\?/,"%3F"):_3f		};		var _40=function(el){if(el.src&&/swfaddress\.js(\?.*)?$/.test(el.src))		{			return el		}		for(var i=0,l=el.childNodes.length,s;i<l;i++)		{			if(s=_40(el.childNodes[i]))			{				return s			}		}	};	var _45=function()	{		if(_21.isIE()&&_d.title!=_30){SWFAddress.setTitle(_30)	}};var _46=function(){	if(!_32)	{		var _47=_37();		if(_21.isIE())		{			if(_3a!=_47)			{				if(_23<7)				{					_l.reload()				}				else				{					SWFAddress.setValue(_47)				}			}		}		else		{			if(_21.isSafari()&&_23<523)			{				if(_31!=_h.length)				{					_31=_h.length;					if(typeof _34[_31-1]!=_2b)					{						_3a=_34[_31-1]}_48()					}				}				else				{					if(_3a!=_47){_3a=_47;_48()				}			}		}		_45()	}};var _49=function(_4a){	if(SWFAddress.hasEventListener(_4a))	{		SWFAddress.dispatchEvent(new SWFAddressEvent(_4a))	}	_4a=_4a.substr(0,1).toUpperCase()+_4a.substr(1);	if(typeof SWFAddress["on"+_4a]==_2a)	{		SWFAddress["on"+_4a]()	}};var _4b=function(){	_49("init")};var _4c=function(){_49("change")};var _4d=function(){	for(var i=0,id,_50=SWFAddress.getValue(),_51="setSWFAddressValue";id=_35[i];i++)	{		var obj=document.getElementById(id);		if(obj)		{			if(obj.parentNode&&typeof obj.parentNode.so!=_2b)			{				obj.parentNode.so.call(_51,_50)			}			else			{				if(!(obj&&typeof obj[_51]!=_2b))				{					var _53=obj.getElementsByTagName("object");					var _54=obj.getElementsByTagName("embed");					obj=((_53[0]&&typeof _53[0][_51]!=_2b)?_53:((_54[0]&&typeof _54[0][_51]!=_2b)?_54[0]:null))				}				if(obj)				{					obj[_51](_50)				}			}		}		else		{			if(obj=document[id])			{				if(typeof obj[_51]!=_2b)				{					obj[_51](_50)				}			}		}	}};var _48=function(){	_4d();	_4c();	_st(_55,10)};var _56=function(_57){	if(typeof urchinTracker==_2a)	{		urchinTracker(_57)	}	if(typeof pageTracker!=_2b&&typeof pageTracker._trackPageview==_2a)	{		pageTracker._trackPageview(_57)	}};eval("var _trackDefault = "+_56+";");var _55=function(){	if(typeof _36.tracker!=_2b&&eval("typeof "+_36.tracker+' != "'+_2b+'"'))	{		var fn=eval(_36.tracker);		if(typeof fn==_2a)		{			fn((_l.pathname+(/\/$/.test(_l.pathname)?"":"/")+SWFAddress.getValue()).replace(/\/\//,"/").replace(/^\/$/,""))		}	}};var _59=function(){	var doc=_2d.contentWindow.document;	doc.open();	doc.write("<script>var "+_2c+' = "'+_37()+'";<\/script>');	doc.close()};var _5b=function(){	var win=_2d.contentWindow;if(_36.html)	{		var src=win.location.href;		_3a=(src.indexOf("?")>-1)?src.substr(src.indexOf("?")+1):""	}	else	{		_3a=(typeof win[_2c]!=_2b)?win[_2c]:""	}	win.document.title=_d.title;	if(_3a!=_37())	{		_48();_l.hash=_3e(_3a)	}};var _5e=function(){	var _5f='id="'+_2c+'" style="position:absolute;top:-9999px;"';	if(_21.isIE())	{		document.body.appendChild(document.createElement("div")).innerHTML="<iframe "+_5f+' src="'+(_36.html?_2f.replace(/\.js(\?.*)?$/,".html")+"?"+_37():"javascript:false;")+'" width="0" height="0"></iframe>';		_2d=document.getElementById(_2c);		_st(function(){_22.addListener(_2d,"load",_5b);		if(!_36.html&&typeof _2d.contentWindow[_2c]==_2b)		{			_59()}},10)		}		else		{			if(_21.isSafari())			{				if(_23<412){document.body.innerHTML+="<form "+_5f+' method="get"></form>';				_2e=document.getElementById(_2c)}if(typeof _l[_2c]==_2b){_l[_2c]={}			}			if(typeof _l[_2c][_l.pathname]!=_2b){_34=_l[_2c][_l.pathname].split(",")			}		}		else		{			if(_21.isOpera()&&_35.length==0&&typeof navigator.plugins["Shockwave Flash"]=="object")			{				document.body.innerHTML+="<embed "+_5f+' src="'+_2f.replace(/\.js(\?.*)?$/,".swf")+'" type="application/x-shockwave-flash" />'			}		}	}	_st(_4b,1);	_st(_4c,2);	_st(_55,10);	setInterval(_46,50)};	this.onInit=null;this.onChange=null;	this.toString=function(){return"[class SWFAddress]"};	this.back=function(){_h.back()};	this.forward=function()	{		_h.forward()};		this.go=function(_60){_h.go(_60)};		this.href=function(url,_62)		{			_62=(typeof _62!=_2b)?_62:"_self";if(_62=="_self")			{				self.location.href=url			}			if(_62=="_top")			{				_l.href=url			}			if(_62=="_blank")			{				window.open(url)			}			else			{				_t.frames[_62].location.href=url			}		};		this.popup=function(url,_64,_65,_66)		{			var _67=window.open(url,_64,eval(_65));eval(_66)		};		this.addEventListener=function(_68,_69)		{			if(typeof _33[_68]==_2b){_33[_68]=[]}_33[_68].push(_69)		};		this.removeEventListener=function(_6a,_6b)		{			if(typeof _33[_6a]!=_2b){for(var i=0,l;			l=_33[_6a][i];i++){if(l==_6b)			{				break			}		}		_33[_6a].splice(i,1)	}};this.dispatchEvent=function(_6e){	if(typeof _33[_6e.type]!=_2b&&_33[_6e.type].length)	{		_6e.target=this;		for(var i=0,l;l=_33[_6e.type][i];i++)		{			l(_6e)		}		return true	}	return false};this.hasEventListener=function(_71){	return(typeof _33[_71]!=_2b&&_33[_71].length>0)};this.getBaseURL=function(){var url=_l.href;if(url.indexOf("#")!=-1){	url=url.substr(0,url.indexOf("#"))}if(url.substr(url.length-1)=="/"){	url=url.substr(0,url.length-1)}	return url};this.getStrict=function(){return _36.strict};this.setStrict=function(_73){_36.strict=_73};this.getHistory=function(){return _36.history};this.setHistory=function(_74){_36.history=_74};this.getTracker=function(){return _36.tracker};this.setTracker=function(_75){_36.tracker=_75};this.getIds=function(){return _35};this.getId=function(_76){return _35[0]};this.setId=function(id){_35[0]=id};this.addId=function(id){this.removeId(id);_35.push(id)};this.removeId=function(id){for(var i=0;i<_35.length;i++){if(id==_35[i]){_35.splice(i,1);break}}};this.getTitle=function(){return _d.title};this.setTitle=function(_7b){if(!_24){return null}if(typeof _7b==_2b){return }if(_7b=="null"){_7b=""}_30=_d.title=_7b;_st(function(){if(_2d&&_2d.contentWindow&&_2d.contentWindow.document&&_2d.contentWindow.title){_2d.contentWindow.document.title=_30}},1000)};this.getStatus=function(){return _t.status};this.setStatus=function(_7c){if(!_24){return null}if(typeof _7c==_2b){return }if(!_21.isSafari()){_7c=_3b((_7c!="null")?_7c:"",true);if(_7c=="/"){_7c=""}if(!(/http(s)?:\/\//.test(_7c))){var _7d=_l.href.indexOf("#");_7c=(_7d==-1?_l.href:_l.href.substr(0,_7d))+"#"+_7c}_t.status=_7c}};this.resetStatus=function(){_t.status=""};this.getValue=function(){if(!_24){return null}return _3b(_3a,false)};this.setValue=function(_7e){if(!_24){return null}if(typeof _7e==_2b){return }if(_7e=="null"){_7e=""}_7e=_3b(_7e,true);if(_7e=="/"){_7e=""}if(_3a==_7e){return }_3a=_7e;_32=true;_48();_34[_h.length]=_3a;if(_21.isSafari()){if(_36.history){_l[_2c][_l.pathname]=_34.toString();_31=_h.length+1;if(_23<412){if(_l.search==""){_2e.action="#"+_3a;_2e.submit()}}else{if(_23<523){var evt=document.createEvent("MouseEvents");evt.initEvent("click",true,true);var _80=document.createElement("a");_80.href="#"+_3a;_80.dispatchEvent(evt)}else{_l.hash="#"+_3a}}}else{_l.replace("#"+_3a)}}else{if(_3a!=_37()){if(_36.history){_l.hash="#"+_3e(_3a)}else{_l.replace("#"+_3a)}}}if(_21.isIE()&&_36.history){if(_36.html){var loc=_2d.contentWindow.location;loc.assign(loc.pathname+"?"+_37())}else{_59()}}if(_21.isSafari()){_st(function(){_32=false},1)}else{_32=false}};this.getPath=function(){var _82=this.getValue();return(_82.indexOf("?")!=-1)?_82.split("?")[0]:_82};this.getPathNames=function(){var _83=SWFAddress.getPath();var _84=_83.split("/");if(_83.substr(0,1)=="/"){_84.splice(0,1)}if(_83.substr(_83.length-1,1)=="/"){_84.splice(_84.length-1,1)}return _84};this.getQueryString=function(){var _85=this.getValue();var _86=_85.indexOf("?");return(_86!=-1&&_86<_85.length)?_85.substr(_86+1):""};this.getParameter=function(_87){var _88=this.getValue();var _89=_88.indexOf("?");if(_89!=-1){_88=_88.substr(_89+1);var _8a=_88.split("&");var p,i=_8a.length;while(i--){p=_8a[i].split("=");if(p[0]==_87){return p[1]}}}return""};this.getParameterNames=function(){var _8d=this.getValue();var _8e=_8d.indexOf("?");var _8f=[];if(_8e!=-1){_8d=_8d.substr(_8e+1);if(_8d!=""&&_8d.indexOf("=")!=-1){var _90=_8d.split("&");var i=0;while(i<_90.length){_8f.push(_90[i].split("=")[0]);i++}}}return _8f};if(_24){for(var i=1;i<_31;i++){_34.push("")}_34.push(_37());if(_21.isIE()&&_l.hash!=_37()){_l.hash="#"+_3e(_37())}try{_2f=String(_40(document).src);var qi=_2f.indexOf("?");if(_2f&&qi>-1){var _94,_95=_2f.substr(qi+1).split("&");for(var i=0,p;p=_95[i];i++){_94=p.split("=");if(/^(history|html|strict)$/.test(_94[0])){_36[_94[0]]=(isNaN(_94[1])?eval(_94[1]):(parseFloat(_94[1])>0))}if(/^tracker$/.test(_94[0])){_36[_94[0]]=_94[1]}}}}catch(e){}if(/file:\/\//.test(_l.href)){_36.html=false}_45();_22.addListener(document,"DOMContentLoaded",_5e)}else{_55()}};new function(){var C,B;var A="undefined";if(typeof swfobject!=A){SWFObject=swfobject}if(typeof FlashObject!=A){SWFObject=FlashObject}if(typeof SWFObject!=A){if(SWFObject.prototype&&SWFObject.prototype.write){C=SWFObject.prototype.write;SWFObject.prototype.write=function(){B=arguments;if(this.getAttribute("version").major<8){this.addVariable("$swfaddress",SWFAddress.getValue());((typeof B[0]=="string")?document.getElementById(B[0]):B[0]).so=this}var D;if(D=C.apply(this,B)){SWFAddress.addId(this.getAttribute("id"))}return D}}else{C=SWFObject.registerObject;SWFObject.registerObject=function(){B=arguments;C.apply(this,B);SWFAddress.addId(B[0])};C=SWFObject.createSWF;SWFObject.createSWF=function(){B=arguments;C.apply(this,B);SWFAddress.addId(B[0].id)};C=SWFObject.embedSWF;SWFObject.embedSWF=function(){B=arguments;C.apply(this,B);SWFAddress.addId(B[8].id)}}}if(typeof UFO!=A){C=UFO.create;UFO.create=function(){B=arguments;C.apply(this,B);SWFAddress.addId(B[0].id)}}if(typeof AC_FL_RunContent!=A){C=AC_FL_RunContent;AC_FL_RunContent=function(){B=arguments;C.apply(this,B);for(var E=0,D=B.length;E<D;E++){if(B[E]=="id"){SWFAddress.addId(B[E+1])}}}}};
