// JavaScript Document
var insideGateway = false;
var gotoName = '';
var gotoDone = true;
var startTime = 0;
var srcPosX = 0.0;
var srcPosY = 0.0;
var srcPosZ = 0.0;
var srcRotZ = 0.0;
var desPosX = 0.0;
var desPosY = 0.0;
var desPosZ = 0.0;
var desRotZ = 0.0;
var deltaPosX = 0.0;
var deltaPosY = 0.0;
var deltaPosZ = 0.0;
var deltaRotZ = 0.0;
var timePassOne = 0.0;
var timePassTwo = 0.0;

function doZoneCheck(zone, enter)
{
	

	var name = zone.slice(0,8);
	var type = zone.slice(8,11);
	var id = zone.slice(11,13);

	if (insideGateway==false)
	{
		if (name == "#Gateway")
		{
			if (gotoDone==true)
			{
				if (type == "Src")
				{
					gotoDone = false;
					insideGateway = true;
					gotoName = name + "Des" + id;
					Goto();
				}
			}
		}
	}
}

function Goto()
{
	TNTDoCommand('Objects(PhysicsSphere).SetEnable(false)');
	srcPosX = parseFloat(TNTDoCommand('Objects(PhysicsSphere).GetPositionLocalX()'));
	srcPosY = parseFloat(TNTDoCommand('Objects(PhysicsSphere).GetPositionLocalY()'));
	srcPosZ = parseFloat(TNTDoCommand('Objects(PhysicsSphere).GetPositionLocalZ()'));
	srcRotZ = parseFloat(TNTDoCommand('Objects(PhysicsSphere).GetRotationLocalZ()'));
	desPosX = parseFloat(TNTDoCommand('Objects('+gotoName+').GetPositionLocalX()'));
	desPosY = parseFloat(TNTDoCommand('Objects('+gotoName+').GetPositionLocalY()'));
	desPosZ = parseFloat(TNTDoCommand('Objects('+gotoName+').GetPositionLocalZ()'));
	desRotZ = parseFloat(TNTDoCommand('Objects('+gotoName+').GetRotationLocalZ()'));
	deltaPosX = desPosX-srcPosX;
	deltaPosY = desPosY-srcPosY;
	deltaPosZ = desPosZ-srcPosZ;
	deltaRotZ = desRotZ-srcRotZ;
	var tempRotZ = (desRotZ+360.0)-srcRotZ;
	if (Math.abs(tempRotZ)<Math.abs(deltaRotZ))
	{
		deltaRotZ = tempRotZ;
	}
	tempRotZ = desRotZ-(srcRotZ+360.0);
	if (Math.abs(tempRotZ)<Math.abs(deltaRotZ))
	{
		deltaRotZ = tempRotZ;
	}
	timePassOne = Math.sqrt(deltaPosX*deltaPosX+deltaPosY*deltaPosY+deltaPosZ*deltaPosZ)*7.0;
	if (timePassOne>3000)
	{
		timePassOne=3000;
	}
	if (timePassOne<1000)
	{
		timePassOne=1000;
	}
	timePassTwo = Math.abs(deltaRotZ)*10.0;
	startTime = parseInt(new Date().getTime());
	Goto_ProcedurePos();
}

function Goto_ProcedurePos()
{
	var deltaTime = parseFloat(parseInt(new Date().getTime()) - startTime)/timePassOne;
	if (deltaTime<1.0)
	{	TNTDoCommand('Objects(PhysicsSphere).SetPositionLocal('+(srcPosX+(deltaPosX * deltaTime))+','+(srcPosY+(deltaPosY*deltaTime))+','+(srcPosZ+(deltaPosZ*deltaTime))+')');
		setTimeout("Goto_ProcedurePos();",0);
	}
	else
	{
		startTime = parseInt(new Date().getTime());
		Goto_ProcedureRot();
	}
}

function Goto_ProcedureRot()
{
	var deltaTime = parseFloat(parseInt(new Date().getTime()) - startTime)/timePassTwo;
	if (deltaTime<1.0)
	{	
		TNTDoCommand('Objects(PhysicsSphere).SetRotationLocal(0,0,'+(srcRotZ+(deltaRotZ * deltaTime))+')');
		setTimeout("Goto_ProcedureRot();",0);
	}
	else
	{
		TNTDoCommand('Objects(PhysicsSphere).SetPositionLocal('+desPosX+','+desPosY+','+desPosZ+')');
		TNTDoCommand('Objects(PhysicsSphere).SetRotationLocal(,,'+desRotZ+')');
		TNTDoCommand('Objects(PhysicsSphere).SetEnable(true)');
		gotoDone = true;
		focus();
	}
}

////////////////////////////from cadre
////////////////////////////from cadre
////////////////////////////from cadre

function drawrimline()
{
	var color="rgb(0,0,255)"; 
	if(event.type=="mouseover") 
	{ 
	if (event.srcElement.tagName=="IMG") 
	event.srcElement.style.border="3px solid "+color ;
	} 
	if(event.type=="mouseout") 
	{ 
	if (event.srcElement.tagName=="IMG") 
	event.srcElement.style.border="1px solid white";
	} 
}

//Web Function
function showLayer(object)
{
	document.getElementById(object).style.visibility="visible";
}


function hideLayer(object)
{
	document.getElementById(object).style.visibility="hidden";
}


var PicSize=0;
var isSaveBox=false;

function SaveScreenshot()
{
	var str;
	hideLayer('ImageSave');
	isSaveBox=false;
	alert("A screenshot will now be saved, please hold on.");
	ImagePathTemp = document.Screenshot.path.value;

	ImagePath = ImagePathTemp.substring(0,3) + ImagePathTemp.substring(2);
	str='"'+ImagePath+'"';
	TNTDoCommand('Renderer.SaveImage('+str+','+PicSize+')');
}

