﻿///////////////////////////////
//////// MachineModule ////////
///////////////////////////////
var currentMachine = undefined;
function initMachinePage(lang)
{
	var hash = window.location.hash;
	var path = window.location.pathname;
	
	if (path.substring(0, 9) == '/machines')
	{
		if (hash == '' || hash == '#!overzicht')
		{
			document.getElementById('machinesajax').style.display = '';
			if (currentMachine != undefined)
			{	
				terugOverzicht();
			}
		}
		else
		{
			try
			{
				var machine = hash.substring(10, hash.indexOf('/'));
				var titel =  hash.substring(hash.indexOf('/') + 1);
				if (currentMachine != machine)
				{
					createIframe(machine, lang, titel);
				}
				document.getElementById('machinesajax').style.display = '';
			}
			catch (err)
			{
				alert(err.message);
			}
		}
		setTimeout('initMachinePage(\'' + lang + '\');', 10);
	}
}


var machines = "";
function fadeMachine(htmlInput, parameter, aantal, source) {
	machines = "";
	//alert(source);
	if (source == 'label')
	{
		if(htmlInput != ""){
			if(document.getElementById(htmlInput).checked){
				document.getElementById(htmlInput).checked = false;
			} else {
				document.getElementById(htmlInput).checked = true;
			}
		}
	}
	
	try{
		if(htmlInput != "cb0"){
			document.getElementById("cb0").checked = false;
		}
		
		var selecterDiv = document.getElementById("selecter");
		var inputs = selecterDiv.getElementsByTagName("input");
		
		for(var i=0; i<aantal; i++){
			// Controle of "alles tonen" aangevinkt is
			if(document.getElementById("cb0").checked == true){
				// Andere inputs uitschakelen
				document.getElementById("hmach"+i).value = true;
			} else {
				document.getElementById("hmach"+i).value = false;
			}
		}		
	} catch(err){
		//alert("1"+err.message);
	}
	
	try{
		if(!document.getElementById("cb0").checked){
			for(var i=0; i<inputs.length; i++){
				if(inputs[i].checked == true){
					if(machines == ""){
						machines += "|"+inputs[i].id.replace("cb", "") + "|";
					} else {
						machines += "&" + "|"+inputs[i].id.replace("cb", "") + "|";
					}
				}
			}
			if(machines != ""){
				var arrWaarden = machines.split("&");
				
				for(var i=0; i<aantal; i++){
					for(var j=0; j< arrWaarden.length; j++){
						if(document.getElementById("hmach"+i).value == "false"){
							if(document.getElementById("mach"+i).className.indexOf(arrWaarden[j]) != -1){
								document.getElementById("hmach"+i).value = "true";		
							}
						}
					}
				}
			}
		} else {
			for(var i=0; i<inputs.length; i++){
				if(inputs[i].type == "checkbox"){
					if(inputs[i].id != "cb0"){
						inputs[i].checked = false;
					} 
				}
			}
		}
	} catch(err){
		//alert("2"+err.message);
	}
	
	try{
		// hidden inputs controleren om te kijken welke (on)zichtbaar gemaakt moeten worden
		for(var i=0; i<aantal; i++){
			if(document.getElementById("hmach"+i).value == "true"){
				fadeMachineIn("mach"+i);
			} else {
				fadeMachineOut("mach"+i);
			}
		}
	} catch(err){
		//alert("3"+err.message);
	}
}

function fadeMachineIn(id){
	if(document.getElementById(id).style.display != ""){
		document.getElementById(id).style.display = "";
		document.getElementById(id).style.visibility = "visible";
		var inactiveElement = Ext.get(id);
		inactiveElement.fadeIn({ endOpacity: 1, duration: 0.2 });
	}
}

function fadeMachineOut(id){
	if(document.getElementById(id).style.display == ""){
		var inactiveElement = Ext.get(id);
		inactiveElement.fadeOut({ endOpacity: 0, duration: 0.2 });
		setTimeout("document.getElementById('"+id+"').style.display = 'none';", 200);
		setTimeout("document.getElementById('"+id+"').style.visibility = 'hidden';", 200);
	}
}

var windowbaselocation = undefined;

function createIframe(id, lang, titel){
	window.location = "#!machine_" + id + "/" + escape(titel.replace(/ /g, '+'));
	currentMachine = id;
	
	var ifrm = document.createElement("IFRAME");
	ifrm.setAttribute("src", "/machinedetail/mi_"+id);
	ifrm.style.width = 700+"px";
	ifrm.style.height = 540+"px";
	ifrm.style.overflow= 'hidden';
	ifrm.id = "detailFrame";
	ifrm.frameBorder = 0;
	
	var tekst = "";
	if(lang=="nl"){
		tekst = "Terug naar overzicht";
	} else if(lang=="en"){
		tekst = "Back to overview";
	} else if(lang=="du"){
		tekst = "Zurück zur Übersicht";
	} else if(lang=="fr"){
		tekst = "Retour au sommaire";
	}
	
	document.getElementById("MachineDetail").innerHTML = "<div id='backbar' onclick='terugOverzicht();'>"+tekst+"</div>";
	document.getElementById("MachineDetail").appendChild(ifrm); 
	document.getElementById("MachineContent").style.display = "none";
	
	// checkboxen disablen maken
	var div = document.getElementById("selecter");
	var inputs = div.getElementsByTagName("input");
	for(var i=0; i<inputs.length; i++){
		if(inputs[i].type == "checkbox"){
			inputs[i].disabled =true;
		}
	}
	
	document.getElementById("sidebar").style.opacity = 3/10;
	document.getElementById("sidebar").style.filter = 'alpha(opacity=' + 3*10 + ')';	
}

