//'@Project: WebSite	@Type: Libreria
//'Mail - © 2005 - 2005 KinderSoft
//'v.1.0.r.25.09.20

function KSemailCheck (emailStr) {
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) { return false }
var user=matchArray[1]
var domain=matchArray[2]
if (user.match(userPat)==null) { return false }
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
		return false
	    }
    }
    return true
}
var domainArray=domain.match(domainPat)
if (domainArray==null) { 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) { return false }
if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>6) { return false }
if (len<2) { return false }
return true;
}

function KSemailAlert (emailStr,m) {
	if (KSemailCheck (emailStr)) {
		return true;
	}
	else {
		alert(m);
		return false;
	}
return false;
}

function CheckPwd(strText) { 
	var rExp = new RegExp(" ","ig")
	return ( !rExp.test(strText) ); 
}

function KSemailStripAddress(s) {
	var p1 = s.indexOf('<');
	var p2 = s.indexOf('>');
	if (p1>0&&p2>0) {s=s.substr(p1+1,p2-p1-1);}
	return s;
}

function KSemailCorrectAddress(s) {
	var p1 = s.indexOf('<');
	var ok=true;
	if (p1>0)
	{
		ok = s.substr(0,1)=='"';
		if (ok)
		{
			ok = s.substr(p1-2,1)=='"' && s.substr(p1-1,1)==' '; 
		}
	}
	return ok;
}

function KSemailCorrectList(s) {
	var a = s.split(";");
	var k = a.length;
	var ok = true;
	for (i=0;i<k && ok;i++) {
		a[i] = trim(a[i]);
		ok = KSemailCorrectAddress(a[i]);
		if (ok) {
			ok = KSemailCheck( KSemailStripAddress(a[i]));
		}
	}
	return ok;
}
