// General TurnTool script, DOT NOT EDIT, make changes in template.js file.

var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);
var xpcomversion = "1.4.0.0";

function element(id)
{
	return document.getElementById(id);
}

function createTurnTool(width, height, file, color, transparent)
{
	var turntoolObject = '<div id="InstallTag"><center><input type="button" value="Install TurnTool Viewer" onclick="installTurnTool();" /></center></div>';
	if (ie4||ie5)
	{
		turntoolObject += ' <object id="TNTCtrl" width="'+width+'" height="'+height+'" classid="CLSID:402ee96e-2ce8-482d-ada5-ceceea07e16d"';
		turntoolObject += ' codebase="http://www.turntool.com/ViewerInstall.exe#version=2,12,0,8"><param name="transparent"'; 
		turntoolObject += ' value="'+transparent+'"><param name="ctrl_color" value="'+color+'"><param name="tnt_back_color" value="'+color+'">';
		turntoolObject += '<param name="script" value="ProgressBar.SetDownloadText(\'Downloading TurnTool Resource\');ProgressBar.SetCoreDownloadText(\'Downloading TurnTool Core\');TNTCtrl.SetLogo(\'None\');">';
		turntoolObject += '<param name="src" value="'+file+'"></object>';
		turntoolObject += '<sc'+'r'+'ipt LANGUAGE=JavaScript FOR=TNTCtrl EVENT=TNTEvent(string)> execScript(string); </sc'+'r'+'ipt>';
	}
	else
	{
		turntoolObject += '<embed id="TNTCtrl" width="'+width+'" height="'+height+'" script="ProgressBar.SetDownloadText(\'Downloading TurnTool Resource\');ProgressBar.SetCoreDownloadText(\'Downloading TurnTool Core\');TNTCtrl.SetLogo(\'None\');" src="'+file+'" transparent="'+transparent+'" ctrl_color="'+color+'"';
		turntoolObject += 'tnt_back_color="'+color+'" pluginspage="http://www.turntool.com/ViewerInstall.xpi" pluginsurl="http://www.turntool.com/ViewerInstall.xpi" type="application/tntfile"></embed>';
	}
	element('TurnTool').innerHTML = turntoolObject;
	if(isTurnToolInstalled())
		element('InstallTag').style.display = 'none';
		
}
function manualInstallTurnTool()
{
	if (ie4||ie5)
	{
		window.location.href = 'http://www.turntool.com/ViewerInstall.exe';
	}
	else
	{
		var xpi = {'TurnTool Viewer Installation':'http://www.turntool.com/ViewerInstall.xpi'};
		InstallTrigger.install(xpi,installFinish);
	}
}

