//Copyright TurnTool ApS - 1998 - 2008 All Right Reserved.
//You are NOT allowed to use this HTML document for derivative work including parts here of without the written permission from TurnTool.
//This HTML document may not be redistributed in any form.

var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);
var xpcomversion = "2.9.5.8";

var messages = new Array();

function element(id)
{
	if(ie4)	// Explorer 4
		return document.all[id];
	else	// Explorer 5+ Netscape 6+ and Mozilla and Firefox
		return document.getElementById(id);
}

function TNTDoCommand(string)
{
	var tntCtrl = element("TNTCtrl");
	if(tntCtrl && tntCtrl.ready)
		return tntCtrl.TNTDoCommand(string);
	return "";
}

function focus()
{
	var tntCtrl = element("TNTCtrl");
	if(tntCtrl && tntCtrl.ready)
	{
		tntCtrl.focus();
	}
}

var tntWidth = 400;
var tntHeight = 300;

function insertTurnTool()
{
	createTurnTool(tntWidth,tntHeight, "#FFFFFF", 0, lanArray[lanIndex][36], lanArray[lanIndex][37]);	// 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) {
				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 isTurnToolInstalled()
{
	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 installTurnTool() 
{
	element('InstallTag').innerHTML = '<CENTER><INPUT TYPE=button VALUE="Install TurnTool Viewer" onclick="manualInstallTurnTool();"></CENTER>';
	if (ns6)
	{
		/*
		if(isTurnToolNewestVersion==false)
		{
			var xpi = {'TurnTool Viewer Installation':'http://www.turntool.com/ViewerInstall.xpi'};
			InstallTrigger.install(xpi,installFinish);
		}
		*/
		return false;
	}
	checkRefresh();
}

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);
	}
	viewBigJavaScreen();
}
function viewBigJavaScreen()
{
	var elm = element('InstallTag');
	var html = elm.innerHTML.toString();
	if(html.search(lanArray[lanIndex][42]) != -1)
		return false; // the text is already here...
	html += '<br /><a href="'+window.location;
	if(window.location.toString().search(/\?/) == -1)
		html += '?';
	else
		html += '&';
	html += 'viewer=java" onclick="redirectToJava(); return false;" style="font-size: large">' + lanArray[lanIndex][42]+'</a>';
	elm.innerHTML = html;
}

function installFinish(url, result)
{
	if(result >= 0)
	{
		element('TurnTool').innerHTML = lanArray[lanIndex][43];
	}
	else if(result < 0)
	{
		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.\n\nIn the meantime, you can view a simplifyed Java version of this solution. Click the "'+lanArray[lanIndex][42]+'" button at the bottom of the screne.');
	}
}

function redirectToJava()
{
	var str = window.location.href.toString();
	if(str.indexOf('?') == -1)
		str += '?';
	else
		str += '&';
	window.location.href = str+'viewer=java';	
}


var checkCounter = 0;
function checkRefresh()
{
	var tntInstalled = isTurnToolInstalled();
	if(tntInstalled==false)
	{
		checkCounter++;
		if (checkCounter==80)
		{
			installTurnTool();
		}
		if (checkCounter==160)
		{
			viewBigJavaScreen();
		}
		setTimeout('checkRefresh()',500);
	}
	else
	{
		window.location.href = window.location;
	}
}

function TNTsupportedPlatform()
{
	if (getArgument('viewer')=='java')
		return false;
	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 createFilePath(newFloor)
{
	filepath = "files/";
	if (!agent)
	{
		agent = getArgument('agent');
		project = getArgument('name');
	}
	if(getArgument('path') != 'false')
	{
		if (agent)
		{
			filepath += agent;
			filepath += "/";
		}
		if (project)
		{
			var tmp = '';
			if(!isNaN(newFloor) && newFloor != 0)
			{
				tmp = '_'+newFloor;
			}
			filepath += project + tmp + "/";
		}
	}
}

var agent = '';
var project = '';
var mode = 3;
var filepath = "files/";

function doLoaded()
{
	createFilePath();
	var t = 'CubiCasa ';
	if(agent)
		t += '- ' + agent;
	if(project)
		t += ' - ' + project;
	document.title = t;

	setMyLanguage();
	SetToolTipLanguage();
	centerWindow();
	if (mode==-1)
	{
		tntWidth = 200;
		tntHeight = 152;	
	}
	if (mode==-2)
	{
		tntWidth = 768;
		tntHeight = 576;
	}
	if (mode==-3)
	{
		tntWidth = 512;
		tntHeight = 512;
	}
	var thisDate = new Date();
	var year = thisDate.getFullYear();
	var month = thisDate.getMonth();
	var day = thisDate.getDate();
	var hours = thisDate.getHours();
	var minutes = thisDate.getMinutes();
	var seconds = thisDate.getSeconds();
	var milliseconds = thisDate.getMilliseconds();
	sessionID = year+"-"+month+"-"+day+"-"+hours+"-"+minutes+""+seconds+""+milliseconds;
	if(mode&0x1)
	{
		element('walkimg').src = filepath + 'image0.jpg';
		element('guideimg').src = filepath + 'image1.jpg';
		element('vinkel1img').src = filepath + 'image2.jpg';
		element('vinkel2img').src = filepath + 'image3.jpg';
		element('oversigtimg').src = filepath + 'image4.jpg';
		initTip();
	}
	if(mode&0x80)
	{
		element('vinkel1img').src = filepath + 'image2.jpg';
		element('vinkel2img').src = filepath + 'image3.jpg';
		initTip();
	}
	fullscreenmode();
	setTimeout("insertTurnTool();",500);
}

function getArgument(argument)
{
	var filepth  = window.location.search;
	var lastChar  = filepth.indexOf('?') + 1;
	var m = filepth.substring(lastChar,filepth.length);
	var k = m.split('&');
	var a = -1;
	var searchstr = '^'+argument+'=';
	for(var n = 0; n<k.length; n++) 
	{
		if(k[n].toString().search(searchstr) != -1)
		{
			a = n;
			break;
		} 
	}
	if(a != -1)
		return unescape(k[a].split(argument + '=')[1]).replace(/\+/g, ' ');
}


var lanIndex = 0;
var lan = getArgument('lan');

for(var i=0; i<lanArray.length; i++)
{
	if(lanArray[i][0]==lan)
	{
		lanIndex = i;
		break;
	}
}

function changelanguage(newLanIndex)
{
	lanIndex = newLanIndex;
	setMyLanguage();			
}

function setMyLanguage()
{
	if (ie4||ie5)
	{
		//common styles
		if(mode&0x01){
			element('walktxt').style.backgroundImage = 'none';
			element('walktxt').style.cursor = 'hand';
			element('guidetxt').style.backgroundImage = 'none';
			element('guidetxt').style.cursor = 'hand';
			element('vinkel1txt').style.backgroundImage = 'none';
			element('vinkel1txt').style.cursor = 'hand';
			element('vinkel2txt').style.backgroundImage = 'none';
			element('vinkel2txt').style.cursor = 'hand';
			element('oversigttxt').style.backgroundImage = 'none';
			element('oversigttxt').style.cursor = 'hand';
		}
		if(mode&0x02){
			element('dumplow').style.backgroundImage = 'none';
			element('dumplow').style.cursor = 'hand';
			element('dumphigh').style.backgroundImage = 'none';
			element('dumphigh').style.cursor = 'hand';
			element('dumpsuper').style.backgroundImage = 'none';
			element('dumpsuper').style.cursor = 'hand';
			element('dumpmega').style.backgroundImage = 'none';
			element('dumpmega').style.cursor = 'hand';
		}
		if(mode&0x080){
			element('vinkel1txt').style.backgroundImage = 'none';
			element('vinkel1txt').style.cursor = 'hand';
			element('vinkel2txt').style.backgroundImage = 'none';
			element('vinkel2txt').style.cursor = 'hand';
			//element('oversigttxt').style.backgroundImage = 'none';
			//element('oversigttxt').style.cursor = 'hand';
		}
		//individual language styles
		if(mode&0x01){
			element('walktxt').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_walk.png\',sizingMethod=\'crop\')';
			element('guidetxt').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_guidetxt.png\',sizingMethod=\'crop\')';
			element('vinkel1txt').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_vinkel1txt.png\',sizingMethod=\'crop\')';
			element('vinkel2txt').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_vinkel2txt.png\',sizingMethod=\'crop\')';
			element('oversigttxt').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_oversigt.png\',sizingMethod=\'crop\')';
		}
		if(mode&0x02){
			element('dumplow').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_screendumplow.png\',sizingMethod=\'crop\')';
			element('dumphigh').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_screendumphigh.png\',sizingMethod=\'crop\')';
			element('dumpsuper').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_screendumpsuper.png\',sizingMethod=\'crop\')';
			element('dumpmega').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_screendumpmega.png\',sizingMethod=\'crop\')';
			element('savetxt').innerHTML = lanArray[lanIndex][1];
		}
		if(mode&0x080){
			element('vinkel1txt').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_vinkel1txt.png\',sizingMethod=\'crop\')';
			element('vinkel2txt').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_vinkel2txt.png\',sizingMethod=\'crop\')';
			//element('oversigttxt').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'files/'+lanArray[lanIndex][0]+'_oversigt.png\',sizingMethod=\'crop\')';
		}
	}
	else
	{
		//netscape/firefox
		//common styles
		if(mode&0x01){
			element('walktxt').style.cursor = 'pointer';
			element('guidetxt').style.cursor = 'pointer';
			element('vinkel1txt').style.cursor = 'pointer';
			element('vinkel2txt').style.cursor = 'pointer';
			element('oversigttxt').style.cursor = 'pointer';
		}
		if(mode&0x02){
			element('dumplow').style.cursor = 'pointer';
			element('dumphigh').style.cursor = 'pointer';
			element('dumpsuper').style.cursor = 'pointer';
			element('dumpmega').style.cursor = 'pointer';
		}	
		if(mode&0x080){
			element('vinkel1txt').style.cursor = 'pointer';
			element('vinkel2txt').style.cursor = 'pointer';
			//element('oversigttxt').style.cursor = 'pointer';
		}	
		//individual language styles		
		if(mode&0x01){
			element('walktxt').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_walk.png)';
			element('guidetxt').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_guidetxt.png)';
			element('vinkel1txt').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_vinkel1txt.png)';
			element('vinkel2txt').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_vinkel2txt.png)';
			element('oversigttxt').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_oversigt.png)';
		}
		if(mode&0x02){
			element('dumplow').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_screendumplow.png)';
			element('dumphigh').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_screendumphigh.png)';
			element('dumpsuper').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_screendumpsuper.png)';
			element('dumpmega').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_screendumpmega.png)';
			element('savetxt').innerHTML = lanArray[lanIndex][2];
		}
		if(mode&0x080){
			element('vinkel1txt').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_vinkel1txt.png)';
			element('vinkel2txt').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_vinkel2txt.png)';
			//element('oversigttxt').style.backgroundImage = 'url(files/'+lanArray[lanIndex][0]+'_oversigt.png)';
		}
	}
	//common browser styles
	if(mode&0x01){
		element('walktxt').style.height = '140px';
		element('walktxt').style.width = '120px';
		element('guidetxt').style.height = '140px';
		element('guidetxt').style.width = '120px';
		element('vinkel1txt').style.height = '140px';
		element('vinkel1txt').style.width = '120px';
		element('vinkel2txt').style.height = '140px';
		element('vinkel2txt').style.width = '120px';
		element('oversigttxt').style.height = '140px';
		element('oversigttxt').style.width = '120px';
	}
	if(mode&0x02){
		element('dumplow').style.height = '40px';
		element('dumplow').style.width = '70px';
		element('dumphigh').style.height = '40px';
		element('dumphigh').style.width = '70px';
		element('dumpsuper').style.height = '40px';
		element('dumpsuper').style.width = '70px';
		element('dumpmega').style.height = '40px';
		element('dumpmega').style.width = '70px';
	}	
	if(mode&0x080){
		element('vinkel1txt').style.height = '140px';
		element('vinkel1txt').style.width = '120px';
		element('vinkel2txt').style.height = '140px';
		element('vinkel2txt').style.width = '120px';
		//element('oversigttxt').style.height = '140px';
		//element('oversigttxt').style.width = '120px';
	}
	//common browser but individual language styles
	if(mode&0x02){
		element('skaermbillede').innerHTML = lanArray[lanIndex][3];
		element('tabsavepic').innerHTML = lanArray[lanIndex][4];
	}
	if(mode&0x01)
		element('tabnavi').innerHTML = lanArray[lanIndex][5];
	if(mode&0x04)
		element('tab_chg_color').innerHTML = lanArray[lanIndex][6];
	if(mode&0x08)
		element('tab_chg_floor').innerHTML = lanArray[lanIndex][7];
	if(mode&0x10){
		element('tab_chg_windows').innerHTML = lanArray[lanIndex][8];		
		element('window1Text').innerHTML = lanArray[lanIndex][9];
		element('window2Text').innerHTML = lanArray[lanIndex][10];
		element('window3Text').innerHTML = lanArray[lanIndex][11];
		element('window4Text').innerHTML = lanArray[lanIndex][12];
	}
	if(mode&0x20){
		element('tab_measure').innerHTML = lanArray[lanIndex][13];
		element('measureInfoText').innerHTML = lanArray[lanIndex][14];
		element('measureInfoText2').innerHTML = lanArray[lanIndex][15];
		OnMeasureUpdate(distance);
		if (measureMode==2)
			element('MeasureButton').value = lanArray[lanIndex][16];		//Ref. setMeasurementMode function
		else
			element('MeasureButton').value = lanArray[lanIndex][17];
	}
	if(mode&0x40)
		element('tab_indret').innerHTML = lanArray[lanIndex][18];	
	element('vejledende').innerHTML = lanArray[lanIndex][19] + '<br /><a href="'+window.location+'?viewer=java" onclick="redirectToJava(); return false;">' + lanArray[lanIndex][42]+'</a>';
	element('copyright').innerHTML = lanArray[lanIndex][20];
	if(mode&0x40)
		element('indretText').innerHTML = lanArray[lanIndex][21];
	if(mode&0x80)
		element('tabnavi').innerHTML = lanArray[lanIndex][5];
	var tag = '';
	if(ie4||ie5)
	{
		tag = 'hand;';
	}
	else
	{
		tag = 'pointer;';
	}
	var txt = '&nbsp;';
	for (var lIdx=0; lIdx<lanArray.length; lIdx++)
	{
		txt += '<img src="files/'+lanArray[lIdx][0]+'.gif" onclick="changelanguage('+lIdx+')" style="cursor:'+tag+' border:1px solid gray;"> ';
	}
	element('flags').innerHTML = txt;
}


