function isHostNetscapeCompatible() {return navigator.mimeTypes.length ? true : false;};
function isHostActiveXCompatible() {return window.ActiveXObject ? true : false;};

createObject=function (mimeType, params){
switch(mimeType) {
	case "video/quicktime":
		var obj=new QuickTime(mimeType, params);
		document.writeln(obj.toHTML());
		break;
	case "application/asx":
		var obj=new WindowsMediaPlayer(mimeType, params);
		document.writeln(obj.toHTML());
		break;
	case "video/vnd.rn-realvideo":
		var obj=new WindowsMediaPlayer(mimeType, params);
		document.writeln(obj.toHTML());
		break;
	case "application/x-shockwave-flash":
		var obj=new FlashPlugin(mimeType, params);
		document.writeln(obj.toHTML());
		break;
	case "application/x-java-bean":
		var obj=new JavaBeansPlugin(mimeType, params);
		document.writeln(obj.toHTML());
		break;
	case "application/x-java-applet":
		var obj=new JavaAppletPlugin(mimeType, params);
		document.writeln(obj.toHTML());
		break;
	case "application/x-director":
		var obj=new ShockwaveDirectorPlugin(mimeType, params);
		document.writeln(obj.toHTML());
		break;
}
}

function QuickTime(mimeType, params) {
this.mimeType=mimeType;
this.params=params;
}

QuickTime.prototype.toHTML=function () {
htmlStr="";
htmlStr+='<object';
htmlStr+=' type="'+this.mimeType+'"';
htmlStr+=' border="'+this.params["border"]+'"';
htmlStr+=' height="'+this.params["height"]+'"';
htmlStr+=' width="'+this.params["width"]+'"';
htmlStr+=' title="'+this.params["alt"]+'"';
htmlStr+=' codebase="'+this.params["codebase"]+'"';
htmlStr+=' classid="'+this.params["classid"]+'"';
htmlStr+=' style="visibility:'+this.params["hidden"]+'"';
htmlStr+='>';
htmlStr+='\n'; 
htmlStr+='<param name="src" value="'+this.params["src"]+'">\n';
htmlStr+='<param name="cache" value="'+this.params["cache"]+'">\n';
htmlStr+='<param name="autoplay" value="'+this.params["autoplay"]+'">\n';
htmlStr+='<param name="controller" value="'+this.params["controller"]+'">\n';
htmlStr+='<param name="loop" value="'+this.params["loop"]+'">\n';
htmlStr+='<embed';
htmlStr+=' src="'+this.params["src"]+'"';
htmlStr+=' width="'+this.params["width"]+'"';
htmlStr+=' height="'+this.params["height"]+'"'; 
htmlStr+=' loop="'+this.params["loop"]+'"';
htmlStr+=' autoplay="'+this.params["autoplay"]+'"';
htmlStr+=' pluginspage="http://www.apple.com/quicktime/download/"';
htmlStr+=' type="'+this.mimeType+'"';
htmlStr+='></embed>';
htmlStr+='</object>\n';
return htmlStr;
}

function WindowsMediaPlayer(mimeType, params){
this.mimeType=mimeType;
this.params=params;
}

WindowsMediaPlayer.prototype.toHTML=function(){
htmlStr="";
htmlStr+='<object name="'+this.params["name"]+'"'; 
htmlStr+=' border="'+this.params["border"]+'"';
htmlStr+=' type="'+this.mimeType+'"';
if (isHostActiveXCompatible()){htmlStr+=' classid="'+this.params["classid"]+'"';}
htmlStr+=' data="'+this.params["src"]+'" ';
htmlStr+=' height="'+this.params["height"]+'"';
htmlStr+=' width="'+this.params["width"]+'"';
htmlStr+=' alt="'+this.params["alt"]+'"';
htmlStr+=' title="'+this.params["alt"]+'"';
htmlStr+='>\n'
if(isHostActiveXCompatible()){htmlStr+='<param name="src" value="'+this.params["src"]+'">\n';}
htmlStr+='<param name="URL" value="'+this.params["src"]+'">\n';
htmlStr+='<param name="uiMode" value="full">\n';
htmlStr+='</object>';
return htmlStr;
}

function FlashPlugin(mimeType, params){
this.mimeType=mimeType;
this.params=params;
}

