// width of TNT window
var tntSizeX = 451;
// height of TNT window
var tntSizeY = 338; 
// path to tnt file from HTML file
var tntSource = 'tnt/bridgewater_hall_300510.tnt';
// path to files folder
var filesPath = '/';
// TNT Back Color
var tntBackColor = '#FFFFFF';
// TNT VideoDevice
var tntVideoDevice = 0;
// TNT Realtime Antialias
var tntRealtimeAntialias = 1;
// TNT Antialias Passes
var tntAntialiasPasses = 2;
// HTML Title text
var tntTitle = 'TurnTool - Interactive Realtime Web 3D';
// HTML desctiption
var tntDescription = 'Visit <a href="http://www.turntool.com">www.turntool.com</a>';
// Enable debugging
var tntDebug = false;
// Debug to HTML using 'DebugInfo' tag.
var tntDebugToHTML = false;
// Debug to Console.
var tntDebugToConsole = false;

addEvent(window,"load",initTurnTool);
addEvent(window,"load",init);



/////////////////////////////////////////////////
// Menu Conrol                                  //
/////////////////////////////////////////////////

// Globals 
var g_PrevSel = "REF_A_A_01";
var g_Dest_Seat = "REF_A_A_01";

// Object definition
function block(name, ref, color) {
	this.name = name;
	this.ref = ref;
	this.color = color;
}
function row(name, ref) {
	this.name = name;
	this.ref = ref;
}
// Alphabet
var alphabet = ["A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","V","W","X","Y","Z"];

// Block array definition (A-H)
var blockArray = new Array();
// Row array definition
for(i=0;i<8	;i++) {
	tmp = alphabet[i];
	self['rowArray_Block'+tmp] = new Array();
}
// Seat array definition
var seatArray_BlockA_RowCA = new Array();
var rowNumbers = [1,6,13,2,12,5,20,5];
for(i=1;i<8;i++) {
	currLet = alphabet[i];
	for(j=0;j<rowNumbers[i];j++) {		
		currLet2 = alphabet[j];
		self['seatArray_Block'+currLet+'_Row'+currLet2] = new Array();
	}
}

// POPULATE ARRAYS
// Blocks
blockColors = ["#868FB1","#868FB1","#868FB1","#C68470","#C68470","#CCCE75","#1B9177","#CCCE75"];
function populateBlockArray() {
	blockArray[0] = new block("Circle Alcove","A",blockColors[0]);
	blockArray[1] = new block("Side Circle*","B",blockColors[1]);
	blockArray[2] = new block("Circle","C",blockColors[2]);
	blockArray[3] = new block("Side Gallery","D",blockColors[3]);
	blockArray[4] = new block("Gallery*","E",blockColors[4]);
	blockArray[5] = new block("Stalls*","G",blockColors[6]);
	blockArray[6] = new block("Choir Circle *","F",blockColors[5]);
	blockArray[7] = new block("Choir Seats","H",blockColors[7]);
}

