



var path2panos = getPath("Pano");
var path2Logo = getPath("Logo");
document.write('<script src="'+path2panos +'vars.js" type="text/javascript"></script>');

	
// ------------------------------------ Standard-Vars ------------------------


	var path2images = 	"images/";
	var tntSource = 		"pano_spot_500.tnt"; 		// example ( ../tnt/ )
	var tntSizeX = 		500;
	var tntSizeY = 		351;
	var tntCtrlColor = 		'#FFFFFF';
	var tntTransparentOption = 	0;
	var downloadText = 	"Bitte warten, das Panorama wird geladen ...";
	panoRotCamFrm = 	800;

// ------------------------------------ Change Image Functions ------------------------

var panoPhys;
var panoRotCam;
var panoSpotCam;
var panoClickPlane;
var panoPreLoaded = false;
var currentSphere = 0;
var curridx;
var ani;


panoPhys =	"PhysSphere01";
panoRotCam =	"CamRotate01";
panoSpotCam =	"CamSpot01";
panoClickPlane =	"ClickPlane01";



function panoChangeTexture(txplane,txpic)
{		
	commandString = 'SceneGraph.Bitmap("'+txplane+'").Load('+txpic.src+')';
	TNTDoCommand(commandString);
	
}

var loadDone = false;
function checkLoadDone(txplane,gobackidx) 
{ 
	var bLoadDone = 0x0100; 
	var cmd = 'SceneGraph.Bitmap("'+txplane+'").GetProperties()'; 
	var props = TNTDoCommand(cmd);
	
	if (props & bLoadDone)
	{
		loadDone = true;
		panoSwitchRoom(gobackidx);
	}
	else
	{
		setTimeout("checkLoadDone('"+txplane+"','"+gobackidx+"')",20);			
	}
	
	
}

function panoPreload(which) 
{	
	if(panoPreLoaded == false) 
	{
		if(which > -1 && !navButton[currFloor]["tx"][which])
		{	
			navButton[currFloor]["tx"][which] = new Image();
			navButton[currFloor]["tx"][which].src = path2panos + navButton[currFloor]["img"][which];
		}
		else 
		{
			for(j=0;j<navButton.length;j++)
			{
				for(i=0;i<navButton[j]["img"].length;i++)
				{	
					if(!navButton[j]["tx"][i])
					{
						navButton[j]["tx"][i] = new Image();
						navButton[j]["tx"][i].src = path2panos + navButton[j]["img"][i];
					}
				}
			}
			panoPreLoaded = true;
			
		}
	}
}
var x = 0;
function panoSwitch2self() 
{
	TNTDoCommand('Objects('+panoRotCam+').StopAnimation()');
	TNTDoCommand('Objects('+panoClickPlane+').SetEnable(false)');
	
	desRotZ_RotCam = parseFloat(TNTDoCommand('Objects('+panoRotCam+').GetRotationWorldZ()'));
	desRotZ_Phys = parseFloat(TNTDoCommand('Objects('+panoPhys+').GetRotationWorldZ()'));
	desRotZ=360-desRotZ_RotCam+desRotZ_Phys;
	if(desRotZ > 360) desRotZ -= 360;
	
	TNTDoCommand('Objects('+panoPhys+').SetRotationWorld(0,360,'+desRotZ+')');
	
	TNTDoCommand('CameraCtrl.SetCurrent("'+panoSpotCam+'")');
	
	TNTDoCommand('Objects(LogoSpot01).SetVisible(true)');
	TNTDoCommand('Objects(LogoRotate01).SetVisible(false)');
		
	TNTDoCommand('Objects("'+panoRotCam+'").ResetAnimation()');
	
	ani = "stop"
}

