// Mail Form validation

function is_int(value){
  if((parseFloat(value) == parseInt(value)) && !isNaN(parseInt(value))){
      return true;
 } else {
      return false;
 } 
}

function validateEmail(str)
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1)
	{
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1)
	 {
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	 {
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1)
	 {
		return false
	 }
	
	 if (str.indexOf(" ")!=-1)
	 {
		return false
	 }
	 
	return true					
}

function validatePhoneNumber(str)
{
	if(str.length < 7) return false;
	if(!is_int(str)) return false;
	return true;
}
function validateExactLength(str, length)
{
	if(str.length != length) return false;
	
	return true;
}

function validateNotEmpty(str)
{
	if(str.length > 0) return true;
	
	return false;
}

function fieldValidation(validationType, theField)
{
	if(isNaN(validationType))
	{
		// Soorten validatie
		switch(validationType)
		{
			case 'E-mail':
			if(!validateEmail(theField.value)) return false;
			break;
			
			case 'phone':
			if(!validatePhoneNumber(theField.value)) return false;
			break;
			
			default:
			return true;
			break;
		}
	}
	else
	{
		if(validationType == 0)
		{
			if(!validateNotEmpty(theField.value)) return false;
		}
		else if(validationType > 0)
		{
			if(!validateExactLength(theField.value, validationType)) return false;
		}
	}
	
	return true;
}
function vField(fieldID, validationType)
{
	var theField = document.getElementById(fieldID);
	
	if(!fieldValidation(validationType, theField))
	{
		document.getElementById(fieldID + '_0').style.display = 'inline';
	}
	else
	{
		document.getElementById(fieldID + '_0').style.display = 'none';
	}	
	
}
