

// *************************************************************************************
// MTS3 Plugin Javascript interface
// *************************************************************************************

var isIE4 = navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion.substring(0,1)) >= 4;
var isN6 = navigator.appName == "Netscape" && navigator.userAgent.indexOf("Gecko") != -1;
var isNav = navigator.appName == "Netscape" && parseInt(navigator.appVersion.substring(0,1)) == 4;
var isIE  = (navigator.appName.indexOf("Microsoft") != -1);
var agt=navigator.userAgent.toLowerCase();
var isWin = agt.indexOf('win') != -1;
var isMac = agt.indexOf('mac') != -1;
var hFF = 0;

function MTSPluginFunction() 
{
	var count = MTSPluginFunction.arguments.length;

	if(count == 0)			return false;
	var argstr = MTSPluginFunction.arguments[0] + '(';
	var last = count-1;
	
	for(i = 1; i < count; i++)
	{
		argstr+= MTSPluginFunction.arguments[i];
		if(i < last)	argstr+= ',';
	}
	argstr+= ')';
	
	if ((isIE4) && (isWin))
	{ 	
		return document.all.MetaStreamCtl.PluginCommand(argstr, 0, 0);
	}	
	if ((isN6) && (isWin))
	{
		return document.getElementById("MetaStreamCtl").PluginCommand(argstr, 0, 0);
	}
	if ((isNav) && (isWin || isMac))
	{ 
		return document.layers['MTS'].document.embeds['MetaStreamCtl'].DoCommand(argstr); 
	}

	if ((isIE) && (isMac))
	{ 	
		var macStr = "MTS3_JS:" + (argstr) + ";";
		var executeString = 'document.MTS3.mts3_js_jsfield.value = macStr;';
		eval(executeString);
	}	

/*	if ((isNav) && (isMac))
	{ 	
		return document.layers['MTS'].document.embeds['MetaStreamCtl'].DoCommand(argstr);
	}	*/

}

function MTSTriggerAnimation(name)					{MTSPluginFunction ("TriggerAnimation",  	name);				}
function MTSReverseAnimation(name)					{MTSPluginFunction ("ReverseAnimation ", 	name);				}
function MTSStopAnimation 	(name)					{MTSPluginFunction ("StopAnimation ", 		name);				}
function MTSStartAnimation 	(name)					{MTSPluginFunction ("StartAnimation ", 		name);				}
function MTSResetAnimation 	(name)					{MTSPluginFunction ("ResetAnimation ", 		name);				}	
function MTSToggleCollapsed	(name)					{MTSPluginFunction ("ToggleCollapsed", 		name);				}
function MTSToggleVisible	(name)					{MTSPluginFunction ("ToggleVisible", 		name);				}
function MTSTogglePano		(name)					{MTSPluginFunction ("TogglePano", 			name);				}
function MTSRemoveObject	(name)					{MTSPluginFunction ("RemoveObject", 		name);				}
function MTSLoadMTX			(path)					{MTSPluginFunction ("LoadMTX", 				path); 				}
function MTSClearScene		()						{MTSPluginFunction ("ClearScene");								}
function MTSResetCamera		()						{MTSPluginFunction ("ResetCamera");								}
function MTSSetProperty(object, prop, value, type)	{MTSPluginFunction ("SetProperty ", object, prop, value, type); }
function MTSGetProperty(object, prop, type) { return MTSPluginFunction ("GetProperty ", object, prop, type);		}


function MTSSetCollapse(name, value) 
{
	var inst = "MTSInstance." + name;
	MTSSetProperty(inst, 'clps', value.toString(), 'mts_int');
}

// $$$ AH this is just a hack (you have to have MTSInstance called render in the scene)
function MTSRender()								{MTSToggleVisible  ("MTSInstance.render");						}		


