if (typeof deconcept == "undefined") var deconcept = new Object();
if (typeof deconcept.util == "undefined") deconcept.util = new Object();
if (typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = new Object();
deconcept.SWFObject = function(swf, id, w, h, ver, c, useExpressInstall, quality, xiRedirectUrl, redirectUrl, detectKey) {
	if (!document.getElementById) {
		return;
	}
	this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
	this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params = new Object();
	this.variables = new Object();
	this.attributes = new Array();
	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 deconcept.PlayerVersion(ver.toString().split(".")));
	}
	this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();
	if (c) {
		this.addParam('bgcolor', c);
	}
	var q = quality ? quality : 'high';
	this.addParam('quality', q);
	this.setAttribute('useExpressInstall', useExpressInstall);
	this.setAttribute('doExpressInstall', false);
	var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
	this.setAttribute('xiRedirectUrl', xir);
	this.setAttribute('redirectUrl', '');
	if (redirectUrl) {
		this.setAttribute('redirectUrl', redirectUrl);
	}
};
deconcept.SWFObject.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;
}, getVariablePairs:function () {
	var variablePairs = new Array();
	var key;
	var variables = this.getVariables();
	for (key in variables) {
		variablePairs.push(key+"="+variables[key]);
	}
	return variablePairs;
}, getSWFHTML:function () {
	var swfNode = "";
	if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
		if (this.getAttribute("doExpressInstall")) {
			this.addVariable("MMplayerType", "PlugIn");
		}
		swfNode = '<embed type="application/x-shockwave-flash" src="'+this.getAttribute('swf')+'" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'"';
		swfNode += ' id="'+this.getAttribute('id')+'" name="'+this.getAttribute('id')+'" ';
		var params = this.getParams();
		for (var key in params) {
			swfNode += [key]+'="'+params[key]+'" ';
		}
		var pairs = this.getVariablePairs().join("&");
		if (pairs.length>0) {
			swfNode += 'flashvars="'+pairs+'"';
		}
		swfNode += '/>';
	} else {
		if (this.getAttribute("doExpressInstall")) {
			this.addVariable("MMplayerType", "ActiveX");
		}
		swfNode = '<object id="'+this.getAttribute('id')+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'">';
		swfNode += '<param name="movie" value="'+this.getAttribute('swf')+'" />';
		var params = this.getParams();
		for (var key in params) {
			swfNode += '<param name="'+key+'" value="'+params[key]+'" />';
		}
		var pairs = this.getVariablePairs().join("&");
		if (pairs.length>0) {
			swfNode += '<param name="flashvars" value="'+pairs+'" />';
		}
		swfNode += "</object>";
	}
	return swfNode;
}, write:function (elementId) {
	if (this.getAttribute('useExpressInstall')) {
		var expressInstallReqVer = new deconcept.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);
		}
	}
	if (this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))) {
		var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
		n.innerHTML = this.getSWFHTML();
		return true;
	} else {
		if (this.getAttribute('redirectUrl') != "") {
			document.location.replace(this.getAttribute('redirectUrl'));
		}
	}
	return false;
}};
deconcept.SWFObjectUtil.getPlayerVersion = function() {
	var PlayerVersion = new deconcept.PlayerVersion([0, 0, 0]);
	if (navigator.plugins && navigator.mimeTypes.length) {
		var x = navigator.plugins["Shockwave Flash"];
		if (x && x.description) {
			PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
		}
	} else {
		try {
			var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		} catch (e) {
			try {
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
				PlayerVersion = new deconcept.PlayerVersion([6, 0, 21]);
				axo.AllowScriptAccess = "always";
				// throws if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
			} catch (e) {
				if (PlayerVersion.major == 6) {
					return PlayerVersion;
				}
			}
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			} catch (e) {
			}
		}
		if (axo != null) {
			PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
		}
	}
	return PlayerVersion;
};
deconcept.PlayerVersion = function(arrVersion) {
	this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0;
	this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0;
	this.rev = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0;
};
deconcept.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;
};
deconcept.util = {getRequestParameter:function (param) {
	var q = document.location.search || document.location.hash;
	if (q) {
		var pairs = q.substring(1).split("&");
		for (var i = 0; i<pairs.length; i++) {
			if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
				return pairs[i].substring((pairs[i].indexOf("=")+1));
			}
		}
	}
	return "";
}};
deconcept.SWFObjectUtil.cleanupSWFs = function() {
	if (window.opera || !document.all) {
		return;
	}
	var objects = document.getElementsByTagName("OBJECT");
	for (var i = 0; i<objects.length; i++) {
		objects[i].style.display = 'none';
		for (var x in objects[i]) {
			if (typeof objects[i][x] == 'function') {
				objects[i][x] = function () {
				};
			}
		}
	}
};
deconcept.SWFObjectUtil.prepUnload = function() {
	__flash_unloadHandler = function () {
	};
	__flash_savedUnloadHandler = function () {
	};
	if (typeof window.onunload == 'function') {
		var oldUnload = window.onunload;
		window.onunload = function() {
			deconcept.SWFObjectUtil.cleanupSWFs();
			oldUnload();
		};
	} else {
		window.onunload = deconcept.SWFObjectUtil.cleanupSWFs;
	}
};
if (typeof window.onbeforeunload == 'function') {
	var oldBeforeUnload = window.onbeforeunload;
	window.onbeforeunload = function() {
		deconcept.SWFObjectUtil.prepUnload();
		oldBeforeUnload();
	};
} else {
	window.onbeforeunload = deconcept.SWFObjectUtil.prepUnload;
}
if (Array.prototype.push == null) {
	Array.prototype.push = function(item) {
		this[this.length] = item;
		return this.length;
	};
}
var SWFObject = deconcept.SWFObject;