/* Gemaakt door Arjan Verwer voor DTC Computershop 
Als u dit wilt gebruiken voor uw site, neem dan contact op met mij: SxDarkOne@hotmail.com

Variabelen klaarmaken.
---------------------------*/

// variabelen voor de coördinaten, bestandsnamen. 
var x = 500;
var y = 500;
var z = 1;
var ext = '.JPG'; //Extensie van de foto's, kan hoofdletter gevoelig zijn.
var loc = 'img/fotos/'; //Locatie van de foto's
var file = loc + x + '_' + y + '_' + z + ext; //Het bestandsnaam met alles aan elkaar geplakt voor de foto's
var txtfile = loc + x + '_' + y + '_' + z + '.txt'; //bestandsnaam voor de tekstbestanden

//variabelen voor de controle of het bestand al is gekeken of hij bestaand of niet.
var check = [file, "temp"]; //Array voor bestanden die bestaan
var n = 1; // Teller voor de array voor bestanden die bestaan
var gone = ["test", "temp"]; //Array voor bestanden die niet bestaan.
var g = 1; // Teller voor de array voor de bestanden die niet bestaan.

//variabelen die gebruikt worden in functies verklaren buiten de functie, zodat ze gezien worden als 'Global' en dus gebruikt kunnen worden in meerdere functies (zolang ze maar niet worden verklaard in de functie zelf).
var imagefile_x_plus;
var imagefile_x_min;
var imagefile_y_plus;
var imagefile_y_min;
var imagefile_z_plus;
var imagefile_z_min;

var disabled_arrow_front = false;
var disabled_arrow_left = false;
var disabled_arrow_back = false;
var disabled_arrow_right = false;
var disabled_arrow_turnleft = false;
var disabled_arrow_turnright = false;

var reqxp;
var reqxm;
var reqyp;
var reqym;
var reqzp;
var reqzm;
var txt;

var shift = false;


/* Dit is een stuk AJAX dat gebruikt kan worden om te kijken of bestanden bestaat, en zonodig opent/leest.
-----------------------------------------------------------------------------------------------------------*/