// Rows
function populateRows(block) {
	switch(block) {
		case 'A':
			rowArray_BlockA[0] = new row("A","A");
			setStyle('rowSelect','background',blockColors[0]);
			setStyle('seatSelect','background',blockColors[0]);
		break
		case 'B':
			rowArray_BlockB[0] = new row("A","A");	
			rowArray_BlockB[1] = new row("B","B");		
			rowArray_BlockB[2] = new row("C","C");		
			rowArray_BlockB[3] = new row("D","D");		
			rowArray_BlockB[4] = new row("E*","E");		
			rowArray_BlockB[5] = new row("F","F");			
			setStyle('rowSelect','background',blockColors[1]);
			setStyle('seatSelect','background',blockColors[1]);			
		break
		case 'C':
			rowArray_BlockC[0] = new row("A","A");		
			rowArray_BlockC[1] = new row("B","B");	
			rowArray_BlockC[2] = new row("C","C");	
			rowArray_BlockC[3] = new row("D","D");	
			rowArray_BlockC[4] = new row("E","E");	
			rowArray_BlockC[5] = new row("F","F");	
			rowArray_BlockC[6] = new row("G","G");	
			rowArray_BlockC[7] = new row("H","H");	
			rowArray_BlockC[8] = new row("J","J");	
			rowArray_BlockC[9] = new row("K","K");	
			rowArray_BlockC[10] = new row("L","L");		
			rowArray_BlockC[11] = new row("M","M");	
			rowArray_BlockC[12] = new row("N","N");		
			setStyle('rowSelect','background',blockColors[2]);	
			setStyle('seatSelect','background',blockColors[2]);			
		break
		case 'D':
			rowArray_BlockD[0] = new row("A","A");		
			rowArray_BlockD[1] = new row("B","B");	
			setStyle('rowSelect','background',blockColors[3]);	
			setStyle('seatSelect','background',blockColors[3]);			
		break
		case 'E':
			rowArray_BlockE[0] = new row("A","A");	
			rowArray_BlockE[1] = new row("B","B");	
			rowArray_BlockE[2] = new row("C","C");	
			rowArray_BlockE[3] = new row("D","D");	
			rowArray_BlockE[4] = new row("E","E");	
			rowArray_BlockE[5] = new row("F","F");	
			rowArray_BlockE[6] = new row("G","G");	
			rowArray_BlockE[7] = new row("H*","H");	
			rowArray_BlockE[8] = new row("J","J");	
			rowArray_BlockE[9] = new row("K","K");	
			rowArray_BlockE[10] = new row("L","L");		
			rowArray_BlockE[11] = new row("M","M");			
			setStyle('rowSelect','background',blockColors[4]);		
			setStyle('seatSelect','background',blockColors[4]);			
		break
		case 'F':
			rowArray_BlockF[0] = new row("A","A");		
			rowArray_BlockF[1] = new row("B*","B");		
			rowArray_BlockF[2] = new row("C","C");		
			rowArray_BlockF[3] = new row("D","D");		
			rowArray_BlockF[4] = new row("E","E");	
			setStyle('rowSelect','background',blockColors[5]);	
			setStyle('seatSelect','background',blockColors[5]);			
		break
		case 'G':
			rowArray_BlockG[0] = new row("A","A");		
			rowArray_BlockG[1] = new row("B*","B");	
			rowArray_BlockG[2] = new row("C","C");	
			rowArray_BlockG[3] = new row("D","D");	
			rowArray_BlockG[4] = new row("E","E");	
			rowArray_BlockG[5] = new row("F","F");	
			rowArray_BlockG[6] = new row("G","G");	
			rowArray_BlockG[7] = new row("H","H");	
			rowArray_BlockG[8] = new row("J","J");	
			rowArray_BlockG[9] = new row("K","K");	
			rowArray_BlockG[10] = new row("L","L");	
			rowArray_BlockG[11] = new row("M","M");	
			rowArray_BlockG[12] = new row("N","N");	
			rowArray_BlockG[13] = new row("P","P");	
			rowArray_BlockG[14] = new row("Q","Q");	
			rowArray_BlockG[15] = new row("R","R");	
			rowArray_BlockG[16] = new row("S","S");	
			rowArray_BlockG[17] = new row("T","T");
			rowArray_BlockG[18] = new row("V","V");		
			rowArray_BlockG[19] = new row("W","W");			
			setStyle('rowSelect','background',blockColors[6]);
			setStyle('seatSelect','background',blockColors[6]);			
		break
		case 'H':
			rowArray_BlockH[0] = new row("A","A");	
			rowArray_BlockH[1] = new row("B","B");	
			rowArray_BlockH[2] = new row("C","C");	
			rowArray_BlockH[3] = new row("D","D");		
			rowArray_BlockH[4] = new row("E","E");		
			setStyle('rowSelect','background',blockColors[7]);
			setStyle('seatSelect','background',blockColors[7]);			
		break
	}
}
var disMessage = "*";
function populateSeatArrays() {
seatArray_BlockA_RowA=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22"];
seatArray_BlockB_RowA=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94"];
seatArray_BlockB_RowB=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94"];
seatArray_BlockB_RowC=["05","06","07","08","09","10","11","12","13","14","15","16","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","79","80","81","82","83","84","85","86","87","88","89","90"];
seatArray_BlockB_RowD=["39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56"];
seatArray_BlockB_RowE=["36"+disMessage,"37"+disMessage,"38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58"+disMessage,"59"+disMessage];
seatArray_BlockB_RowF=["37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58"];
seatArray_BlockC_RowA=["06","07","08","09","10","11","12","13","14","15","16","17","18","19","20"];
seatArray_BlockC_RowB=["05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20"];
seatArray_BlockC_RowC=["04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22"];
seatArray_BlockC_RowD=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23"];
seatArray_BlockC_RowE=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25"];
seatArray_BlockC_RowF=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"];
seatArray_BlockC_RowG=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"];
seatArray_BlockC_RowH=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23"];
seatArray_BlockC_RowJ=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"];
seatArray_BlockC_RowK=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23"];
seatArray_BlockC_RowL=["03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23"];
seatArray_BlockC_RowM=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"];
seatArray_BlockC_RowN=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"];
seatArray_BlockD_RowA=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98"];
seatArray_BlockD_RowB=["11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88"];
seatArray_BlockE_RowA=["22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38"];
seatArray_BlockE_RowB=["22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39"];
seatArray_BlockE_RowC=["20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40"];
seatArray_BlockE_RowD=["04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57"];
seatArray_BlockE_RowE=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58"];
seatArray_BlockE_RowF=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59"];
seatArray_BlockE_RowG=["01","02","03","04","05","06","07","08","09","10","11","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","49","50","51","52","53","54","55","56","57","58","59"];
seatArray_BlockE_RowH=["01","02","03","04","05","06","07","08","09","10","11"+disMessage,"12"+disMessage,"15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","49"+disMessage,"50"+disMessage,"51","52","53","54","55","56","57","58","59","60"];
seatArray_BlockE_RowJ=["05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55"];
seatArray_BlockE_RowK=["08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53"];
seatArray_BlockE_RowL=["18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42"];
seatArray_BlockE_RowM=["19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42"];
seatArray_BlockF_RowA=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48"];
seatArray_BlockF_RowB=["01","02","03","04","05","06","07","08","09"+disMessage,"11","12"+disMessage,"13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37"+disMessage,"38","39"+disMessage,"41","42","43","44","45","46","47","48"];
seatArray_BlockF_RowC=["13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36"];
seatArray_BlockF_RowD=["13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36"];
seatArray_BlockF_RowE=["14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35"];
seatArray_BlockG_RowA=["12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"];
seatArray_BlockG_RowB=["05","06"+disMessage,"07"+disMessage,"11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35"+disMessage,"36"+disMessage,"40"];
seatArray_BlockG_RowC=["04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42"];
seatArray_BlockG_RowD=["02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43"];
seatArray_BlockG_RowE=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45"];
seatArray_BlockG_RowF=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44"];
seatArray_BlockG_RowG=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45"];
seatArray_BlockG_RowH=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44"];
seatArray_BlockG_RowJ=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45"];
seatArray_BlockG_RowK=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44"];
seatArray_BlockG_RowL=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45"];
seatArray_BlockG_RowM=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44"];
seatArray_BlockG_RowN=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45"];
seatArray_BlockG_RowP=["03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42"];
seatArray_BlockG_RowQ=["12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"];
seatArray_BlockG_RowR=["12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33"];
seatArray_BlockG_RowS=["12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"];
seatArray_BlockG_RowT=["12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33"];
seatArray_BlockG_RowV=["12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34"];
seatArray_BlockG_RowW=["13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32"];
seatArray_BlockH_RowA=["18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61"];
seatArray_BlockH_RowB=["07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71"];
seatArray_BlockH_RowC=["03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76"];
seatArray_BlockH_RowD=["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77"];
seatArray_BlockH_RowE=["30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49"];
}

