// Function to clear a field on click, if the contents of the field equals the default content

function clearfield(e,fieldValue) {
	if (!e) var e = window.event
	var el=e.target?e.target:e.srcElement;
	if (el.value == fieldValue) {
		el.value='';
	}
}

// Function to change the color of an item on mouse over (used for the menu)

function setback(e,color) {
	if (!e) var e = window.event
	var el=e.target?e.target:e.srcElement;
	el.style.backgroundColor = color;
}

function submitform(formname) {
	document.forms[''+formname+''].submit();
}

function validateForm(form, fields) {

	for(i=0; i<fields.length; i++)
	{
	
		el = document.getElementById(''+fields[i]+'');

		var email = true;
		if(el.id == "email" || el.id == "Email" && el.value != "") var email = emailCheck(el.value);
		if(!email) return false;
		
		var datum = true;
		if(el.id == "datum") {
			set_datum();
			var datum = validDate(el.value);
		}
		if(!datum) return false;
		
		if(el.value == '' || el.value < 0) {
			
			var name = el.id;
			myString = new String(name);
			myString = myString.replace(/_/g, " ");
			myString = myString.replace(/\d/g, "");
			
			alert('Het veld "' + myString + '" is verplicht');
			return false;
		}
	}
	return true;
}

function emailCheck(email) {

	var string = email;
	if (string.match(/[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/im)) {
		return true;
	} else {
		alert("Het emailadres is ongeldig.");
		return false;
	}
}

function set_variable() {
	var hidden = document.getElementById('offerteaanvraag');
	hidden.value = '1';
}

function validDate(datum) {
		
	var today = new Date();
	var retour = datum.split("-");
	
	var retour_date = new Date();
	retour_date.setFullYear(retour[0], retour[1]-1, retour[2]);
	
	if(retour_date <= today) {
		alert("De retourdatum moet minimaal 1 dag later als vandaag zijn.");
		return false;
	} else {
		return true;
	}
	
}

function set_datum() {
	var velden = new Array('jaar', 'maand', 'dag');
	var datum_array = new Array();
	for(var i=0; i<velden.length; i++) {
		var val = document.getElementById(''+velden[i]+'').value;
		datum_array[i] = val;
	}
	
	document.getElementById('datum').value = datum_array.join("-");
}


function do_it(anchor) {
	document.forms[1].setAttribute('action', ''+anchor+'');
	document.forms[1].submit();
}

var __url_ajax_handler = '/ajax_handler.php';
var referer;


function cp_lookup(page, cp) {
	if(cp == null) {
		var contactpersoon_id = document.getElementById('contactpersoon').value;
	} else {
		var contactpersoon_id = cp.value;	
	}
	
	if(contactpersoon_id == "") return;
	this.referer = page;
	remote_lookup('search_contactpersoon', contactpersoon_id);
}
		
function search_contactpersoon_cb(data)
{
	var id = data[0][0];
	var telefoonnummer = data[0][1];
	var email = data[0][2];
	
	if(telefoonnummer == '' || email == '') {
		window.location = '/contactpersoon.php?id=' + id + '&page=' + this.referer;
	}
	
	return;		
}

function check_aanmelden(select) {
	if(select.value == 1) return;
	
	if(select.id == 'offerte') {
		var referer = 'offerte';
	} else {
		var referer = 'systeem';
	}
	
	window.location = 'aanmelden.php?klant=1&type=' + referer;
}

function validateMTB(form, fields, logged_in) {
	
	if(logged_in == 0) {
		var niveau_array = new Array();
		for(var i=1; i<=4;i++) {
			
			var voornaam = document.getElementById('naam_'+i);
			var achternaam = document.getElementById('achternaam_'+i);

			if(voornaam.value != '' && achternaam.value != '') {		
				var niveau = document.getElementById('niveau_'+i);
				niveau_array[i-1] = niveau.value;
			}
		}
	} else {
		var niveau_array = new Array();
		for(var i=1; i<=4;i++) {
			var cp = document.getElementById('contactpersoon_'+i);
			if(cp.value != '') {		
				var niveau = document.getElementById('niveau_'+i);
				niveau_array[i-1] = niveau.value;
			}	
		}
	}
	
	if(niveau_array.length < 3 && in_array(1, niveau_array)) {
		alert('De bedrijven challenge is alleen mogelijk vanaf drie contactpersonen');
		document.getElementById('refresh').value = true;
		return false;
	}
	
	if(niveau_array.length >= 3 && count_array_value(1, niveau_array) < 3 && count_array_value(1, niveau_array) > 0) {
		alert('De bedrijven challenge is alleen mogelijk vanaf drie contactpersonen');
		document.getElementById('refresh').value = true;
		return false;
	}
	
	for(i=0; i<fields.length; i++)
	{	
		el = document.getElementById(''+fields[i]+'');
		
		var email = true;
		if(el.id == "email" && el.value != "") var email = emailCheck(el.value);
		if(!email) {
			document.getElementById('refresh').value = true;
			return false;
		}
		
		if(el.value == '' || el.value < 0) {
			
			var name = el.id;
			myString = new String(name);
			myString = myString.replace(/_(\d{1,})/g, " ");
			myString = myString.replace(/_/g, " ");
			
			alert('Het veld "' + myString + '" is verplicht');
			document.getElementById('refresh').value = true;
			return false;
		}
		
		if(el.id == 'akkoord' && el.checked == false) {
			alert('U dient akkoord te gaan met de algemene voorwaarden.');
			document.getElementById('refresh').value = true;
			return false;
		}
	}
	

		
	return true;
}

function in_array(val, arr) {
	for (var i=0; i<arr.length; i++) {
		if (arr[i] == val) return true;
	}
	return false;
}

function count_array_value(val, arr) {
	var count = 0;
	
	for (var i=0; i<arr.length; i++) {
		if (arr[i] == val) count++;
	}
	
	return count;
}

function getElementsByClassName(classname, node) {

	if(!node) node = document.getElementsByTagName("body")[0];
	var a = [];
	var re = new RegExp(classname);
	var els = node.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className))a.push(els[i]);
	
	return a;
}

function displayOptions(el, cp) {
	var extra = getElementsByClassName('extra_'+cp);
	
	for(var i=0;i<extra.length;i++) {
		if(el.checked) {
			extra[i].style.display = '';
		} else {
			extra[i].style.display = 'none';		
		}
	}
}
