function trim(str) {
	if (str === null)
		return null;
	else
		return str.replace(/^\s*|\s*$/g,"");
}
/*
 Fields need to be exact the same as in customer.php register form.
 Same goes for the profile form.
*/
function checkRegistrationForm() {
	/* define const error markup */
	var normal = "#fff";
	var error = "#f00";
	
	var emptyFields = new Array();
	var emptyFieldsLabels = new Array();
	
	var fields = new Array();
	fields["firstName"] = "Voornaam";
	fields["lastName"] = "Achternaam";
	fields["gender"] = "Geslacht";
	fields["year"] = "Geboortejaar";
	
	fields["straat"] = "Straat";
	fields["huisnummer"] = "Huisnummer";
	fields["zip"] = "Postcode";
	fields["city"] = "Woonplaats";
	fields["country"] = "Land"
	
	fields["email"] = "E-mailadres";
	fields["password"] = "Wachtwoord";
	fields["password2"] = "Wachtwoord herhalen";
	
	fields["agree"] = "Ik ga akkoord...";
	
	/* clean error markup */
	for (var fld in fields) {
		/* handle exceptions */
		// birth date
		if (fld == "year") {
			$("day").style.background = normal;
			$("month").style.background = normal;
			$("year").style.background = normal;
		}
		// gender
		else if (fld == "gender") {
			$("gender_m").style.background = normal;
			$("gender_f").style.background = normal;
		}
		else
			$(fld).style.background = normal;
	}
	
	/* check empty fields */
	for (var fld in fields) {
		if (fld == "gender") {
			var objRadio = document.forms[1].gender;
			var value = "";
			
			for (var i = 0; i < objRadio.length; i++)
				if (objRadio[i].checked)
					value = objRadio[i].value;
				
			if (trim(value).length == 0) {
				emptyFields.push(fld);
				emptyFieldsLabels.push(fields[fld]);
			}
		}
		else if (fld == "agree") {
			if (!$(fld).checked) {
				emptyFields.push(fld);
				emptyFieldsLabels.push(fields[fld]);
			}
		}
		else if (trim($(fld).value).length == 0) {
			emptyFields.push(fld);
			emptyFieldsLabels.push(fields[fld]);
		}
	}
	
	if (emptyFields.length > 0) {
		/* markup empty fields */
		for (var i = 0; i < emptyFields.length; i++) {
			/* handle exceptions */
			// birth date
			if (emptyFields[i] == "year") {
				$("day").style.background = error;
				$("month").style.background = error;
				$("year").style.background = error;
			}
			else if (emptyFields[i] == "gender") {
				$("gender_m").style.background = error;
				$("gender_f").style.background = error;
			}
			else
				$(emptyFields[i]).style.background = error;
		}
		
		// show error message
		alert("U heeft de volgende velden niet ingevuld:\n - " + emptyFieldsLabels.join("\n - ") + "\n\nControleer de velden en probeer opnieuw a.u.b.");
		return false;	
	}
	
	/* check birth year */
	if (isNaN($("year").value) || parseInt($("year").value) < 1900) {
		$("day").style.background = error;
		$("month").style.background = error;
		$("year").style.background = error;
		
		alert("Het door u ingevulde geboortejaar is geen geldig getal. Controleer het getal en probeer opnieuw a.u.b.");
		return false;
	}
	
	/* check e-mail address */
	if (!WMA.Validator.isValidEmail($("email").value)) {
		$("email").style.background = error;
		alert("Het door u ingevulde e-mailadres is geen geldig e-mailadres. Controleer het adres en probeer opnieuw a.u.b.")
		return false;
	}
	
	/* check passwords */
	if ($("password").value != $("password2").value) {
		$("password").style.background = error;
		$("password2").style.background = error;
		
		// clear both fields
		$("password").value = "";
		$("password2").value = "";
		
		alert("De door u ingevulde wachtwoorden komen niet overeen. Vul beide wachtwoorden opnieuw in en probeer opnieuw a.u.b.");
		return false;
	}
	
	return true;
}
function checkProfileForm() {
	/* define const error markup */
	var normal = "#fff";
	var error = "#f00";
	
	var emptyFields = new Array();
	var emptyFieldsLabels = new Array();
	
	var fields = new Array();
	fields["firstName"] = "Voornaam";
	fields["lastName"] = "Achternaam";
	fields["gender"] = "Geslacht";
	
	
	fields["address"] = "Adres";
	fields["zip"] = "Postcode";
	fields["city"] = "Woonplaats";
	fields["country"] = "Land"
	
	fields["email"] = "E-mailadres";
	fields["password"] = "Wachtwoord";
	fields["password2"] = "Wachtwoord herhalen";
	
	/* clean error markup */
	for (var fld in fields) {
		/* handle exceptions */
		// birth date
		if (fld == "year") {
			$("day").style.background = normal;
			$("month").style.background = normal;
			$("year").style.background = normal;
		}
		// gender
		else if (fld == "gender") {
			$("gender_m").style.background = normal;
			$("gender_f").style.background = normal;
		}
		else
			$(fld).style.background = normal;
	}
	
	/* check empty fields */
	for (var fld in fields) {
		if (fld == "gender") {
			var objRadio = document.forms[1].gender;
			var value = "";
			
			for (var i = 0; i < objRadio.length; i++)
				if (objRadio[i].checked)
					value = objRadio[i].value;
				
			if (trim(value).length == 0) {
				emptyFields.push(fld);
				emptyFieldsLabels.push(fields[fld]);
			}
		}
		else if (fld == "agree") {
			if (!$(fld).checked) {
				emptyFields.push(fld);
				emptyFieldsLabels.push(fields[fld]);
			}
		}
		else if (trim($(fld).value).length == 0) {
			emptyFields.push(fld);
			emptyFieldsLabels.push(fields[fld]);
		}
	}
	
	if (emptyFields.length > 0) {
		/* markup empty fields */
		for (var i = 0; i < emptyFields.length; i++) {
			/* handle exceptions */
			// birth date
			if (emptyFields[i] == "year") {
				$("day").style.background = error;
				$("month").style.background = error;
				$("year").style.background = error;
			}
			else if (emptyFields[i] == "gender") {
				$("gender_m").style.background = error;
				$("gender_f").style.background = error;
			}
			else
				$(emptyFields[i]).style.background = error;
		}
		
		// show error message
		alert("U heeft de volgende velden niet ingevuld:\n - " + emptyFieldsLabels.join("\n - ") + "\n\nControleer de velden en probeer opnieuw a.u.b.");
		return false;	
	}
	
	/* check birth year */
	if (isNaN($("year").value) || parseInt($("year").value) < 1900) {
		$("day").style.background = error;
		$("month").style.background = error;
		$("year").style.background = error;
		
		alert("Het door u ingevulde geboortejaar is geen geldig getal. Controleer het getal en probeer opnieuw a.u.b.");
		return false;
	}
	
	/* check e-mail address */
	if (!WMA.Validator.isValidEmail($("email").value)) {
		$("email").style.background = error;
		alert("Het door u ingevulde e-mailadres is geen geldig e-mailadres. Controleer het adres en probeer opnieuw a.u.b.")
		return false;
	}
	
	/* check passwords */
	if ($("password").value != $("password2").value) {
		$("password").style.background = error;
		$("password2").style.background = error;
		
		// clear both fields
		$("password").value = "";
		$("password2").value = "";
		
		alert("De door u ingevulde wachtwoorden komen niet overeen. Vul beide wachtwoorden opnieuw in en probeer opnieuw a.u.b.");
		return false;
	}
	
	return true;
}

function Popup(URL){
	venster = window.open(URL, 'ARCGarden', 'width=420','height=150', 'location=no', 'status=no');
	
}
function mployPopup(){
	window.open('http://m-ploy.nl');
}

function Conditions(){
	this.location.href('/info/algemene_voorwaarden/');
}