var filesize = tntWidth * tntHeight * 3 / 1000000;
var highfact = 2;
var superfact = 4;
var megafact = 8;
var highWidth = highfact * tntWidth;
var highHeight = highfact * tntHeight;
var superWidth = superfact * tntWidth;
var superHeight = superfact * tntHeight;
var megaWidth = megafact * tntWidth;
var megaHeight = megafact * tntHeight;
var dpi = 300;
var inch2cm = 2.54;  //1 inch = this value in cm

function centerWindow()
{
	if (window.screen)
	{
		var windowXcrop = 60;	// space around browser window
		var windowYcrop = 40;
			
		var screenWidth = screen.width;
		var screenHeight = screen.height;
		
		var windowWidth = screenWidth - windowXcrop;
		var windowHeight = screenHeight - windowYcrop;
		if (mode>=0)
		{
			var offsetX = screenWidth/2 - windowWidth/2;
			var offsetY = screenHeight/2 - windowHeight/2;
			if (offsetX<0)
				offsetX=0;
			if (offsetY<0)
				offsetY=0;
			window.resizeTo(windowWidth,windowHeight);
			window.moveTo(offsetX, offsetY);
		}
		screenWidth = getViewabelSize('x');
		screenHeight = getViewabelSize('y');
		var tileFactorW = parseInt((screenWidth - 40) / 32);
		var tileFactorH = parseInt((screenHeight - 210) * 1.777 / 32);
		if (tileFactorH>tileFactorW)
		{
			tileFactorH=tileFactorW;
		}
		if ((tileFactorH+2)<tileFactorW)
		{
			tileFactorW = tileFactorH;
		}
		if (tileFactorH<tileFactorW)
		{
			tileFactorW = parseInt((tileFactorW + tileFactorH + 1) / 2);
		}
		if (tileFactorW<17)
		{
			tileFactorW=17;
		}
		tntWidth = parseInt(tileFactorW*32);
		tntHeight = parseInt(tileFactorW*32/1.7777);
		filesize = tntWidth * tntHeight * 3 / 1000000;
		highfact = 2;
		superfact = 4;
		megafact = 8;
		highWidth = highfact * tntWidth;
		highHeight = highfact * tntHeight;
		superWidth = superfact * tntWidth;
		superHeight = superfact * tntHeight;
		megaWidth = megafact * tntWidth;
		megaHeight = megafact * tntHeight;
		dpi = 300;
		inch2cm = 2.54;  //1 inch = this value in cm

		element('TurnTool').style.width = tntWidth;
		element('TurnTool').style.height = tntHeight;
	}
}

function SetToolTipLanguage()
{			
	messages[0] = new Array('',lanArray[lanIndex][22] + tntWidth + lanArray[lanIndex][23] + tntHeight + lanArray[lanIndex][24]
									+ Math.round((tntWidth / dpi) * inch2cm * 10) / 10 + lanArray[lanIndex][23] + Math.round((tntHeight / dpi) * inch2cm * 10) / 10 + lanArray[lanIndex][25] + dpi + lanArray[lanIndex][26]
									+ lanArray[lanIndex][27] + Math.round(filesize * 10) / 10 + lanArray[lanIndex][28]);
	messages[1] = new Array('',lanArray[lanIndex][22] + highWidth + lanArray[lanIndex][23] + highHeight + lanArray[lanIndex][24]
									+ Math.round((tntWidth * highfact / dpi) * inch2cm * 10) / 10 + lanArray[lanIndex][23] + Math.round((tntHeight * highfact / dpi) * inch2cm * 10) / 10 + lanArray[lanIndex][25] + dpi + lanArray[lanIndex][26]
									+ lanArray[lanIndex][27] + Math.round(highfact * highfact * filesize * 10) / 10 + lanArray[lanIndex][28]);
	messages[2] = new Array('',lanArray[lanIndex][22] + superWidth + lanArray[lanIndex][23] + superHeight + lanArray[lanIndex][24]
									+ Math.round((tntWidth * superfact / dpi) * inch2cm * 10) / 10 + lanArray[lanIndex][23] + Math.round((tntHeight * superfact / dpi) * inch2cm * 10) / 10 + lanArray[lanIndex][25] + dpi + lanArray[lanIndex][26]
									+ lanArray[lanIndex][27] + Math.round(superfact * superfact * filesize * 10) / 10 + lanArray[lanIndex][28]);
	messages[3] = new Array('',lanArray[lanIndex][22] + megaWidth + lanArray[lanIndex][23] + megaHeight + lanArray[lanIndex][24]
									+ Math.round((tntWidth * megafact / dpi) * inch2cm * 10) / 10 + lanArray[lanIndex][23] + Math.round((tntHeight * megafact / dpi) * inch2cm * 10) / 10 + lanArray[lanIndex][25] + dpi + lanArray[lanIndex][26]
									+ lanArray[lanIndex][27] + Math.round(megafact * megafact * filesize * 10) / 10 + lanArray[lanIndex][28]);
	//Navigation
	messages[4] = new Array('',lanArray[lanIndex][29]);
	messages[5] = new Array('',lanArray[lanIndex][30]);
	messages[6] = new Array('',lanArray[lanIndex][31]);
	messages[7] = new Array('',lanArray[lanIndex][32]);
	//væg farver			
	messages[8] = new Array('',lanArray[lanIndex][33]);
	messages[9] = new Array('',lanArray[lanIndex][34]);
	//gulve
	messages[10] = new Array('',lanArray[lanIndex][35]);
}

