function stringaEmailValida(str) {
    // Controlla che la stringa e-mail sia di un formato corretto.
    var patternvalido = "^[a-zA-Z0-9\.\\-\_]+\@[a-zA-Z0-9\-\_]+\\.[a-zA-Z0-9]+"
    var reg = new RegExp(patternvalido);
    return str.match(reg);

    // invece di \. ho messo \056 (ottale): \. non lo ricosce (riconosce \\. ma non mi piace);
    // sarebbe valido anche
    // return reg.test(str);
}

function parametroObbligatorio(str)
	    // Mi dice se il parametro è obbligatorio o meno (prefisso 'ck_').
	    {
	    var patternvalido = "^ck_.*";
	    var reg = new RegExp(patternvalido);
	    return str.match(reg);
	    }

function togliIndicazioneCampoObbligatorio(str){
	    // toglie il 'ck_'

            var pattern = "^ck_";
	    var reg = new RegExp(pattern);
	    return str.replace(reg,'');
	    }

function controllaParametri(){
	    // Controllo, lato client, dei parametri.

	    var count;
	    var msgErrore= '';
	    var verifica;
	    var nomeCampo;
	
	    verifica = 1;

	    // Verifico a parte l'esistenza della mail e il suo formato.
	    if(document.input.replyToEmail.value =='')
	    {
	      verifica = 0;
	      msgErrore = "e-mail non presente \n";
	    }
	    else{
	      if(!(stringaEmailValida(document.input.replyToEmail.value)))
	        {
	          verifica = 0;
	          msgErrore = "formato e-mail errato \n";
	        }
	    }

	    count  = 0;
	    // verifica tutti parametri a parte la mail che ha un nome standard (replyToEmail)
	    // e che è quindi è esclusa dalla verifica seguente.
	    while (count < document.input.length){
	      if(parametroObbligatorio(document.input.elements[count].name))
	      {
	        if(document.input.elements[count].value =='')
	          {
	            verifica = 0;
	            nomeCampo = togliIndicazioneCampoObbligatorio(document.input.elements[count].name);
	            msgErrore = msgErrore + nomeCampo + " non presente \n";
	          }
	      }
	    count++;
	    }

	    if(verifica == 0)
	      {
	        alert(msgErrore);
	        return false;
	      }
	    else
	      {
	        return true;
	      }	    
}
