/* force numeric input */
function forceNumeric(element) {
	if(!element.value.match(/^\d+$/)) {
		while(!element.value.match(/^\d+$/) && (element.value.length > 0)) {
			element.value = element.value.substring(0, element.value.length - 1);
		}
	}
}

/* force numeric input with comma's */
function forceNumericFloat(element) {
	if(!element.value.match(/^\d+$/)) {
		while(!element.value.match(/^(\d|,)+$/) && (element.value.length > 0)) {
			element.value = element.value.substring(0, element.value.length - 1);
		}
	}
}

/* show clever email address */
function showCleverEmail(name, domain) {
	document.write("<a class=\"red\" href=\"mailto:" + name + "@" + domain + "\">" + name + "@" + domain + "</a>");
}

/* expand / collapse form */
function toggleForm(id) {
	if(document.getElementById) {
		objForm		= document.getElementById("form-" + id);
		objImage	= document.getElementById("image-" + id);
		
		if(objForm.style.display == "none") {
			/* expand */
			objForm.style.display	= "block";
			objImage.src			= "images/i_collapse.gif";
		} else {
			/* collapse */
			objForm.style.display	= "none";
			objImage.src			= "images/i_expand.gif";
		}
	}
}

/* remove excess white space */
function trim(string) {
	while(string.substring(0, 1) == " ") {
		string = string.substring(1, string.length);
	}
	
	while(string.substring(string.length - 1, string.length) == " ") {
		string = string.substring(0, string.length - 1);
	}
	return string;
}

/* check guestbook form */
function checkGuestbookForm() {
	if(trim(document.guestbook.name.value) == "") {
		alert("U hebt nog geen naam ingevuld.");
		document.guestbook.name.focus();
		return false;
	}
	
	if(trim(document.guestbook.body.value) == "") {
		alert("U hebt nog geen bericht ingevuld.");
		document.guestbook.body.focus();
		return false;
	}
	
	if(document.guestbook.captcha_code.value.length < 5) {
		alert("U dient de anti-spam code nog na te type.");
		document.guestbook.captcha_code.focus();
		return false;
	}
	
	return true;
}

/* check registration form */
function checkRegistrationForm(checkType) {
	if(checkType == 1) {
		/* first name */
		if(trim(document.register.firstName.value) == "") {
			alert("U hebt geen voornaam ingevuld.");
			document.register.firstName.focus();
			return false;
		}
		
		/* last name */
		if(trim(document.register.lastName.value) == "") {
			alert("U hebt geen achternaam ingevuld.");
			document.register.lastName.focus();
			return false;
		}
		
		
		/* email address */
		if(trim(document.register.emailAddress.value) == "") {
			alert("U hebt geen e-mailadres ingevuld.");
			document.register.emailAddress.focus();
			return false;
		}
		
		/* password 1 */
		if(trim(document.register.password.value) == "") {
			alert("U hebt geen wachtwoord ingevuld.");
			document.register.password.focus();
			return false;
		}
		
		/* password 2 */
		if(trim(document.register.passwordConfirm.value) == "") {
			alert("U hebt uw wachtwoord nog niet bevestigd.");
			document.register.passwordConfirm.focus();
			return false;
		}
		
		/* password */
		if(trim(document.register.password.value) != trim(document.register.passwordConfirm.value)) {
			alert("U hebt twee verschillende wachtwoorden ingevuld.");
			document.register.passwordConfirm.focus();
			return false;
		}
	}
	
	if(checkType == 2) {
		/* postal code (numeric) */
		if(trim(document.register.postalCodeNum.value) == "") {
			alert("U hebt een onvolledige postcode ingevuld.");
			document.register.postalCodeNum.focus();
			return false;
		}
		
		/* postal code (alpha) */
		if(trim(document.register.postalCodeAlpha.value) == "") {
			alert("U hebt een onvolledige postcode ingevuld.");
			document.register.postalCodeAlpha.focus();
			return false;
		}
		
		/* postal code */
		var postalCode = String(trim(document.register.postalCodeNum.value)) + String(trim(document.register.postalCodeAlpha.value));
		if(postalCode.length != 6) {
			alert("U hebt een onvolledige postcode ingevuld.");
			document.register.postalCodeNum.focus();
			return false;
		}
		
		/* house number */
		if(trim(document.register.houseNumber.value) == "") {
			alert("U hebt geen huisnummer ingevuld.");
			document.register.houseNumber.focus();
			return false;
		}
		
		/* payment_option */
		if(trim(document.register.payment_option.value) == "") {
			alert("U hebt geen betalingsmethode gekozen.");
			document.register.payment_select[0].focus();
			return false;
		}
	}
	
	/* invoice street */
	if(trim(document.register.invoiceStreet.value) == "") {
		alert("U hebt geen straatnaam ingevuld (factuuradres).");
		document.register.invoiceStreet.focus();
		return false;
	}

	/* invoice house number */
	if(trim(document.register.invoiceHouseNumber.value) == "") {
		alert("U hebt geen huisnummer ingevuld (factuuradres).");
		document.register.invoiceHouseNumber.focus();
		return false;
	}
	
	/* invoice postal code (num) */
	if(trim(document.register.invoicePostalCodeNum.value) == "") {
		alert("U hebt een onvolledige postcode ingevuld (factuuradres).");
		document.register.invoicePostalCodeNum.focus();
		return false;
	}
	
	/* invoice postal code (alpha) */
	if(trim(document.register.invoicePostalCodeAlpha.value) == "") {
		alert("U hebt een onvolledige postcode ingevuld (factuuradres).");
		document.register.invoicePostalCodeAlpha.focus();
		return false;
	}
	
	/* invoice postal code */
	var postalCode = String(trim(document.register.invoicePostalCodeNum.value)) + String(trim(document.register.invoicePostalCodeAlpha.value));
	if(postalCode.length != 6) {
		alert("U hebt een onvolledige postcode ingevuld (factuuradres).");
		document.register.invoicePostalCodeNum.focus();
		return false;
	}
	
	/* invoice city */
	if(trim(document.register.invoiceCity.value) == "") {
		alert("U hebt geen stad ingevuld (factuuradres).");
		document.register.invoiceCity.focus();
		return false;
	}

	return true;
}

