var argCntEr="The '%%' function requires an even number of arguments.'+'\nArguments should be in the form 'atttributeName', 'attributeValue', ..."
var tagAttrs=null
var vs=1.0

function QTVers(){return vs}

function comPlain(callFcnNm,errMsg)
	{
	errMsg=errMsg.replace('%%',callFcnNm)
	alert(errMsg)
	}

function addAttr(prefix,sltNm,tgNm)
	{
	var value
	value=tagAttrs[prefix+sltNm]
	if(null==value)
	value=tagAttrs[sltNm]
	if(null!=value)
	{
	if(0==sltNm.indexOf(prefix)&&(null==tgNm))
	tgNm=sltNm.substring(prefix.length) 
	if(null==tgNm)
	tgNm=sltNm
	return tgNm+'="'+value+'" '
	}
	else
	return ''
	}

function addObjAttr(sltNm,tgNm)
	{
	if(0==sltNm.indexOf('emb#'))
	return ''
	if(0==sltNm.indexOf('obj#')&&(null==tgNm))
	tgNm=sltNm.substring(4) 
	return addAttr('obj#',sltNm,tgNm)
	}

function addEmbAttr(sltNm,tgNm)
	{
	if(0==sltNm.indexOf('obj#'))
	return ''
	if(0==sltNm.indexOf('emb#')&&(null==tgNm))
	tgNm=sltNm.substring(4)
	return addAttr('emb#',sltNm,tgNm)
	}


function addObjPara(sltNm,generateXHTML)
	{
	var parVal
	var paramStr=''
	var endTagChar=(generateXHTML)?' />':'>'
	if(-1==sltNm.indexOf('emb#'))
	{
	parVal=tagAttrs['obj#'+sltNm]
	if(null==parVal)
	parVal=tagAttrs[sltNm]
	if(0==sltNm.indexOf('obj#'))
	sltNm=sltNm.substring(4)	
	if(null!=parVal)
	paramStr='<param name="'+sltNm+'" value="'+parVal+'"'+endTagChar+'\n'
	}
	return paramStr
	}

function delTagAttrs()
	{
	for(var ndx=0;ndx<arguments.length;ndx++)
	{
	var attrName=arguments[ndx]
	delete tagAttrs[attrName]
	delete tagAttrs['emb#'+attrName]
	delete tagAttrs['obj#'+attrName]
	}
	}

function gen(callFcnNm,generateXHTML,args)
	{
	if(args.length<4||(0!=(args.length % 2)))
	{
	comPlain(callFcnNm,argCntEr)
	return ''
	}
	tagAttrs=new Array()
	tagAttrs['src']=args[0]
	tagAttrs['width']=args[1]
	tagAttrs['height']=args[2]
	tagAttrs['classid']='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'
	tagAttrs['pluginspage']='http://www.apple.com/quicktime/download/'
	var actxVer=args[3]
	if((null==actxVer)||(''==actxVer))
	actxVer='6,0,2,0'
	tagAttrs['codebase']='http://www.apple.com/qtactivex/qtplugin.cab#version='+actxVer
	var attrName,
	attrValue
	for(var ndx=4;ndx<args.length;ndx+=2)
	{
	attrName=args[ndx].toLowerCase()
	attrValue=args[ndx+1]
	if('name'==attrName||'id'==attrName)
	tagAttrs['name']=attrValue
	else 
	tagAttrs[attrName]=attrValue
	}
	var objTag= '<object '
	+ addObjAttr('classid')
	+ addObjAttr('width')
	+ addObjAttr('height')
	+ addObjAttr('codebase')
	+ addObjAttr('name','id')
	+ addObjAttr('tabindex')
	+ addObjAttr('hspace')
	+ addObjAttr('vspace')
	+ addObjAttr('border')
	+ addObjAttr('align')
	+ addObjAttr('class')
	+ addObjAttr('title')
	+ addObjAttr('accesskey')
	+ addObjAttr('noexternaldata')
	+ '>\n'
	+ addObjPara('src',generateXHTML)
	var embedTag='<embed '
	+ addEmbAttr('src')
	+ addEmbAttr('width')
	+ addEmbAttr('height')
	+ addEmbAttr('pluginspage')
	+ addEmbAttr('name')
	+ addEmbAttr('align')
	+ addEmbAttr('tabindex')
	delTagAttrs('src','width','height','pluginspage','classid','codebase','name','tabindex',
	'hspace','vspace','border','align','noexternaldata','class','title','accesskey')
	for(var attrName in tagAttrs)
	{
	attrValue=tagAttrs[attrName]
	if(null!=attrValue)
	{
	embedTag+=addEmbAttr(attrName)
	objTag+=addObjPara(attrName,generateXHTML)
	}
	}
	return objTag+embedTag+'> </em'+'bed>\n</ob'+'ject'+'>'
	}

function genObjText()
	{
	return gen('genObjText',false,arguments)
	}

function genObjXHTML()
	{
	return gen('genObjXHTML',true,arguments)
	}

function writeObj()
	{
	document.writeln(gen('writeObj',false,arguments))
	}

function writeObj_XHTML()
	{
	document.writeln(gen('writeObj_XHTML',true,arguments))
	}