
// FlashElement
function FlashElement(id, src, width, height){
	this.id = id;
	this.src = src;
	this.width = width;
	this.height = height;
	this.version = "8,0,15,0";
	this.className = "";
	this.style = "";
	this.bgcolor = "#ffffff";
	this.quality = "high";
	this.scale = "showAll";
	this.salign = "LT";
	this.allowScriptAccess = "sameDomain";
	this.wmode = null;
	this.menu = null;
	this.flashVars = null;
}
/*
	FlashElement.hasFlashPlugin:
	The function is modified version of hasFlashVerssion method from Unobtrusive Flash Objects (UFO) v3.02 by Bobby van der Sluis.
	UFO is under the CC-GNU LGPL.
*/
/*	Unobtrusive Flash Objects (UFO) v3.02 <http://www.bobbyvandersluis.com/ufo/>
	Copyright 2005, 2006 Bobby van der Sluis
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/
FlashElement.hasFlashPlugin = function(majorVersion, buildVersion) {
	var reqVersion = parseFloat(majorVersion + "." + buildVersion);
	if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
		var desc = navigator.plugins["Shockwave Flash"].description;
		if (desc) {
			var versionStr = desc.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
			var major = parseInt(versionStr.replace(/^(.*)\..*$/, "$1"));
			var build = parseInt(versionStr.replace(/^.*r(.*)$/, "$1"));
			var flashVersion = parseFloat(major + "." + build);
		}
	}
	else if (window.ActiveXObject) {
		try {
			var flashObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			var desc = flashObj.GetVariable("$version");
			if (desc) {
				var versionArr = desc.replace(/^\S+\s+(.*)$/, "$1").split(",");
				var major = parseInt(versionArr[0]);
				var build = parseInt(versionArr[2]);
				var flashVersion = parseFloat(major + "." + build);
			}
		}
		catch(e) {}
	}
	if (typeof flashVersion != "undefined"){
		return (flashVersion >= reqVersion ? true : false); 
	}
	return false;
}

var p = FlashElement.prototype;

p.toString = function(){
    var isMS = (navigator.appName.indexOf ("Microsoft") != -1) ? true : false;
    var str = "";
    if(isMS){
        str += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" type="application/x-shockwave-flash" ';
        str += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + this.version + '" ';
		if(this.id != null) str += 'id="' + this.id + '" ';
		str += 'className="' + this.className + '" ';
		str += 'style="' + this.style + '" ';
		str += 'width="' + this.width + '" ';
        str += 'height="' + this.height + '">';
        str += '<param name="movie" value="' + this.src + '" />';
		str += '<param name="src" value="' + this.src + '" />';
		str += '<param name="bgcolor" value="' + this.bgcolor + '" />';
        str += '<param name="quality" value="' + this.quality + '" />';
		str += '<param name="scale" value="' + this.scale + '" />';
		str += '<param name="salign" value="' + this.salign + '" />';
		str += '<param name="allowScriptAccess" value="' + this.allowScriptAccess + '" />';
        if(this.flashVars != null) str += '<param name="flashvars" value="' + this.flashVars + '" />';
		if(this.wmode != null) str += '<param name="wmode" value="' + this.wmode + '" />';
        if(this.menu != null) str += '<param name="menu" value="' + this.menu + '" />';
        str += '</object>';
    }
    else{
        str += '<embed src="' + this.src + '" ';
        str += 'width="' + this.width + '" ';
        str += 'height="' + this.height + '" ';
		if(this.id != null) str += 'id="' + this.id + '" ';
		str += 'name="' + this.id + '" ';
		str += 'className="' + this.className + '" ';
		str += 'style="' + this.style + '" ';
		str += 'bgcolor="' + this.bgcolor + '" ';
		str += 'quality="' + this.quality + '" ';
		str += 'scale="' + this.scale + '" ';
		str += 'salign="' + this.salign + '" ';
		str += 'allowScriptAccess="' + this.allowScriptAccess + '" ';
		if(this.flashVars != null)  str += 'flashvars="' + this.flashVars + '" ';
		if(this.wmode != null)  str += 'wmode="' + this.wmode + '" ';
        if(this.menu != null)  str += 'menu="' + this.menu + '" ';
        str += 'type="application/x-shockwave-flash" ';
        str += 'pluginspage="http://www.macromedia.com/go/getflashplayer">';
        str += '</embed>';
    }
    return str;
}

p.write = function(){
	var str = this.toString();
	document.write(str);
}

delete p;