/* check login form */
function checkLoginForm() {
	/* email address */
	if(trim(document.login.emailAddress.value) == "") {
		alert("U hebt nog geen e-mailadres ingevuld.");
		document.login.emailAddress.focus();
		return false;
	}
	
	/* password */
	if(trim(document.login.password.value) == "") {
		alert("U hebt nog geen wachtwoord ingevuld.");
		document.login.password.focus();
		return false;
	}
	
	return true;
}

/* check password form */
function checkPasswordForm() {
	/* email address */
	if(trim(document.password.emailAddress.value) == "") {
		alert("U hebt nog geen e-mailadres ingevuld.");
		document.password.emailAddress.focus();
		return false;
	}
	
	return true;
}

/* check details form */
function checkDetailsForm() {

	if(document.details.deletebox.checked == true) {
		if(confirm("Weet u zeker dat u dit wilt verwijderen?")) {
			document.details.userPhoneNumberArea.value = '0123';
			document.details.userPhoneNumberSubscriber.value = '456789';
			return true;
		} else {
			return false;
		}
	}
	
	
	
	/* password */
	if(trim(document.details.password.value) != trim(document.details.passwordConfirm.value)) {
		alert("U hebt twee verschillende wachtwoorden ingevuld.");
		document.details.passwordConfirm.focus();
		return false;
	}
	
	return true;
}

/* check menu form */
function checkMenuForm() {
	
	/* name */
	if(trim(document.menu.name.value) == "") {
		alert("U hebt geen naam ingevuld.");
		document.menu.name.focus();
		return false;
	}
	
	return true;
}

/* confirm deletion */
function confirmDelete(itemName, url) {
	if(confirm("Weet u zeker dat u " + itemName + " wilt verwijderen?")) {
		location = url;
	} else {
		return false;
	}
}

/* show album image */
function showImage(path, caption) {
	document.getElementById('photo').src = path;
	document.getElementById('photo-caption').innerHTML = caption;
}

/* open virro viewer */
function viewVirro(path) {
	popUp("virro/virroViewer.php", "virro", (390 + 16), (275 + 16), false, "path=" + path);
}

/* open image viewer */
function viewImage(path) {
	popUp("imageViewer.php", "image", (323 + 16), (238 + 16), false, "path=" + path);
}

/* open popup window */
function popUp(url, name, w, h, fullscreen, parameters) {
	fullscreen	= (fullscreen) ? "yes" : "no";
	l			= (screen.width - w) / 2;
	t			= (screen.height - h) / 2;
	window.open(url + "?" + parameters, name, "fullscreen=" + fullscreen + ",scrollbars=no,width=" + w + ",height=" + h + ",left=" + l + ",top=" + t);
	void(0);
}

/* input focus */
function inputFocus(obj) {
	obj.style.backgroundColor	= "#FFC";
	obj.style.color				= "#905";
}

/* input blur */
function inputBlur(obj) {
	obj.style.backgroundColor	= "#FFF";
	obj.style.color				= "#666";
}