//* controlla che la stringa ricevuta sia una email
function isEmail(sText, sNomeCampo) {

	// controllo esistenza
    var intMinLen = 5;
    if(sText.length < intMinLen)
    {
        alert("Écrire dans le champ " + sNomeCampo + " une adresse e-mail valide !");
        return (false);
     }


	// inserito controllo con le espressioni regolari (veloce)
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp)
	{
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}

	if (supported)
	{
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		var res = (!r1.test(sText) && r2.test(sText));
		if (!res) alert(sNomeCampo + " écrit de façon éronée");
		return (res);
	//else
	//	  return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	}

	// controllo alla vecchia maniera senza espressioni regolari
	//anche lo spazio non è consentito
    var iChars = "*|,\":<>[]{}`\';()&$#% ";
    for (var i = 0; i < sText.length; i++)
    {
    	if (iChars.indexOf(sText.charAt(i)) != -1)
		{
         	alert("Attention ! Le champ " + sNomeCampo + " contient des caractères non permis");
         	return (false);
		}
	}

	var txtAmpersand = "/@/i";
    if( sText.search(txtAmpersand) < 0 )
    {
        alert("  " + sNomeCampo + " manque le séparateur (@) entre le nom et le domaine");
        return (false);
    }

    var txtDot = "/(\.)/i";
    if( sText.search(txtDot) < 0 )
    {
       alert("Attention! Dans le champ " + sNomeCampo + " manque le séparateur (.) de domaine");
       return (false);
    }

   return true;
}


//* Bohhh!
function isProper(string) {
	/*
   if (!string) return false;
   var iChars = "*|,\":<>[]{}`\';()@&$#%";

   for (var i = 0; i < string.length; i++) {
      if (iChars.indexOf(string.charAt(i)) != -1)
         return false;
   }
   return true;
   */
}


//* controllo testo di tipo provincia (due caratteri)
//* IN: testo, NomeCampo per messaggio di errore, flag se il campo necessario
/*
function isProv(sText, sNomeCampo, fBold) {

    var intMinLen = 2;
    if (fBold && sText.length != intMinLen)
    {
        alert('Attention! Le champ ' + sNomeCampo + ' doit être nécessairement rempli');
        return (false);
    }

	var sCharOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ";
	var fAllValid = true;
	for (i = 0;  i < sText.length;  i++)
	{
	  ch = sText.charAt(i);
	  for (j = 0;  j < sCharOK.length;  j++)
	    if (ch == sCharOK.charAt(j))
	      break;
	  if (j == sCharOK.length)
	  {
	    fAllValid = false;
	    break;
	  }
	}
	if (!fAllValid)
	{
	  alert("Le champ " + sNomeCampo + " doit contenir uniquement des lettres.");
	  return (false);
	}

	return (true);
}
*/

//* controllo testo di tipo CAP (5 caratteri minimo)
//* IN: testo, NomeCampo per messaggio di errore, flag se il campo necessario
function isCAP(sText, sNomeCampo, fBold) {

    var intMinLen = 5;

    if (fBold && sText.length < intMinLen)
    {
      alert("Attention! Le champ ' + sNomeCampo + ' doit être nécessairement rempli");
      return (false);
    }

	var sCheckOK = "0123456789-";
	var fAllValid = true;
	var decPoints = 0;
	//var sAllNum = "";
	for (i = 0;  i < sText.length;  i++)
	{
	  ch = sText.charAt(i);
	  for (j = 0;  j < sCheckOK.length;  j++)
	    if (ch == sCheckOK.charAt(j))
	      break;
	  if (j == sCheckOK.length)
	  {
	    fAllValid = false;
	    break;
	  }
	  //allNum += ch;
	}
	if (!fAllValid)
	{
	  alert("Le champ " + sNomeCampo + " ne peut contenir que des numéros.");
	  return (false);
	}
	return (true);
}


function isTel(sText, sNomeCampo, fBold) {

	var intMinLen = 5;
	if (fBold && sText.length < intMinLen)
    {
      alert('Attention! Le champ ' + sNomeCampo + ' doit être nécessairement rempli');
      return (false);
    }

	var sCheckOK = "0123456789-/+ ";
	var fAllValid = true;
	//var decPoints = 0;
	//var allNum = "";
	for (i = 0;  i < sText.length;  i++)
	{
	  ch = sText.charAt(i);
	  for (j = 0;  j < sCheckOK.length;  j++)
	    if (ch == sCheckOK.charAt(j))
	      break;
	  if (j == sCheckOK.length)
	  {
	    fAllValid = false;
	    break;
	  }
	  //allNum += ch;
	}
	if (!fAllValid)
	{
	  alert("Le champ " + sNomeCampo + " ne peut contenir que des chiffres et les caractères / + -");
	  return (false);
	}

	return (true);
}

/*
function isPIVA(sText, sNomeCampo, fBold) {
	var intMinLen = 10;
    if (fBold && sText.length < intMinLen)
    {
      alert('Attenzione! Compilare il campo ' + sNomeCampo);
      return (false);
    }

	return (true);
}
*/