function OnReady()
{
	if (TNTDoCommand('Objects(#Clock_Hour).GetObjectCount()')>0)
	{
		if (TNTDoCommand('Objects(#Clock_Minute).GetObjectCount()')>0)
		{
			updateClock();
		}
	}
	if (mode==-1)
	{
		setTimeout("setDoneMessage()",1000*30);
		saveThumbs();
	}
	else if (mode==-2)
	{
		saveVideo();
	}
	else if (mode==-3)
	{
		savePanoImagesForAllCameras();
	}
	else
	{
		var _currentCamera = TNTDoCommand('CameraCtrl.GetCurrent()');
		if (_currentCamera == 'Camera01')
		{
			changeNavMode(0);
		}
		else if (_currentCamera == 'Camera02')
		{
			changeNavMode(1);
		}
		else if (_currentCamera == 'Camera03')
		{
			changeNavMode(2);
		}
		else if (_currentCamera == 'Camera04')
		{
			changeNavMode(3);
		}
		else if (_currentCamera == 'Camera05')
		{
			changeNavMode(4);
		}
		else
		{
			changeNavMode(1);
		}
		if(mode&0x4)
			doPaletteChanged();
		if(mode&0x8)
			generateCarpets();
	}
	if (typeof floorChangeInProgress == "string")
	{
		if(floorChangeInProgress.search(/^#StairUp/) != -1)
			floorChangeInProgress = floorChangeInProgress.replace('Up','Down');
		else
			floorChangeInProgress = floorChangeInProgress.replace('Down','Up');
		var xRot  = Number(TNTDoCommand('Objects('+floorChangeInProgress+').GetRotationWorldX()'))-180.0;
		var yRot  = Number(TNTDoCommand('Objects('+floorChangeInProgress+').GetRotationWorldY()'));
		var zRot  = Number(TNTDoCommand('Objects('+floorChangeInProgress+').GetRotationWorldZ()'));
		var xPos = Number(TNTDoCommand('Objects('+floorChangeInProgress+').GetPositionWorldX()'));
		var yPos = Number(TNTDoCommand('Objects('+floorChangeInProgress+').GetPositionWorldY()'));
		var zPos = Number(TNTDoCommand('Objects('+floorChangeInProgress+').GetPositionWorldZ()'))+20.0;
		if(!isNaN(zPos+yPos+xPos) && !isNaN(xRot+yRot+zRot))
		{
			TNTDoCommand('Objects(PhysicsSphere).SetRotationWorld('+xRot+','+yRot+','+zRot+')');
			TNTDoCommand('Objects(PhysicsSphere).SetPositionWorld('+xPos+','+yPos+','+zPos+')');
		}
		window.setTimeout("floorChangeInProgress = false;",1000);
	}
	if(isFullscreen==true)
	{
		changeNavMode(1);
	}
	focus();
}

function updateClock()
{
	var thisDate = new Date();
	var hours = parseInt(thisDate.getHours());
	var minutes = parseInt(thisDate.getMinutes());
	TNTDoCommand('Objects(#Clock_Hour).SetRotationLocal(0,0,'+(270-hours*30-(minutes*0.5))+')');
	TNTDoCommand('Objects(#Clock_Minute).SetRotationLocal(0,0,'+(270-minutes*6)+')');
	var seconds = 60-parseInt(thisDate.getSeconds());
	setTimeout("updateClock()",seconds*1000);
}

var mesMode = 0;

function OnClick( obj )
{
	var cmd = obj.split('_');
	if(cmd[0].match('#ButtonChgVisible'))
	{
		TNTDoCommand('Objects(' + cmd[1] + '*).SetVisible(false)');
		TNTDoCommand('Objects(*' + cmd[2] + '*).SetVisible(true)');
	}
}

function OnMouseEnter( obj )
{
	if (!moving)
	{
		TNTDoCommand('Objects(' + obj + ').SetSelected(1)');
		TNTDoCommand('Objects(' + obj + ').SetVisible(1)');
	}
}

function OnMouseExit( obj )
{
	TNTDoCommand('Objects(' + obj + ').SetSelected(0)');
	TNTDoCommand('Objects(' + obj + ').SetVisible(0)');
}

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();
	}
}