function panoSwitch2continue(idx) 
{
	TNTDoCommand('CameraCtrl.Match("'+panoRotCam+'",1000)');
		setTimeout("TNTDoCommand('CameraCtrl.SetCurrent(\"'+panoRotCam+'\")')",1000);

		if(ani == "stop") 
		{
			setTimeout("TNTDoCommand('Objects('+panoRotCam+').PlayAnimation(0,'+panoRotCamFrm+',true)')", 1000);
		}
	
		setTimeout("TNTDoCommand('Objects(LogoSpot01).SetVisible(false)')", 1000);
		setTimeout("TNTDoCommand('Objects(LogoRotate01).SetVisible(true)')", 1000);
	
		setTimeout("TNTDoCommand('Objects('+panoClickPlane+').SetEnable(true)')", 2000);
		
	ani = "run";

		setTimeout("panoSwitchRoom("+idx+")", 1000);
}	

function panoSwitchRoom(idx)
{	
	if(ani == "stop") 
	{ 
		panoSwitch2continue(idx); 
	}
	else 
	{
	panoPreload(idx);
	
	if(currentSphere == 0 && idx != curridx)
	{
		if(loadDone == false)
		{
			panoChangeTexture("Texture01",navButton[currFloor]["tx"][idx]);
			checkLoadDone("Texture01",idx);
		}
		if(loadDone == true)
		{
			TNTDoCommand('Objects(LogoSpot01).SetVisible(false)');
			TNTDoCommand('Objects(LogoRotate01).SetVisible(true)');
			
			TNTDoCommand('Objects('+panoRotCam+').PlayAnimation(0,'+panoRotCamFrm+',true)');
			
			TNTDoCommand('CameraCtrl.SetCurrent("'+panoRotCam+'")');
			
			TNTDoCommand('Objects('+panoClickPlane+').SetEnable(true)');
			TNTDoCommand('Objects(ClickPlane01).SetVisible(false)');
		
			currentSphere = 2;
			ani = "run";
		}
		
	}
	else if(currentSphere == 1 && idx != curridx)
	{
		if(loadDone == false)
		{
			TNTDoCommand('Objects('+panoRotCam+').StopAnimation()');
			panoChangeTexture("Texture01",navButton[currFloor]["tx"][idx]);
			checkLoadDone("Texture01",idx);
		}
		if(loadDone == true)
		{			
			TNTDoCommand('Objects(Label01).PlayAnimation(50,0,false)');
			currentSphere = 2;
				
			setTimeout("panoReStart()",1700);
		}
	}
	else if(currentSphere == 2 && idx != curridx)
	{
		if(loadDone == false)
		{
			TNTDoCommand('Objects('+panoRotCam+').StopAnimation()');
			panoChangeTexture("Texture02",navButton[currFloor]["tx"][idx]);
			checkLoadDone("Texture02",idx);
		}
		if(loadDone == true)
		{
			TNTDoCommand('Objects(Label01).PlayAnimation(0,50,false)');
			currentSphere = 1;
			
			setTimeout("panoReStart()",1700);
		}
	}
	if(loadDone == true)
	{
		curridx = idx;
		if(ie4||ie5) 
		{
			panoPreload();
		}
		loadDone = false;
	}
	} // end else
	
}

function panoReStart() {
	if(ani == "run")
	{
		TNTDoCommand('Objects('+panoRotCam+').StartAnimation()');
	}
}

function OnMouseEnter(obj) 
{
	if(obj == panoClickPlane) 
	{
		panoSwitch2self();
	}
}

function OnMouseExit(obj) 
{}



// ----------------------- NavButtons -------------------------- //

function writeButtonTag(flooridx,num) 
{ 
	imgHTML = '<a id="l'+num+'" href="javascript:viewCam('+num+')';
	 imgHTML += '" alt="';
	 imgHTML += '" title="';
	 imgHTML += navButton[flooridx]["text"][num];
	 imgHTML += '"  class="menu">';
	 imgHTML += navButton[flooridx]["text"][num];
	 imgHTML += '</a>';
 
	 return imgHTML;
}

function writeSelectTag(flooridx) 
{
	selectHTML = '<select name="floor" onChange="genButtons(this.options[this.selectedIndex].value)">';
		for(g=0;g<navButton.length;g++)
		{
			selectHTML += '<option value=';
			selectHTML += '"'+g+'"';
				if(g == currFloor) selectHTML += " selected";
			selectHTML += '>'+navButton[g]["floorname"]+'</option>';
		}
	selectHTML += '</select>';
	return selectHTML; 
}


