// JavaScript Document



function MM_swapImgRestore() { //v3.0

  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;

}



function MM_preloadImages() { //v3.0

  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();

    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)

    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}

}



function MM_findObj(n, d) { //v4.01

  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];

  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);

  if(!x && d.getElementById) x=d.getElementById(n); return x;

}



function MM_swapImage() { //v3.0

  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)

   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}

}



// hover effect on images in horizontal scroll



function hoverImg(obj, state) {

	if (state === "over" ) {

		obj.style.borderColor="#f0f0f0";	// border hover color

	} else {

		obj.style.borderColor="#B6B6B6";	//mouseOut border color

	};

};



//Turntool scripts



var ie4 = (document.all && !document.getElementById);

var ie5 = (document.all && document.getElementById);

var ns6 = (!document.all && document.getElementById);



function cameraTrip(camera,from,to) {

	TNTDoCommand('CameraCtrl.SetCurrent("' + camera + '*")');

	TNTDoCommand("SceneGraph.Objects(*).PlayAnimation(" + from + "," + to + ")")

}





function element(id)

{

	if(ie5)			// Explorer 5+ 

		return document.getElementById(id);

	else if (ns6) 	// Netscape 6+ and Mozilla

	{	if (id == "TNTCtrl")

			id += "XP";

		return document.getElementById(id);

	}

	else if(ie4)	// Explorer 4

		return document.all[id];

	return null;

}



function TNTDoCommand(string)

{

	var control = element("TNTCtrl");

	if(control && control.ready)

		return control.TNTDoCommand(string);

	return "";

}



function doCommand()

{

	var retval = TNTDoCommand( element("doCommandEdit").value );

	if(retval)

		element("returnval").innerHTML = 'Return Value = "' + retval + '"';

	else

		element("returnval").innerHTML = "";

}



function onDoCommandKeypress()

{

	if(window.event.keyCode==13) // if return key was pressed

		doCommand();

}



function OnReady()

{

	element("TNTCtrl").focus();

	// load textures marked as external with their default textures

	var texcnt = 0;

	texcnt = TNTDoCommand('SceneGraph.GetBitmapCount()');

	var bExternal = 64;

	var bHasAlpha = 32;

	for( var i=0; i<texcnt; i++ )

	{

		var props = 0;

		props = TNTDoCommand('SceneGraph.Bitmap(' + i + ').GetProperties()');

		if(props & bExternal)

		{

			var name = TNTDoCommand('SceneGraph.Bitmap(' + i + ').GetName()');

			if(props & bHasAlpha)

			{

				name += '.png'; // alpha textures are exported as png

			}

			else

			{

				name += '.jpg'; // non-alpha textures are exported as jpg

			}

			TNTDoCommand('SceneGraph.Bitmap(' + i + ').Load("' + name + '")');

		}

	}

	window.status = "TurnTool Ready";	

}



function OnClick( obj )

{

	if(obj=='Sphere01')

	{

		TNTDoCommand('SceneGraph.Objects(*).PlayAnimation(0,100,false)');

	}

	window.status = "Object clicked: " + obj;	

}



function OnMouseEnter( obj )

{

	window.status = "Mouse Entered: " + obj;	

}



function OnMouseExit( obj )

{

	window.status = "Mouse Exited: " + obj;	

}



function OnZoneEnter( zone, physics )

{

	window.status = "Zone Entered: " + zone + ", by physics object: " + physics;	

}



function OnZoneExit( zone, physics )

{

	window.status = "Zone Exited: " + zone + ", by physics object: " + physics;	

}



function Restart()

{

	TNTDoCommand('SceneGraph.Physics.Reset()');

	TNTDoCommand('SceneGraph.Objects(*).StopAnimation()');

	TNTDoCommand('SceneGraph.Objects(*).SetFrame(0)');

	TNTDoCommand('CameraCtrl.SetCurrent("Camera01*")');

}