function initTurnTool()
{
	createTurnTool(tntSizeX,tntSizeY,tntSource, tntCtrlColor, tntTransparentOption);	// create embed and object tag
	if(TNTsupportedPlatform()==true)
	{
		if (isTurnToolNewestVersion()==false && ns6)
		{
			// this is mozilla only, if missing plugin or plugin is outdated
			element('InstallTag').innerHTML = '<CENTER><INPUT TYPE=button VALUE="Install TurnTool Viewer" onclick="manualInstallTurnTool();"></CENTER>';
			manualInstallTurnTool();
		}
		if(isTurnToolInstalled() == false && (ie4||ie5))
		{
			element('InstallTag').innerHTML = '<CENTER><INPUT TYPE=button VALUE="Install TurnTool Viewer" onclick="manualInstallTurnTool();"></CENTER>';
			checkRefresh();
		}
	}	
}
function isTurnToolNewestVersion()
{
	var tntInstalled = false;
	if(ie4||ie5)
	{
		try
		{
			var xObj = new ActiveXObject("TNT.TNTCtrl");
			if (xObj)
			{
				tntInstalled = true;
			}
		}
		catch (e)
		{
		}
	}
	else
	{
		var isSupported = navigator.mimeTypes['application/tntfile'];
		isSupported = isSupported && isSupported.enabledPlugin; //in case they disabled it
		if(isSupported)
		{
			var v = navigator.plugins.namedItem("TurnTool XPCOM Plugin");
			if(v && v.description) {
				tntInstalled = true;
			}
		}	
	}	
	return tntInstalled;
}
function isTurnToolInstalled()
{
	var tntInstalled = false;
	if (ie4||ie5)
	{
		try
		{
			var xObj = new ActiveXObject("TNT.TNTCtrl");
			if (xObj)
			{
				tntInstalled = true;
			}
		}
		catch (e)
		{
		}
	}
	else
	{
		var v = navigator.plugins.namedItem("TurnTool XPCOM Plugin");
		if(v && v.description) {
			var version = v.description.replace(/([a-zA-Z]|\s)+/, "").split(".");
			var minversion = xpcomversion.split(".");
			for (var i=0; i<minversion.length; i++)
			{
				if (i >= version.length)
					break;
				if (version[i] > minversion[i])
				{
					tntInstalled = true;
					break;
				}
				if (version[i] < minversion[i])
					break;
				if (i == (minversion.length-1))
					tntInstalled = true;
			}
		}
	}
	return tntInstalled;
}

function installTurnTool() 
{
	element('InstallTag').innerHTML = '<CENTER><INPUT TYPE=button VALUE="Install TurnTool Viewer" onclick="manualInstallTurnTool();"></CENTER>';
	if (ns6)
	{
		return false;
	}
	checkRefresh();
}

function installFinish(url, result)
{
	if (result>=0)
	{
		element('TurnTool').innerHTML = 'You must restart your browser to view the content of this page.<br />Please reopen this page after restart of your browser.';
		alert('The installation requires that you restart your browser');
	}
	else if(result == -210)
	{
		alert('You must install the TurnTool Viewer to see the 3d content of this page.\n\nFor more information on the TurnTool Viewer, visit http://www.turntool.com');
	}
	else
	{
		alert('The installation failed, please close all browser windows and try again.\n\nIf the problem continues, try restarting your computer.\n\nIf the problem still continues, please contact your content provider.');
	}
}

var checkCounter = 0;
function checkRefresh()
{
	var tntInstalled = isTurnToolInstalled();
	if(tntInstalled==false)
	{
		checkCounter++;
		if (checkCounter>120)
		{
			checkCounter=0;
			installTurnTool();
		}
		if(ie4||ie5)
		setTimeout('checkRefresh()',500);
	}
	else
	{
		window.location.href = window.location;
	}
}

function TNTDoCommand(string)
{
	var control = element("TNTCtrl");
	if(control && control.ready)
		return control.TNTDoCommand(string);
	return "";
}

function focus()
{
	element("TNTCtrl").focus();
}


//------------------------------------»õÃ¢¶ç¿ì±â...--------------------------------------------
function popitup(url)
{
	newwindow=window.open(url,'name','height=630,width=980,marginwidth=0,marginheight=0');
	if (window.focus) 
	{
		newwindow.focus();
	}
	return false;
}

function help() 
{ 
	window.open('help.html','pop','toolbar=No,menubar=No,location=No,scrollbars=Yes,resizable=No,status=No,width=350,height=350,"'); 
} 
//------------------------------------------------------------------------------------------

