var flashPropArray = new Array();

function FlashEmbed() {}

FlashEmbed.prototype.loadFlash = function(src,bgcolor,w,h) {

	if (!src) { alert('You must specify a src!'); return; }
	
	var name = 'flashpage';
	var flashvars = '';
	for (i=0;i< flashPropArray.length;i++ )
	{
		if(i==0)
		{
			flashvars += flashPropArray[i].prop+'='+flashPropArray[i].val;
		}
		else
		{
			flashvars += '&'+flashPropArray[i].prop+'='+flashPropArray[i].val;
		}
		
	}
	
	if(!w)
	{
		w='100%';
		h='100%';
	}
	if (!bgcolor) { bgcolor = '#FFFFFF'; }

	var tags = '';
	tags += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';
	tags += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"';
	tags += ' width="'+w+'" height="'+h+'" id="' + name + '" align="middle">';
	tags += ' <param name="src" value="' + src + '" />';
	tags += ' <param name="quality" value="best" />';
	tags += ' <param name="bgcolor" value="' + bgcolor + '" />';
	tags += ' <param name="FlashVars" value="' + flashvars + '" />';
	tags += ' <param name="wmode" value="transparent" />';
	tags += ' <param name="allowFullScreen" value="false" />';	
	tags += ' <param name="allowScriptAccess" value="sameDomain" />';
	tags += '<embed src="' + src + '" FlashVars="' + flashvars + '" quality="best" wmode="transparent" bgcolor="' + bgcolor + '"';
	tags += ' width="'+w+'" height="'+h+'"';
	tags += ' swLiveConnect="true" name="' + name + '" align="middle"';
	tags += ' allowScriptAccess="sameDomain"';
	tags += ' allowFullScreen="false"';	
	tags += ' type="application/x-shockwave-flash"';
	tags += ' pluginspage="http://www.macromedia.com/go/getflashplayer">';
	tags += '</embed></object>\n';

	//return tags;
	
	document.write(tags);
	
}

FlashEmbed.prototype.exec = function(command) {
	if (!this.flashObject) {
		this.flashObject = document["flashpage"];
	}
	this.flashObject.SetVariable("/JSCommand:command",command);
	this.flashObject.TCallLabel("/JSCommand","jscommand");
}

FlashEmbed.prototype.call = function(func) {
	var me = this;
	return function() {
		var args = [];
		for (var i=0;i<arguments.length;i++) {
			args[i] = arguments[i];
		}
		var command = func + "(" + args.join(",") + ")";
		me.exec(command);
	}
}

FlashEmbed.prototype.setVariable = function(val) {
	if (!this.flashObject) {
		this.flashObject = document["flashpage"];
	}
	this.flashObject.SetVariable("fromjs",val);
}

FlashEmbed.prototype.addProperty = function(prop,val) 
{
	var newFlashObj = new Object();
	newFlashObj.prop = prop;
	newFlashObj.val = val;
	flashPropArray.push(newFlashObj);
}

function flashpage_DoFSCommand(command, args) {
	if(command != 'showmenu')
	{
		eval (command + ((command.indexOf("(") == -1) ? ("(\"" + args + "\")") : ""));
	}
	
}
