// JavaScript Document
function isNumeric(num) {
	reg = new RegExp("[^0-9]", "i");
    if (!reg.test(num)){
  		return true;
   	}else{
		return false;
	}
}

/* FUNCTION VERIFICATION EMAIL */
function checkMail(email)
{
	//var x = document.forms[0].email.value;
	var x = email;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else return false;
}
<!-- HIGHLIGHT -->
function highlight_str(champ,size){
	//document.getElementById('td_'+champ).innerHTML = '<input style="border:1px solid #FF0000" type="text" value="" name="'+champ+'" id="'+champ+'" size="'+size+'" onfocus="javascript:downlight_str(\''+champ+'\',\''+size+'\');" />';
	document.getElementById(champ).style.borderColor = 'red';

}
function highlight_num(champ,size){
	//document.getElementById('td_'+champ).innerHTML = '<input style="border:1px solid #FF0000" type="text" value="" name="'+champ+'" id="'+champ+'" size="'+size+'" onfocus="javascript:downlight_num(\''+champ+'\',\''+size+'\');" />';
	document.getElementById(champ).style.borderColor = 'red';
}
function highlight_num_decimal(champ,size){
	//document.getElementById('td_'+champ).innerHTML = '<input style="border:1px solid #FF0000" type="text" value="" name="'+champ+'" id="'+champ+'" size="'+size+'" onfocus="javascript:downlight_num_decimal(\''+champ+'\',\''+size+'\');" />';
	document.getElementById(champ).style.borderColor = 'red';
}
function highlight_radio(champ){
	switch(champ){
		case 'zone':
			//document.getElementById('td_'+champ).innerHTML = '<span style="color:#FF0000">Zone scolaire :</span>';
			document.getElementById(champ).style.borderColor = 'red';
			break;
		case 'gestion':
			//document.getElementById('td_'+champ).innerHTML = '<span style="color:#FF0000">Etablissement en gestion directe :</span>';
			document.getElementById(champ).style.borderColor = 'red';
			break;
		case 'participant':
			//document.getElementById('td_'+champ).innerHTML = '<span style="color:#FF0000">Avez-vous d&eacute;j&agrave; particip&eacute; &agrave; l&rsquo;une des pr&eacute;c&eacute;dentes &eacute;ditions :</span>';
			document.getElementById(champ).style.borderColor = 'red';
			break;
		case 'grossiste':
			//document.getElementById('td_'+champ).innerHTML = '<span style="color:#FF0000">Avez-vous eu l&rsquo;information par le biais d&rsquo;un grossiste :</span>';
			document.getElementById(champ).style.borderColor = 'red';
			break;
		/*case 'dejeuner':
			document.getElementById('td_'+champ).innerHTML = '<span style="color:#FF0000">R&eacute;alisez-vous des petits d&eacute;jeuners :</span>';
			break;*/
		case 'civilite':
			//document.getElementById('td_'+champ).innerHTML = '<span style="color:#FF0000">Civilit&eacute; :</span>';
			document.getElementById(champ).style.borderColor = 'red';
			break;
		default:
			break;
	}
}
function highlight_select(champ){
	switch(champ){
		case 'type':
			//document.getElementById('td_'+champ).innerHTML = '<span style="color:#FF0000">Type d&rsquo;&eacute;tablissement :</span>';
			document.getElementById(champ).style.borderColor = 'red';
			break;
		case 'region':
			//document.getElementById('td_'+champ).innerHTML = '<span style="color:#FF0000">R&eacute;gion :</span>';
			document.getElementById(champ).style.borderColor = 'red';
			break;
		default:
			break;
	}
}
<!-- DOWNLIGHT -->
function downlight_str(champ,size){
	document.getElementById('td_'+champ).innerHTML = '<input name="'+champ+'" type="text" id="'+champ+'" size="'+size+'" value="" />';
	document.getElementById(champ).focus();
}
function downlight_num(champ,size){
	document.getElementById('td_'+champ).innerHTML = '<input name="'+champ+'" type="text" id="'+champ+'" size="'+size+'" value="" onkeypress="javascript:chiffres(event);" />';
	document.getElementById(champ).focus();
}
function downlight_num_decimal(champ,size){
	document.getElementById('td_'+champ).innerHTML = '<input name="'+champ+'" type="text" id="'+champ+'" size="'+size+'" value="" onkeypress="javascript:chiffres_decimale(event);" onKeyUp="virgule(\''+champ+'\');" />';
	document.getElementById(champ).focus();
}
function downlight_radio(champ){
	switch(champ){
		case 'zone':
			document.getElementById('td_'+champ).innerHTML = 'Zone scolaire :';
			break;
		case 'gestion':
			document.getElementById('td_'+champ).innerHTML = 'Etablissement en gestion directe :';
			break;
		case 'participant':
			document.getElementById('td_'+champ).innerHTML = 'Avez-vous d&eacute;j&agrave; particip&eacute; &agrave; l&rsquo;une des pr&eacute;c&eacute;dentes &eacute;ditions :';
			break;
		case 'grossiste':
			document.getElementById('td_'+champ).innerHTML = 'Avez-vous eu l&rsquo;information par le biais d&rsquo;un grossiste :';
			break;
		/*case 'dejeuner':
			document.getElementById('td_'+champ).innerHTML = 'R&eacute;alisez-vous des petits d&eacute;jeuners :';
			break;*/
		case 'civilite':
			document.getElementById('td_'+champ).innerHTML = 'Civilit&eacute; :';
			break;
		default:
			break;
	}
}
function downlight_select(champ){
	switch(champ){
		case 'type':
			document.getElementById('td_'+champ).innerHTML = 'Type d&rsquo;&eacute;tablissement :';
			break;
		case 'region':
			document.getElementById('td_'+champ).innerHTML = 'R&eacute;gion :';
			break;
			break;
		default:
			break;
	}
}
<!-- CHECK RADIO -->
function check_radio1(){
	if(!document.getElementById('zone_A').checked && !document.getElementById('zone_B').checked && !document.getElementById('zone_C').checked){
		highlight_radio('zone');
		return false;
	}else{
		return true;
	}	
}
function check_radio2(){
	if(!document.getElementById('gestion_oui').checked && !document.getElementById('gestion_non').checked){
		highlight_radio('gestion');
		return false;
	}else{
		return true;
	}	
}
function check_radio3(){
	if(!document.getElementById('participant_oui').checked && !document.getElementById('participant_non').checked){
		highlight_radio('participant');
		return false;
	}else{
		return true;
	}	
}
function check_radio4(){
	if(!document.getElementById('grossiste_oui').checked && !document.getElementById('grossiste_non').checked){
		highlight_radio('grossiste');
		return false;
	}else{
		return true;
	}	
}
function check_radio5(){
	if(!document.getElementById('dejeuner_oui').checked && !document.getElementById('dejeuner_non').checked){
		highlight_radio('dejeuner');
		return false;
	}else{
		return true;
	}	
}
function check_radio6(){
	if(!document.getElementById('madame').checked && !document.getElementById('monsieur').checked){
		highlight_radio('civilite');
		return false;
	}else{
		return true;
	}	
}
<!-- CHECK SELECT -->
function check_select(champ){
	if(document.getElementById(champ).selectedIndex == 0){
		highlight_select(champ);
		return false;
	}else{
		return true;
	}
}