function OnClick( obj ) 
{ 
	if(obj=='114Expand') 
	{ 
		return popitup('SanbonAPT/VR-Hatch_114Expand_Div.html');
	} 
	else if(obj=='Cinus01') 
	{ 
		return popitup('Cinus_Sample/SPr_VR.html'); 
	} 
	else if(obj=='180Base') 
	{ 
		return popitup('180BBase/180BBase.html'); 
	} 
	else if(obj=='180Expand') 
	{ 
		return popitup('180BExpand/180BExpand.html');
	} 
	else if(obj=='159Base') 
	{ 
		return popitup('159Base/159Base.html'); 
	} 
	else if(obj=='159Expand') 
	{ 
		return popitup('159Expand/159Expand.html'); 
	} 
	else if(obj=='114Base') 
	{ 
		return popitup('114Base/114Base.html'); 
	} 
	else if(obj=='114ExpandOption') 
	{ 
		return popitup('180Boption/180BExpand(Option).html'); 
	} 
	else if(obj=='Room01') 
	{ 
		return popitup('Room_001/44Py_VR001Complet.html'); 
	} 
	else if(obj=='Lounge002') 
	{ 
		return popitup('Lounge_002/MVG_VR002Complet.html'); 
	} 
	else if(obj=='Lounge001') 
	{ 
		return popitup('Lounge_001/Lounge_VR.html'); 
	} 
	else if(obj=='Vip_S') 
	{ 
		return popitup('Vip_Sample/VIP_Lotte_VR4.html'); 
	} 
	else if(obj=='IBbank') 
	{ 
		return popitup('IBback_VR/IBbank_VR001CompletM.html'); 
	} 
	else if(obj=='Model_02') 
	{ 
		return popitup('Model-House_002/A_ISO-VR03r.html'); 
	} 
	else if(obj=='Room05') 
	{ 
		return popitup('Room_005/RoomBnew_VR01.html'); 
	} 
	else if(obj=='Room04') 
	{ 
		return popitup('Room_004/Haevichi_VR03.html'); 
	} 
	else if(obj=='Room03') 
	{ 
		return popitup('Room_003/VR-RoomSunmi.html'); 
	} 
	else if(obj=='Room02') 
	{ 
		return popitup('Room_002/Dawoo_Room_VR001.html'); 
	} 
	else if(obj=='Bar01') 
	{ 
		return popitup('Bar_001/Lounge_VR02.html'); 
	} 
	else if(obj=='Lanse01') 
	{ 
		return popitup('Lansmere/Lansmere-VR001Complet.html'); 
	} 
	else if(obj=='Gundea') 
	{ 
		return popitup('Gundea/Theater-Intro.html'); 
	} 
	else if(obj=='ExHall02') 
	{ 
		return popitup('8_Dinosaur/VR-Dinosaur.html'); 
	} 
	else if(obj=='ExHall01') 
	{ 
		return popitup('9_WaterExhibitHall/VR-WaterExhibit.html');
	} 
	else if(obj=='Woonam') 
	{ 
		return popitup('1_Model-HouseDay/VR-ModelDay.html');
	} 
	window.status = "Object clicked: " + obj; 
}

