//
//********************************************
//
var sep = "@";
var ext_sep = ".";
var pta_descr = "mailto";
function WriteEM(nome_u, nome_d, ext_d, l_descr) {
	var pta = nome_u + sep + nome_d + ext_sep + ext_d;
	var ind = pta_descr + ":" + pta;
	var descr = ((l_descr!="") ? l_descr : pta);
	document.write(descr.link(ind));
}

/******************************************************************************
* Functions To Check an EMail Address syntax validity
******************************************************************************/

function checkMailAddress(emailStr)
{
	emailStr = emailStr.trim();
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null)
    {
        //alert("L'indirizzo email non sembra corretto. Controlla.")
        return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];

    if (user.match(userPat)==null)
    {
        //alert("Il nome utente non sembra corretto.")
        return false;
    }
    
    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null)
    {
        for (var i=1;i<=4;i++)
        {
            if (IPArray[i]>255)
            {
                //alert("L'IP di destinazione non è corretto.")
                return false;
            }
        }
        return true;
    }
    
    var domainArray=domain.match(domainPat);
    if (domainArray==null)
    {
        //alert("Il nome del dominio non sembra valido.")
        return false;
    }
    
    var atomPat=new RegExp(atom,"g");
    var domArr=domain.match(atomPat);
    var len=domArr.length;
    if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
    {
        /*alert("L'indirizzo email deve terminare con un 
        dominio di tre lettere (.com, .net, etc...) o con due lettere 
        per i domini nazionali (.it, .fr, etc..).")*/
        return false;
    }
    
    if (len<2)
    {
        //var errStr="Questo indirizzo non presenta il nome dell'host!"
        //alert(errStr)
        return false;
    }

	var Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	return Filtro.test(emailStr);

}

String.prototype.trim = function() {
  var x=this;
  x=x.replace(/^\s*(.*)/, "$1");
  x=x.replace(/(.*?)\s*$/, "$1");
  return x;
}
//
//********************************************
//
