/**
 * Generates a browser-specific Flash tag. Create a new instance, set whatever
 * properties you need, then call either toString() to get the tag as a string, or
 * call write() to write the tag out.
 */

/**
 * Creates a new instance of the FlashTag.
 * src: The path to the SWF file.
 * width: The width of your Flash content.
 * height: the height of your Flash content.
 */
function FlashTag(src, width, height, version)
{
    this.src       = src;
    this.width     = width;
    this.height    = height;
		if (version == undefined)
		{
			this.version   = '7,0,14,0';
		}
		else
		{
			this.version   = version;
		}
    this.id        = null;
    this.bgcolor   = 'ffffff';
    this.flashVars = null;
		this.transparent = false;
		this.menu = false;
}

/**
 * Sets the Flash version used in the Flash tag.
 */
FlashTag.prototype.setVersion = function(v)
{
    this.version = v;
}

/**
 * Sets the ID used in the Flash tag.
 */
FlashTag.prototype.setId = function(id)
{
    this.id = id;
}

/**
 * Sets the background color used in the Flash tag.
 */
FlashTag.prototype.setBgcolor = function(bgc)
{
    this.bgcolor = bgc;
}

/**
 * Sets whether to display the menu on right-click.
 */
FlashTag.prototype.setMenu = function(mnu)
{
    this.menu = mnu;
}

/**
 * Sets the WMODE to either Opaque or Transparent. 
 */
FlashTag.prototype.setTransparent = function(trans)
{
    this.transparent = trans;
}

/**
 * Sets any variables to be passed into the Flash content. 
 */
FlashTag.prototype.setFlashvars = function(fv)
{
    this.flashVars = fv;
}

/**
 * Get the Flash tag as a string. 
 */
FlashTag.prototype.toString = function()
{
	var flashTag = new String();
	flashTag += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
	if (this.id != null)
	{
			flashTag += 'id="'+this.id+'" ';
	}
	flashTag += 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+this.version+'" ';
	flashTag += 'width="'+this.width+'" ';
	flashTag += 'height="'+this.height+'">';
	flashTag += '<param name="movie" value="'+this.src+'"/>';
	flashTag += '<param name="quality" value="high"/>';
	flashTag += '<param name="bgcolor" value="#'+this.bgcolor+'"/>';
	flashTag += '<param name="menu" value="'+this.menu+'"/>';
	flashTag += '<param name="wmode" value="'+(this.transparent?'transparent':'opaque')+'"/>';
	if (this.flashVars != null)
	{
			flashTag += '<param name="flashvars" value="'+this.flashVars+'"/>';
	}

	flashTag += '<embed src="'+this.src+'" ';
	flashTag += 'quality="high" '; 
	flashTag += 'wmode="'+(this.transparent?'transparent':'opaque')+'" ';
	flashTag += 'bgcolor="#'+this.bgcolor+'" ';
	flashTag += 'menu="'+this.menu+'" ';
	flashTag += 'width="'+this.width+'" ';
	flashTag += 'height="'+this.height+'" ';
	flashTag += 'type="application/x-shockwave-flash" ';
	if (this.flashVars != null)
	{
			flashTag += 'flashvars="'+this.flashVars+'" ';
	}
	if (this.id != null)
	{
			flashTag += 'name="'+this.id+'" ';
	}
	flashTag += 'pluginspage="http://www.macromedia.com/go/getflashplayer">';
	flashTag += '</embed>';

	flashTag += '</object>';

	return flashTag;
}

/**
 * Write the Flash tag out. Pass in a reference to the document to write to. 
 */
FlashTag.prototype.write = function(doc)
{
   doc.write(this.toString());
}