FlashPlugin.prototype.toHTML=function(){
this.params["loop"]=(this.params["loop"] == "1") ? "true" : "false" ;
this.params["play"]=(this.params["play"] == "1") ? "true" : "false" ;
htmlStr="";
// special case for Flash Splash Screen component
if (this.params["isSplashScreen"] == 'true')
{
	htmlStr+='<object '; 
	htmlStr+=' type="application/x-shockwave-flash"' ;
	if (isHostActiveXCompatible()){
	htmlStr+=' codebase="'+this.params["codebase"]+'"'; 
	htmlStr+=' classid="'+this.params["classid"]+'"';
	}
	if(!isHostActiveXCompatible()){htmlStr+=' data="'+this.params["movie"]+'" ';}
	htmlStr+=' height="'+this.params["height"]+'"';
	htmlStr+=' width="'+this.params["width"]+'"';
	htmlStr+=' alt="'+this.params["alt"]+'"';
	htmlStr+=' title="'+this.params["alt"]+'"'; 
	htmlStr+='>'
	htmlStr+='\n';
	htmlStr+='<param name="movie" value="'+this.params["movie"]+'"/>\n';
	htmlStr+='<param name="FlashVars" value="'+this.params["flashVars"]+'"/>\n';
	htmlStr+='</object>';
}
else {
	htmlStr+='<object name="'+this.params["name"]+'"'; 
	if (isHostActiveXCompatible()){htmlStr+=' codebase="'+this.params["codebase"]+'"';}
	htmlStr+=' type="application/x-shockwave-flash"' ;
	if (isHostActiveXCompatible()){htmlStr+=' classid="'+this.params["classid"]+'"';}
	if (!isHostActiveXCompatible()){htmlStr+=' data="'+this.params["src"]+'" ';}
	htmlStr+=' height="'+this.params["height"]+'"';
	htmlStr+=' width="'+this.params["width"]+'"';
	htmlStr+=' alt="'+this.params["alt"]+'"';
	htmlStr+=' title="'+this.params["alt"]+'"';
	htmlStr+='>'
	if(isHostActiveXCompatible()){htmlStr+='<param name="src" value="'+this.params["src"]+'">\n';}
	htmlStr+='\n';
	htmlStr+='<param name="movie" value="'+this.params["src"]+'"/>\n';
	htmlStr+='<param name="quality" value="'+this.params["quality"]+'"/>\n';
	htmlStr+='<param name="loop" value="'+this.params["loop"]+'"/>\n'; 
	htmlStr+='<param name="scale" value="'+this.params["scale"]+'"/>\n';
	htmlStr+='<param name="wmode" value="'+this.params["wmode"]+'"/>\n';
	htmlStr+='<param name="salign" value="'+this.params["salign"]+'"/>\n';
	htmlStr+='<param name="bgcolor" value="'+this.params["bgcolor"]+'"/>\n';
	htmlStr+='<embed';
	htmlStr+=' src="'+this.params["src"]+'"';
	htmlStr+=' quality="'+this.params["quality"]+'"';
	htmlStr+=' width="'+this.params["width"]+'"';
	htmlStr+=' height="'+this.params["height"]+'"'; 
	htmlStr+=' loop="'+this.params["loop"]+'"';
	htmlStr+=' play="'+this.params["play"]+'"';
	htmlStr+=' wmode="'+this.params["wmode"]+'"';
	htmlStr+=' salign="'+this.params["salign"]+'"';
	htmlStr+=' scale="'+this.params["scale"]+'"';
	htmlStr+=' bgcolor="'+this.params["bgcolor"]+'"';
	htmlStr+=' flashvars="'+this.params["flashVars"]+'"';
	htmlStr+=' pluginspage="http://www.macromedia.com/go/getflashplayer"';
	htmlStr+=' type="application/x-shockwave-flash"';
	htmlStr+='></embed>'; 
	htmlStr+='</object>';
	}
return htmlStr;
}

function JavaBeansPlugin(mimeType, params){
this.mimeType=mimeType;
this.params=params;
}

JavaBeansPlugin.prototype.toHTML=function(){
htmlStr="";
htmlStr+='<object name="'+this.params["name"]+'"'; 
htmlStr+='id="'+this.params["name"]+'"';
if (isHostActiveXCompatible()){htmlStr+=' codebase="'+this.params["pluginCodebase"]+'"';}
htmlStr+=' type="'+this.params["type"]+'"'; 
if (isHostActiveXCompatible()){htmlStr+=' classid="'+this.params["classid"]+'"';}
htmlStr+=' archive="'+this.params["archive"]+'"';
htmlStr+=' height="'+this.params["height"]+'"';
htmlStr+=' width="'+this.params["width"]+'"';
htmlStr+=' alt="'+this.params["alt"]+'"';
if (this.params["isApplet"]=="true") htmlStr+=' title="'+this.params["alt"]+'"';
htmlStr+='>\n'
htmlStr+='<param name="code" value="'+this.params["code"]+'"/>\n';
htmlStr+='<param name="archive" value="'+this.params["archive"]+'"/>\n';
htmlStr+='<param name="scriptable" value="'+this.params["scriptable"]+'"/>\n'; //MAYSCRIPT
htmlStr+='<param name="FiresScriptEvents" value="'+this.params["scriptEvents"]+'"/>\n';
htmlStr+='<param name="codebase" value="'+this.params["appletCodebase"]+'"/>\n'; 
htmlStr+='<param name="mayscript" value="'+this.params["mayscript"]+'"/>\n';
// process custom params
subParams=this.params["customParams"].split(";");
for (i=0; i < subParams.length; i++){
	tempArray=subParams[i].split("|");
	htmlStr+='<param name="'+tempArray[0]+'" value="'+tempArray[1]+'"/>\n';
}
htmlStr+='</object>';
return htmlStr;
}

