if(typeof sas=="undefined")
	var sas=new Object();
if(typeof sas.ued=="undefined")
	sas.ued=new Object();
if(typeof sas.ued.util=="undefined")
	sas.ued.util=new Object();
if(typeof sas.ued.FlashObjectUtil=="undefined")
	sas.ued.FlashObjectUtil=new Object();
sas.ued.FlashObject=function(swf,id,w,h,ver,c,useExpressInstall,quality,xiRedirectUrl,redirectUrl,detectKey)
{
	if(!document.createElement||!document.getElementById)
		return;
	this.DETECT_KEY=detectKey?detectKey:'detectflash';
	this.skipDetect=sas.ued.util.getRequestParameter(this.DETECT_KEY);
	this.params=new Object();
	this.variables=new Object();
	this.attributes=new Array();
	this.useExpressInstall=useExpressInstall;
	if(swf)
		this.setAttribute('swf',swf);
	if(id)
		this.setAttribute('id',id);
	if(w)
		this.setAttribute('width',w);
	if(h)
		this.setAttribute('height',h);
	if(ver)
		this.setAttribute('version',new sas.ued.PlayerVersion(ver.toString().split(".")));
	this.installedVer=sas.ued.FlashObjectUtil.getPlayerVersion(this.getAttribute('version'),useExpressInstall);
	if(c)
		this.addParam('bgcolor',c);
	var q=quality?quality:'high';
	this.addParam('quality',q);
	var xir=(xiRedirectUrl)?xiRedirectUrl:window.location;
	this.setAttribute('xiRedirectUrl',xir);
	this.setAttribute('redirectUrl','');
	if(redirectUrl)
		this.setAttribute('redirectUrl',redirectUrl)
};
sas.ued.FlashObject.prototype={
	setAttribute:function(name,value){
		this.attributes[name]=value
	},
	getAttribute:function(name){
		return this.attributes[name]
	},
	addParam:function(name,value){
		this.params[name]=value
	},
	getParams:function(){
		return this.params
	},
	addVariable:function(name,value){
		this.variables[name]=value
	},
	getVariable:function(name){
		return this.variables[name]
	},
	getVariables:function(){
		return this.variables
	},
	createParamTag:function(n,v){
		var p=document.createElement('param');
		p.setAttribute('name',n);
		p.setAttribute('value',v);
		return p
	},
	getVariablePairs:function(){
		var variablePairs=new Array();
		var key;
		var variables=this.getVariables();
		for(key in variables){
			variablePairs.push(key+"="+variables[key])
		}
		return variablePairs
	},
	getFlashHTML:function(){
		var flashNode="";
		if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
			if(this.getAttribute("doExpressInstall"))
				this.addVariable("MMplayerType","PlugIn");
			flashNode='<embed type="application/x-shockwave-flash" src="'+this.getAttribute('swf')+'" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'"';
			flashNode+=' id="'+this.getAttribute('id')+'" name="'+this.getAttribute('id')+'" ';
			var params=this.getParams();
			for(var key in params){
				flashNode+=[key]+'="'+params[key]+'" '
			}
			var pairs=this.getVariablePairs().join("&");
			if(pairs.length>0){
				flashNode+='flashvars="'+pairs+'"'
			}
			flashNode+='/>'
		}else{
			if(this.getAttribute("doExpressInstall"))
				this.addVariable("MMplayerType","ActiveX");
			flashNode='<object id="'+this.getAttribute('id')+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'">';
			flashNode+='<param name="movie" value="'+this.getAttribute('swf')+'" />';
			var params=this.getParams();
			for(var key in params){
				flashNode+='<param name="'+key+'" value="'+params[key]+'" />'
			}
			var pairs=this.getVariablePairs().join("&");
			if(pairs.length>0){
				flashNode+='<param name="flashvars" value="'+pairs+'" />'
			}
			flashNode+="</object>"
		}
		return flashNode
	},
	write:function(elementId){
		if(this.useExpressInstall){
			var expressInstallReqVer=new sas.ued.PlayerVersion([6,0,65]);
			if(this.installedVer.versionIsValid(expressInstallReqVer)&&!this.installedVer.versionIsValid(this.getAttribute('version'))){
				this.setAttribute('doExpressInstall',true);
				this.addVariable("MMredirectURL",escape(this.getAttribute('xiRedirectUrl')));
				document.title=document.title.slice(0,47)+" - Flash Player Installation";
				this.addVariable("MMdoctitle",document.title)
			}
		}else{
			this.setAttribute('doExpressInstall',false)
		}
		if(this.skipDetect||this.getAttribute('doExpressInstall')||this.installedVer.versionIsValid(this.getAttribute('version'))){
			var n=(typeof elementId=='string')?document.getElementById(elementId):elementId;
			n.innerHTML=this.getFlashHTML()
		}else{
			if(this.getAttribute('redirectUrl')!=""){
				document.location.replace(this.getAttribute('redirectUrl'))
			}
		}
	}
};
sas.ued.FlashObjectUtil.getPlayerVersion=function(reqVer,xiInstall){
	var PlayerVersion=new sas.ued.PlayerVersion(0,0,0);
	if(navigator.plugins&&navigator.mimeTypes.length){
		var x=navigator.plugins["Shockwave Flash"];
		if(x&&x.description){
			PlayerVersion=new sas.ued.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."))
		}
	}else{
		try{
			var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			for(var i=3;axo!=null;i++){
				axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
				PlayerVersion=new sas.ued.PlayerVersion([i,0,0])
			}
		}catch(e){}
		if(reqVer&&PlayerVersion.major>reqVer.major)return PlayerVersion;
		if(!reqVer||((reqVer.minor!=0||reqVer.rev!=0)&&PlayerVersion.major==reqVer.major)||PlayerVersion.major!=6||xiInstall){
			try{
				PlayerVersion=new sas.ued.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","))
			}catch(e){}
		}
	}
	return PlayerVersion
};
sas.ued.PlayerVersion=function(arrVersion){
	this.major=parseInt(arrVersion[0])||0;
	this.minor=parseInt(arrVersion[1])||0;
	this.rev=parseInt(arrVersion[2])||0
};
sas.ued.PlayerVersion.prototype.versionIsValid=function(fv){
	if(this.major<fv.major)
		return false;
	if(this.major>fv.major)
		return true;
	if(this.minor<fv.minor)
		return false;
	if(this.minor>fv.minor)
		return true;
	if(this.rev<fv.rev)
		return false;
	return true
};
sas.ued.util={
	getRequestParameter:function(param){
		var q=document.location.search||document.location.href.hash;
		if(q){
			var startIndex=q.indexOf(param+"=");
			var endIndex=(q.indexOf("&",startIndex)>-1)?q.indexOf("&",startIndex):q.length;
			if(q.length>1&&startIndex>-1){
				return q.substring(q.indexOf("=",startIndex)+1,endIndex)
			}
		}
		return""
	}
};
if(Array.prototype.push==null){
	Array.prototype.push=function(item){
		this[this.length]=item;
		return this.length
	}
}
var getQueryParamValue=sas.ued.util.getRequestParameter;
var Flash=sas.ued.FlashObject;
window.onerror=function(){return true;}
//产生一个n到m之间k个不相同的值
function randomKdiffer(n,m,k){
	arrayK = [];
	var i = 0;
	var a,m,n,k;
	while (i < k){
		a = Math.round(Math.round(Math.random()*(m-n))+n)
		for (var j = 0; j < i; j++) {
			if (a == arrayK[j]) {
				break;
			}
		}
		if (j == i) {
			arrayK[i] = a;
			i++;
		}
	}
	return arrayK;
}