function setStyle(objId, style, value) {
	document.getElementById(objId).style[style] = value;
}

// Populate Lists
function populateBlockList() {
	document.forms.form.blockSelect.length = 0;
	document.forms.form.blockSelect.options[0] = new Option("Please select","none");
	for(var i=0; i<blockArray.length; i++) {
		document.forms.form.blockSelect.options[i+1] = new Option(blockArray[i].name,blockArray[i].ref);
		document.forms.form.blockSelect.options[i+1].id = 'optBlock'+i;
		setStyle('optBlock'+i,'background',blockArray[i].color);
	}
}

function getRows() {
	clearList('rowSelect');
	clearList('seatSelect');
	enableSelect('rowSelect');
	disableSelect('seatSelect');	
	populateRows(document.forms.form.blockSelect.value);
	arrayToUse = self['rowArray_Block'+document.forms.form.blockSelect.value];
	populate_Block(arrayToUse);
	
	window.status = document.forms.form.blockSelect.value;
}

function getRowsClick(block,row,seat) {
	for(i=0;i<blockArray.length;i++) {
		if(blockArray[i].ref==block) {
			selectedOpt=i;
		}
	}
	document.forms.form.blockSelect.options[selectedOpt+1].selected = true;
	clearList('rowSelect');
	clearList('seatSelect');
	enableSelect('rowSelect');
	enableSelect('seatSelect');
	populateRows(block);
	arrayToUse = self['rowArray_Block'+block];
	populate_Block(arrayToUse);
	
	for(i=0;i<arrayToUse.length;i++) {
		if(arrayToUse[i].ref==row) {
			selectedOpt=i;
		}
	}
	document.forms.form.rowSelect.options[selectedOpt+1].selected = true;	
	
	populateSeatArrays();
	arrayToUse = self['seatArray_Block'+block+'_Row'+row];
	populate_Seats(arrayToUse);	
	for(i=0;i<arrayToUse.length;i++) {
		if(arrayToUse[i]==seat) {
			selectedOpt=i;
		}
	}
	document.forms.form.seatSelect.options[selectedOpt+1].selected = true;		
}

