// JavaScript Document








var validateFields = Array();


function validateForm()
{
	var returnValue;
	var formValid = true;
	
	if(validateFields.length > 0)
	{
		for(i=0;i<validateFields.length;i++)
		{
			returnValue = checkField(validateFields[i]);
			if(returnValue == false)
			{
				formValid = false;	
			}
		}
	}
	return formValid;
}


function checkField(data)
{
	var fieldValid = true;
	
	data = data.split("//");
	if(document.getElementById(data[0]) != null)
	{
		field = document.getElementById(data[0]);
		
		if(field != null)
		{
			if(data[1] != "isChecked")
			{
				fieldValue = trim(field.value);
			}else
			{
				fieldValue = field.checked;
			}
			switch(data[1])
			{
				case "hasData":
					if(fieldValue == "")
					{
						fieldValid = false;
					}
					break;
				case "isLength":
					if(fieldValue.length < data[2])
					{
						fieldValid = false;
					}
					break;
				case "validEmail":
					fieldValid = checkEmail(fieldValue);
					break;
				case "isChecked":
					if(fieldValue == false)
					{
						fieldValid = false;	
					}
					break;
				case "validPhoneNr":
					fieldValid = checkPhoneNr(fieldValue);
					break;
				case "validBirthday":
					fieldValid = checkBirthday(fieldValue);
					break;
				case "validZipcode":
					fieldValid = checkZipcode(fieldValue);
					break;
				case "hasSelectedValue":
					fieldValid = checkSelectionPicked(data[0]);
					break;
			}		
		}
		if(document.getElementById(data[0]).type != "checkbox" && document.getElementById(data[0]).type != "radio")
		{
			
			if(fieldValid == false)
			{
				document.getElementById(data[0]).style.backgroundColor = '#FFFFB7';
			}else
			{
				document.getElementById(data[0]).style.backgroundColor = '#ffffff';
			}
		}
	}
	return fieldValid;
}


function checkPhoneNr(str)
{
	var fieldValid = true;
	if(isNaN(str))
	{
		str = str.replace("-","");
	}
	if(isNaN(str))
	{
		fieldValid = false;
	}else
	{
		if(str.length != 10)
		{
			fieldValid = false;
		}	
	}
	return fieldValid;
}

function checkZipcode(str)
{
	var fieldValid = true;
	str = str.replace(" ","");	
	str = str.replace("-","");	
	if(str.length < 6)
	{
		fieldValid = false;
	}else
	{
		var code = str.substr(0,4);
		var nr = str.substr(4,2);
		if(isNaN(code) == true)
		{
			fieldValid = false;
		}
		
		if(isNaN(nr) == false)
		{
			fieldValid = false;
		}
	}
	return fieldValid;
}

function checkSelectionPicked(id)
{
	var fieldValid = true;
	var dropdown = document.getElementById(id);
	if(dropdown.options[dropdown.selectedIndex].value == "noValue")
	{
		fieldValid = false;
	}
	return fieldValid;	
}

function checkBirthday(str)
{
	var fieldValid = true;
	var today = new Date();
	
	values = str.split("-");
	if(values.length == 3)
	{
		if(values[2].length != 4 || isNaN(values[2]) || values[2] > today.getFullYear())
		{
			fieldValid = false;
		}
		if(values[1].length == 0 || isNaN(values[1]))
		{
			fieldValid = false;
		}
		if(values[0].length == 0 || isNaN(values[0]))
		{
			fieldValid = false;
		}
	}else
	{
		fieldValid = false;	
	}
	return fieldValid;
}



function checkEmail(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 trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}



















