/* Constantes 
var INPUT_MAX_LENGTH = 99;
var INPUT_POSTAL_CODE_LENGTH = 8;
var INPUT_TEL_LENGTH = 20;
var INPUT_REQUEST_MAX_LENGTH = 8000;
var hashtable_label = new Array();
hashtable_label['nom_demande'] = 'Nom du produit ou service';
hashtable_label['description_demande'] = 'Description de la demande';
hashtable_label['nom'] = 'Nom';
hashtable_label['prenom'] = 'Prénom';
hashtable_label['email'] = 'Email';
hashtable_label['tel'] = 'N° Tél';
hashtable_label['societe'] = 'Société';
hashtable_label['secteur'] = 'Secteur d\'activité';
hashtable_label['code'] = 'Code postal';
hashtable_label['ville'] = 'Ville';
hashtable_label['adresse'] = 'Adresse';
*/


/* Functions */

/**
 * Check if the form is valid
 * If it's not, display an alert with the incorrect fields
 * @return boolean
 */
function is_valid_form (form_name){
	var error_msg = '';
	var INPUT_MAX_LENGTH = 99;
	error_msg += is_valid_field( 'nom', INPUT_MAX_LENGTH );
	error_msg += is_valid_field( 'prenom', INPUT_MAX_LENGTH );
	error_msg += is_valid_email_field( 'email' );
	error_msg += is_valid_field( 'tel', INPUT_TEL_LENGTH );
	error_msg += is_valid_field( 'societe', INPUT_MAX_LENGTH );
	error_msg += is_valid_sector_field( 'secteur' );
	error_msg += is_valid_field( 'adresse', INPUT_MAX_LENGTH );
	error_msg += is_valid_field( 'code', INPUT_POSTAL_CODE_LENGTH );
	error_msg += is_valid_field( 'ville', INPUT_MAX_LENGTH );
/*	error_msg += is_valid_sector_field( 'pays' );*/
	error_msg += is_valid_sector_field( 'etat' );
/*	error_msg += is_valid_field( 'deadline', INPUT_MAX_LENGTH ); */
	error_msg += is_valid_field( 'nom_demande', INPUT_MAX_LENGTH ) ;
	error_msg += is_valid_field( 'description_demande', INPUT_REQUEST_MAX_LENGTH) ;
	error_msg += is_valid_zone( 'bloc_zone' );
	
	if(error_msg.length>0) {
		error_msg = traduc_mess + " :\n" + error_msg;
		alert(error_msg);	
	}
	else{
		if(!document.getElementById('case_condi').checked){
			alert(traduc_cgu);
		}else{
			document.forms[form_name].submit();
		}
	}	 
}

/**
 * Check if the field is valid
 * If it's not, turn the borderColor property of the input to red
 * And return the error message
 * @return string
 */
function is_valid_field( field_name, max_length ){
	var field = document.getElementById(field_name);

	if( field.value.length <= 0 || field.value.length > max_length ){
		return field_error_case( field_name );
	}
	else {
		return field_valid_case( field_name );
	}
}

function is_valid_zone( field_name ){
	//var field = document.getElementById(field_name);
	//if( document.getElementById(field_name).checked ){
	if( document.getElementById("zone1").checked || document.getElementById("zone2").checked || document.getElementById("zone3").checked){
		return '';
	}
	else {
		//return field_error_case( field_name );
		return "- "+hashtable_label[field_name]+"\n";
	}
}

function is_valid_email_field( field_name ){
	var field = document.getElementById(field_name);

//	if( field.value.length <= 0 || field.value.length > max_length ){
	if( !isValidEmail(field.value) ){
		return field_error_case( field_name );
	}
	else {
		return field_valid_case( field_name );
	}
}

function is_valid_sector_field( field_name ){
	var field = document.getElementById(field_name);
	var paysfieldval = document.getElementById('pays').value;
	if(field_name=='etat'){	
		if(paysfieldval=='US' && field.value==traduc_select ){
			return field_error_case( field_name );
		}
		else {
			return field_valid_case( field_name );
		}
	}else{
		if( field.value==traduc_select ){
                        return field_error_case( field_name );
                }
                else {
                        return field_valid_case( field_name );
                }
	}
}

/**
 * If the field is in error
 * we change the border color and return the string error
 *
 * @return string
 */
function field_error_case( field_name )
{
		var field = document.getElementById(field_name);
		
		field.style.borderColor ='red';
		return "- "+hashtable_label[field_name]+"\n";
}

/**
 * If the field is valid
 * we change the border color to none
 *
 * @return string
 */
function field_valid_case( field_name )
{
	var field = document.getElementById(field_name);
	
	field.style.borderColor ='';
	return '';
}