var currFloor;
var totalButtons;
function genButtons(flooridx)
 {
 	var buttonHTML = '';
	var selectHTML = '';
 	
	currFloor = flooridx;
	curridx = -1;
 	if(navButton.length > 1)
 	{
 		selectHTML = writeSelectTag(flooridx);
 	}
 	
	for(i=0;i<navButton[flooridx]["img"].length;i++) 
	{
		buttonHTML += writeButtonTag(flooridx,i);
	}
	
	element("Geschosse").innerHTML = selectHTML;
	element("Navigation").innerHTML = buttonHTML;
	if(navButton[currFloor]['map'] && navButton[currFloor]['map'] != "")
	{
		element("dynmap").innerHTML = genMap(currFloor);
	}
	viewCam(0);
}


var dot_grey;
var dot_blur;
var dot_active;
function genMap(floor)
{
	dot_grey = new Image(); dot_grey.src = "images/dot_grey.gif";
	dot_blur = new Image(); dot_blur.src = "images/dot_blur.gif";
	dot_active = new Image(); dot_active.src = "images/dot_active.gif";
	
	mapHTML = '<img id="map" src="'+path2panos+navButton[floor]['map']+'" style="position:absolute; top:0px; left:0px; z-index:0;">';
	
	for(i=0 ; i < navButton[floor]['mapcoord'].length ; i++)
	{
		var coord = navButton[floor]['mapcoord'][i].split("|");
		var alttxt = navButton[floor]['text'][i];
		mapHTML += '<a id="dl'+i+'" href="javascript:viewCam('+i+')"';
		mapHTML += ' onMouseOut="mapDotSwitch(\'out\','+i+');"';
		mapHTML += ' onMouseOver="mapDotSwitch(\'over\','+i+');">';
		mapHTML += '<img id="d'+i+'" src="images/dot_grey.gif" style="position:absolute;';
		mapHTML += ' left:'+coord[0]+'px; top:'+coord[1]+'px; z-index:1;" border="0"';
		mapHTML += ' alt="'+alttxt+'" title="'+alttxt+'"></a>';
		
	}
	return mapHTML;
}

var currdot; // wird gebraucht um den Highlightbutton nicht zu verlieren
function mapDotSwitch(status,id)
{
	if(id != currdot && status == "over") 
		element("d"+id).src = dot_blur.src;
	if(id != currdot && status == "out") 
		element("d"+id).src = dot_grey.src;
}


function viewCam(num) 
{
	currdot = num;
	panoSwitchRoom(num);
	for(i=0;i<navButton[currFloor]["img"].length;i++)
	{
		if(i==num)
		{
			element("l"+i).className = "menu_active";
			if(element("d"+i))
				element("d"+i).src = dot_active.src;
		}
		else
		{
			element("l"+i).className = "menu";
			if(element("d"+i))
				element("d"+i).src = dot_grey.src;
		}
	}
}

// ----------------------- Write TNT Tag -------------------------- //



function OnReady()
{
	genButtons(0);
	element("Logo").innerHTML = '<a href="'+customer_url+'" target="_blank"><img src="'+path2Logo+'logo.gif" width="150" height="47" border="0"></a>';
	document.title = customer_title;
	element("Title").innerHTML = "<strong>"+customer_title+"</strong>";
	element("Nav360").style.visibility = "visible";
	//element("TTBg").innerHTML = '<a onmouseout="panoSwitch2continue(curridx);"><img src="images/nix.gif" width="630" height="357" border="0"></a>';
	//startMap(panoRotCam,0);
	//panoPreload();
	
}


function getPath(which) {
	var path = "files/";
	var urlstring = window.location.search;
	
	if(urlstring != "") 
	{
		var undef = urlstring.split("?");
		var args = undef[1].split("&");
		
		customer=args[0].substr(2);
		project=args[1].substr(2);
		if(which == "Logo" || which == "Pano") 
			path += customer + "/";
		if(which == "Pano")
			path += project + "/";
	}
	return path;
}