function validate_form ( form, def_class, err_class ) 
{
	var form_ok = true;
	for(var i = 0; i < form.elements.length; i++)
	{
		var element = form.elements[i];
		if ( (element.className == def_class) || (element.className == err_class) )
		{
			if( (element.value.length==0) || (element.value==null) )		
			{
				form_ok = false;						
				element.className = err_class ;
			}
			else if ( element.name=="email" )
			{
				if ( !validate_email ( element.value ) )
				{
					form_ok = false;						
					element.className = err_class ;
				}
				else element.className = def_class ;
			}
			else element.className = def_class ;
		}
	}	
	
	if ( !form_ok )		alert ( "veuillez remplir les champs manquants" );
	return ( form_ok );
}

function validate_checkbox ( form, name, def_class, err_class )
{
	var form_ok = false;
	for(var i = 0; i < form.elements.length; i++)
	{
		var element = form.elements[i];
		if ( (element.type == "checkbox") && (element.id == name) )
		{
			if ( (element.className == def_class) || (element.className == err_class) )
			{	
      			if( element.checked == true )		
      			{
      				form_ok = true;						
      			}
      			else element.className = def_class ;
      		}
		}	
	}
	if ( !form_ok )		
	{
		alert ( "veuillez choisir au moins un " + name );
		for(var i = 0; i < form.elements.length; i++)
		{
			var element = form.elements[i];
			if ( (element.type == "checkbox") && (element.id == name) )
			{
				element.className = err_class ;
			}
		}
	}

	return ( form_ok );
}

function validate_email ( address )
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return (filter.test(address));
}