function OnZoneEnter( zone, physics )
{
	var name = zone.slice(0,9);
	if (name=='#MenuZone')
	{
		var id = zone.slice(9,12);
		var menuFrameCount = TNTDoCommand('Objects(#Menu'+id+').GetFrameCount()');
		TNTDoCommand('Objects(#Menu'+id+').PlayAnimation(,' + menuFrameCount + ')');
	}
	else if(zone.search(/^#Stair/i)!= -1)
	{
		changeFloor(zone);
	}
	else
	{
		doZoneCheck(zone, true);
	}
}

function OnZoneExit( zone, physics )
{
	var name = zone.slice(0,9);
	if (name=='#MenuZone')
	{
		var id = zone.slice(9,12);
		TNTDoCommand('Objects(#Menu'+id+').PlayAnimation(,0)');
	}
	else
	{
		if (zone==gotoName)
		{
			if (gotoDone==true)
			{
				insideGateway=false;
			}
		}
	}
}

var timeoutValue = 0;
function eraseTimeout()
{
	if (timeoutValue!=0)
	{
		clearTimeout(timeoutValue);
		timeoutValue = 0;
	}
}

var timerID = 0;
var oldNavMode = 0;
var currNavMode = -1;
var reclickCounter = -1;
var currentCamera = '';

// NavMode = 0	//WalkInside
// NavMode = 1	//GuideTour
// NavMode = 2	//GotoAngle1
// NavMode = 3	//GotoAngle2
// NavMode = 4	//GotoOverview
// NavMode = 5	//Measure
// NavMode = 6	//Move

function changeNavMode(newNavMode)
{
	if (currNavMode != newNavMode)
	{
		oldNavMode = currNavMode;
		currNavMode = newNavMode;
		reclickCounter = 0;
		// ---- Exit NavMode ----
		if (oldNavMode==0)
		{
			TNTDoCommand('Objects(*_Text).SetVisible(true)');
		}
		if (oldNavMode==2||oldNavMode==3)
		{
			if (timerID!=0)
			{
				clearTimeout(timerID);
				timerID = 0;
			}
		}
		if (oldNavMode==5)
		{
			TNTDoCommand('CameraCtrl.SetIgnoreInput(0)');
			setMeasurementMode(0);
		}
		if (oldNavMode==6)
		{
			TNTDoCommand('CameraCtrl.SetIgnoreInput(0)');
			TNTDoCommand('Objects(*#A*).SetEnable(false)');
			TNTDoCommand('Objects(*).SetSelected(0)');
			TNTDoCommand('Objects(*).SetMouseOverEvent(0)');
			TNTDoCommand('Objects(*).SetOcclusion(0)');	
		}
		// ---- Init NavMode ----
		if (currNavMode==0)
		{
			WalkInside();
		}
		if (currNavMode==1)
		{
			GuideTour();
		}
		if (currNavMode==2)
		{
			GotoAngle1();
		}
		if (currNavMode==3)
		{
			GotoAngle2();
		}
		if (currNavMode==4)
		{
			GotoOverview();
		}
		if (currNavMode==5)
		{
			setMeasurementMode(1);	
		}
		if (currNavMode==6)
		{
			initMove();
		}
		if (oldNavMode==1)
		{
			TNTDoCommand('Objects("Camera02").StopAnimation()');
		}
	}
	else
	{
		reclickCounter++;
		if (currNavMode==0)
		{
			if (reclickCounter>0)
			{
				TNTDoCommand('SceneGraph.Physics.Reset()');
			}
			WalkInside();
		}
		if (currNavMode==1)
		{
			if (reclickCounter%2)
			{
				TNTDoCommand('CameraCtrl.SetControlable(true)');
				TNTDoCommand('Objects("Camera02").StopAnimation()');
				TNTDoCommand('CameraCtrl.SetRotationSpeedX(0.007)')
				TNTDoCommand('CameraCtrl.SetRotationSpeedY(0.007)')
				TNTDoCommand('CameraCtrl.SetMaxHorizontalAngle(3.14)');
				TNTDoCommand('CameraCtrl.SetMinHorizontalAngle(0.0)');
				TNTDoCommand('CameraCtrl.SetMinVerticalAngle(-1000.0)');
				TNTDoCommand('CameraCtrl.SetMaxVerticalAngle(1000.0)');
			}
			else
			{
				TNTDoCommand('Objects(Camera02).StartAnimation()');
				TNTDoCommand('CameraCtrl.SetControlable(false)');
			}
		}
		if (currNavMode==4)
		{
			if (reclickCounter%2)
			{
				TNTDoCommand('Objects(*#ShowIfReclicked*).SetVisible(true)');
				TNTDoCommand('Objects(*#HideIfReclicked*).SetVisible(false)');
			}
			else
			{
				TNTDoCommand('Objects(*#ShowIfReclicked*).SetVisible(false)');
				TNTDoCommand('Objects(*#HideIfReclicked*).SetVisible(true)');
			}
		}
	}
}
function WalkInside()
{
	if (currentCamera!="Camera01")
	{
		if (currentCamera!='')
		{
			TNTDoCommand('SceneGraph.Physics.Reset()');
		}
		TNTDoCommand('Objects(PhysicsSphere).SetEnable(true)');	
		TNTDoCommand('Objects(*_Text).SetVisible(false)');	
		TNTDoCommand('CameraCtrl.SetCurrent("Camera01")');
		currentCamera = 'Camera01';
		updateCameraLight();
		UnhideInside();
		HideInside();
	}
	else
	{
		if (oldNavMode==4&&reclickCounter==0)
		{
			TNTDoCommand('CameraCtrl.Match("Camera01",2000)');
		}
		else
		{
			TNTDoCommand('CameraCtrl.SetCurrent("Camera01")');
		}
		timeoutValue = setTimeout("UnhideInside();HideInside();TNTDoCommand('Objects(*_Text).SetVisible(false)');",2000);
	}
	TNTDoCommand('CameraCtrl.SetMoveSpeed(0.0)');
	TNTDoCommand('CameraCtrl.SetMaxHorizontalAngle(3.14)');
	TNTDoCommand('CameraCtrl.SetMinHorizontalAngle(0)');
	focus();
}

function GuideTour()
{
	var frameCount = parseInt(TNTDoCommand('SceneGraph.Objects(Camera02).GetFrameCount()'))-1.0;
	TNTDoCommand('Objects(Camera02).PlayAnimation(0,'+frameCount+',true)');
	TNTDoCommand('Objects(PhysicsSphere).SetEnable(false)');
	TNTDoCommand('CameraCtrl.SetCurrent("Camera02")');
	currentCamera = 'Camera02';
	updateCameraLight();
	UnhideInside();
	HideInside();
}

function GotoAngle1()
{
	if (currentCamera=='Camera01')
   	{
		TNTDoCommand('Objects(PhysicsSphere).SetEnable(false)');
   		TNTDoCommand('CameraCtrl.SetCurrent("Camera03")');
		currentCamera = 'Camera03';
		updateCameraLight();
		UnhideInside();
   	}
	else
   	{
   		TNTDoCommand('CameraCtrl.Match("Camera03",2000)');
   		eraseTimeout();
		timeoutValue = setTimeout("UnhideInside();",2000);
   	}
	TNTDoCommand('ObjectTree('+currentCamera+').SetEnable(true)');
	HideInside();
	timerID = setTimeout('makeMovable()',2100);
}

function GotoAngle2()
{
	if (currentCamera=='Camera01')
   	{
   		TNTDoCommand('Objects(PhysicsSphere).SetEnable(false)');	
		TNTDoCommand('CameraCtrl.SetCurrent("Camera04")');
		currentCamera = 'Camera04';
		updateCameraLight();
		UnhideInside();
	}
	else
	{
		TNTDoCommand('CameraCtrl.Match("Camera04",2000)');
   		eraseTimeout();
		timeoutValue = setTimeout("UnhideInside();",2000);
	}
	HideInside();
	timerID = setTimeout('makeMovable()',2100);
}

function makeMovable()
{
	TNTDoCommand('CameraCtrl.SetControlable(true)');
	TNTDoCommand('CameraCtrl.SetMoveSpeed(3.0)');
}

function UnhideInside()
{
	TNTDoCommand('Objects(*#HideWhenOutside*).SetVisible(true)');
	TNTDoCommand('Objects(*#ShowIfReclicked*).SetVisible(true)');
	TNTDoCommand('Objects(*#HideIfReclicked*).SetVisible(true)');
}

function HideInside()
{
	TNTDoCommand('Objects(*#HideIfInside*).SetVisible(false)');
}

function UnhideOutside()
{
	TNTDoCommand('Objects(*#HideIfInside*).SetVisible(true)');
}

function GotoOverview()
{
	eraseTimeout();
	TNTDoCommand('Objects(*#HideWhenOutside*).SetVisible(false)');
	var cam1ParentNodeIdx = TNTDoCommand('Objects("Camera01").GetParentNodeIndex()');
	var destParentNodeIdx = TNTDoCommand('Objects("Camera05").GetParentNodeIndex()');
	if (cam1ParentNodeIdx == destParentNodeIdx)
	{
		if (currentCamera=='Camera01')
		{
			TNTDoCommand('CameraCtrl.Match("Camera05",2000)');
		}
		else
		{
			TNTDoCommand('SceneGraph.Physics.Reset()');
			TNTDoCommand('Objects(PhysicsSphere).SetEnable(true)');	
			TNTDoCommand('CameraCtrl.SetCurrent("Camera01")');
			currentCamera = 'Camera01';
			updateCameraLight();
			TNTDoCommand('CameraCtrl.Match("Camera05",1)');
		}
	}
	else
	{
		TNTDoCommand('Objects(PhysicsSphere).SetEnable(false)');	
		if (currentCamera=='Camera01')
		{
			TNTDoCommand('CameraCtrl.SetCurrent("Camera05")');
			currentCamera = 'Camera05';
			updateCameraLight();
		}
		else
		{
			TNTDoCommand('CameraCtrl.Match("Camera05",2000)');			
		}
		UnhideOutside();
	}
	TNTDoCommand('CameraCtrl.SetMaxHorizontalAngle(1.57)');
	TNTDoCommand('CameraCtrl.SetMinHorizontalAngle(0)');		
	focus();
}

function updateCameraLight()
{
	if (currentCamera=='Camera01')
	{
		TNTDoCommand('ObjectTree(Camera01).SetEnable(true)');
	}
	else
	{
		TNTDoCommand('ObjectTree(Camera01).SetEnable(false)');
	}	
	if (currentCamera=='Camera02')
	{
		TNTDoCommand('ObjectTree(Camera02).SetEnable(true)');
	}
	else
	{
		TNTDoCommand('ObjectTree(Camera02).SetEnable(false)');
	}	
	if (currentCamera=='Camera03')
	{
		TNTDoCommand('ObjectTree(Camera03).SetEnable(true)');
	}
	else
	{
		TNTDoCommand('ObjectTree(Camera03).SetEnable(false)');
	}	
	if (currentCamera=='Camera04')
	{
		TNTDoCommand('ObjectTree(Camera04).SetEnable(true)');
	}
	else
	{
		TNTDoCommand('ObjectTree(Camera04).SetEnable(false)');
	}	
	if (currentCamera=='Camera05')
	{
		TNTDoCommand('ObjectTree(Camera05).SetEnable(true)');
	}
	else
	{
		TNTDoCommand('ObjectTree(Camera05).SetEnable(false)');
	}
	if (currentCamera=='Camera06')
	{
		TNTDoCommand('ObjectTree(Camera06).SetEnable(true)');
	}
	else
	{
		TNTDoCommand('ObjectTree(Camera06).SetEnable(false)');
	}
}

var shotNum = 0;
var sessionID = new String();
function RenderImg(size)
{
	if(!size)
	{
		size = 0;
	}
	var cmd = '"';
	cmd += TNTDoCommand('Core.GetDesktopPath()');
	cmd += 'TURNTOOL-'+agent+'-'+project+'-';
	if(shotNum<10)
	{
		cmd += '0'+shotNum;
	}
	else
	{
		cmd += shotNum;
	}
	cmd += '-'+sessionID+'.bmp",'+size;
	TNTDoCommand('Renderer.SaveImage(' + cmd + ')');
	shotNum++;
}

var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var moie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var moie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !moie4 && !moie5) ? true : false;

if (nodyn) { event = "nope" }

var enterCount = 0;
var tipFollowMouse= true;	
var tipWidth= 170;
var offX= 0;	// how far from mouse to show tip
var offY= 20; 
var tipFontFamily= "Verdana, Arial, Helvetica, sans-serif";
var tipFontSize= "10px";
var tipFontWeight= "bold";
var tipFontColor= "#000000";
var tipBgColor= "#EEEEEE"; 
var tipBorderColor= "gray";
var tipBorderWidth= 1;
var tipBorderStyle= "ridge";
var tipPadding= 2;

var startStr = '';
var midStr = '<tr><td valign="top" align="center">';
var endStr = '</td></tr></table>';

function initTip() 
{	
	startStr = '<table width="' + tipWidth + '">';	
	tooltip = element('tipDiv');
	tipcss = element('tipDiv').style;
	tipcss.width = tipWidth+"px";
	tipcss.fontFamily = tipFontFamily;
	tipcss.fontSize = tipFontSize;
	tipcss.color = tipFontColor;
	tipcss.fontWeight= tipFontWeight;
	tipcss.backgroundColor = tipBgColor;
	tipcss.borderColor = tipBorderColor;
	tipcss.borderWidth = tipBorderWidth+"px";
	tipcss.padding = tipPadding+"px";
	tipcss.borderStyle = tipBorderStyle;
	if (ns4)
		document.captureEvents(Event.MOUSEMOVE);
	if(tipFollowMouse)
		document.onmousemove = positionTip;
	
}

//////////////////////////// doTooltip(evt, num)/////////////////////////////////
function doTooltip(evt, num) 
{
	SetToolTipLanguage();
	tipWidth = messages[num][1].length+100;	
	initTip();
	
	enterCount++;
	curBgColor = tipBgColor;
	curFontColor = tipFontColor;
	var tip = startStr + messages[num][0] + midStr + '<span style="font-family:'+tipFontFamily+'; font-size:'+tipFontSize+'; color:'+curFontColor+'; font-weight:'+tipFontWeight+';">' + messages[num][1] + '</span>' + endStr;
 	tooltip.innerHTML = tip;
 	element('tipDiv').style.visibility = "visible";
 	positionTip(evt);
 	
}
//////////////////////////// positionTip(evt)////////////////////////////////////
function positionTip(evt) 
{
	var mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
	var mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
	tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px";
    	tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px";    	
}



//////////////////////////// hideTip() //////////////////////////////////////////
function hideTip() 
{
	enterCount--;
	if (enterCount==0)
	 	setTimeout("hideTip_re()",10);	
	document.onmousemove = null;
	 				  	 	
}
//////////////////////////// hideTip_re() ///////////////////////////////////////
function hideTip_re()
{
	if(enterCount==0)
		element('tipDiv').style.visibility = 'hidden';
}

var extremefarver = new Array( "FFFBF0", "Pollux", "F7FFF4", "Centauri", "E4EDE1", "Albireo", "EBEDEA", "Acrux", "FFF6F4", "Aldebaran", "FFFDEB", "Helios", "EBF2E9", "Carinae", "F8F7EF", "Altair", "F0F3EC", "Sirius", "FDEFDA", "Agena", "F3FDFC", "Vega", "FEFEFE", "Polaris", "F6FEF4", "Capella", "F5F3FE", "Castor", "F1FEFA", "Regulus", "F4ECD5", "Mimosa", "CCD7C1", "Alnitak", "C3D1C6", "Scorpii", "E0D8C2", "Procyon", "F7E4E1", "Spica", "D4DDE5", "Rigel", "E5D7CC", "Canopus", "C9CBBA", "Mira", "E3F3F4", "Hamal", "FAF5D7", "Arcturus", "FFE3C7", "Antares", "D7DDCF", "Mizar", "FFF6DA", "Algol", "E9E2F1", "Shaula", "E5E3C8", "Alcyone", "DEDAE4", "Proxima" );
var energyfarver = new Array( "FFFFFF","DYRUP 800","F9CDC0","DYRUP 6145","C0C1C3","DYRUP 2010","BCD7D1","DYRUP 4150","D2C3D6","DYRUP 4146","FFEABA","DYRUP 3143","EBDDC4","DYRUP 3145","EBD8B7","DYRUP 3133","E7D6BF","DYRUP 811","EACDC0","DYRUP 8063","C0D8CE","DYRUP 5127","B7BCCA","DYRUP 4133","E9CFCB","DYRUP 2007","EBC7AF","DYRUP 6143","CBDCD1","DYRUP 5138","DBC3A6","DYRUP 2020","D1D0D2","DYRUP 4149","D1DFD6","DYRUP 5137","EE5264","DYRUP 6122","8A94B2","DYRUP 4114","DDCBDA","DYRUP 6105","FED2B6","DYRUP 5134","E6E3C0","DYRUP 5139","FF9D68","DYRUP 3146","E2DFE1","DYRUP 2023","FDC6AC","DYRUP 3148","87B2D0","DYRUP 4135","235F93","DYRUP 4137","B69993","DYRUP 2022","D89C84","DYRUP 7021","E3C995","DYRUP 3134","7D8485","DYRUP 233" );
var fusionfarver = new Array( "DFC3C3","DYRUP 6142","584236","DYRUP 2018","FDCC6F","DYRUP 3138","762936","DYRUP 6131","3B3F3E","DYRUP 5117","C0C1C3","DYRUP 2008","A17063","DYRUP 7019","9D8E82","DYRUP 2021","EFB0C3","DYRUP 6106","895A71","DYRUP 6128","4A5251","DYRUP 2019","F03333","DYRUP 6110","002852","DYRUP 4123","FFD2AF","DYRUP 3130","FEEDCE","DYRUP 3147","C7896B","DYRUP 6111","949B99","DYRUP 2014","7D3963","DYRUP 6129","48293D","DYRUP 4127","00465E","DYRUP 4121","34281D","DYRUP 9202","EACDC0","DYRUP 3137","FF9145","DYRUP 6121","CCC6BC","DYRUP 3136","636669","DYRUP 2015","833129","DYRUP 6132","F6CCC9","DYRUP 6144","071732","DYRUP 4128","5D3326","DYRUP 7020","EBC7AF","DYRUP 3132","DC5726","DYRUP 6125","BBADA8","DYRUP 2017" );
var passionfarver = new Array( "FCEED6","DYRUP 8062","D1D0D2","DYRUP 2016","AA7B2C","DYRUP 5115","75231E","DYRUP 745","762936","DYRUP 6133","003928","DYRUP 5116","69937D","DYRUP 5129","6F252A","DYRUP 6136","E2E1E2","DYRUP 802","FFEABA","DYRUP 3139","A4996E","DYRUP 5136","B12530","DYRUP 6124","A42724","DYRUP 6126","D5B41F","DYRUP 3135","36705E","DYRUP 5133","5A2837","DYRUP 4147","EBC09A","DYRUP 3142","CFB187","DYRUP 5118","FFE12A","DYRUP 3129","BD5C15","DYRUP 6123","9F1E31","DYRUP 6139","592B52","DYRUP 469","0087A9","DYRUP 4118","002A43","DYRUP 4129","ECD1B5","DYRUP 806","B1B2B4","DYRUP 2011","4C473A","DYRUP 9203","FFB886","DYRUP 322","A92A1D","DYRUP 6127","85463A","DYRUP 7084","003765","DYRUP 4119","4A4D50","DYRUP 4125" );
var sensualfarver = new Array( "FFD797","DYRUP 3144","F8C3B7","DYRUP 6135","D62E2E","DYRUP 650","8996BC","DYRUP 4138","AC9E7B","DYRUP 5119","87B2D0","DYRUP 4116","80B2A4","DYRUP 5134","2D6B99","DYRUP 4139","BD3435","DYRUP 6138","9A5386","DYRUP 4132","D290AE","DYRUP 4145","FFD374","DYRUP 3128","625D1E","DYRUP 5135","5DA631","DYRUP 5109","D1CA91","DYRUP 5107","00609E","DYRUP 4117","DB4E24","DYRUP 630","FFB852","DYRUP 349","A92A2B","DYRUP 6137","8E8CB1","DYRUP 4115","FFCE9C","DYRUP 3141","006B5C","DYRUP 5114","2B6885","DYRUP 4134","A4A5A9","DYRUP 2021","CB678D","DYRUP 644","401B34","DYRUP 4148","AEA9C4","DYRUP 4142","006C59","DYRUP 5130","D3BD68","DYRUP 5104","C8A267","DYRUP 5108","7DB5D8","DYRUP 4131","8DB2A3","DYRUP 5128" );

function colorclicked(nColor)
{
	var farver;
	switch( element("PaletteDropDown").selectedIndex )
	{
	case 0:
		farver = extremefarver;
		break;
	case 1:
		farver = energyfarver;
		break;
	case 2:
		farver = fusionfarver;
		break;
	case 3:
		farver = passionfarver;
		break;
	case 4:
		farver = sensualfarver;
		break;
	}	
	var color = farver[nColor*2];
	TNTDoCommand('SceneGraph.Objects("Wall*").SetEmissiveColor(#'+color+',0.50)');
	TNTDoCommand('SceneGraph.Objects("Wall*").SetAmbientColor(#'+color+',0.15)');
	TNTDoCommand('SceneGraph.Objects("Wall*").SetDiffuseColor(#'+color+',0.35)');
	TNTDoCommand('SceneGraph.Objects("Wall*").SetSpecularColor(#'+color+',0.10)');
}

function doPaletteChanged()
{
	var farver;
	switch( element("PaletteDropDown").selectedIndex )
	{
	case 0:
		farver = extremefarver;
		break;
	case 1:
		farver = energyfarver;
		break;
	case 2:
		farver = fusionfarver;
		break;
	case 3:
		farver = passionfarver;
		break;
	case 4:
		farver = sensualfarver;
		break;
	}

	var tablehtml = '<table CELLSPACING=3>';
	var nColors = farver.length / 2;
	var nColumns = 3;
	for( i=0; i<nColors; i+=nColumns )
	{
		var line =	'<tr>';
		for(n=0; n<nColumns && (n+i)<nColors; n++)
		{
			line +=	'<td style="cursor:hand;" onclick="colorclicked(' + (i+n) + ')" onmouseover="doTooltip(event,8)" onmouseout="hideTip()" width=40 bgColor=#' + farver[(i+n)*2] + '></td><td width=100><font style="font:\'7pt Verdana, Arial\'" color=#808080>' + farver[((i+n)*2)+1] + '</font></td>';
		}
		line +=	'</tr>\n';
		tablehtml += line;
	}
	tablehtml += '</table>\n';
	element("farvetabel").innerHTML = tablehtml;
}

var floorNames = new Array(
"Skibsplanke",
"Ask",
"Hvidolieret ask",
"Black tile",
"Grey tile",
"Small grey tile",
"granada",
"quadro",
"impala sisal",
"Confetti"
);

var floorMaps = new Array(
"wood02",
"wood",
"wood01",
"tile00",
"tile01",
"tile02",
"0017730",		
"0027210",		
"0037600",		
"0051560"
);

var mapDimensions = new Array(
139.8,144.7,
139.8,144.7,
139.8,144.7,
35.0,35.0,
40.0,40.0,
20.0,20.0,
41.90,47.44,	
44.58,44.58,	
36.82,37.60,	
44.58,44.58
);

var currCarpet = -1;
function carpetClicked( nCarpet )
{
	if (currCarpet!= nCarpet)
	{
		currCarpet = nCarpet;
		var mapfile = 'sponsor/1/floormaps/' + floorMaps[nCarpet];
		TNTDoCommand('SceneGraph.Bitmap("Floor01").Load("' + mapfile + '.jpg")');
		var cnt = parseInt(TNTDoCommand('Objects(Floor*).GetObjectCount()'));
		for(var c=0; c<cnt; c++)
		{
			var n = (c+1).toString();
			if(n.length == 1)
				n = '0'+n;
			var xSize = TNTDoCommand('Objects(Floor'+n+').GetGeometrySizeX()');
			var ySize = TNTDoCommand('Objects(Floor'+n+').GetGeometrySizeY()'); 
			var mapSizeU = mapDimensions[nCarpet*2];
			var mapSizeV = mapDimensions[nCarpet*2+1];
			var tilingU = ySize / mapSizeU;
			var tilingV = xSize / mapSizeV;
			TNTDoCommand('Objects(Floor'+n+').SetTilingU(' + tilingU + ')');
			TNTDoCommand('Objects(Floor'+n+').SetTilingV(' + tilingV + ')');
		}
		focus();
	}
}

function generateCarpets()
{
	var tablehtml = '<table CELLSPACING=2>';
	var nCarpets = floorMaps.length;
	var nColumns = 5;
	for( i=0; i<nCarpets; i+=nColumns )
	{
		var line =	'<tr>';
		for(n=0; n<nColumns && (n+i)<nCarpets; n++)
		{
			line +=	'<td><img src="sponsor/1/floorthumbs/' + floorMaps[i+n] + '.jpg" width=100 height=100 style="cursor:hand;" onclick="carpetClicked(' + (i+n) + ')" onmouseover="doTooltip(event,10)" onmouseout="hideTip()"></td>';
		}
		line +=	'</tr><tr>\n';
		for(n=0; n<nColumns && (n+i)<nCarpets; n++)
		{
			line += '<td align=center valign=top><font style="font:\'7pt Verdana, Arial\'" color=#808080>' + floorNames[i+n] + '<br></font></td>';

		}
		line +=	'</tr>\n';
		tablehtml += line;
	}
	tablehtml += '</table>\n';
	element("taeppetabel").innerHTML = tablehtml;
}

function windowClicked( nWindow )
{
	alert('Not implemented yet');
}

var measureMode = 1;

function setMeasurementMode(mesMode)
{
	if (mesMode>0)
	{
		if (mesMode==1)
		{
			measureMode=2;
			element('MeasureButton').value = lanArray[lanIndex][38];
			TNTDoCommand('Objects(*).SetOcclusion(0)');
			TNTDoCommand('Objects(Collision*).SetOcclusion(1)');
			TNTDoCommand('Objects(Floor*).SetOcclusion(1)');	
			TNTDoCommand('Objects(Gulv*).SetOcclusion(1)');	
			TNTDoCommand('Measurement.SetLineSize(150)');
			TNTDoCommand('CameraCtrl.SetIgnoreInput(1)');
			TNTDoCommand('Measurement.SetMode(1)');	
			if (currentCamera!='Camera06')
			{
				TNTDoCommand('CameraCtrl.SetCurrent("Camera06")');
				currentCamera = 'Camera06';
				updateCameraLight();
			}
		}
		else
		{
			measureMode=1;
			element('MeasureButton').value = lanArray[lanIndex][39];
			TNTDoCommand('SceneGraph.Objects(*).SetOcclusion(0)');
			TNTDoCommand('CameraCtrl.SetIgnoreInput(0)');	
			TNTDoCommand('Measurement.SetMode(2)');	
		}
	}
	else
	{
		TNTDoCommand('SceneGraph.Objects(*).SetOcclusion(0)');
		TNTDoCommand('CameraCtrl.SetIgnoreInput(0)');	
		TNTDoCommand('Measurement.SetMode(0)');
		distance = "0.0  ";
		OnMeasureUpdate(distance);
	}
}
var distance = "0.0  ";

function OnMeasureUpdate(distance)
{
	element('MeasureText').innerHTML = lanArray[lanIndex][40] + distance.slice(0,5)+ lanArray[lanIndex][41];
}

var moving = false;

function OnMoveStart()
{
	moving = true;
	TNTDoCommand('CameraCtrl.SetIgnoreInput(1)');
}

function OnMoveEnd()
{
	moving = false;
	TNTDoCommand('CameraCtrl.SetIgnoreInput(0)');
}

function initMove()
{
	TNTDoCommand('Objects(*).SetOcclusion(0)');
	TNTDoCommand('Objects(*).SetMouseOverEvent(0)');	
	TNTDoCommand('Objects(*#A*).SetEnable(true)');	
	TNTDoCommand('Objects(*#A*).SetVisible(false)');	
	TNTDoCommand('Objects(*#A*).SetOcclusion(1)');
	TNTDoCommand('Objects(*#A*).SetMouseOverEvent(1)');	
	TNTDoCommand('Objects(Collision*).SetOcclusion(1)');
	TNTDoCommand('Selection.SetMoveDirectionZ(0)');	
	TNTDoCommand('Selection.SetRotationSpeedX(0.0)');	
	TNTDoCommand('Selection.SetRotationSpeedY(0.0)');
	TNTDoCommand('Selection.SetRightMode(5)');
	TNTDoCommand('CameraCtrl.SetIgnoreInput(0)');	
	if (currentCamera!='Camera06')
	{
		TNTDoCommand('CameraCtrl.SetCurrent("Camera06")');
		currentCamera = 'Camera06';
		updateCameraLight();
		TNTDoCommand('ObjectTree("Camera06").SetEnable(true)');
	}
}

var currTab = 1;
function changeTab(newTab)
{
	if (currTab != newTab)
	{
		// ---- Init Tab ----
		if (newTab==6)
		{
			changeNavMode(5);	
		}
		else if (newTab==7)
		{
			changeNavMode(6);
		}
		currTab = newTab;
	}
	else
	{
		if ((currTab==6)||(currTab==7))
		{
			TNTDoCommand('CameraCtrl.Match("Camera06",2000)');
		}
	}
}

function makeTabs()
{
		var rs = '<div class="tab-pane" id="tabPane1">';
		if(mode&0x1){
			rs+='<div class="tab-page" id="tabPage1">';
				rs+='<h2 class="tab"><div id="tabnavi" onClick="changeTab(1);"></div></h2>';
				rs+='<table cellpadding="0" cellspacing="0" border="0">';
					rs+='<tr valign="top">';
					  	rs+='<td><img src="files/pix_trnsp.gif" width="1" height="127"></td>';
						rs+='<td>';
							rs+='<img id="walkimg" width="100" height="76" src="files/empty.jpg" onclick="changeNavMode(0)" onmouseover="doTooltip(event,4)" onmouseout="hideTip()" style="border:1px solid gray ; cursor: hand; margin-top: 18px;">';
							rs+='<DIV id="walktxt" onclick="changeNavMode(0)" onmouseover="doTooltip(event,4)" onmouseout="hideTip()" style="position:absolute; left: 0px; top: 0px; z-index:4;"></DIV>';
						rs+='</td>';
						rs+='<td><img src="files/pix_trnsp.gif" width="20" height="1"></td>';
						rs+='<td>';
							rs+='<img id="guideimg" width="100" height="76" src="files/empty.jpg" onclick="changeNavMode(1)" onmouseover="doTooltip(event,5)" onmouseout="hideTip()" style="border:1px solid gray ; cursor: hand; margin-top: 18px;">';
							rs+='<DIV id="guidetxt" onclick="changeNavMode(1)" onmouseover="doTooltip(event,5)" onmouseout="hideTip()" style="position:absolute; left: 121px; top: 0px; z-index:4;"></DIV>';
						rs+='</td>';
						rs+='<td><img src="files/pix_trnsp.gif" width="20" height="1"></td>';
						rs+='<td>';
							rs+='<img id="vinkel1img" width="100" height="76" src="files/empty.jpg" onclick="changeNavMode(2)" onmouseover="doTooltip(event,6)" onmouseout="hideTip()" style="border:1px solid gray ; cursor: hand; margin-top: 18px;">';
							rs+='<DIV id="vinkel1txt" onclick="changeNavMode(2)" onmouseover="doTooltip(event,6)" onmouseout="hideTip()" style="position:absolute; left: 242px; top: 0px; z-index:4;"></DIV>';
						rs+='</td>';
						rs+='<td><img src="files/pix_trnsp.gif" width="20" height="1"></td>';
						rs+='<td>';
							rs+='<img id="vinkel2img" width="100" height="76" src="files/empty.jpg" onclick="changeNavMode(3)" onmouseover="doTooltip(event,6)" onmouseout="hideTip()" style="border:1px solid gray ; cursor: hand; margin-top: 18px;">';
							rs+='<DIV id="vinkel2txt" onclick="changeNavMode(3)" onmouseover="doTooltip(event,6)" onmouseout="hideTip()" style="position:absolute; left: 363px; top: 0px; z-index:4;"></DIV>';
						rs+='</td>';
						rs+='<td><img src="files/pix_trnsp.gif" width="20" height="1"></td>';
						rs+='<td>';
							rs+='<img id="oversigtimg" width="100" height="76" src="files/empty.jpg" onclick="changeNavMode(4)" onmouseover="doTooltip(event,7)" onmouseout="hideTip()" style="border:1px solid gray ; cursor: hand; margin-top: 18px;">';
							rs+='<DIV id="oversigttxt" onclick="changeNavMode(4)" onmouseover="doTooltip(event,7)" onmouseout="hideTip()" style="position:absolute; left: 484px; top: 0px; z-index:4;"></DIV>';

						rs+='</td>';
					rs+='</tr>';
				rs+='</table>';
			rs+='</div>';
		}
		if(mode&0x2){
			rs+='<div class="tab-page" id="tabpage2">';
				rs+='<h2 class="tab"><div id="tabsavepic" onClick="changeTab(2)"></div></h2>';
				rs+='<table cellpadding="0" cellspacing="0" border="0" width="100%">';
					rs+='<tr>';
						rs+='<td><img src="files/pix_trnsp.gif" width="1" height="127"></td>';
						rs+='<td valign="top">';					
							rs+='<table cellpadding="0" cellspacing="0" border="0" width="100%">';
								rs+='<tr>';
									rs+='<td align="center"><font size="1" face="Arial, Helvetica, sans-serif"><div id="skaermbillede"></div></font></td>';
								rs+='</tr>';
								rs+='<tr>';
									rs+='<td><img src="files/pix_trnsp.gif" width="1" height="20"></td>';
								rs+='</tr>';
								rs+='<tr>';
									rs+='<td align="center">';
										rs+='<table cellpadding="0" cellspacing="0" border="0">';
											rs+='<tr valign="top">';
												rs+='<td nowrap valign="top" align="center"><DIV id="dumplow" OnMouseOver=doTooltip(event,0) OnMouseOut=hideTip() onClick=RenderImg(0)></DIV></td>';
												rs+='<td><img src="files/pix_trnsp.gif" width="40" height="1"></td>';
												rs+='<td nowrap align="center"><DIV id="dumphigh" onClick=RenderImg(1) OnMouseOver=doTooltip(event,1) OnMouseOut=hideTip()></DIV></td>';
												rs+='<td><img src="files/pix_trnsp.gif" width="40" height="1"></td>';
												rs+='<td nowrap align="center"><DIV id="dumpsuper" onClick=RenderImg(2) OnMouseOver=doTooltip(event,2) OnMouseOut=hideTip()></DIV></td>';
												rs+='<td><img src="files/pix_trnsp.gif" width="40" height="1"></td>';
												rs+='<td nowrap align="center"><DIV id="dumpmega" onClick=RenderImg(3) OnMouseOver=doTooltip(event,3) OnMouseOut=hideTip()></DIV></td>';
											rs+='</tr>';
										rs+='</table>';
									rs+='</td>';
								rs+='</tr>';
								rs+='<tr>';
									rs+='<td><img src="files/pix_trnsp.gif" width="1" height="30"></td>';
								rs+='</tr>';
								rs+='<tr>';
									rs+='<td align="center"><font size="1" face="Arial, Helvetica, sans-serif"><div id="savetxt"></div></font></td>';
								rs+='</tr>';
							rs+='</table>';
						rs+='</td>';
					rs+='</tr>';
				rs+='</table>';
			rs+='</div>';
		}
		if(mode&0x4){
			rs+='<div class="tab-page" id="tabpage3">';
			 rs+='<h2 class="tab"><div id="tab_chg_color" onClick="changeTab(3)"></div></h2>';
				rs+='<table>';
					rs+='<tr>';
						rs+='<td valign=top>';
							rs+='<table width=200>';
								rs+='<tr><td>';
									rs+='<select name="PaletteDropDown" id="PaletteDropDown" size="1" onchange="doPaletteChanged()" onmouseover="doTooltip(event,9)" onmouseout="hideTip()">';
										rs+='<option value="0">Extreme';
										rs+='<option value="1">Energy';
										rs+='<option value="2">Fusion';
										rs+='<option value="3">Passion';
										rs+='<option value="4" selected>Sensual';
									rs+='</select>';
								rs+='</td></tr>';
							rs+='</table>';
						rs+='</td>';
						rs+='<td>';
							rs+='<div id="farvetabel" align=right>';
							rs+='</div>';
						rs+='</td>';
					rs+='</tr>';
				rs+='</table>';		  
			rs+='</div>';			
		}
		if(mode&0x8){
			rs+='<div class="tab-page" id="tabpage4">';
			  rs+='<h2 class="tab"><div id="tab_chg_floor" onClick="changeTab(4)"></div></h2>';
				rs+='<div id="taeppetabel" align=right>';
				rs+='</div>';
			rs+='</div>';			
		}
		if(mode&0x10){
			rs+='<div class="tab-page" id="tabpage5">';
			  rs+='<h2 class="tab"><div id="tab_chg_windows" onClick="changeTab(5)"></div></h2>';
			  		rs+='<center>';
					rs+='<table CELLSPACING=1>';
						rs+='<tr><td><img src="sponsor/2/v1.png" width=100 height=100 style="cursor:hand;" onclick="windowClicked(1)"></td>';
							rs+='<td><img src="sponsor/2/v2.png" width=100 height=100 style="cursor:hand;" onclick="windowClicked(2)"></td>';
							rs+='<td><img src="sponsor/2/v3.png" width=100 height=100 style="cursor:hand;" onclick="windowClicked(3)"></td>';
							rs+='<td><img src="sponsor/2/v4.png" width=100 height=100 style="cursor:hand;" onclick="windowClicked(4)"></td></tr>';
						rs+='<tr>';
							rs+='<td align=center valign=top><font style="font: 7pt Verdana, Arial" color=#808080><div id="window1Text"></div></font></td>';
							rs+='<td align=center valign=top><font style="font: 7pt Verdana, Arial" color=#808080><div id="window2Text"></div></font></td>';
							rs+='<td align=center valign=top><font style="font: 7pt Verdana, Arial" color=#808080><div id="window3Text"></div></font></td>';
							rs+='<td align=center valign=top><font style="font: 7pt Verdana, Arial" color=#808080><div id="window4Text"></div></font></td></tr>';
					rs+='</table>';
					rs+='</center>';			  
			rs+='</div>';			
		}
		if(mode&0x20){
			rs+='<div class="tab-page" id="tabpage6">';
			  rs+='<h2 class="tab"><div id="tab_measure" onClick="changeTab(6)"></div></h2>';
					rs+='<div id="measureInfoText"></div>';
					rs+='<br><br>';
					rs+='<div id="measureInfoText2"></div>';
					rs+='<br><br>';
					rs+='<font style="font: 11pt Verdana, Arial" color=#000000>';
							rs+='<div id="MeasureText"></div>';
					rs+='</font>';
					rs+='<br>';
							rs+='<INPUT id="MeasureButton" TYPE=button VALUE="" onClick="setMeasurementMode(measureMode)">';
					rs+='<br>';
			rs+='</div>';			
		}
		if(mode&0x40){
			rs+='<div class="tab-page" id="tabpage7">';
  			  rs+='<h2 class="tab"><div id="tab_indret" onClick="changeTab(7)"></div></h2>';
			  rs+='<br>';
				rs+='<div id="indretText"></div>';
			rs+='</div>';
		}
		if(mode&0x80){ // control for java applet to change images...
			rs+='<div class="tab-page" id="tabPage8">';
				rs+='<h2 class="tab"><div id="tabnavi" onClick="changeTab(8);"></div></h2>';
				rs+='<table cellpadding="0" cellspacing="0" border="0">';
					rs+='<tr valign="top">';
						rs+='<td><img src="files/pix_trnsp.gif" width="1" height="127"></td>';
					  	rs+='<td><img src="files/pix_trnsp.gif" width="20" height="1"></td>';
						rs+='<td>';
							rs+='<img id="vinkel1img" width="100" height="76" src="files/empty.jpg" onclick="panoImage(0)" onmouseover="doTooltip(event,6)" onmouseout="hideTip()" style="border:1px solid gray ; cursor: hand; margin-top: 18px;">';
							rs+='<DIV id="vinkel1txt" onclick="panoImage(0)" onmouseover="doTooltip(event,6)" onmouseout="hideTip()" style="position:absolute; left: 20px; top: 0px; z-index:4;"></DIV>';
						rs+='</td>';
						rs+='<td><img src="files/pix_trnsp.gif" width="20" height="1"></td>';
						rs+='<td>';
							rs+='<img id="vinkel2img" width="100" height="76" src="files/empty.jpg" onclick="panoImage(1)" onmouseover="doTooltip(event,6)" onmouseout="hideTip()" style="border:1px solid gray ; cursor: hand; margin-top: 18px;">';
							rs+='<DIV id="vinkel2txt" onclick="panoImage(1)" onmouseover="doTooltip(event,6)" onmouseout="hideTip()" style="position:absolute; left: 141px; top: 0px; z-index:4;"></DIV>';
						rs+='</td>';
					rs+='</tr>';
				rs+='</table>';
			rs+='</div>';
		}
		if(mode&0x100) // render tool
		{
			rs+='<div class="tab-page" id="tabPage9">';
				rs+='<h2 class="tab"><div id="tabnavi" onClick="changeTab(9);">Render</div></h2>';
				rs+='<table cellpadding="0" cellspacing="0" border="0">';
					rs+='<tr valign="top">';
						rs+='<td><img src="files/pix_trnsp.gif" width="1" height="127"></td>';
					  	rs+='<td><img src="files/pix_trnsp.gif" width="20" height="1"></td>';
						rs+='<td>';
							rs+='<form id="renderform" name="renderform" target="_blank" method="post" action="http://build.turntool.com/placetask.php">';
									
									rs+='<table width="100%" border="0" cellspacing="2" cellpadding="0"  style="font-size: 12px">';
									  rs+='<tr><td width="87">&nbsp;</td><td width="71"><div align="center">Preview</div></td><td width="107"><div align="center">Commercial</div></td><td colspan="2"><div align="center"><label><input name="sunlock" id="rendersunlock" type="checkbox" autocomplete="off" value="true" checked="checked" onchange="rendersettingschanged(this);" />Lock sun to time</label></div></td><td width="275" rowspan="5"><div><p style="font-size:12px">Previews are not for commercial usage.<br />If your preview is correct, you can order a commercial version from the mail you get on completsion, </p></div></td></tr>';
									  rs+='<tr><td><div align="right">Quality:</div></td><td><div align="center"><input name="rendermode" type="radio" value="draft" checked="checked" onchange="rendersettingschanged(this);" /></div></td><td><div align="center"><input name="rendermode" type="radio" value="normal" onchange="rendersettingschanged(this);" /></div></td><td width="120"><div align="right">Azimuth:</div></td><td width="126"><div align="left"><select autocomplete="off" disabled="disabled" name="azimuth" id="renderazimuth">';
									  var myval = 22.5;
									  for(var m = 1; m < 17; m++){
									  	rs+='<option value="'+m*myval+'"';
									  	if(m==1)
									  		rs+=' selected="selected"';
									  	rs+='>'+m*myval+'</option>';
									}
									  rs+='</select></div></td></tr>';
									  rs+='<tr><td><div align="right">Time:</div></td><td><div align="left"><select name="timeofday" id="rendertimeofday" autocomplete="off">';
									  rs+='<option value="05:00">Early morning</option><option value="07:00">Morning</option><option value="09:00">Late morning</option><option value="12:00">Midday</option><option value="14:00">Early afternoon</option><option value="15:00" selected="selected">Afternoon</option><option value="17:00">Late afternoon</option><option value="19:00">Early evening</option><option value="20:00">Evening</option><option value="21:00">Early night</option><option value="23:00">Night</option>';
									  rs+='</select></div></td><td><div align="center"></div></td><td><div align="right">Zenith</div></td><td><div align="left"><select disabled="disabled" name="zenith" id="renderzenith" autocomplete="off">';
									  var myval = 10;
									  for(var m = 1; m < 10; m++) {
										rs+='<option value="'+m*myval+'"';
									  	if(m==1)
									  		rs+=' selected="selected"';
										rs+='>'+m*myval+'</option>';
									}
									  rs+='</select></div></td></tr>';
									  rs+='<tr><td><div align="right">Rotation:</div></td><td><div align="left"><select name="rotation" id="renderrotation" autocomplete="off">';
									  var myval = 10;
									  for(var m = 0; m < 36; m++) {
										rs+='<option value="';
										var tmp = m*myval;
										rs+= tmp;
										rs+='"';
									  	if(m==0)
									  		rs+=' selected="selected"';
										rs+='>';
										var tmp = m*myval;
										if(m == 0)
											tmp = 'auto';
										rs+= tmp;
										rs+='</option>';
									}
									  rs+='</select></div></td><td><div align="center"></div></td><td><div align="center"></div></td><td><div align="center"></div></td></tr>';
									  rs+='<tr><td><div align="right">Background:</div></td><td colspan="2"><div align="left"><select name="background" id="renderbackground" autocomplete="off">';
									  rs+='<option>normal blue sky</option>';
									  rs+='</select></div></td><td><div align="center"></div></td><td><div align="center"><input type="button" value="submit" onclick="getRenderSettings();" /></div></td></tr>';
									rs+='</table>';
									
								rs += '<input type="hidden" name="res" id="renderres" value="640x480" />';
								rs += '<input type="hidden" name="qualaty" id="renderqualaty" value="-1" />';
								rs += '<input type="hidden" name="date" id="renderdate" value="18-07-2007" />';
								rs += '<input type="hidden" name="formsender" id="formsender" value="humanrender" />';
								rs += '<input type="hidden" name="task" id="task" value="render" />';
								rs += '<input type="hidden" name="agent" id="renderagent" value="" />';
								rs += '<input type="hidden" name="name" id="rendername" value="" />';
								rs += '<input type="hidden" name="cameraname" id="rendercameraname" value="" />';
								rs += '<input type="hidden" name="fov" id="renderfov" value="" />';
								rs += '<input type="hidden" name="xpos" id="renderxpos" value="" />';
								rs += '<input type="hidden" name="ypos" id="renderypos" value="" />';
								rs += '<input type="hidden" name="zpos" id="renderzpos" value="" />';
								rs += '<input type="hidden" name="xrot" id="renderxrot" value="" />';
								rs += '<input type="hidden" name="yrot" id="renderyrot" value="" />';
								rs += '<input type="hidden" name="zrot" id="renderzrot" value="" />';
								rs += '<input type="hidden" name="misc" id="rendermisc" value="" />';
								rs += '<input type="hidden" name="latitude" id="renderlatitude" value="56.08" />';
								rs += '<input type="hidden" name="longitude" id="renderlongitude" value="10.11" />';
								rs += '<input type="hidden" name="location" id="renderlocation" value="" />';
								rs += '<input type="hidden" name="pm" id="renderpm" value="" />';
								rs += '<input type="hidden" name="pmmail" id="renderpmmail" value="" />';
							rs += '</form>';
						rs+='</td>';
						rs+='<td><img src="files/pix_trnsp.gif" width="20" height="1"></td>';
					rs+='</tr>';
				rs+='</table>';
			rs+='</div>';
		}			
		rs+='</div>';
		return rs;
}
function rendersettingschanged(who) {
	if(who.name.toString() == 'rendermode') {
		if(who.value == "draft")
			document.renderform.renderres.value = "640x480";
		else
			document.renderform.renderres.value = "1920x1440";
	}
	if(who.id.toString() == 'rendersunlock') {
		var temp = who.checked;
		element('renderazimuth').disabled = temp;
		element('renderzenith').disabled = temp;
	}
}
function getRenderSettings()
{	
	document.renderform.renderagent.value = agent;
	document.renderform.rendername.value = project;
	var cameraName = TNTDoCommand('CameraCtrl.GetCurrent()');
	document.renderform.rendercameraname.value = cameraName;
	var fov = TNTDoCommand('Objects('+cameraName+').GetFOV()');
	if(isNaN(fov) || fov=="")
	{
		document.renderform.renderfov.value = "90.0";
	}
	else
	{
		document.renderform.renderfov.value = fov;
	}
	document.renderform.renderxpos.value = TNTDoCommand('Objects('+cameraName+').GetPositionWorldX()');
	document.renderform.renderypos.value = TNTDoCommand('Objects('+cameraName+').GetPositionWorldY()');
	document.renderform.renderzpos.value = TNTDoCommand('Objects('+cameraName+').GetPositionWorldZ()');
	document.renderform.renderxrot.value = TNTDoCommand('Objects('+cameraName+').GetRotationWorldX()');
	document.renderform.renderyrot.value = TNTDoCommand('Objects('+cameraName+').GetRotationWorldY()');
	document.renderform.renderzrot.value = TNTDoCommand('Objects('+cameraName+').GetRotationWorldZ()');
	var pm = getArgument('pm');
	if(pm && pm.length > 1)
		document.renderform.renderpm.value = pm;
	var pmmail = getArgument('pmmail');
	if(pmmail && pmmail.length > 1)
		document.renderform.pmmail.value = pmmail;
	document.renderform.location.value = "cubicasa_"+lanArray[lanIndex][0];
	document.renderform.submit();
}
function RenderThumbnail(num)
{
	var rendername = 'C:\\Comm\\Screenshot' + num + '_' + sessionID + '.bmp';
	var cmd = '"' + rendername + '",0';
	TNTDoCommand('Renderer.SaveImage(' + cmd + ')');
}

function saveThumbs()
{
	changeNavMode(0);
	RenderThumbnail(0);
	changeNavMode(1);
	RenderThumbnail(1);
	changeNavMode(0);
	changeNavMode(2);
	RenderThumbnail(2);
	changeNavMode(0);
	changeNavMode(3);
	RenderThumbnail(3);
	changeNavMode(0);
	changeNavMode(4);
	RenderThumbnail(4);
	setDoneMessage();
}

function setDoneMessage()
{
	document.title = "done:"+sessionID;
	setTimeout("setDoneMessage()",100);
}

var frameIdx=0;
var frameInc=0;
function howManyDigets(number)
{
	var digets = 1;
	while (number / Math.pow(10,digets) >= 1)
		digets++;
	return digets + 1;
}

function saveVideo()
{
	TNTDoCommand('CameraCtrl.SetCurrent("Camera02")');
	currentCamera = 'Camera02';
	updateCameraLight();
	TNTDoCommand('Objects(*).StopAnimation()');
	TNTDoCommand('Objects(*).SetFrame(0)');
	frameIdx = 0;
	frameInc = TNTDoCommand('Objects(*).GetFrameRate()') / 30;
	if (frameInc<1)
	{
		frameInc=1;
	}
	NextVideoFrame();
}

function NextVideoFrame()
{	
	var currFrame = TNTDoCommand('Objects(*).GetFrame()');
	if (currFrame==frameIdx)
	{
		var frameCount = TNTDoCommand('SceneGraph.GetFrameCount()');
		var digitsTotal = howManyDigets(frameCount);
		var digitsFrame = howManyDigets(frameIdx);
		var zeroes = digitsTotal - digitsFrame;
		var zeroString = '';
		while (zeroes)
		{
			zeroString = zeroString + '0';
			zeroes--;
		}
		var name = "C:\\Comm\\Video\\Frame"+zeroString+frameIdx+"_"+sessionID+".bmp";
		TNTDoCommand('Renderer.SaveImage("'+name+'")');
		if (frameIdx<frameCount)
		{
			frameIdx += frameInc;
		}
		else
		{
			setDoneMessage();
			return;
		}
	}
	TNTDoCommand('Objects(*).SetFrame('+frameIdx+')');
	setTimeout('NextVideoFrame()',20);	
}

function savePanoImagesForAllCameras()
{
	savePanoImages("Camera03");
	savePanoImages("Camera04");
	setDoneMessage();
}

function savePanoImages(cameraName)
{
	TNTDoCommand('Objects(*_Text).SetVisible(false)');
	TNTDoCommand('Objects('+cameraName+').SetFOV(90.0)');
	TNTDoCommand('CameraCtrl.SetCurrent("'+cameraName+'")');
	currentCamera = cameraName;
	updateCameraLight();
	var xRot = TNTDoCommand('Objects("'+cameraName+'").GetRotationWorldX()');
	var yRot = TNTDoCommand('Objects("'+cameraName+'").GetRotationWorldY()');
	var zRot = TNTDoCommand('Objects("'+cameraName+'").GetRotationWorldZ()');
	xRot = 90.0;
	yRot = 0.0;
	zRot = -90.0;
	TNTDoCommand('Objects("'+cameraName+'").SetRotationWorld('+xRot+','+yRot+','+zRot+')');
	TNTDoCommand('Renderer.SaveImage("C:\\Comm\\'+cameraName+'_4_'+sessionID+'.bmp")');
	zRot = 0;
	TNTDoCommand('Objects("'+cameraName+'").SetRotationWorld('+xRot+','+yRot+','+zRot+')');
	TNTDoCommand('Renderer.SaveImage("C:\\Comm\\'+cameraName+'_1_'+sessionID+'.bmp")');
	zRot = 180.0;
	TNTDoCommand('Objects("'+cameraName+'").SetRotationWorld('+xRot+','+yRot+','+zRot+')');
	TNTDoCommand('Renderer.SaveImage("C:\\Comm\\'+cameraName+'_3_'+sessionID+'.bmp")');
	zRot = 90.0;
	TNTDoCommand('Objects("'+cameraName+'").SetRotationWorld('+xRot+','+yRot+','+zRot+')');
	TNTDoCommand('Renderer.SaveImage("C:\\Comm\\'+cameraName+'_5_'+sessionID+'.bmp")');
	xRot = -360.0;
	yRot = 0.0;
	zRot = 0.0;
	TNTDoCommand('Objects("'+cameraName+'").SetRotationWorld('+xRot+','+yRot+','+zRot+')');
	TNTDoCommand('Renderer.SaveImage("C:\\Comm\\'+cameraName+'_0_'+sessionID+'.bmp")');
	xRot = -180.0;
	zRot = 180.0;
	TNTDoCommand('Objects("'+cameraName+'").SetRotationWorld('+xRot+','+yRot+','+zRot+')');
	TNTDoCommand('Renderer.SaveImage("C:\\Comm\\'+cameraName+'_2_'+sessionID+'.bmp")');
}
function createTurnTool(width, height, color, transparent, tntDownloadText, coreDownloadText)
{
	if(TNTsupportedPlatform()==true)
	{
		if (ie4||ie5)
		{
			turntoolObject = '<object id="TNTCtrl" width="'+width+'" height="'+height+'" classid="CLSID:402ee96e-2ce8-482d-ada5-ceceea07e16d" codebase="http://www.turntool.com/ViewerInstall.exe#version=2,95,8,0"><param name="transparent" value="'+transparent+'"><param name="ctrl_color" value="'+color+'"><param name="script" value="ProgressBar.SetDownloadText(\''+tntDownloadText+'\');ProgressBar.SetCoreDownloadText(\''+coreDownloadText+'\');TNTCtrl.SetLogo(\'None\');"><param name="src" value="'+filepath+'turntool.tnt"></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+'" src="'+filepath+'turntool.tnt" transparent="0" ctrl_color="'+color+'" script="ProgressBar.SetDownloadText(\''+tntDownloadText+'\');ProgressBar.SetCoreDownloadText(\''+coreDownloadText+'\');TNTCtrl.SetLogo(\'None\');" pluginspage="http://www.turntool.com/ViewerInstall.xpi" pluginsurl="http://www.turntool.com/ViewerInstall.xpi" type="application/tntfile"></embed>';
		}
		if (isTurnToolInstalled()==true)
			element('InstallTag').style.display = 'none';
	}
	else
	{
		turntoolObject = createJavaObject(width, height);
	}
	element('TurnTool').innerHTML = turntoolObject;
}

function createJavaObject(width, height)
{
	turntoolObject = '<applet id="TNTCtrl" name="ptviewer" code="ptviewer.class" width="'+width+'" height="'+height+'" mayscript="true">';
	turntoolObject += '<param name="codebase" value="files/">';
	turntoolObject += '<param name="file"  value="'+filepath+'pano_camera03.jpg">';
	turntoolObject += '<param name="pano0" value="{file='+filepath+'pano_camera03.jpg}{fovmin=40}{fovmax=95}">';
	turntoolObject += '<param name="pano1" value="{file='+filepath+'pano_camera04.jpg}{fovmin=40}{fovmax=95}">';
	turntoolObject += '<param name="debugmode" value="false">';
	turntoolObject += '<param name="accelmouse" value="false">';
	turntoolObject += '<param name="mousesense" value="800">';
	turntoolObject += '<param name="fovmin" value="40">';
	turntoolObject += '<param name="fovmax" value="95">';
	turntoolObject += '<param name="wait" value="files/promo-tnt.jpg">';
	turntoolObject += '<param name="barcolor" value="7a8e48">';
	turntoolObject += '<param name="bgcolor" value="ffffff" >';
	turntoolObject += '</applet>';
	return turntoolObject;
}

function panoImage(panoid)
{
	element('TNTCtrl').newPanoFromList(panoid);
}
var isFullscreen = false;
function fullscreenmode()
{
	var fullscreenmode = getArgument('fullscreen');
	if(	fullscreenmode == "true" )
	{
		isFullscreen = true;
		window.moveTo(0,0)
		window.resizeTo(screen.width,screen.height-30)
		if( typeof( window.innerWidth ) == 'number' ) {
			//Non-IE
			tntWidth = window.innerWidth;
			tntHeight = window.innerHeight;
		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			//IE 6+ in 'standards compliant mode'
			tntWidth = document.documentElement.clientWidth;
			tntHeight = document.documentElement.clientHeight;
		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
			//IE 4 compatible
			tntWidth = document.body.clientWidth;
			tntHeight = document.body.clientHeight;
		}
		var html = '<div id="TurnTool">CubiCasa.com</div><div id="InstallTag"></div>';
		if (document.documentElement && document.documentElement.scrollTop)
			document.documentElement.body.innerHTML = html;
		else if (document.body)
			document.body.innerHTML = html;	
		return true;
	}
	return false;
}

function openTNT(who)
{
	var wid = 'width=700,height=700,';
	if(who.indexOf('fullscreen=true') != -1)
		wid = 'width='+ screen.availWidth + ',height=' + screen.availHeight + ',';
	window.open(who,'tnt',wid+'status=yes,toolbar=no,menubar=no,location=no,scrollbars=no,resizable=yes').focus();
	return false;
}

function getViewabelSize(xaxis)
{
	var winWidth = tntWidth;
	var winHeight = tntHeight;
	if( typeof( window.innerWidth ) == 'number' ) {
			//Non-IE
			winWidth = window.innerWidth;
			winHeight = window.innerHeight;
		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			//IE 6+ in 'standards compliant mode'
			winWidth = document.documentElement.clientWidth;
			winHeight = document.documentElement.clientHeight;
		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
			//IE 4 compatible
			winWidth = document.body.clientWidth;
			winHeight = document.body.clientHeight;
	}
	if(xaxis == true || xaxis.toString().toLowerCase() == 'x')
		return winWidth;
	return winHeight;
}

// =========== PlanEdit Start ==================
function getAbsoluteFilePath()
{
	var fp = window.location.href.toString();
	//fp = fp.replace('/','\\');
	var slash = fp.lastIndexOf('/');
	if(slash == -1)
	{
		slash = fp.lastIndexOf('\\');
		fp = fp.replace('\\\\','//');
	}
	var parms = fp.indexOf('?');
	if(parms == -1)
		parms = fp.indexOf('&');
	if(parms == -1)
		parms = -2;
	if((parms > 0 && slash < parms) || slash > 0)
		return fp.substring(0,slash);
	return '';
}

var currentFloor = 0;
var floorChangeInProgress = false;
function changeFloor(zone)
{
	if(zone.search(/^#StairUp|^#StairDown/) != -1 && floorChangeInProgress == false)
	{
		floorChangeInProgress = zone;
		if(zone.search(/^#StairUp/i)!= -1)
		{
			currentFloor++;	
		}
		else
		{
			currentFloor--;
		}
		createFilePath(currentFloor);
		element('TNTCtrl').src = getAbsoluteFilePath()+'/'+filepath + 'turntool.tnt';
	}
}
// =========== PlanEdit End ==================