function getreq()
{	
	if(window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
}

/* Functie dat kijkt of er al is gekeken of het bestand bestaat
Als het bestand al is bekeken, staat het in de array, en geeft 
de functie de waarde true terug.
----------------------------------------------------------------*/
function file_checked(a)
{
	var i;
	for(i=0; i<=n; i++)
	{
		if(check[i] == a)
		{
			return true;
		}
	}
}

/*functie dat kijkt of er al is gekeken of het bestand /niet/ bestaat
Als het bestand al is bekeken (en dus niet bestaat), staat het in de array 
en geeft de functie de waarde true terug.
-------------------------------------------------------------------------*/
function file_gone(b)
{
	var i;
	for(i=0; i<=g; i++)
	{
		if(gone[i] == b)
		{
		return true;
		}
	}
}

/*Functies die kijken of een plaatje bestaat.
En disabled/enabled navigatie pijlen als
het plaatje niet/wel bestaat.
----------------------------------------------*/

/* Deze functie word aangevraagd als er een bestandsnaam is waarvan nog niet is bekeken of het een foto/bestaand bestand is.
Er zijn soorgelijke functies, één voor elke as. Ik schrijf alleen commentaar bij deze, sinds derest in principe het zelfde is,
maar alleen voor andere richtingen/andere coördinaten. De andere functies zin X/Y/Z_Plus/Min_Exists()*/
function X_Plus_Exists()
{
	if(reqxp.readyState == 4)
	{
		if(reqxp.status == 200) //Als het bestand bestaat
		{	
			check[n] = imagefile_x_plus; //bestandsnaam toevoegen aan de array met bestanden die bekeken zijn en bestaan.
			n = n + 1; // teller voor de array met 1 verhogen voor de volgende bestand.
			
			if(z == 1) //Kijken naar Z voor de richting om te bepalen welke navigatie pijl aangepast moet worden. de andere if(z == #)'s in deze functie doen ongeveer het zelfde, maar dan voor een andere navigatieknop.
			{
				if(disabled_arrow_front === true) //Als de bijbehorende navigatieknop nog niet geactiveerd is.
				{
					document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png'; //Het plaatje veranderen van de navigatieknop naar het plaatje voor een geactiveerde knop.
					disabled_arrow_front = false; //Variabele aanpassen zodat de knop geactiveerd word.
				}
			}
			else if(z == 2)
			{
				if(disabled_arrow_left === true)
				{
					document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
					disabled_arrow_left = false;
				}
			}
			else if(z == 3)
			{
				if(disabled_arrow_back === true)
				{
					document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
					disabled_arrow_back = false;
				}
			}
			else if(z == 4)
			{
				if(disabled_arrow_right === true)
				{
					document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
					disabled_arrow_right = false;
				}
			}
		}
		else
		{
			gone[g] = imagefile_x_plus; //bestandsnaam toeveogen aan de array met bestanden die bekeken zij en NIET bestaan.
			g = g + 1; // teller verhogen
			
			if(z == 1) // richtingen bekijken
			{
				document.getElementById('Arrow_Front').src = 'img/arrow_disabled.png'; //plaatje voor een disabled pijltje
				disabled_arrow_front = true; //variabele zetten dat de arrow disabled is.
			}
			else if(z == 2)
			{
				document.getElementById('Arrow_Left').src = 'img/arrow_disabled.png';
				disabled_arrow_left = true;
			}
			else if(z == 3)
			{
				document.getElementById('Arrow_Back').src = 'img/arrow_disabled.png';
				disabled_arrow_back = true;
			}
			else if(z == 4)
			{
				document.getElementById('Arrow_Right').src = 'img/arrow_disabled.png';
				disabled_arrow_right = true;
			}
		}
	}
}
/* Deze functie kijkt of er een afbeelding is waarbij X 1 hoger is dan de huidige afbeelding.
Er zijn soorgelijke functies, één voor elke as. Ik schrijf alleen commentaar bij deze, sinds de rest in principe het zelfde is,
maar alleen voor andere richtingen/andere coördinaten. De andere functies zin Check_X/Y/Z_Plus/Min()*/
function Check_X_Plus()
{
	var X = x + 1; //Maakt een variabele X aan, die alleen te gebruiken is in deze functie, omdat die hier verklaard word.
	imagefile_x_plus = loc + X + '_' + y + '_' + z + ext; //Maakt een variabele voor de locatie/bestandsnaam, waarop daarna gecontroleerd kan worden of die al bestaat.
	if(file_checked(imagefile_x_plus) === true) //Vraagt de functie file_checked() aan. Als hij het antwoord True terug krijgt van de functie, betekend dat het bestand al gecontrolleerd is en bestaat.
	{
		if(z == 1) //zelfde principe als eerder uitgelegd. richting kijken, daarna kijken of de navigatieknop disabled is. Is die disabled, enabled hij de navigatieknop.
		{
			if(disabled_arrow_front === true)
			{
				document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png';
				disabled_arrow_front = false;
			}
		}
		else if(z == 2)
		{
			if(disabled_arrow_left === true)
			{
				document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
				disabled_arrow_left = false;
			}
		}
		else if(z == 3)
		{
			if(disabled_arrow_back === true)
			{
				document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
				disabled_arrow_back = false;
			}
		}
		else if(z == 4)
		{
			if(disabled_arrow_right === true)
			{
				document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
				disabled_arrow_right = false;
			}
		}
	}
	else if(file_gone(imagefile_x_plus) === true) //Vraagt de functie file_gone() aan. Als hij het antwoord True terug krijgt van de functie, betekend dat het bestand al gecontrolleerd is en /NIET/ bestaat.
	{
		if(z == 1)
		{
			document.getElementById('Arrow_Front').src = 'img/arrow_disabled.png';
			disabled_arrow_front = true;
		}
		else if(z == 2)
		{
			document.getElementById('Arrow_Left').src = 'img/arrow_disabled.png';
			disabled_arrow_left = true;
		}
		else if(z == 3)
		{
			document.getElementById('Arrow_Back').src = 'img/arrow_disabled.png';
			disabled_arrow_back = true;
		}
		else if(z == 4)
		{
			document.getElementById('Arrow_Right').src = 'img/arrow_disabled.png';
			disabled_arrow_right = true;
		}
	}
	else //Als de bestandsnaam niet in beide array's staan, gaat die kijken of het bestand bestaat.
	{
	reqxp = getreq();
	reqxp.onreadystatechange = X_Plus_Exists; //Vraagt de functie X_Plus_Exists() aan zodra er een reactie is.
	reqxp.open("get", imagefile_x_plus, true); //Probeerd het bestand te openen. de bestandsnaam is eerder in deze functie 'gemaakt'.
	reqxp.send(null);
	}
}


// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting.
function X_Min_Exists()
{
	if(reqxm.readyState == 4)
	{
		if(reqxm.status == 200)
		{
			check[n] = imagefile_x_min;
			n = n + 1;
			
			if(z == 1)
			{
				if(disabled_arrow_back === true)
				{
					document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
					disabled_arrow_back = false;
				}
			}
			else if(z == 2)
			{
				if(disabled_arrow_right === true)
				{
					document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
					disabled_arrow_right = false;
				}
			}
			else if(z == 3)
			{
				if(disabled_arrow_front === true)
				{
					document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png';
					disabled_arrow_front = false;
				}
			}
			else if(z == 4)
			{
				if(disabled_arrow_left === true)
				{
					document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
					disabled_arrow_left = false;
				}
			}
		}
		else
		{
			gone[g] = imagefile_x_min;
			g = g + 1;
			
			if(z == 1)
			{
				document.getElementById('Arrow_Back').src = 'img/arrow_disabled.png';
				disabled_arrow_back = true;
			}
			else if(z == 2)
			{
				document.getElementById('Arrow_Right').src = 'img/arrow_disabled.png';
				disabled_arrow_right = true;
			}
			else if(z == 3)
			{
				document.getElementById('Arrow_Front').src = 'img/arrow_disabled.png';
				disabled_arrow_front = true;
			}
			else if(z == 4)
			{
				document.getElementById('Arrow_Left').src = 'img/arrow_disabled.png';
				disabled_arrow_left = true;
			}
		}
	}
}
// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting.
function Check_X_Min()
{
	var X = x - 1;
	imagefile_x_min = loc + X + '_' + y + '_' + z + ext;
	if(file_checked(imagefile_x_min) === true)
	{
		if(z == 1)
		{
			if(disabled_arrow_back === true)
			{
				document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
				disabled_arrow_back = false;
			}
		}
		else if(z == 2)
		{
			if(disabled_arrow_right === true)
			{
				document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
				disabled_arrow_right = false;
			}
		}
		else if(z == 3)
		{
			if(disabled_arrow_front === true)
			{
				document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png';
				disabled_arrow_front = false;
			}
		}
		else if(z == 4)
		{
			if(disabled_arrow_left === true)
			{
				document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
				disabled_arrow_left = false;
			}
		}
	}
	else if(file_gone(imagefile_x_min) === true)
	{
		if(z == 1)
		{
			document.getElementById('Arrow_Back').src = 'img/arrow_disabled.png';
			disabled_arrow_back = true;
		}
		else if(z == 2)
		{
			document.getElementById('Arrow_Right').src = 'img/arrow_disabled.png';
			disabled_arrow_right = true;
		}
		else if(z == 3)
		{
			document.getElementById('Arrow_Front').src = 'img/arrow_disabled.png';
			disabled_arrow_front = true;
		}
		else if(z == 4)
		{
			document.getElementById('Arrow_Left').src = 'img/arrow_disabled.png';
			disabled_arrow_left = true;
		}
	}
	else
	{
		reqxm = getreq();
		reqxm.onreadystatechange = X_Min_Exists;
		reqxm.open("get", imagefile_x_min, true);
		reqxm.send(null);
	}
}

// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting.
function Y_Plus_Exists()
{
	if(reqyp.readyState == 4)
	{
		if(reqyp.status == 200)
		{
			check[n] = imagefile_y_plus;
			n = n + 1;
			
			if(z == 1)
			{
				if(disabled_arrow_right === true)
				{
					document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
					disabled_arrow_right = false;
				}
			}
			else if(z == 2)
			{
				if(disabled_arrow_front === true)
				{
					document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png';
					disabled_arrow_front = false;
				}
			}
			else if(z == 3)
			{
				if(disabled_arrow_left === true)
				{
					document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
					disabled_arrow_left = false;
				}
			}
			else if(z == 4)
			{
				if(disabled_arrow_back === true)
				{
					document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
					disabled_arrow_back = false;
				}
			}
		}
		else
		{
			gone[g] = imagefile_y_plus;
			g = g + 1;
			
			if(z == 1)
			{
				document.getElementById('Arrow_Right').src = 'img/arrow_disabled.png';
				disabled_arrow_right = true;
			}
			else if(z == 2)
			{
				document.getElementById('Arrow_Front').src = 'img/arrow_disabled.png';
				disabled_arrow_front = true;
			}
			else if(z == 3)
			{
				document.getElementById('Arrow_Left').src = 'img/arrow_disabled.png';
				disabled_arrow_left = true;
			}
			else if(z == 4)
			{
				document.getElementById('Arrow_Back').src = 'img/arrow_disabled.png';
				disabled_arrow_back = true;
			}	
		}
	}
}
// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting.
function Check_Y_Plus()
{
	var Y = y + 1;
	imagefile_y_plus = loc + x + '_' + Y + '_' + z + ext;
	if(file_checked(imagefile_y_plus) === true)
	{
		if(z == 1)
		{
			if(disabled_arrow_right === true)
			{
				document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
				disabled_arrow_right = false;
			}
		}
		else if(z == 2)
		{
			if(disabled_arrow_front === true)
			{
				document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png';
				disabled_arrow_front = false;
			}
		}
		else if(z == 3)
		{
			if(disabled_arrow_left === true)
			{
				document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
				disabled_arrow_left = false;
			}
		}
		else if(z == 4)
		{
			if(disabled_arrow_back === true)
			{
				document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
				disabled_arrow_back = false;
			}
		}
	}
	else if(file_gone(imagefile_y_plus) === true)
	{
		if(z == 1)
		{
			document.getElementById('Arrow_Right').src = 'img/arrow_disabled.png';
			disabled_arrow_right = true;
		}
		else if(z == 2)
		{
			document.getElementById('Arrow_Front').src = 'img/arrow_disabled.png';
			disabled_arrow_front = true;
		}
		else if(z == 3)
		{
			document.getElementById('Arrow_Left').src = 'img/arrow_disabled.png';
			disabled_arrow_left = true;
		}
		else if(z == 4)
		{
			document.getElementById('Arrow_Back').src = 'img/arrow_disabled.png';
			disabled_arrow_back = true;
		}
	}
	else
	{
		reqyp = getreq();
		reqyp.onreadystatechange = Y_Plus_Exists;
		reqyp.open("get", imagefile_y_plus, true);
		reqyp.send(null);
	}
}

// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting.
function Y_Min_Exists()
{
	if(reqym.readyState == 4)
	{
		if(reqym.status == 200)
		{
			check[n] = imagefile_y_min;
			n = n + 1;
			
			if(z == 1)
			{
				if(disabled_arrow_left === true)
				{
					document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
					disabled_arrow_left = false;
				}
			}
			else if(z == 2)
			{
				if(disabled_arrow_back === true)
				{
					document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
					disabled_arrow_back = false;
				}
			}
			else if(z == 3)
			{
				if(disabled_arrow_right === true)
				{
					document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
					disabled_arrow_right = false;
				}
			}
			else if(z == 4)
			{
				if(disabled_arrow_front === true)
				{
					document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png';
					disabled_arrow_front = false;
				}
			}
		}
		else
		{
			gone[g] = imagefile_y_min;
			g = g + 1;
			
			if(z == 1)
			{
				document.getElementById('Arrow_Left').src = 'img/arrow_disabled.png';
				disabled_arrow_left = true;
			}
			else if(z == 2)
			{
				document.getElementById('Arrow_Back').src = 'img/arrow_disabled.png';
				disabled_arrow_back = true;
			}
			else if(z == 3)
			{
				document.getElementById('Arrow_Right').src = 'img/arrow_disabled.png';
				disabled_arrow_right = true;
			}
			else if(z == 4)
			{
				document.getElementById('Arrow_Front').src = 'img/arrow_disabled.png';
				disabled_arrow_front = true;
			}
		}
	}
}
// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting.
function Check_Y_Min()
{
	var Y = y - 1;
	imagefile_y_min = loc + x + '_' + Y + '_' + z + ext;
	if(file_checked(imagefile_y_min) === true)
	{
		if(z == 1)
		{
			if(disabled_arrow_left === true)
			{
				document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
				disabled_arrow_left = false;
			}
		}
		else if(z == 2)
		{
			if(disabled_arrow_back === true)
			{
				document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
				disabled_arrow_back = false;
			}
		}
		else if(z == 3)
		{
			if(disabled_arrow_right === true)
			{
				document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
				disabled_arrow_right = false;
			}
		}
		else if(z == 4)
		{
			if(disabled_arrow_front === true)
			{
				document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png';
				disabled_arrow_front = false;
			}
		}
	}
	else if(file_gone(imagefile_y_min) === true)
	{
		if(z == 1)
		{
			document.getElementById('Arrow_Left').src = 'img/arrow_disabled.png';
			disabled_arrow_left = true;
		}
		else if(z == 2)
		{
			document.getElementById('Arrow_Back').src = 'img/arrow_disabled.png';
			disabled_arrow_back = true;
		}
		else if(z == 3)
		{
			document.getElementById('Arrow_Right').src = 'img/arrow_disabled.png';
			disabled_arrow_right = true;
		}
		else if(z == 4)
		{
			document.getElementById('Arrow_Front').src = 'img/arrow_disabled.png';
			disabled_arrow_front = true;
		}
	}
	else
	{
		reqym = getreq();
		reqym.onreadystatechange = Y_Min_Exists;
		reqym.open("get", imagefile_y_min, true);
		reqym.send(null); 
	}
}

// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting. Het enigste wat anders is, is dat er niet na de Z as word gekeken, sinds het kijkt voor de Z as.
function Z_Plus_Exists()
{
	if(reqzp.readyState == 4)
	{
		if(reqzp.status == 200)
		{
			check[n] = imagefile_z_plus;
			n = n + 1;
			
			if(disabled_arrow_turnright === true)
			{
				document.getElementById('Nav_Z_Plus').src = 'img/arrow_turnright_active.png';
				disabled_arrow_turnright = false;
			}
		}
		else
		{
			gone[g] = imagefile_z_plus;
			g = g + 1;
			
			document.getElementById('Nav_Z_Plus').src = 'img/arrow_disabled.png';
			disabled_arrow_turnright = true;
		}
	}
}
// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting. Het enigste wat anders is, is dat er niet na de Z as word gekeken, sinds het kijkt voor de Z as.
function Check_Z_Plus()
{	
	var Z;
	if(z == 4)
	{
		Z = 1; //Als Z gelijk is aan 4, word Z 1, want 4 + 1 = 5, en er zijn maar 4 kanten.
	}
	else
	{
		Z = z + 1;
	}
	imagefile_z_plus = loc + x + '_' + y + '_' + Z + ext;
	if(file_checked(imagefile_z_plus) === true)
	{
		if(disabled_arrow_turnright === true)
		{
			document.getElementById('Nav_Z_Plus').src = 'img/arrow_turnright_active.png';
			disabled_arrow_turnright = false;
		}
	}
	else if(file_gone(imagefile_z_plus) === true)
	{
		document.getElementById('Nav_Z_Plus').src = 'img/arrow_disabled.png';
		disabled_arrow_turnright = true;
	}
	else
	{
		reqzp = getreq();
		reqzp.onreadystatechange = Z_Plus_Exists;
		reqzp.open("get", imagefile_z_plus, true);
		reqzp.send(null); 
	}
}

// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting. Het enigste wat anders is, is dat er niet na de Z as word gekeken, sinds het kijkt voor de Z as.
function Z_Min_Exists()
{
	if(reqzm.readyState == 4)
	{
		if(reqzm.status == 200)
		{
			check[n] = imagefile_z_min;
			n = n + 1;
			
			if(disabled_arrow_turnleft === true)
			{
				document.getElementById('Nav_Z_Min').src = 'img/arrow_turnleft_active.png';
				disabled_arrow_turnleft = false;
			}
		}
		else
		{
			gone[g] = imagefile_z_min;
			g = g + 1;
			
			document.getElementById('Nav_Z_Min').src = 'img/arrow_disabled.png';
			disabled_arrow_turnleft = true;
		}
	}
}
// Dit is al uitgelegd, dit is alleen veranderd voor een andere richting. Het enigste wat anders is, is dat er niet na de Z as word gekeken, sinds het kijkt voor de Z as.
function Check_Z_Min()
{
	var Z;
	if(z == 1)
	{
		Z = 4;
	}
	else
	{
		Z = z - 1;
	}
	imagefile_z_min = loc + x + '_' + y + '_' + Z + ext;
	if(file_checked(imagefile_z_min) === true)
	{
		if(disabled_arrow_turnleft === true)
		{
			document.getElementById('Nav_Z_Min').src = 'img/arrow_turnleft_active.png';
			disabled_arrow_turnleft = false;
		}
	}
	else if(file_gone(imagefile_z_min) === true)
	{
		document.getElementById('Nav_Z_Min').src = 'img/arrow_disabled.png';
		disabled_arrow_turnleft = true;
	}
	else
	{
		reqzm = getreq();
		reqzm.onreadystatechange = Z_Min_Exists;
		reqzm.open("get", imagefile_z_min, true);
		reqzm.send(null); 
	}
}

/* Hier word gekeken welke functie aangevraagd moet worden om te kijken welke kant voor/achter/links/rechts is en of dat plaatje bestaat.
Deze functies worden aangevraagd door Check_Img
--------------------------------------------------------------------------------------------------------------------------------------------*/
function Check_Front()
{
	if(z == 1) // Als Z gelijk is aan 1
	{
		Check_X_Plus(); // Dan is voren Check_X_Plus
	}
	else if(z == 2)
	{
		Check_Y_Plus();
	}
	else if(z == 3)
	{
		Check_X_Min();
	}
	else if(z == 4)
	{
		Check_Y_Min();
	}
}

function Check_Right()
{
	if(z == 1)
	{
		Check_Y_Plus();
	}
	else if(z == 2)
	{
		Check_X_Min();
	}
	else if(z == 3)
	{
		Check_Y_Min();
	}
	else if(z == 4)
	{
		Check_X_Plus();
	}
}

function Check_Back()
{
	if(z == 1)
	{
		Check_X_Min();
	}
	else if(z == 2)
	{
		Check_Y_Min();
	}
	else if(z == 3)
	{
		Check_X_Plus();
	}
	else if(z == 4)
	{
		Check_Y_Plus();
	}
}

function Check_Left()
{
	if(z == 1)
	{
		Check_Y_Min();
	}
	else if(z == 2)
	{
		Check_X_Plus();
	}
	else if(z == 3)
	{
		Check_Y_Plus();
	}
	else if(z == 4)
	{
		Check_X_Min();
	}
}

/* Functie dat tekst leest als er een bestandje is met de zelfde bestandsnaam.
-------------------------------------------------------------------------------*/

function Update_Text()
{
	if(txt.readyState == 4)
	{
		if(txt.status == 200)
		{
			document.getElementById('txt').innerHTML = txt.responseText; //Als er tekst is, veranderd hij de tekst van de Div 'txt' naar de inhoud van het tekst bestand.
		}
		else
		{
			document.getElementById('txt').innerHTML = ''; //Als er geen tekst is, veranderd hij te tekst naar niks.
		}
	}
}
function Check_Text()
{
	txt = getreq();
	txt.onreadystatechange = Update_Text;
	txt.open("get", txtfile, true);
	txt.send(null); 
}

/* functie dat elke functie aanroept die kijkt of er een afbeelding is naar 'een andere kant toe'.
Deze functie word aangevraagd zodra er op een pijl word geklikt.
-------------------------------------------------------------------------------------------------*/
function Check_Img() 
{
	Check_Front();
	Check_Back();
	Check_Right();
	Check_Left();
	Check_Z_Plus();
	Check_Z_Min();
	Check_Text();
}

/* Deze functies worden aangeroepen door de functies die kijken welke functie aangeroepen moet worden als je links gaat. 
Sinds je kan draaien, is links niet altijd Plus_Y()
------------------------------------------------------------------------------------------------------------------------*/

function Plus_X()
{
	x = x + 1; //Sinds het plaatje 1 hogere 'x' moet hebben, berekend hij dat.
	Check_Img(); //Vraagt gelijk de funcite Check_Img aan, anders duurt het lang voordat de pijlen gedisabled worden indien dat moet.
	file = loc + x + '_' + y + '_' + z + ext; //Veranderd de bestandsnaam
	document.getElementById('foto').src = file; //Veranderd de foto naar de aangepaste bestandsnaam.
	txtfile = loc + x + '_' + y + '_' + z + '.txt'; //Veranderd de naam voor het tekst bestand
	Check_Text(); //roept de functie aan die kijkt of er een tekst bestand is.
}

function Plus_Y()
{
	y = y + 1;
	Check_Img();
	file = loc + x + '_' + y + '_' + z + ext;
	document.getElementById('foto').src = file;
	txtfile = loc + x + '_' + y + '_' + z + '.txt';
	Check_Text();
}

function Plus_Z()//Word aangevraagd door een OnClick event in index.php
{
	if(disabled_arrow_turnright === false) //Plus_Z is altijd draaien naar links, daarom word er niet gekeken bij Go_left/right/front/back (die verder naar onder staan) of hij ook disabled is. 
	{																								//Want als die disabled is, mag er niet op geklikt worden.
		if(z == 4)
		{
			z = 1;
		}
		else
		{
			z = z + 1;
		}
		Check_Img();
		file = loc + x + '_' + y + '_' + z + ext;
		document.getElementById('foto').src = file;
		txtfile = loc + x + '_' + y + '_' + z + '.txt';
		Check_Text();
	}
}

function Min_X()
{
	x = x - 1;
	Check_Img();
	file = loc + x + '_' + y + '_' + z + ext;
	document.getElementById('foto').src = file;
	txtfile = loc + x + '_' + y + '_' + z + '.txt';
	Check_Text();
}

function Min_Y()
{
	y = y - 1;
	Check_Img();
	file = loc + x + '_' + y + '_' + z + ext;
	document.getElementById('foto').src = file;
	txtfile = loc + x + '_' + y + '_' + z + '.txt';
	Check_Text();
}

function Min_Z() //Word aangevraagd door een OnClick event in index.php
{
	if(disabled_arrow_turnleft === false) //Zelfde als bij Z_Plus
	{
		if(z == 1)
		{
			z = 4;
		}
		else
		{
			z = z - 1;
		}
		Check_Img();
		file = loc + x + '_' + y + '_' + z + ext;
		document.getElementById('foto').src = file;
		txtfile = loc + x + '_' + y + '_' + z + '.txt';
		Check_Text();
	}
}

/* Deze functies worden aangevraagd door een OnClick event in index.php
Hier word gekeken welke as berekend moet worden als je in een bepaalde richting wilt
door naar de Z as te kijken (de richting waarna je kijkt)
-----------------------------------------------------------------------------------*/

function Go_Front()
{
	if(disabled_arrow_front === false)
	{
		if(z == 1)
		{
			Plus_X();
		}
		else if(z == 2)
		{
			Plus_Y();
		}
		else if(z == 3)
		{
			Min_X();
		}
		else if(z == 4)
		{
			Min_Y();
		}
	}
}

function Go_Right()
{
	if(disabled_arrow_right === false)
	{
		if(z == 1)
		{
			Plus_Y();
		}
		else if(z == 2)
		{
			Min_X();
		}
		else if(z == 3)
		{
			Min_Y();
		}
		else if(z == 4)
		{
			Plus_X();
		}
	}
}

function Go_Back()
{
	if(disabled_arrow_back === false)
	{
		if(z == 1)
		{
			Min_X();
		}
		else if(z == 2)
		{
			Min_Y();
		}
		else if(z == 3)
		{
			Plus_X();
		}
		else if(z == 4)
		{
			Plus_Y();
		}
	}
}

function Go_Left()
{
	if(disabled_arrow_left === false)
	{
		if(z == 1)
		{
			Min_Y();
		}
		else if(z == 2)
		{
			Plus_X();
		}
		else if(z == 3)
		{
			Plus_Y();
		}
		else if(z == 4)
		{
			Min_X();
		}
	}
}

/* Deze functies worden aangevraagd door een OnMouseOver en OnMouseOut events in index.php.
--------------------------------------------------------------------------------------------*/
function Hover_Arrow_Front() //Word dus aangevraagd door een OnMouseOver. Dus als de muis boven een navigatieknop hangt.
{
	if(disabled_arrow_front === false) //Als de navigatie knop niet disabled is
	{
		document.getElementById('Arrow_Front').src = 'img/arrow_up_hover.png'; //Dan veranderd hij de afbeelding. Want als de knop disabled is, en de afbeelding word toch veranderd bij OnMouseOver, onstaat er verwarring.
	}
}
function Active_Arrow_Front() //Word dus aangevraagd door een OnMouseOut. Dus als de muis niet meer boven de navigatieknop hangt.
{
	if(disabled_arrow_front === false) //Als de navigatie knop niet disabled is.
	{
		document.getElementById('Arrow_Front').src = 'img/arrow_up_active.png'; //Dan veranderd hij de afbeelding terug naar actief. Want als de knop disabled is, en de afbeelding word toch veranderd bij OnMouseOut, onstaat er verwarring.
	}
}

function Hover_Arrow_Left()
{
	if(disabled_arrow_left === false)
	{
		document.getElementById('Arrow_Left').src = 'img/arrow_left_hover.png';
	}
}
function Active_Arrow_Left()
{
	if(disabled_arrow_left === false)
	{
		document.getElementById('Arrow_Left').src = 'img/arrow_left_active.png';
	}
}

function Hover_Arrow_Back()
{
	if(disabled_arrow_back === false)
	{
		document.getElementById('Arrow_Back').src = 'img/arrow_down_hover.png';
	}
}
function Active_Arrow_Back()
{
	if(disabled_arrow_back === false)
	{
		document.getElementById('Arrow_Back').src = 'img/arrow_down_active.png';
	}
}

function Hover_Arrow_Right()
{
	if(disabled_arrow_right === false)
	{
		document.getElementById('Arrow_Right').src = 'img/arrow_right_hover.png';
	}
}
function Active_Arrow_Right()
{
	if(disabled_arrow_right === false)
	{
		document.getElementById('Arrow_Right').src = 'img/arrow_right_active.png';
	}
}

function Hover_Arrow_Turnright()
{
	if(disabled_arrow_turnright === false)
	{
		document.getElementById('Nav_Z_Plus').src = 'img/arrow_turnright_hover.png';
	}
}
function Active_Arrow_Turnright()
{
	if(disabled_arrow_turnright === false)
	{
		document.getElementById('Nav_Z_Plus').src = 'img/arrow_turnright_active.png';
	}
}

function Hover_Arrow_Turnleft()
{
	if(disabled_arrow_turnleft === false)
	{
		document.getElementById('Nav_Z_Min').src = 'img/arrow_turnleft_hover.png';
	}
}
function Active_Arrow_Turnleft()
{
	if(disabled_arrow_turnleft === false)
	{
		document.getElementById('Nav_Z_Min').src = 'img/arrow_turnleft_active.png';
	}
}

/* Functie die kijkt of er op een toets is gedrukt, als het een toets is die bedoeld was voor het navigeren, dan vraagt hij de functie aan voor het navigeren.
	De functie kijkt naar de keycode. Elke keycode hoort bij een toets/letter.*/
function check_key(e)
{
	var keynum; //variabele local maken voor de functie
	
	if(window.event) // Voor Internet Explorer
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Voor Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
		
	if(keynum == 81) //Als Q word ingedrukt,
	{
		Min_Z(); //Word de Min_Z / Draaien naar links functie aangevraagd.
	}
	else if(keynum == 87) //Als W word ingedrukt,
	{
		Go_Front(); //Word de Go_Front / naar voren gaan functie aangevraagd.
	}
	else if(keynum == 69) //Als E word ingedrukt,
	{
		Plus_Z(); //Word de Plus_Z / Draaien naar rechts functie aangevraagd.
	}
	else if(keynum == 65) // Als A word ingedrukt,
	{
		Go_Left(); //Word de Go_Left / naar links gaan functie aangevraagd.
	}
	else if(keynum == 83) //Als S word ingedrukt,
	{
		Go_Back(); //Word de Go_Back / naar achteren gaan functie aangevraagd.
	}
	else if(keynum == 68) //Als D word ingedrukt,
	{
		Go_Right(); //Word de Go_Right / naar rechts gaan functie aangevraagd.
	}
}

function help()
{
	document.getElementById('txt').innerHTML = 'Klik met de muis op de navigatieknoppen om de winkel te bekijken. Heb geduld met het drukken op de navigatieknoppen totdat de pagina klaar is met laden.';
}

// <br /> U kunt ook de toetsen gebruiken: <br /> <strong>Q</strong> = Naar links draaien, <strong>W</strong> = Naar voren gaan, <strong>E</strong> = Naar rechts draaien<br /> <strong>A</strong> = Naar links gaan, <strong>S</strong> = Naar achteren gaan, <strong>D</strong> = Naar rechts gaan