function JavaAppletPlugin(mimeType, params){
this.mimeType=mimeType;
this.params=params;
}

JavaAppletPlugin.prototype.toHTML=function(){
htmlStr="";
htmlStr+='<object name="'+this.params["name"]+'"'; 
htmlStr+=' id="'+this.params["name"]+'"';
if (isHostActiveXCompatible()){htmlStr+=' codebase="'+this.params["pluginCodebase"]+'"';}
htmlStr+=' type="'+this.params["type"]+'"'; 
if (isHostActiveXCompatible()){htmlStr+=' classid="'+this.params["classid"]+'"';}
htmlStr+=' archive="'+this.params["archive"]+'"';
htmlStr+=' height="'+this.params["height"]+'"';
htmlStr+=' width="'+this.params["width"]+'"';
htmlStr+=' alt="'+this.params["alt"]+'"';
if (this.params["isApplet"]=="true") htmlStr+=' title="'+this.params["alt"]+'"';
htmlStr+='>\n'
htmlStr+='<param name="code" value="'+this.params["code"]+'"/>\n';
htmlStr+='<param name="codebase" value="'+this.params["appletCodebase"]+'"/>\n'; 
htmlStr+='<param name="archive" value="'+this.params["archive"]+'"/>\n';
// process custom params
subParams=this.params["customParams"].split(";");
if (subParams.length > 0){
	for (i=0; i < subParams.length; i++){
		if (subParams[i] != "" || subParams[i] != ''){
		tempArray=subParams[i].split("|");
		htmlStr+='<param name="'+tempArray[0]+'" value="'+tempArray[1]+'"/>\n';
		}
	}
}
htmlStr+='</object>';
return htmlStr;
}

function ShockwaveDirectorPlugin(mimeType, params){
this.mimeType=mimeType;
this.params=params;
}

ShockwaveDirectorPlugin.prototype.toHTML=function(){
htmlStr="";
htmlStr+='<object name="'+this.params["name"]+'"'; 
htmlStr+=' id="'+this.params["name"]+'"';
if (isHostActiveXCompatible()){htmlStr+=' codebase="'+this.params["pluginCodebase"]+'"';}
htmlStr+=' type="'+this.mimeType+'"'; 
if (isHostActiveXCompatible()){htmlStr+=' classid="'+this.params["classid"]+'"';}
htmlStr+=' data="'+this.params["src"]+'" ';
htmlStr+=' height="'+this.params["height"]+'"';
htmlStr+=' width="'+this.params["width"]+'"';
htmlStr+=' alt="'+this.params["alt"]+'"';
if (this.params["isApplet"]=="true") htmlStr+=' title="'+this.params["alt"]+'"';
htmlStr+='>\n'
htmlStr+='<param name="src" value="'+this.params["src"]+'"/>\n'; 
htmlStr+='<param name="codebase" value="'+'.'+'"/>\n'; 
htmlStr+='<param name="swURL" value="'+this.params["swURL"]+'"/>\n';
htmlStr+='<param name="swText" value="'+this.params["swText"]+'"/>\n';
htmlStr+='<param name="swColor" value="'+this.params["swColor"]+'"/>\n';
htmlStr+='<param name="swForeColor" value="'+this.params["swForeColor"]+'"/>\n';
htmlStr+='<param name="swBackColor" value="'+this.params["swBackColor"]+'"/>\n';
htmlStr+='<param name="swFrame" value="'+this.params["swFrame"]+'"/>\n';
htmlStr+='<param name="swName" value="'+this.params["swName"]+'"/>\n';
htmlStr+='<param name="swPassword" value="'+this.params["swPassword"]+'"/>\n';
htmlStr+='<param name="swBanner" value="'+this.params["swBanner"]+'"/>\n';
htmlStr+='<param name="swSound" value="'+this.params["swSound"]+'"/>\n';
htmlStr+='<param name="swPreload" value="'+this.params["swPreload"]+'"/>\n';
htmlStr+='<param name="swVolume" value="'+this.params["swVolume"]+'"/>\n';
htmlStr+='<param name="swList" value="'+this.params["swList"]+'"/>\n';
htmlStr+='<param name="SW1" value="'+this.params["sw1"]+'"/>\n';
htmlStr+='<param name="SW2" value="'+this.params["sw2"]+'"/>\n';
htmlStr+='<param name="SW3" value="'+this.params["sw3"]+'"/>\n';
htmlStr+='<param name="SW4" value="'+this.params["sw4"]+'"/>\n';
htmlStr+='<param name="SW5" value="'+this.params["sw5"]+'"/>\n';
htmlStr+='<param name="SW6" value="'+this.params["sw6"]+'"/>\n';
htmlStr+='<param name="SW7" value="'+this.params["sw7"]+'"/>\n';
htmlStr+='<param name="SW8" value="'+this.params["sw8"]+'"/>\n';
htmlStr+='<param name="SW9" value="'+this.params["sw9"]+'"/>\n';
htmlStr+='</object>';
return htmlStr;
}