/*
*
*	myFlash = new gfx("src.file", "srcid", "width", "height", flashversion, "backgroundcolor");
*	myFlash.addParam("wmode", "transparent");					// optional
*	myFlash.write();
*
*/

gfx = function(src, w, h, idee, bgcol) {
	this.s = src;
	this.w = w;
	this.h = h;
	this.i = idee;
	this.align = "middle";
	this.b = bgcol;
	this.v = 7;

	this.params = new Object();
	this.htmlsrc = "";
}

gfx.prototype.addParam = function(name, value) {
	this.params[name] = value;
}

gfx.prototype.getParams = function() {
	return this.params;
}

gfx.prototype.getParam = function(name) {
	return this.params[name];
}

gfx.prototype.getParamTags = function() {
	var paramTags = "";
	for (var param in this.getParams()) {
		paramTags += '<param name="' + param + '" value="' + this.getParam(param) + '" />';
	}
	if (paramTags == "") {
		paramTags = null;
	}
	return paramTags;
}

gfx.prototype.getHTML = function() {

	if (window.ActiveXObject && navigator.userAgent.indexOf('Mac') == -1) {
		this.htmlsrc += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="' + this.w + '" height="' + this.h + '" id="' + this.i + '" align="' + this.align + '">';
		if (this.i == "NewsFeed") {
			this.htmlsrc += '<param name="movie" value="' + this.s +'?c=020'+Math.floor((new Date().getTime()/(60*60*1000))) + '" />';
		} else {
			this.htmlsrc += '<param name="movie" value="' + this.s +'?c=020'+Math.floor((new Date().getTime()/(10*60*1000))) + '" />';
		}
		this.htmlsrc += '<param name="bgcolor" value="' + this.b + '" />';
		this.htmlsrc += '<param name="allowScriptAccess" value="always" />';
		if (this.getParamTags() != null) {
			this.htmlsrc += this.getParamTags();
		}
		this.htmlsrc += '</object>';
	}
	else {
		this.htmlsrc += '<embed src="' + this.s + '" quality="auto" bgcolor="' + this.b + '" width="' + this.w + '" height="' + this.h + '" name="' + this.i + '" align="' + this.align + '" allowScriptAccess="always"';
		for (var param in this.getParams()) {
			this.htmlsrc += ' ' + param + '="' + this.getParam(param) + '"';
		}
		this.htmlsrc += ' type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
	}
	return this.htmlsrc;
}

function checkUnit(str) {
	if (str.indexOf("%") == "-1") {
		str += "px";
	}
	return str;
}

function getFlashVersion() {
	var flashversion = 0;
	try {
		if (navigator.plugins && navigator.plugins.length) {
			var x = navigator.plugins["Shockwave Flash"];
			if(x){
				if (x.description) {
					var y = x.description;
					var ptr = y.indexOf("Flash");
					if (ptr >= 0) flashversion = eval(y.substring(ptr+6,ptr+10));
				}
			}
		}
		else {
			var y = new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");
			ptr = y.substring(4,7)
			if (ptr != -1) flashversion = eval(parseInt(y.substring(4,7)));
		}
	} catch(e) {
	}
	return flashversion;
}

function detectFlash(ver) {
	if (getFlashVersion() >= ver) {
		return true;
	}
	else {
		return false;
	}
}

gfx.prototype.write = function() {
	if(detectFlash(this.v)) {
		document.write(this.getHTML());
	}
	else {
		this.w = checkUnit(this.w);
		this.h = checkUnit(this.h);
		this.htmlsrc += '<div class="updateflp" style="line-height:1.6em;font-size:12px;font-weight:bold;padding:6px; width:' + this.w + '; height:' + this.h + ';"><a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash&Lang=Japanese&Lang=Japanese" style="font-size:12px;font-weight:bold;color:#ff3300;">最新のAdobe Flash Player</a> をインストールしてご覧ください。</div>';
		document.write(this.htmlsrc);
	}
}
