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') + '"' +
							' 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') + '">' +
							'<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;

function Cookie(document,name,hours,path,domain,secure){this.$document=document;this.$name=name;this.$expiration=hours?new Date((new Date()).getTime()+hours*3600000):null;this.$path=path?path:null;this.$domain=domain?domain:null;this.$secure=secure;};Cookie.prototype.store=function (){var cookieval="";for(var prop in this){if((prop.charAt(0)=='$')||((typeof this[prop])=='function')) continue;if(cookieval!="") cookieval+='&';cookieval+=prop+':'+escape(this[prop]);}var cookie=this.$name+'='+cookieval;if(this.$expiration)cookie+='; expires='+this.$expiration.toGMTString();if(this.$path) cookie+='; path='+this.$path;if(this.$domain) cookie+='; domain='+this.$domain;if(this.$secure) cookie+='; secure';this.$document.cookie=cookie;};Cookie.prototype.load=function(){var allcookies=this.$document.cookie;if(allcookies=="") return false;var start=allcookies.indexOf(this.$name+'=');if(start==-1) return false;start+=this.$name.length+1;var end=allcookies.indexOf(';',start);if(end==-1) end=allcookies.length;var cookieval=allcookies.substring(start,end);var a=cookieval.split('&');for(var i=0; i<a.length; i++) a[i]=a[i].split(':');for(var i=0; i<a.length; i++) this[a[i][0]]=unescape(a[i][1]);return true;};Cookie.prototype.remove = function(){var cookie;cookie = this.$name + '=';if (this.$path) cookie += '; path=' + this.$path;if (this.$domain) cookie += '; domain=' + this.$domain;cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT';this.$document.cookie = cookie;};
