function checkOnSubmit(formMateriali)
{
	var missingHeader = "Completare i campi:\n";
	var errorHeader = "\nControllare i dati:\n";
	var missingList = "";
	var errorTelefono = "";
	var errorMail = "";	
	var errorList = "";
	var errorOrario = "";
	var errorNero = "";
	var errorCiano = "";
	var errorMagenta = "";
	var errorGiallo = "";
	var errorOlio = ""	
	var message = "";
	var selected = 0;

// Ragione sociale
	if (formMateriali.rag_sociale.value==""){
		missingList += ".  Ragione sociale\n";
	}

// Indirizzo d'installazione
	if (formMateriali.indirizzo.value==""){
		missingList += ".  Indirizzo d'installazione\n";
	}

// Referente
	if (formMateriali.referente.value==""){
		missingList += ".  Referente\n";
	}

// Email
	if (formMateriali.email.value==""){
		missingList += ".  E mail\n";
	}
    if (formMateriali.email.value!="") {    
        email = formMateriali.email.value
        invalidChars = " /:,;"
        
        for(i=0; i<invalidChars.length;i++){
            badChar = invalidChars.charAt(i)        
            if(email.indexOf(badChar,0)>-1){
                errorMail += "1";
            }
        }
        atPos = email.indexOf("@",1)        
        if(atPos == -1){
            errorMail += "2";
        }
        if(email.indexOf("@",atPos+1)>-1){
            errorMail += "3";
        }
        periodPos = email.indexOf(".",atPos)
        if(periodPos == -1){
            errorMail += "4";
        }
        if(periodPos+3 > email.lenght){
            errorMail += "5";
        }        
        if (errorMail!= ""){
            //Debug
            //alert ("e "+errorMail); 
            errorList += ". Errore campo email\n";
        }
    }

// Telefono
	if (formMateriali.telefono.value==""){
		missingList += ".  Recapito telefonico\n";
	}
	else{
	    var digits = "0123456789";
        for (var i = 0; i < formMateriali.telefono.value.length; i++){
            temp = formMateriali.telefono.value.substring(i, i+1)
            if (digits.indexOf(temp) == -1 && formMateriali.telefono.value != ""){
                errorTelefono += "1";
            }
        } 
        if (errorTelefono!= ""){
            //Debug
            //alert ("t "+errorTelefono);               
            errorList += ". Errore campo telefono\n";
        }
    }
	
// Orari
	if ((formMateriali.mattino1.value=="" ^ formMateriali.mattino2.value=="") || (formMateriali.pomeriggio1.value=="" ^ formMateriali.pomeriggio2.value=="") || (formMateriali.mattino1.value=="" && formMateriali.mattino2.value=="" && formMateriali.pomeriggio1.value=="" && formMateriali.pomeriggio2.value=="")){
		missingList += ".  Orario\n";
		
		var maxlength=2
		var digits="0123456789";
		
        if (formMateriali.mattino1.value!="" && formMateriali.mattino2.value==""){
            if (formMateriali.mattino1.value >= formMateriali.mattino2.value){
                errorOrario += "1";
            }
            if (formMateriali.mattino1.value.length>maxlength){
                errorOrario += "2";
            }
            for (var i = 0; i < formMateriali.mattino1.value.length; i++){
                temp = formMateriali.mattino1.value.substring(i, i+1)
                if (digits.indexOf(temp) == -1 && formMateriali.mattino1.value != ""){
                    errorOrario += "3";
                }
            }
            if (formMateriali.mattino2.value.length>maxlength){
                errorOrario += "4";
            }
            for (var i = 0; i < formMateriali.mattino2.value.length; i++){
                temp = formMateriali.mattino2.value.substring(i, i+1)
                if (digits.indexOf(temp) == -1 && formMateriali.mattino2.value != ""){
                    errorOrario += "5";
                }
            }
        }
        if (formMateriali.pomeriggio1.value!="" && formMateriali.pomeriggio2.value==""){
            if (formMateriali.pomeriggio1.value >= formMateriali.pomeriggio2.value){
                errorOrario += "6";
            }
            if (formMateriali.pomeriggio1.value.length>maxlength){
                errorOrario += "7";
            }
            for (var i = 0; i < formMateriali.pomeriggio1.value.length; i++){
                temp = formMateriali.pomeriggio1.value.substring(i, i+1)
                if (digits.indexOf(temp) == -1 && formMateriali.pomeriggio1.value != ""){
                    errorOrario += "8";
                }
            }
            if (formMateriali.pomeriggio2.value.length>maxlength){
                errorOrario += "9";
            }
            for (var i = 0; i < formMateriali.pomeriggio2.value.length; i++){
                temp = formMateriali.pomeriggio2.value.substring(i, i+1)
                if (digits.indexOf(temp) == -1 && formMateriali.pomeriggio2.value != ""){
                    errorOrario += "0";
                }
            }
        }  
        if (errorOrario!= ""){
                //Debug 
                //alert ("o "+errorOrario);
                errorList += ". Errore campi orario\n";
        }
    }
	
// Famiglia
	if (formMateriali.famiglia.value=="scegli" ){
		missingList += ".  Famiglia macchina\n";
	}
	
// Modello
	if (formMateriali.gamma.selectedIndex=="0" || formMateriali.model.selectedIndex=="0"){
		missingList += ".  Modello macchina\n";
	}
	
// Numero serie
	if (formMateriali.num_serie.value==""){
		missingList += ".  Numero di serie\n";
	}

// Contatore B/N
	if (document.formMateriali.famiglia.options[document.formMateriali.famiglia.selectedIndex].value == 'bn')
	{
		if (formMateriali.bn.value == ''){
			missingList += ".  Contatore Totale B/N\n";
		}
	}
	else
	{
		formMateriali.bn.value = '';
	}
	
// Contatore Totale B/N e Colore
	if (document.formMateriali.famiglia.options[document.formMateriali.famiglia.selectedIndex].value == 'bncolore')
	{
		if (formMateriali.contatore.value == ''){
			missingList += ".  Contatore Totale\n";
		}
	}
	else
	{
		formMateriali.contatore.value = '';
	}
	
// Colore A3
	if (document.formMateriali.famiglia.options[document.formMateriali.famiglia.selectedIndex].value == 'bncolore')
	{
	if (formMateriali.colorea3.value == ''){
			missingList += ".  Colore A3\n";
		}
	}
	else
	{
		formMateriali.colorea3.value = '';
	}
	
// Colore A4
	if (document.formMateriali.famiglia.options[document.formMateriali.famiglia.selectedIndex].value == 'bncolore')
	{
	if (formMateriali.colorea4.value == ''){
			missingList += ".  Colore A4\n";
		}
	}
	else
	{
		formMateriali.colorea4.value = '';
	}
	
// B/N A3
	if (document.formMateriali.famiglia.options[document.formMateriali.famiglia.selectedIndex].value == 'bncolore')
	{
	if (formMateriali.bna3.value == ''){
			missingList += ".  B/N A3\n";
		}
	}
	else
	{
		formMateriali.bna3.value = '';
	}
	
// B/N A4
	if (document.formMateriali.famiglia.options[document.formMateriali.famiglia.selectedIndex].value == 'bncolore')
	{
	if (formMateriali.bna4.value == ''){
			missingList += ".  B/N A4\n";
		}
	}
	else
	{
		formMateriali.bna4.value = '';
	}
	
// Scansioni
	if (document.formMateriali.famiglia.options[document.formMateriali.famiglia.selectedIndex].value == 'bncolore')
	{
	if (formMateriali.scansioni.value == ''){
			missingList += ".  Scansioni\n";
		}
	}
	else
	{
		formMateriali.scansioni.value = '';
	}
	
// Toner
	if (formMateriali.checkNero.checked==false && formMateriali.checkCiano.checked==false && formMateriali.checkMagenta.checked==false && formMateriali.checkGiallo.checked==false && formMateriali.checkOlio.checked==false){
		missingList += ".  Materiale di consumo\n";
	}

// Toner Nero
	if(formMateriali.checkNero.checked==true){
		if(formMateriali.nero.value!=""){
			var digits = "123";		
        	for (var i = 0; i < formMateriali.nero.value.length; i++){
            	temp = formMateriali.nero.value.substring(i, i+1)
            	if (digits.indexOf(temp) == -1 && formMateriali.nero.value != ""){
                	errorNero += "1";
            	}
        	}
        	if (errorNero!= ""){
                //Debug 
                //alert ("o "+errorNero);
                errorList += ". Errore q.ta toner nero\n";
            }
        }
    	else {
    		missingList += ".  Q.ta toner nero\n";
    	}
    }

// Toner Ciano
	if(formMateriali.checkCiano.checked==true){
		if(formMateriali.ciano.value!=""){
			var digits = "123";		
        	for (var i = 0; i < formMateriali.ciano.value.length; i++){
            	temp = formMateriali.ciano.value.substring(i, i+1)
            	if (digits.indexOf(temp) == -1 && formMateriali.ciano.value != ""){
                	errorCiano += "1";
            	}
        	}
        	if (errorCiano!= ""){
                //Debug 
                //alert ("o "+errorCiano);
                errorList += ". Errore q.ta toner ciano\n";
            }
        }
    	else {
    		missingList += ".  Q.ta toner ciano\n";
    	}
    }
 
// Toner Magenta
	if(formMateriali.checkMagenta.checked==true){
		if(formMateriali.magenta.value!=""){
			var digits = "123";		
        	for (var i = 0; i < formMateriali.magenta.value.length; i++){
            	temp = formMateriali.magenta.value.substring(i, i+1)
            	if (digits.indexOf(temp) == -1 && formMateriali.magenta.value != ""){
                	errorMagenta += "1";
            	}
        	}
        	if (errorMagenta!= ""){
                //Debug 
                //alert ("o "+errorMagenta);
                errorList += ". Errore q.ta toner magenta\n";
            }
        }
    	else {
    		missingList += ".  Q.ta toner magenta\n";
    	}
    }

// Toner Giallo
	if(formMateriali.checkGiallo.checked==true){
		if(formMateriali.giallo.value!=""){
			var digits = "123";		
        	for (var i = 0; i < formMateriali.giallo.value.length; i++){
            	temp = formMateriali.giallo.value.substring(i, i+1)
            	if (digits.indexOf(temp) == -1 && formMateriali.giallo.value != ""){
                	errorGiallo += "1";
            	}
        	}
        	if (errorGiallo!= ""){
                //Debug 
                //alert ("o "+errorGiallo);
                errorList += ". Errore q.ta toner giallo\n";
            }
        }
    	else {
    		missingList += ".  Q.ta toner giallo\n";
    	}
    }

// Olio siliconico
	if(formMateriali.checkOlio.checked==true){
		if(formMateriali.olio.value!=""){
			var digits = "123";		
        	for (var i = 0; i < formMateriali.olio.value.length; i++){
            	temp = formMateriali.olio.value.substring(i, i+1)
            	if (digits.indexOf(temp) == -1 && formMateriali.olio.value != ""){
                	errorOlio += "1";
            	}
        	}
        	if (errorOlio!= ""){
                //Debug 
                //alert ("o "+errorOlio);
                errorList += ". Errore q.ta olio siliconico\n";
            }
        }
    	else {
    		missingList += ".  Q.ta olio siliconico\n";
    	}
    }
    
// Result
 	if (missingList!= ""){
		message = missingHeader + missingList;
	}
 	if (errorList!= ""){
		message += errorHeader + errorList;
	}
 	if (message==""){       
            return true;
	}
	else {
		alert (message);
		return false;
	}
}

