var red=0;
var debug=0;

var show_names = /^\s*(naam|telefoon|cursus|training|training 2|activiteit|datum)\s*$/,i;


//******* send_form  ****************************************
function send_form(myform)
{
	red=0;
			
	if(!validate_form(myform)) {
			alert('Het formulier is nog niet volledig of correct ingevuld.\nControleer de met rood gemarkeerde velden.'); 
			return false;
	}

	if( window.print && confirm('Wil je het formulier nog afdrukken?\n(OK=afdrukken en versturen, Annuleren of Cancel=alleen versturen)')) 
			window.print();
	
	if(debug) { 
		myform.action='mailto:f.gouverne@casema.nl';
	}

	myform.submit();
}

//***************************************************************
function validate_form(myform)
{
	red=0;

	for(i=0;i<myform.length;i++)  //remove 'red' 
		 remove_red(myform[i]); 

	for(i=0;i<myform.length;i++){  //make red if not correct
		
		var field = myform[i];

		if(field.tagName == 'INPUT' && field.type == 'text' || field.type == 'textarea' ) { //test input text fields
			switch(field.name)
			{
				
				case 'mobiel': 	
					if(myform.telefoon && myform.telefoon.value.search(/[\s\-\.\d]{9,}/) != -1) continue;
				case 'telefoon': 
					if(myform.mobiel && myform.mobiel.value.search(/[\s\-\.\d]{9,}/) != -1) continue;
				case 'telefoon': 
				case 'mobiel': 					
					if(field.value.search(/[\s\-\.\d]{9,}/) == -1)
						if(field.className.search(/niet_verplicht/i) == -1 || field.value.search(/(^\s*$)/) == -1)
							make_red(field)
					break;
				case 'postcode':
					if(field.value.search(/^\s*\d{4}\s*(\w{2})?\s*$/) == -1)						
						if(field.className.search(/niet_verplicht/i) == -1 || field.value.search(/(^\s*$)/) == -1)
							make_red(field)
					break;						
				case 'email':
					if(field.value.search(/(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)/) == -1) 
						if(field.className.search(/niet_verplicht/i) == -1 || field.value.search(/(^\s*$)/) == -1)
							make_red(field)
					break;									
				case 'geboortedatum1':
					if(field.value.search(/[\s\d\W]{4,}/) == -1)					 
						if(field.className.search(/niet_verplicht/i) == -1 || field.value.search(/(^\s*$)/) == -1)
							make_red(field)
					break;
				case 'voornaam1':
				case 'achternaam1':
				case 'woonplaats':
				case 'straat':
					if(field.value.search(/[a-z,A-Z]{2,}/i) == -1)
						if( field.className.search(/niet_verplicht/i) == -1)
							make_red(field); 
			}
		}
			
			else if(field.name == 'geslacht1' && field.tagName == 'INPUT' && (field.type == 'radio' || field.type == 'checkbox')){  //test input radio fields

				var radio = eval('myform.' + field.name);

				for(j=0;j<radio.length;j++)
					if(radio[j].checked) {break;}
					
				if(j>=radio.length) make_red(field);
			}
			
			else if(field.tagName == 'SELECT'){  //test select fields
				switch(field.name)
				{
					case '???':
						//if(field.options[field.selectedIndex].value.search(/.../) == -1) make_red(field);
						break;
					default: 
						if(field.options[field.selectedIndex].value.search(/[a-z,A-Z]{2,}/i) == -1) make_red(field);
				}
			}
	}


	if(red) {if(red.scrollIntoView) red.scrollIntoView(); return 0;} //some fields are not entered correctly...
	
	myform.realname.value = myform.voornaam1.value + ' ' + myform.achternaam1.value;
	//myform.onderwerp.value = myform.onderwerp.value + '\n\nVerstuurd via URL: ' + window.location.href.replace(/\?.*?$/,'');
	myform.emailadres.value = myform.email.value;	

	return 1;
}

//***************************************************************
function make_red(obj)
{
	if(obj.name) var el = document.getElementById('red_' + obj.name.toString());
	else var el = obj;

	if(!red) red=el;

	if(el != undefined && el.style){
		el.style.color = 'red';
		el.style.fontWeight = 'bold';
		if(el.id.search(/nood/i) != -1) nood=true;
	}
}

//***************************************************************
function remove_red(obj)
{
	if(obj.name) var el = document.getElementById('red_' + obj.name.toString());
	else var el = obj;
			
	if(el != undefined && el.style){
		el.style.color='';
		el.style.fontWeight='';
	}
}

//***************************************************************
function getObj(obj_id)
{
	return document.getElementById ? document.getElementById(obj_id) : eval(obj_id);
}