function OnMouseEnter( obj )
{
	TNTDoCommand('Objects(' + obj + ').SetDiffuseColor(#FF0000)');
	//TNTDoCommand('Objects(*).PlayAnimation(,100,true,5)');
	TNTDoCommand('Objects(*).StopAnimation()');
	bhelp(true);
	switch(obj){
		case ("Cinus01"):
			element('helpNew').innerHTML = " »ó¿µ°ü "; 
			break;
		case ("114Expand"):
			element('helpNew').innerHTML = " APT 114Expand "; 
			break;
		case ("114ExpandOption"):
			element('helpNew').innerHTML = " APT 180Base Option "; 
			break;
		case ("180Base"):
			element('helpNew').innerHTML = " APT 180Base"; 
			break;
		case ("180Expand"):
			element('helpNew').innerHTML = " APT 180Expand"; 
			break;
		case ("159Base"):
			element('helpNew').innerHTML = " APT 159Base"; 
			break;
		case ("159Expand"):
			element('helpNew').innerHTML = " APT 159Expand"; 
			break;
		case ("114Base"):
			element('helpNew').innerHTML = " APT 114Base"; 
			break;
		case ("Room01"):
			element('helpNew').innerHTML = " Room01"; 
			break;
		case ("Lounge002"):
			element('helpNew').innerHTML = " MVG_Lounge"; 
			break;
		case ("Lounge001"):
			element('helpNew').innerHTML = "Lounge"; 
			break;
		case ("Vip_S"):
			element('helpNew').innerHTML = "VIP"; 
			break;
		case ("IBbank"):
			element('helpNew').innerHTML = "IBbank"; 
			break;
		case ("Model_02"):
			element('helpNew').innerHTML = "ModelHouse ISO"; 
			break;
		case ("Room05"):
			element('helpNew').innerHTML = "Room Bnew"; 
			break;
		case ("Room04"):
			element('helpNew').innerHTML = "Haevichi"; 
			break;
		case ("Room03"):
			element('helpNew').innerHTML = "Room03"; 
			break;
		case ("Room02"):
			element('helpNew').innerHTML = "Room"; 
			break;
		case ("Bar01"):
			element('helpNew').innerHTML = "Lounge Bar"; 
			break;
		case ("Lanse01"):
			element('helpNew').innerHTML = "Lansmere"; 
			break;
		case ("Gundea"):
			element('helpNew').innerHTML = "±ØÀå"; 
			break;
		case ("ExHall02"):
			element('helpNew').innerHTML = "°ø·æ ¹Ú¹°°ü"; 
			break;
		case ("ExHall01"):
			element('helpNew').innerHTML = "Re soil Center"; 
			break;
		case ("Woonam"):
			element('helpNew').innerHTML = "Woonam ModelHouse"; 
			break;
		default: element('helpNew').innerHTML = obj;
	}
	window.status = "Mouse Entered: " + obj;	
}

function OnMouseExit( obj )
{
	TNTDoCommand('Objects(' + obj + ').ResetMaterial()');
	//TNTDoCommand('Objects(*).PlayAnimation(,100,true,20)');
	TNTDoCommand('Objects(*).StartAnimation()');
	element('helpNew').innerHTML = "";
	bhelp(false);
	window.status = "Mouse Exited: " + obj;	
}

function OnZoneEnter( zone, physics )
{
	focus();
	window.status = "Zone Entered: " + zone + ", by physics object: " + physics;	
}

function OnZoneExit( zone, physics )
{
	focus();
	window.status = "Zone Exited: " + zone + ", by physics object: " + physics;	
}

function OnKeyPress( keyCode, ascii )
{
	window.status = "KeyPress: KeyCode=" + keyCode + " Ascii=" + ascii;
}

function OnKeyRelease( keyCode, ascii )
{
	window.status = "KeyRelease: KeyCode=" + keyCode + " Ascii=" + ascii;
}

function Restart()
{
	TNTDoCommand('SceneGraph.Physics.Reset()');
	TNTDoCommand('Objects(*).StopAnimation()');
	TNTDoCommand('Objects(*).SetFrame(0)');
	cameraName = TNTDoCommand('SceneGraph.Camera(0).GetName()');
	TNTDoCommand('CameraCtrl.SetCurrent("'+ cameraName+'")');
}

function TNTsupportedPlatform()
{
	if (navigator.platform.toString().indexOf("Win") != -1)
		return true;
	if (navigator.platform.toString().toLowerCase().indexOf("mac")!=-1 || navigator.platform.toString().toLowerCase().indexOf("linux")!=-1)
		return false;
	return true;
}

function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj.attachEvent( "on"+type, function() { obj["e"+type+fn](); } );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj["e"+type+fn] );
		obj["e"+type+fn] = null;
	}
}

function aniPlay()
{
	if(TNTDoCommand('Objects(*).GetStopFrame()')!=tntMaxFrameCount)
	{
		TNTDoCommand('Objects(*).PlayAnimation(,'+tntMaxFrameCount+',true,10)');
	}
	else
	{	TNTDoCommand('Objects(*).PlayAnimation(,0,true,10)');
	}
}

addEvent(window,"load",initTurnTool);