function FlashMovie() {
	for (var arg in arguments[0]) {
		this[arg] = arguments[0][arg];
	}
}
FlashMovie.prototype = {
	movie: "",
	w: 100,
	h: 100,
	required: false,
	secure: false,
	name: "flashmovie" + Math.random(),
	quality: "high",
	bgcolor: "transparent",
	wmode: "transparent",
	codebase: "download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0",
	pluginspage: "www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash",
	flashvars: "",
	isIEWin: function() {
	    return (navigator.appName.indexOf("Microsoft") != -1) &&
    				(navigator.platform.indexOf("Mac") == -1);
	},
	hasFlash: function() {
		if (this.isIEWin()) {
			try {
				return new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			}
			catch (e) {
			}
		}
		else {
			if (navigator.mimeTypes) {
				var p = navigator.mimeTypes["application/x-shockwave-flash"];
				return p && p.enabledPlugin;
			}
		}
		return false;
	},
	addAttr: function(tag, key, val) {
		return tag + " " + key + "='" + val + "'";
	},
	addParam: function(tag, key, val) {
		return tag + "<param name='" + key + "' value='" + val + "'>";
	},
	build: function() {

		if (this.isIEWin()) {
			var tag = "<object";
			tag = this.addAttr(tag, "classid", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
			if ( this.secure)
			{
				tag = this.addAttr(tag, "codebase", "https://" + this.codebase);
			}
			else
			{
				tag = this.addAttr(tag, "codebase", "http://" + this.codebase);
			}
			tag = this.addAttr(tag, "id", this.name);
			tag = this.addAttr(tag, "width", this.w);
			tag = this.addAttr(tag, "height", this.h);
			tag += ">";
			tag = this.addParam(tag, "movie", this.movie);
			tag = this.addParam(tag, "swLiveConnect", "true");
			tag = this.addParam(tag, "quality", this.quality);
			tag = this.addParam(tag, "wmode", this.wmode);
			tag = this.addParam(tag, "bgcolor", this.bgcolor);
			tag = this.addParam(tag, "flashvars", this.flashvars);
			tag = this.addParam(tag, "allowScriptAccess", "sameDomain");
			tag += "</object>";
		}
		else {
			var tag = "<embed";
			tag = this.addAttr(tag, "type", "application/x-shockwave-flash");
			if ( this.secure)
			{
				tag = this.addAttr(tag, "pluginspage", "https://" + this.pluginspage);
			}
			else
			{
				tag = this.addAttr(tag, "pluginspage", "http://" + this.pluginspage);
			}
			tag = this.addAttr(tag, "src", this.movie);
			tag = this.addAttr(tag, "name", this.name);
			tag = this.addAttr(tag, "width", this.w);
			tag = this.addAttr(tag, "height", this.h);
			tag = this.addAttr(tag, "swLiveConnect", "true");
			tag = this.addAttr(tag, "quality", this.quality);
			tag = this.addAttr(tag, "wmode", this.wmode);
			tag = this.addAttr(tag, "bgcolor", this.bgcolor);
			tag = this.addAttr(tag, "flashvars", this.flashvars);
			tag = this.addAttr(tag, "allowScriptAccess", "sameDomain");
			tag += "></embed>";
		}
		return tag;
	},
	embed: function(id) {
		if (this.required || this.hasFlash()) {
			var e = document.getElementById(id);
			if (e) {
				e.innerHTML = this.build();
			}
		}
	}
}