/* ON VERIFIE LE FORMULAIURE D'INSCRIPTION */
function check_form(){
	
	var err = false;
	<!-- il y a moyen de le faire avec un array multidimentionnel (ce serait mieux !) -->
	var champ_array = Array('nom','contact','email','addr_livr','cp','ville','tel','enfants','adultes','sites','repas','convives');
	
	var champ_size_array = Array(45,45,45,45,10,23,10,5,5,5,3,3);
	
	var champ_type_array = Array('str','str','mail','str','num','str','num','num','num','num','num','num');
	
	
	for(i=0; i<champ_array.length; i++){
		var object = document.getElementById(champ_array[i]);
		var data = object.value;
		var type = champ_type_array[i];
		if(data == ""){
			if(type == "num"){
				highlight_num(champ_array[i],champ_size_array[i]);	
			}
			if(type == "num_decimal"){
				highlight_num_decimal(champ_array[i],champ_size_array[i]);	
			}
			if(type == "str"){
				highlight_str(champ_array[i],champ_size_array[i]);
			}
			if(type == "mail"){
				highlight_str(champ_array[i],champ_size_array[i]);
			}
			err = true;
		}else{
			if(type == "num" && !isNumeric(data)){
				highlight_num(champ_array[i],champ_size_array[i]);	
				err = true;
			}
			if(type == "mail" && !checkMail(data)){
				highlight_str(champ_array[i],champ_size_array[i]);
				err = true;
			}
		}
	}
	
	if(!check_select('select_type')){err == false;}
	if(!check_select('select_region')){err == false;}
	
	if(check_radio1()){err == false;}
	if(check_radio2()){err == false;}
	if(check_radio3()){err == false;}
	if(check_radio4()){err == false;}
	/*if(check_radio5()){err == false;}*/
	if(check_radio6()){err == false;}
	<!-- resultat du check -->
	
	if(err == false){
		return true;
	} else {
		alert ('Veuillez remplir tous les champs obligatoires');
		return false;			
	}
}

function calcul(){
	repas = document.getElementById('repas').value;
	convives = document.getElementById('convives').value;
	if(repas < 1){
		repas = 0;
	}
	if(convives < 1){
		convives = 0;
	}
	total = repas*convives;
	document.getElementById('total_repas').value = total;
}

function chiffres(event) {
	// Compatibilité IE / Firefox
	if(!event&&window.event) {
		event=window.event;
	}
	// IE
	if(event.keyCode < 48 || event.keyCode > 57) {
		event.returnValue = false;
		event.cancelBubble = true;
	}
	// DOM - Firefox
	if(event.which < 48 || event.which > 57) {
		if(event.which == 8){//autorise le backspace
			//
		}else{
			event.preventDefault();
			event.stopPropagation();
		}
	}
}

function chiffres_decimale(event) {
	// Compatibilité IE / Firefox
	if(!event&&window.event) {
		event=window.event;
	}
	// IE
	if(event.keyCode < 48 || event.keyCode > 57) {
		if(event.keyCode == 44 || event.keyCode == 46){//autorise virgule et point
			//
		}else{
			event.returnValue = false;
			event.cancelBubble = true;
		}
		
	}
	// DOM - Firefox
	if(event.which < 48 || event.which > 57) {
		if(event.which == 8 || event.which == 44 || event.which == 46){//autorise le backspace et virgule et point
			//
		}else{
			event.preventDefault();
			event.stopPropagation();
		}
	}
}

function virgule(champ) {
	var valeur =  document.getElementById(champ).value;
	//alert(document.getElementById(champ).value);
    if (valeur.substr(valeur.length-1,1) == ",") {
        document.getElementById(champ).value=valeur.substr(0,valeur.length-1)+ "." ;
    }
}

function espace(champ) {
	var valeur =  document.getElementById(champ).value;
	//alert(document.getElementById(champ).value);
    if (valeur.substr(valeur.length-1,1) == " ") {
        document.getElementById(champ).value=valeur.substr(0,valeur.length-1)+ "" ;
    }
}


