$(function() {
	// Glow all images with glow class
	$("img.glow, input.glow", this) .hover(
		function() { 
			if($(this).attr("src").indexOf("-on") == -1) {
				$(this).fadeTo("250", 0.5);
				$(this).attr("src", $(this).attr("src").replace(".gif","-on.gif#hover"));
				$(this).attr("src", $(this).attr("src").replace(".png","-on.png#hover"));
				$(this).fadeTo("250", 1);
			} 
		}, 
		function() { 
			if($(this).attr("src").indexOf("-on.gif#hover") != -1 || $(this).attr("src").indexOf("-on.png#hover") != -1) {
				$(this).attr("src", $(this).attr("src").replace("-on.gif#hover", ".gif"));
				$(this).attr("src", $(this).attr("src").replace("-on.png#hover", ".png"));
			}
		}
	); 
	//validate input field on blur
	$("input.validate", this) .blur(
		function() { 
			validateInput(this);
		}
	); 
	//validate select on blur
	$("select.validate", this) .blur(
		function() { 
			validateInput(this);
		}
	); 
	//validate form on submit
	$("form").submit(function() {
		var bPostform;
		//check all input fields for validation
		$(".validate").each(function(){
			var $bValidate = validateInput(this);
			if (!$bValidate) {
				bPostform = 'no-post';
			}
		});
		//post form if al input fields are validated
		if (bPostform == 'no-post') {
			return false;
		} else {
			return true;
		}
	});
	//set checkbox (validate) value on click
	$("input.validate", this).click(
		function() { 
			if ($(this).attr("type") == 'checkbox') {
				if ($(this).attr("value") == 0) {
					$(this).attr("value", 1);
				} else {
					$(this).attr("value", 0);
				}
			}
		}
	); 
	//submit login form on enter press
	$("input").keypress(function (e) {
		if (e.which == 13) {
			document.forms.login.submit()
		}
	});

});

function validateInput(oInput) {
	sValidationType = $(oInput).attr('name');
	sValue = oInput.value;
	switch(sValidationType) {
		case 'contactperson':
			sRegex = /^[A-Za-z0-9-@&!?. ]{5,}$/g;
			sMessage = 'Min. 5 tekens, A-Z en 0-9';
		break;   
		case 'companyname':
			sRegex = /^[A-Za-z0-9-.@/ ]{3,}$/g;
			sMessage = 'Min. 3 tekens, A-Z en 0-9';
		break;   
		case 'address':
			sRegex = /^[A-Za-z0-9-. ]{3,}$/g;
			sMessage = 'Min. 3 tekens, A-Z en 0-9';
		break; 
		case 'zipcode':
			sRegex = /^[A-Z0-9 ]{6,}$/g;
			sMessage = 'Min. 6 tekens, A-Z en 0-9';
		break;
		case 'city':
			sRegex = /^[A-Za-z0-9-. ]{3,}$/g;
			sMessage = 'Min. 3 tekens, A-Z en 0-9';
		break;   
		case 'phone':
			sRegex = /^[0-9- ]{10,}$/g;
			sMessage = 'Min. 10 tekens, 0-9';
		break;   
		case 'mail':
			sRegex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
			sMessage = 'Geen geldig e-mail adres';
		break; 
		case 'useramount':
			sRegex = /^(1[56789])|([2-4]{1}[0-9]{1})$/g;
			sMessage = 'Min. 2 tekens, 0-9';
		break;
		case 'terms-accept':
			sRegex = /^1{1}$/g;
			sMessage = 'Moet geselecteerd zijn';
		break;	
		case 'subject':
			sRegex = /^[A-Za-z0-9-@&!?. ]{5,}$/g;
			sMessage = 'Min. 4 tekens, A-Z en 0-9';
		break;   
		case 'name':
			sRegex = /^[A-Za-z0-9-@&!?. ]{5,}$/g;
			sMessage = 'Min. 5 tekens, A-Z en 0-9';
		break;   
	}
	
	sTest = sValue.match(sRegex, '');
	if (!sTest) {
		$(oInput).css("border-color", "#EC2F00");
		$("label."+sValidationType).empty();
		$("label."+sValidationType).append("<b> ("+sMessage+")</b>");
		return false;
	} else {
		$(oInput).css("border-color", "#CCCCCC");
		$("label."+sValidationType).empty();
		$("label."+sValidationType).append('<img src="/img/icon-success.gif">');
		return true;
	}
}