/************** LOCALIZABLE GLOBAL VARIABLES ****************/var gArgCountErr =	'The "%%" function requires an even number of arguments.'				+	'\nArguments should be in the form "atttributeName", "attributeValue", ...';/******************** END LOCALIZABLE **********************/var gTagAttrs				= null;var gQTGeneratorVersion		= 1.0;//function AC_QuickTimeVersion()	{ return gQTGeneratorVersion; }function _WMComplain(callingFcnName, errMsg){    errMsg = errMsg.replace("%%", callingFcnName);	alert(errMsg);}function _WMAddAttribute(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 _WMAddObjectAttr(slotName, tagName){	// don't bother if it is only for the embed tag	if ( 0 == slotName.indexOf("emb#") )		return "";	if ( 0 == slotName.indexOf("obj#") && (null == tagName) )		tagName = slotName.substring(4); 	return _WMAddAttribute("obj#", slotName, tagName);}function _WMAddEmbedAttr(slotName, tagName){	// don't bother if it is only for the object tag	if ( 0 == slotName.indexOf("obj#") )		return "";	if ( 0 == slotName.indexOf("emb#") && (null == tagName) )		tagName = slotName.substring(4); 	return _WMAddAttribute("emb#", slotName, tagName);}function _WMAddObjectParam(slotName, generateXHTML){	var		paramValue;	var		paramStr = "";	var		endTagChar = (generateXHTML) ? ' />' : '>';	if ( -1 == slotName.indexOf("emb#") )	{		// look for the OBJECT-only param first. if there is none, look for a generic one		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;	}	return paramStr;}function _WMDeleteTagAttrs(){	for ( var ndx = 0; ndx < arguments.length; ndx++ )	{		var attrName = arguments[ndx];		delete gTagAttrs[attrName];		delete gTagAttrs["emb#" + attrName];		delete gTagAttrs["obj#" + attrName];	}}		// generate an embed and object tag, return as a stringfunction _WMGenerate(callingFcnName, generateXHTML, args){	// is the number of optional arguments even?	if ( args.length < 4 || (0 != (args.length % 2)) )	{		_WMComplain(callingFcnName, gArgCountErr);		return "";	}		// allocate an array, fill in the required attributes with fixed place params and defaults	gTagAttrs = new Object();	gTagAttrs["src"] = args[0];	gTagAttrs["width"] = args[1];	gTagAttrs["height"] = args[2];	gTagAttrs["classid"] = "CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6";		//Impportant note: It is recommended that you use this exact classid in order to ensure a seamless experience for all viewers	gTagAttrs["pluginspage"] = "http://www.microsoft.com/Windows/MediaPlayer/";	// set up codebase attribute with specified or default version before parsing args so	//  anything passed in will override	var activexVers = args[3]	if ( (null == activexVers) || ("" == activexVers) )		activexVers = "6,0,2,0";	gTagAttrs["codebase"] = "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=" + activexVers;	var	attrName,		attrValue;	// add all of the optional attributes to the array	for ( var ndx = 4; ndx < args.length; ndx += 2)	{		attrName = args[ndx].toLowerCase();		attrValue = args[ndx + 1];		// "name" and "id" should have the same value, the former goes in the embed and the later goes in		//  the object. use one array slot 		if ( "name" == attrName || "id" == attrName )			gTagAttrs["name"] = attrValue;		else 			gTagAttrs[attrName] = attrValue;	}	// init both tags with the required and "special" attributes	var objTag =  '<object '					+ _WMAddObjectAttr("classid")					+ _WMAddObjectAttr("width")					+ _WMAddObjectAttr("height")					+ _WMAddObjectAttr("codebase")					+ _WMAddObjectAttr("name", "id")					//+ _WMAddObjectAttr("tabindex")					//+ _WMAddObjectAttr("hspace")					//+ _WMAddObjectAttr("vspace")					//+ _WMAddObjectAttr("border")					//+ _WMAddObjectAttr("align")					+ _WMAddObjectAttr("class")					+ _WMAddObjectAttr("title")					//+ _WMAddObjectAttr("accesskey")					//+ _WMAddObjectAttr("noexternaldata")					+ '>'					//+ _WMAddObjectParam("src", generateXHTML);	var embedTag = '<embed '					//+ _WMAddEmbedAttr("src")					+ 'src="http://players.creacast.com/creacast/2capitales/playlist.asx"'					+ 'type = "application/x-mplayer2"'					+ 'shown = "false"'					+ 'autoplay = "false"'					+ 'controller = "false"'					+ _WMAddEmbedAttr("width")					+ _WMAddEmbedAttr("height")					+ _WMAddEmbedAttr("pluginspage")					+ _WMAddEmbedAttr("name")					//+ _WMAddEmbedAttr("align")					//+ _WMAddEmbedAttr("tabindex");	// delete the attributes/params we have already added	_WMDeleteTagAttrs("src","width","height","pluginspage","classid","codebase","name","tabindex",					"hspace","vspace","border","align","noexternaldata","class","title","accesskey");	// and finally, add all of the remaining attributes to the embed and object	for ( var attrName in gTagAttrs )	{		attrValue = gTagAttrs[attrName];		if ( null != attrValue )		{			embedTag += _WMAddEmbedAttr(attrName);			objTag += _WMAddObjectParam(attrName, generateXHTML);		}	} 	// end both tags, we're done	//return objTag + embedTag + '></em' + 'bed></ob' + 'ject' + '>';	return embedTag + '></em' + 'bed>';}// return the object/embed as a stringfunction WM_GenerateOBJECTText(){	return _WMGenerate("WM_GenerateOBJECTText", false, arguments);}function WM_GenerateOBJECTText_XHTML(){	return _WMGenerate("WM_GenerateOBJECTText_XHTML", true, arguments);}function WM_WriteOBJECT(){	document.writeln(_WMGenerate("WM_WriteOBJECT", false, arguments));}function WM_WriteOBJECT_XHTML(){	document.writeln(_WMGenerate("WM_WriteOBJECT_XHTML", true, arguments));}