function SetSize(size)
{
	PicSize = size;
}
function saveImage() <!-- load save screenshot div -->
{
	isSaveBox=true;
	showLayer('ImageSave');
}
function CancelImage()
{
	isSaveBox=false;
	hideLayer('ImageSave');
}
function OpenSaveImage()
{
	if(isSaveBox)
	{
		CancelImage();
	}else
		saveImage();
}



////////////////////////////from fd
////////////////////////////from fd
////////////////////////////from fd
function showfun(obj)
{
	TNTDoCommand('Objects('+obj.slice(0,9)+'*).SetVisible(false)');
	TNTDoCommand('ObjectTree('+obj.slice(0,9)+'*).SetVisible(false)');
	TNTDoCommand('Objects('+obj.slice(0,9)+'*).SetMouseClickEvent(0)');
	TNTDoCommand('ObjectTree('+obj.slice(0,9)+'*).SetMouseClickEvent(0)');

	TNTDoCommand('ObjectTree('+obj+').SetVisible(true)');
	TNTDoCommand('ObjectTree('+obj+').SetMouseClickEvent(1)');
	TNTDoCommand('Objects('+obj+').SetVisible(true)');
	TNTDoCommand('Objects('+obj+').SetMouseClickEvent(1)');
	TNTDoCommand('Objects('+obj+'*).SetMouseClickEvent(1)');
}

var obj_tt = new Array();
function showpic(obj,num)
{
	var texture = new Array();
	//var obj_tex = obj_tt[0];
	
	texture['rug'] = new Array('texture/rugs','carpet','Carpet01a.bmp','Carpet05.bmp','Carpet10.bmp','Carpet13.bmp','CARPET.bmp','carpet_01.bmp','carpet_02.bmp');
	texture['picture'] = new Array('texture/pictures','painting_2_128-128','01_wildocean.bmp','02_love.jpg','03_japan.jpg','04_japan.bmp','05_impire.bmp','06_icecube.bmp','07_fire.bmp','08_bridge.bmp');
	
	if(obj_tt[1])
		TNTDoCommand('SceneGraph.Bitmap("'+obj_tt[1]+'").Load("'+texture[obj][0]+'/'+texture[obj][num+1]+'")');
	else
		TNTDoCommand('SceneGraph.Bitmap("'+texture[obj][1]+'").Load("'+texture[obj][0]+'/'+texture[obj][num+1]+'")');
	
}

function showlayout(obj)
{
    hideall();
	
	if(element(obj))
	{
//		element(obj).style.visibility = 'visible';
		element(obj).style.display = 'block';
    	element(obj).style.zIndex = 100;
	}
	
}
var tab ;
function hidelayout(obj)
{
//	element(obj).style.visibility = 'hidden';
	element(obj).style.display = 'none';
	element('catorlog').style.display="block";
	tab.style.display="block" ;//expand corresponding tab content

}
function showdiv(obj)
{

	var obj_div = new Array();
	
	obj_div['floorlamp'] = 0;
	obj_div['tablelamp'] = 2;
	obj_div['rug'] = 4;
	obj_div['picture'] = 6;
	
	expandtab('maintab', obj_div[obj]);
}


function hidediv(obj)
{
	if(element(obj))
	{
		element(obj).style.display="none";
	}
}


function hideall()
{
	hidediv('picture'); 
	hidediv('tablelamp');
	hidediv('floorlamp');
	hidediv('rug');
	hidediv('catorlog');
}

var srcPosX = 0.0;
var srcPosY = 0.0;
var srcPosZ = 0.0;
var srcRotZ = 0.0;

function gotoarea(areanum)
{
 
	var camro = new Array();
	
	camro[2] = new Array(60,0,358);
	camro[3] = new Array(51,360,179);
	
	srcPosX = parseFloat(TNTDoCommand('Objects(' + "GotoSphere" + areanum + ').GetPositionLocalX()'));
	srcPosY = parseFloat(TNTDoCommand('Objects(' + "GotoSphere" + areanum + ').GetPositionLocalY()'));
	srcPosZ = parseFloat(TNTDoCommand('Objects(' + "GotoSphere" + areanum + ').GetPositionLocalZ()'));
	srcRotZ = parseFloat(TNTDoCommand('Objects(' + "GotoSphere" + areanum + ').GetRotationLocalZ()'));
	TNTDoCommand('Objects(PhysicsSphere).SetRotationLocal(0,0,'+srcRotZ+')');
	TNTDoCommand('Objects(PhysicsSphere).SetPositionLocal('+srcPosX+','+srcPosY+','+srcPosZ+')');
	TNTDoCommand('Objects(PhysicsSphere).SetEnable(true)');
	TNTDoCommand('CameraCtrl.SetCurrent("Camera01")');
	if(areanum == 2 || areanum == 3)
	{
		TNTDoCommand('Objects(Camera01).SetRotationWorld('+camro[areanum][0]+','+camro[areanum][1]+','+camro[areanum][2]+')');
	}
	
	if(areanum == 3)
		obj_tt[1] = 'carpet';
	if(areanum == 4)
		obj_tt[1] = 'painting_2_128-128';

	if(element("TNTCtrl"))
	{
		element("TNTCtrl").focus();
	}
	
}

function ccc()
{
	alert(TNTDoCommand('Objects(Camera01).GetRotationWorldX()'));
	alert(TNTDoCommand('Objects(Camera01).GetRotationWorldY()'));
	alert(TNTDoCommand('Objects(Camera01).GetRotationWorldZ()'));
	
}
 
////////////////////////////from move
////////////////////////////from move
////////////////////////////from move