function resizeFrame(){
	if(parent.window.document.getElementById("detailFrame") != undefined){
		var iFrameElement = Ext.get("DetailContent");
		parent.window.document.getElementById("detailFrame").style.height = iFrameElement.getHeight()+"px";
	}
}

function terugOverzicht(){
	currentMachine = undefined;
	document.getElementById("MachineContent").style.display = "";
	document.getElementById("MachineDetail").innerHTML = "";
	
	window.location = "#!overzicht";
	
	// checkboxen read-only maken
	var div = document.getElementById("selecter");
	
	var inputs = div.getElementsByTagName("input");
	for(var i=0; i<inputs.length; i++){
		if(inputs[i].type == "checkbox"){
			inputs[i].disabled =false;
		}
	}
	
	document.getElementById("sidebar").style.opacity = 10/10;
	document.getElementById("sidebar").style.filter = 'alpha(opacity=' +10*10 + ')';
}

function validateForm(lang){
	var msg = "";
	
	if(document.getElementById("naam").value == ""){
		if(lang=="1"){
			msg += "- Er is geen naam ingevuld.\r\n";
		} else if(lang=="2"){
			msg += "- No name has been entered.\r\n";
		} else if(lang=="3"){
			msg += "- Es gibt keinen Namen eingegeben.\r\n";
		} else if(lang=="4"){
			msg += "- Il n'ya pas de nom inscrit .\r\n";
		}
	}
	
	if(document.getElementById("email").value == ""){
		if(lang=="1"){
			msg += "- Er is geen e-mail adres ingevuld.\r\n";
		} else if(lang=="2"){
			msg += "- No e-mail address has been entered.\r\n";
		} else if(lang=="3"){
			msg += "- Es gibt kein E-mail Adresse eingegeben.\r\n";
		} else if(lang=="4"){
			msg += "- Il n'y a pas de e-mail entré.\r\n";
		}
	}
	/*
	if(document.getElementById("email").value != ""){
		var email = document.getElementById("email").value;
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!filter.test(email)) {
            if(lang=="1"){
				msg += "- Er is geen geldige e-mailadres ingevuld. \r\n";
			} else if(lang=="2"){
				msg += "- No e-mail has been entered.\r\n";
			} else if(lang=="3"){
				msg += "- Es gibt kein 	e-mail eingegeben.\r\n";
			} else if(lang=="4"){
				msg += "- Il n'y a pas de e-mail entré.\r\n";
			}
        }
	} else if(document.getElementById("email").value == ""){
		if(lang=="1"){
			msg += "- Er is geen geldige e-mailadres ingevuld. \r\n";
		} else if(lang=="2"){
			msg += "- No valid e-mail has been entered.\r\n";
		} else if(lang=="3"){
			msg += "- Es gibt kein gültig e-mail eingegeben.\r\n";
		} else if(lang=="4"){
			msg += "- Il n'y a pas de e-mail entré valide.\r\n";
		}
	}*/
	
	if(msg == ""){
		return true; 
	} else {
		if(lang=="1"){
			alert("Corrigeer de volgende punten: \r\n \r\n"+msg);
		} else if(lang=="2"){
			alert("Correct the following points: \r\n \r\n"+msg);
		} else if(lang=="3"){
			alert("Korrigieren Sie die folgenden Punkte: \r\n \r\n"+msg);
		} else if(lang=="4"){
			alert("Corriger les points suivants: \r\n \r\n"+msg);
		}
		return false;
	}
	return false;
}

//////////////////////
//////// Menu ////////
//////////////////////
var booMenu = false;
var booActive = false;
var menuHeight = 0;

function hideMenu(){
	booActive = false;
}

function showMenu(height){
	if(height != undefined){
		menuHeight = height;
	}
	
	if(booActive == false){
		booActive = true;
		setTimeout("manipulateMenu();", 50);
		
	}
	//booMenu = true;
}

function hideMenu1(){
	if(booMenu){
		var inactiveElement = Ext.get("CategorieDropdown");
		inactiveElement.scale(233, 67);
	}
	booMenu = false;
}

function showMenu1(){
	if(!booMenu){
		var inactiveElement = Ext.get("CategorieDropdown");
		inactiveElement.scale(233, menuHeight);
	}
	booMenu = true;
}

function manipulateMenu(){
	if(booActive){
		setTimeout("manipulateMenu()", 100);
		if(!booMenu){
			setTimeout("showMenu1();", 50);
		}
	} else {
		if(booMenu){
			setTimeout("hideMenu1();", 50);
			
		}
		
	}
}

