// Template specefic script

/*
----------------------------------------------------------------------------------
				Template for TurnToolBox v. 3.0
----------------------------------------------------------------------------------
Template Name: 		Architect
Template Arthour: 	TurnTool ApS
Template Date: 		01-09-2006
Last Update:		01-09-2006
Template Version:	1.0
Template Contact:	info@turntool.com

Template features:
- View models, change camera to physic or target camera.

Template maunal: N/A

----------------------------------------------------------------------------------
*/

function OnReady()
{
	makeCameraButtons();
	focus();
	window.status = "TurnTool Ready";
}

function OnClick( obj )
{
	if(TNTDoCommand('Objects(' + obj + ').GetStopFrame()')!=100)
		TNTDoCommand('Objects(' + obj + ').PlayAnimation(,100)');
	else
		TNTDoCommand('Objects(' + obj + ').PlayAnimation(,0)');
	window.status = "Object clicked: " + obj;	
}

function OnZoneEnter( zone, physics )
{
	TNTDoCommand('Objects("'+zone+'").SetEnable(false)');
	focus();
	window.status = "Zone Entered: " + zone + ", by physics object: " + physics;	
}

function Restart()
{			
	TNTDoCommand('SceneGraph.Physics.Reset()');
	TNTDoCommand('Objects(*).StopAnimation()');
	TNTDoCommand('Objects(*).SetFrame(0)');
	TNTDoCommand('Objects(*).SetEnable(true)');
	TNTDoCommand('Objects("gameover").SetVisible(0)');
	TNTDoCommand('Objects("gameover").SetEnable(false)');
	cameraName = TNTDoCommand('SceneGraph.Camera(0).GetName()');
	TNTDoCommand('CameraCtrl.SetCurrent("'+ cameraName+'")');
}

addEvent(window,"load",initTurnTool);

function addDescription()
{
element('description').innerHTML = tntDescription;
}
addEvent(window,"load",addDescription);

function changeCamera(newCamera)
{
	var currentCamera = TNTDoCommand('CameraCtrl.GetCurrent()');

		TNTDoCommand('CameraCtrl.SetCurrent("'+newCamera+'")');
	TNTDoCommand('Objects(*).SetFrame(0)');	
	TNTDoCommand('Objects(*).PlayAnimation(0,tntMaxFrameCount,true,25)');
}

function makeCameraButtons()
{
	var cameraCount = TNTDoCommand('SceneGraph.GetCameraCount()');
	var html = '<div style="width:1px;"></div>';
	for (var j=0; j<cameraCount; j++)
		{
		var cameraName = TNTDoCommand('SceneGraph.Camera('+j+').GetName()');
		if(cameraName.toLowerCase().match("phys"))
		{
			html += ' <div class="button" onclick="changeCamera(\''+cameraName+'\')">Walk around</div> ';
		}
		else 
		{
			html += ' <div class="button" onclick="changeCamera(\''+cameraName+'\')">'+cameraName+'</div> ';
		}
	}
	
	element('CameraCell').innerHTML = html + '';
}
