var gArgCountErr= 'The "%%" function requires an even number of arguments.' + '\nArguments should be in the form "atttributeName", "attributeValue", ...';
var gTagAttrs=null;
var gQTGeneratorVersion=1.2;
var gQTBehaviorID="qt_event_source";
var gQTEventsEnabled=false;

function AC_QuickTimeVersion(){
	return gQTGeneratorVersion;
}


function _QTComplain(callingFcnName,errMsg)
{
	errMsg=errMsg.replace("%%",callingFcnName);
	alert(errMsg);
}

function _QTIsMSIE()
{
	var ua=navigator.userAgent.toLowerCase();
	var msie=/msie/.test(ua)&&!/opera/.test(ua);
	return msie;
}

function _QTGenerateBehavior()
{
	return objTag='<!--[if IE]>'
	+'<object id="'+gQTBehaviorID+'" classid="clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598"></object>'
	+'<![endif]-->';
}

function _QTPageHasBehaviorObject(callingFcnName,args)
{
	var haveBehavior=false;var objects=document.getElementsByTagName('object');
	for(var ndx=0,obj;obj=objects[ndx];ndx++)
	{
		if(obj.getAttribute('classid')=="clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598")
		{
			if(obj.getAttribute('id')==gQTBehaviorID)
				haveBehavior=false;
				break;
		}
	}

	return haveBehavior;
}

function _QTShouldInsertBehavior()
{
	var shouldDo=false;
	if(gQTEventsEnabled&&_QTIsMSIE()&&!_QTPageHasBehaviorObject())
		shouldDo=true;
	return shouldDo;
}

function _QTAddAttribute(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 _QTAddObjectAttr(slotName,tagName)
{if(0==slotName.indexOf("emb#"))
return"";if(0==slotName.indexOf("obj#")&&(null==tagName))
tagName=slotName.substring(4);return _QTAddAttribute("obj#",slotName,tagName);}
function _QTAddEmbedAttr(slotName,tagName)
{if(0==slotName.indexOf("obj#"))
return"";if(0==slotName.indexOf("emb#")&&(null==tagName))
tagName=slotName.substring(4);return _QTAddAttribute("emb#",slotName,tagName);}
function _QTAddObjectParam(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;}
return paramStr;}

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

function _QTGenerate(callingFcnName,generateXHTML,args)
{
	if(args.length<4||(0!=(args.length%2)))
	{
		_QTComplain(callingFcnName,gArgCountErr);
		return"";
	}

	gTagAttrs=new Object();
	gTagAttrs["src"]=args[0];
	gTagAttrs["width"]=args[1];
	gTagAttrs["height"]=args[2];
	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="7,3,0,0";

	gTagAttrs["codebase"]="http://www.apple.com/qtactivex/qtplugin.cab#version="+activexVers;
	var attrName,attrValue;

	for(var ndx=4;ndx<args.length;ndx+=2)
	{
		attrName=args[ndx].toLowerCase();
		attrValue=args[ndx+1];
		gTagAttrs[attrName]=attrValue;
		if(("postdomevents"==attrName)&&(attrValue.toLowerCase()!="false"))
		{
			gQTEventsEnabled=true;
			if(_QTIsMSIE())
				gTagAttrs["obj#style"]="behavior:url(#"+gQTBehaviorID+")";
		}
	}

	var objTag='<object '
	+_QTAddObjectAttr("classid")
	+_QTAddObjectAttr("width")
	+_QTAddObjectAttr("height")
	+_QTAddObjectAttr("codebase")
	+_QTAddObjectAttr("name")
	+_QTAddObjectAttr("id")
	+_QTAddObjectAttr("tabindex")
	+_QTAddObjectAttr("hspace")
	+_QTAddObjectAttr("vspace")
	+_QTAddObjectAttr("border")
	+_QTAddObjectAttr("align")	
	+_QTAddObjectAttr("class")
	+_QTAddObjectAttr("title")
	+_QTAddObjectAttr("accesskey")
	+_QTAddObjectAttr("noexternaldata")
	+_QTAddObjectAttr("obj#style")
	+'>'
	+_QTAddObjectParam("src",generateXHTML);

	var embedTag='<embed '
	+_QTAddEmbedAttr("src")
	+_QTAddEmbedAttr("width")
	+_QTAddEmbedAttr("height")
	+_QTAddEmbedAttr("pluginspage")
	+_QTAddEmbedAttr("name")
	+_QTAddEmbedAttr("id")
	+_QTAddEmbedAttr("align")
	+_QTAddEmbedAttr("tabindex");

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

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

	return objTag+embedTag+'></em'+'bed></ob'+'ject'+'>';
}


function QT_GenerateOBJECTText()
{var txt=_QTGenerate("QT_GenerateOBJECTText",false,arguments);if(_QTShouldInsertBehavior())
txt=_QTGenerateBehavior()+txt;return txt;}
function QT_GenerateOBJECTText_XHTML()
{var txt=_QTGenerate("QT_GenerateOBJECTText_XHTML",true,arguments);if(_QTShouldInsertBehavior())
txt=_QTGenerateBehavior()+txt;return txt;}
function QT_WriteOBJECT()
{var txt=_QTGenerate("QT_WriteOBJECT",false,arguments);if(_QTShouldInsertBehavior())
document.writeln(_QTGenerateBehavior());document.writeln(txt);}
function QT_WriteOBJECT_XHTML()
{var txt=_QTGenerate("QT_WriteOBJECT_XHTML",true,arguments);if(_QTShouldInsertBehavior())
document.writeln(_QTGenerateBehavior());document.writeln(txt);}
function QT_GenerateBehaviorOBJECT()
{return _QTGenerateBehavior();}
function QT_ReplaceElementContents()
{var element=arguments[0];var args=[];for(var ndx=1;ndx<arguments.length;ndx++)
args.push(arguments[ndx]);var txt=_QTGenerate("QT_ReplaceElementContents",false,args);if(txt.length>0)
element.innerHTML=txt;}
function QT_ReplaceElementContents_XHTML()
{var element=arguments[0];var args=[];for(var ndx=1;ndx<arguments.length;ndx++)
args.push(arguments[ndx]);var txt=_QTGenerate("QT_ReplaceElementContents_XHTML",true,args);if(txt.length>0)
element.innerHTML=txt;}