function oSWF(obj, outputOnly, id) {
	if (!document.getElementById) return;
	var v = oSWF.getVersion(obj.version);
	var vars = obj.flashvars || {};
	if (oSWF.expressInstall
		&& v && v >= oSWF.installed
		&& oSWF.installed >= 6000065
	) {
		obj.src = oSWF.expressInstall +".swf";
		document.title = document.title.slice(0, 47) + " - Flash Player Installation";
		vars.MMdoctitle = document.title;
		vars.MMredirectURL = escape(window.location.href);
		vars.MMplayerType = oSWF.agent == "ns" ? "PlugIn" : "ActiveX";
	} else if (!oSWF.installed || v > oSWF.installed) {
		return oSWF.write(obj.alternative || '<a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&promoid=BIOW" style="display: block; background: #284d74 url('+ oSWF.expressInstall +'.gif) no-repeat 50% 50%; width: '+ obj.width +'px; height: '+ obj.height +'px;" target="_blank"><img src="'+ oSWF.expressInstall +'.gif" style="display: none;" alt="Adobe Flash Player Update: This content requires Adobe Flash Player. Would you like to insrall it now?" /></a>', id);
	}

	var a = [];
	for (var i in vars) a[a.length] = i +'='+ encodeURIComponent(vars[i]);
	obj.flashvars = a.join('&');

	//if (outputOnly) return oSWF.getHTML(obj);
	//else oSWF.write(oSWF.getHTML(obj), id);
	oSWF.write(oSWF.getHTML(obj), id);
}
oSWF.expressInstall = "css/images/expressinstall";
(function(obj) { for (var i in obj) oSWF[i] = obj[i] })({
	getVersion: function(str) {
		var a = str && (str + "").replace(/^\D+/, '').split(/\D+/g) || [];
		for (var i = 2, v = 0; i >= 0; i--) v += (parseInt(a[i]) || 0) * Math.pow(1000, 2 - i);
		return v;
	},
	tryActiveX: function(ver) {
		try { return new ActiveXObject("ShockwaveFlash.ShockwaveFlash"+ (ver ? '.'+ ver : "")); }
		catch (e) { return null }
	},
	agent: function() {
		var n = navigator, np = n.plugins, nm = n.mimeTypes, na = n.userAgent;
		return np && nm && nm.length && "ns"
				|| na && na.indexOf("Windows CE") >= 0 && "ce"
				|| "ie";
	}(),
	getHTML: function(obj) {
		if (oSWF.agent == "ns") {
			obj.name = obj.id;
			var html = '<embed type="application/x-shockwave-flash" wmode="transparent" src="'+ obj.src +'"';
			for (var i = 0, a = 'id,name,width,height,style,class,flashvars,bgcolor,quality'.split(','); i < a.length; i++)
				if (obj[a[i]]) html += ' '+ a[i] +'="'+ obj[a[i]] +'"';
			html += '/>';
		} else {
			var html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
			for (var i = 0, a = 'id,width,height,style,class'.split(','); i < a.length; i++)
				if (obj[a[i]]) html += ' '+ a[i] +'="'+ obj[a[i]] +'"';
			html += '>';
			obj.movie = obj.src;
			for (var i = 0, a = 'movie,flashvars,bgcolor,quality'.split(','); i < a.length; i++)
				if (obj[a[i]]) html += '<param name="'+ a[i] +'" value="'+ obj[a[i]] +'" />';
			html += '<param name="wmode" value="transparent" />';
			html += "</object>";
		}
		return html;
	},
	write: function(html, obj) {
/*		var div = document.createElement('div'), before;
		if (obj.before) {
			before = document.getElementById(obj.before);
		} else {
			before = document.getElementsByTagName('script');
			before = before[before.length - 1];
		}
		div.innerHTML = html;
		while (div.firstChild)
			before.parentNode.insertBefore(div.firstChild, before);
	}*/
	obj = document.getElementById(obj);
	$(obj).html(html);
	}
});

oSWF.installed = function() {
	var version = 0, x, axo;
	if (oSWF.agent == "ns") {
		if (x = navigator.plugins["Shockwave Flash"])
			version = oSWF.getVersion(x.description);
	} else if (oSWF.agent == "ce") {
		for (var i = 3; tryActiveX(i); i++)
			version = oSWF.getVersion(i);
	} else {
		if (!(axo = oSWF.tryActiveX(7)) && (axo = oSWF.tryActiveX(6))) {
			version = oSWF.getVersion('6,0,21');
			try { axo.AllowScriptAccess = "always"; }
			catch (e) { return version; }
		}
		if (axo = oSWF.tryActiveX())
			version = oSWF.getVersion(axo.GetVariable("$version"));
	}
	return version;
}();

if (!oSWF.unload && window.attachEvent) {
	oSWF.unload = true;
	// fixes bug in some fp9 versions see http://blog.deconcept.com/2006/07/28/swfobject-143-released/
	window.attachEvent("onbeforeunload", function(){
 		var fn = function(){};
		__flash_unloadHandler = __flash_savedUnloadHandler = fn;

		// fix for video streaming bug
		window.attachEvent("onunload", function(){
			var o = document.getElementsByTagName("object");
			for (var i = o.length - 1; i >= 0; i--) {
				o[i].style.display = 'none';
				for (var x in o[i]) if (typeof o[i][x] == 'function')
					o[i][x] = fn;
			}
		});
	});
}

/* add document.getElementById if needed (mobile IE < 5) */
if (!document.getElementById && document.all) {
	document.getElementById = function(id) {
		return document.all[id];
	}
}