/**
 * 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>
 *
 * Uses code from SWFObject 2.1 <http://code.google.com/p/swfobject/>
 * SWFObject is (c) 2007-2009 Geoff Stearns, Michael Williams, and Bobby van der Sluis
 *
 */
var SWFAddressOptimizer=new function(){
	var h=function(v){
		var B=v.toString().split(".");
		for(var w=0;w<3;w++){
			B[w]=typeof B[w]!=s?parseInt(B[w]):0
		}
		var x=[0,0,0];
		var z=null;
		if(typeof t.plugins!=s&&typeof t.plugins[b]==j){
			z=t.plugins[b].description;
			if(z&&!(typeof t.mimeTypes!=s&&t.mimeTypes[a]&&!t.mimeTypes[a].enabledPlugin)){
				z=z.replace(/^.*\s+(\S+\s+\S+$)/,"$1");
				x[0]=parseInt(z.replace(/^(.*)\..*$/,"$1"),10);
				x[1]=parseInt(z.replace(/^.*\.(.*)\s.*$/,"$1"),10);
				x[2]=/r/.test(z)?parseInt(z.replace(/^.*r(.*)$/,"$1"),10):0
			}
		}else{
			if(typeof window.ActiveXObject!=s){
				var p=null;
				var A=false;
				try{
					p=new ActiveXObject(u+".7")
				}catch(y){
						try{p=new ActiveXObject(u+".6");
						x=[6,0,21];
						p.AllowScriptAccess="always"
				}catch(y){
					if(x[0]==6){
						A=true
					}
				}if(!A){
					try{
						p=new ActiveXObject(u)
					}catch(y){
					}
				}
			}
			if(!A&&typeof p==j){
				try{
					z=p.GetVariable("$version");
					if(z){
						z=z.split(" ")[1].split(",");
						x=[parseInt(z[0],10),parseInt(z[1],10),parseInt(z[2],10)]
					}
				}catch(y){
				}
			}
		}
	}
	return(x[0]>B[0]||(x[0]==B[0]&&x[1]>B[1])||(x[0]==B[0]&&x[1]==B[1]&&x[2]>=B[2]))?true:false
};

var m=function(w,p){
	var i=c.href.split(c.hostname)[1].replace(p,"");
	if(w!="/"&&(!n||q==c.href.length-1)&&(i!=""&&i!="/")){
		var x;if(window.XMLHttpRequest){
			x=new XMLHttpRequest()
		}else{
			if(window.ActiveXObject){
				try{
					try{
						x=new ActiveXObject("Msxml2.XMLHTTP")
					}catch(v){
						x=new ActiveXObject("Microsoft.XMLHTTP")
					}
				}catch(v){
				}
			}
		}if(x){
			x.open("get",((typeof p!=s)?p:"")+"/?"+w+(c.hash!=""?"&hash="+c.hash.replace(/^#/,""):""),false);
			x.setRequestHeader("Content-Type","application/x-swfaddress");
			x.send("");
			(new Function(x.responseText.replace(/^([^(]*)\(([^)]*)\);?$/,"$1($2);")))()}
		}
	};
	var j="object",b="Shockwave Flash",u="ShockwaveFlash.ShockwaveFlash",a="application/x-shockwave-flash",s="undefined",g,c=location,t=navigator,q=c.href.indexOf("#"),n=(q!=-1),d={};
	var l=function(x){
		for(var v=0,p=x.childNodes.length,w;v<p;v++){
			if(x.childNodes[v].src){
				g=String(x.childNodes[v].src)
			}
			l(x.childNodes[v])
		}
	};
	l(document);
	var e=g.indexOf("?");
	if(g&&e>-1){
		var f,r=g.substr(e+1).split("&");
		for(var o=0,k;k=r[o];o++){
			f=k.split("=");
			if(/^(base|flash|swfaddress)$/.test(f[0])){
				d[f[0]]=unescape(f[1])
			}
		}
	}
	if(n&&(q-(c.href.indexOf(c.pathname,c.protocol.length+2)+c.pathname.indexOf(d.base)+d.base.length))>1){
		n=false
	}
		if(typeof d.flash!=s){
			if(h(d.flash)){m(d.swfaddress,d.base)
		}else{
			if(n){
				c.replace(c.href.replace(/#(\/)?/,""))
			}
		}
	}else{
		m(d.swfaddress,d.base)
	}
	this.toString=function(){return"[class SWFAddressOptimizer]"
}
};