// JavaScript Document

//check contact form
function check_contact_form(form)
{
	var proceed = true;
	var msg = "De volgende velden zijn verplicht:\n";
	
	if(form.name.value == "")
	{
		proceed = false;
		msg += "- uw naam\n";
	}
	
	if(form.email.value == "")
	{
		proceed = false;
		msg += "- een correct email adres\n";
	}
	
	if(form.email.value != "" && !isEmail(form.email.value))
	{
		proceed = false;
		msg += "- een correct email adres\n";
	}
	
	if(form.remark.value == "")
	{
		proceed = false;
		msg += "- uw vraag of opmerking\n";
	}
	
	if(form.captcha.value == "")
	{
		proceed = false;
		msg += "- de validatie code\n";
	}
	
	if(proceed){
		return true;	
	}else{
		alert(msg);
		return false;
	}
}

//check observation form
function check_observation_form(form)
{
	if(form.action.value == "true")
	{
		var proceed = true;
		var msg = "De volgende velden zijn verplicht:\n";
		
		var dag = form.day.value;
		var maand = form.month.value;
		var jaar = form.year.value;
		
		var myDate = new Date(jaar,maand-1,dag);
		var today = new Date();
		
		if(myDate > today)
		{
			proceed = false;
			msg += "- een correcte datum\n";
		}
		
		if(form.city_id.value == "")
		{
			proceed = false;
			msg += "- de gemeente\n";
		}
		
		if(form.area.value == "")
		{
			proceed = false;
			msg += "- de plaats of toponiem\n";
		}
		
		if(form.image_bird_id.value != "" && form.userfile.value == "")
		{
			proceed = false;
			msg = "Vergeet u uw foto niet te selecteren? \n";
		}
		
		if(form.userfile.value != "" && form.image_bird_id.value == "")
		{
			proceed = false;
			msg += "- de soort op de foto\n";
		}
		
		if(! check_bird_value(form))
		{
			proceed = false;
			msg += "- tenminste één vogelsoort\n";	
		}
		
		if(! check_number(form))
		{
			proceed = false;
			msg += "- tenminste één aantal\n";
		}
		
		if(! check_number_value(form))
		{
			proceed = false;
			msg += "- juiste aantallen (geef desnoods een schatting of minimum aantal in)\n";	
		}
		
		/*if( check_filesize(form.userfile) ){
			proceed = false;
			msg += "- uw foto overschrijdt de mximum bestandsgrootte van 1MB. Gelieve u foto eerst te verkleinen naar bvb 1024x768px en maximum 1MB groot.\n";
		}*/
		
		//check_filesize(form.userfile);
		
		if(proceed){
			return true;	
		}else{
			alert(msg);
			return false;
		}	
	}
	else
	{
		if(form.userfile.value != "")
		{
			alert("Gelieve de foto pas op het einde te selecteren. Op het moment dat u de waarnemingen gaat opslaan.");
			return false;
		}
		else
		{
			return true;
		}
	}
}

function check_filesize(filefield){

	var oas = new ActiveXObject("Scripting.FileSystemObject");
	var d = filefield.value;
	var e = oas.getFile(d);
	var f = e.size;
	alert(f + " bytes");
}

//check if a bird was chosen
function check_bird_value(form)
{
	var proceed = false;
	
	for(var i=0; i<form["bird_id[]"].length; i++)
	{
		if(form["bird_id[]"][i].value != "")
		{
			proceed = true;
			break;
		}
	}
	
	return proceed;
}


//check if a correct number of birds was entered
function check_number(form)
{
	var proceed = false;
	
	for(var i=0; i<form["number[]"].length; i++)
	{
		if(form["number[]"][i].value != "")
		{
			proceed = true;
			break;
		}
	}
	
	return proceed;
}

//check if a correct number of birds was entered
function check_number_value(form)
{
	var proceed = true;
	
	for(var i=0; i<form["number[]"].length; i++)
	{
		if(form["number[]"][i].value != "")
		{
			if(!in_number_range(form["number[]"][i].value)){
				proceed = false;
				break;
			}	
		}
	}
	
	return proceed;
}

function in_number_range(number){

	//var regEx = /^(((min)|(max))[\.]{0,1}){0,1}[+-±]{0,1}[ ]{0,1}[0-9]+[ ]{0,1}[-+à]{0,1}[ ]{0,1}[0-9]*[ ]{0,1}[+-±]{0,1}$/ig;
	var regEx = /^[0-9]+$/ig;

	if(number.search(regEx) != -1){
		return true;
	}else{
		return false;	
	}

}

function set_action(value)
{
	document.getElementById("action").value = value;
}

//check if email
function isEmail(str) 
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.lastIndexOf(dot)
	var ext = str.substr(ldot+1,lstr-ldot).length;
	
	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
	 }
	
	if(ext < 2 || ext > 4){
		return false;
	}
	
	 return true					
}