function getSeats() {
	clearList('seatSelect');
	enableSelect('seatSelect');
	populateSeatArrays();
	arrayToUse = self['seatArray_Block'+document.forms.form.blockSelect.value+'_Row'+document.forms.form.rowSelect.value];
	populate_Seats(arrayToUse);
	window.status = document.forms.form.rowSelect.value;	

}

function populate_Block(blockArray) {
	document.forms.form.rowSelect.options[0] = new Option("Please select","none");
	for(var i=0; i<blockArray.length; i++) {
		document.forms.form.rowSelect.options[i+1] = new Option(blockArray[i].name,blockArray[i].ref);
		document.forms.form.rowSelect.options[i].id = 'optRow'+i;
	}
}

function populate_Seats(rowArray) {
	document.forms.form.seatSelect.options[0] = new Option("Please select","none");
	for(var i=0; i<rowArray.length; i++) {
		seatValue = rowArray[i].substr(0,2);
		document.forms.form.seatSelect.options[i+1] = new Option(rowArray[i],seatValue);
		document.forms.form.seatSelect.options[i].id = 'optSeat'+i;
	}
}	

function clearList(selectControl) {	
	var theControl = element(selectControl);
	var listLength = theControl.length;
	for(var i=0; i<listLength; i++) {
		theControl.options[0] = null;
	}
	theControl.options[0] = new Option("Please select","none");
}

function disableSelect(selectControl) {
	var theControl = element(selectControl);
	theControl.disabled = true;
}
	
function enableSelect(selectControl) {
	var theControl = element(selectControl);
	theControl.disabled = false;
}	

function init() {
	populateBlockArray();	
	populateBlockList();

	clearList('rowSelect');
	clearList('seatSelect');
	document.forms.form.blockSelect.disabled = true;
	document.forms.form.rowSelect.disabled = true;
	document.forms.form.seatSelect.disabled = true;		

}

function viewSeat() {
	GoToSeat(document.forms.form.blockSelect.value, document.forms.form.rowSelect.value, document.forms.form.seatSelect.value);
}

function GoToSeat(v_Block, v_Row, v_Num){
	
	//cont = document.getElementById('currentSeat');
	//cont.value = 'Block: '+v_Block+' Row: '+v_Row+' Seat: '+v_Num;
	//This enables the previously selected seat after the user has clicked on a new one	
	if(g_PrevSel != "") 
	{
		doTNTCommand('Node("' + g_PrevSel + '").SetEnabled(1)');
		g_PrevSel = g_Dest_Seat;
		//disables selection of the current seat, allowing the user to pick another seat
		doTNTCommand('Node("' + g_Dest_Seat + '").SetEnabled(0)');
	
	}

	//Seat String generated from variables unless Not Applicable (NA)
	if (v_Block != "NA"){
		
		g_Dest_Seat = "REF_" + v_Block + "_" + v_Row + "_" + v_Num;
		
	}

	//This variable represents the position of the camera that moves around the scene
	var Dest_xPos = doTNTCommand('Node("' + g_Dest_Seat + '").GetWorldPositionX()'); 
	var Dest_yPos = doTNTCommand('Node("' + g_Dest_Seat + '").GetWorldPositionY()'); 
	var Dest_zPos = doTNTCommand('Node("' + g_Dest_Seat + '").GetWorldPositionZ()');
	trace("Dest_xPos: "+Dest_xPos+" Dest_yPos: "+Dest_yPos+" Dest_zPos: "+Dest_zPos);
	
	//Sets the position co-ords for the camera to integers
	Dest_xPos = Math.ceil(Dest_xPos);
	Dest_yPos = Math.ceil(Dest_yPos);
	Dest_zPos = Math.ceil(Dest_zPos);
	
	Dest_zPos += 300;	//Raises height from middle of seat to 300 units higher

	//Target is constant(Does not move) and on stage
	var Tar_xPos = doTNTCommand('Node("Dummy01").GetWorldPositionX()');
	var Tar_yPos = doTNTCommand('Node("Dummy01").GetWorldPositionY()');
	var Tar_zPos = doTNTCommand('Node("Dummy01").GetWorldPositionZ()');
	trace("Tar_xPos: "+Tar_xPos+" Tar_yPos: "+Tar_yPos+" Tar_zPos: "+Tar_zPos);
	
	//Sets the target co-ords for the camera to integers
	Tar_xPos = Math.ceil(Tar_xPos);
	Tar_yPos = Math.ceil(Tar_yPos);
	Tar_zPos = Math.ceil(Tar_zPos);
	
	//defining vector _a_ -- This is the vector that is measured against to find the horizontal position... hence no ak or z vector(2 dimensional)
	var ai = -100;
	var aj = 0;
	
	//defining vector b	-- This is the vector from the camera to the stage.
	var bi = Tar_xPos - Dest_xPos;
	var bj = Tar_yPos - Dest_yPos;
	var bk = Tar_zPos - Dest_zPos;
	
	//RotHoriz is worked out using a vector Dot product method. 
	var rotHoriz =(((Math.acos(((ai * bi) + (aj * bj)) /  ((Math.sqrt(ai*ai + aj*aj)) * (Math.sqrt(bi*bi + bj*bj))))) / 6.283) * 360);
	//rotVert is worked out based upon the intial vector calculations and the use of trig.
	var rotVert =((Math.atan (bk / Math.sqrt(bi*bi + bj*bj)) / 6.283) * 360) + 90;
	
	//This flips the angle for rotHoriz for the other side of the hall.
	if (Dest_yPos < Tar_yPos){
		rotHoriz *= (-1);
	}
	trace("rotHoriz: "+rotHoriz+" rotVert:"+rotVert);
	
	//this sets the position of Camera02 -- Note the user is still viewing through Camera01
	doTNTCommand('Node("Camera02").SetWorldPosition('+Dest_xPos+','+Dest_yPos+','+Dest_zPos+')');
	doTNTCommand('Node("Camera02").SetWorldRotation(0,'+rotVert+','+rotHoriz+')');
	
	//Camera01 now matches to Camera02
	doTNTCommand('CurrentCamera().Match("Camera02",1000)');
	
	if(g_Dest_Seat != "STAGE_VIEW") {
		
		theBlock = g_Dest_Seat.substr(4,1);
		theRow = g_Dest_Seat.substr(6,1);
		theSeat = g_Dest_Seat.substr(8,2);
		
		if(v_Block=="NA") {
			getRowsClick(theBlock,theRow,theSeat);
		}
		
		trace("Object clicked: " + g_Dest_Seat + " : "+theBlock+"/"+theRow+"/"+theSeat);
	}

}
function viewStage() {
	g_Dest_Seat = "STAGE_VIEW";
	GoToSeat("NA","NA","NA");
	populateBlockArray();	
	populateBlockList();
	setStyle('rowSelect','background','#FFFFFF');
	setStyle('seatSelect','background','#FFFFFF');		
	clearList('rowSelect');
	clearList('seatSelect');
	document.forms.form.rowSelect.disabled = true;
	document.forms.form.seatSelect.disabled = true;		
}
function mapSelect(block,row,seat) {
	GoToSeat(block,row,seat);
	getRowsClick(block,row,seat);
}

function trace(str) {

	//console.log(str);

}
