//-----------------email check
function emailCheck (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) {
		alert("Email inválido") //"Email address seems incorrect (check @ and .'s)")
		return false
	}
	//
	var user=matchArray[1]
	var domain=matchArray[2]
	//
	if (user.match(userPat)==null) {
		alert("Email inválido") //"The username doesn't seem to be valid.")
		return false
	}
	//
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Email inválido") //"Destination IP address is invalid!")
			return false
			}
		}
		return true
	}
	//
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("Email inválido") //"The domain name doesn't seem to be valid.")
		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("Email inválido") //"The address must end in a three-letter domain, or two letter country.")
	   return false
	}
	//
	if (len<2) {
	   var errStr="Email inválido" //"This address is missing a hostname!"
	   alert(errStr)
	   return false
	}
	//
	return true;
}
//end valida email

// --------------------------------------------TRIM
function Trim(strToTrim) {
	var resultString;

	reLeft = new RegExp;
	reLeft = /\s+/;
	reRight = new RegExp;
	reRight = /\s+$/;

	resultString = strToTrim.replace(reLeft,'');
	resultString = resultString.replace(reRight,'');

	return resultString;
}

// --------------------------------------------ISDATE
function isDateYYYY (date) {
	if (date.length == 0) return true;
	var re = /^\d\d\d\d\-\d\d\-\d\d$/;
	if (!re.test(date)) return false;
	var year = date.substring(0,4);
	var month = date.substring(5,7);
	if (month < 1 || month > 12) return false;
	var day = date.substring(8,10);
	var max = 31;
	if (month == 4 || month == 6 || month == 9 || month == 11) {
		max = 30;
	} else if (month == 2 && !isLeapYear(year)) {
		max = 28;
	} else if (month == 2 && isLeapYear(year)) {
		max = 29;
	}
	if (day < 1 || day > max) return false;
	return true;
}

function isDate (date) {
var lv_aux;
	if (date.length == 0 ) return true;
	if (date.length < 8 || date.length > 10) return false;
	//var re = /^\d\d\d\d\-\d\d\-\d\d$/;
	//if (!re.test(date)) return false;
	var day = date.substring(0,2);
	var month = date.substring(3,5);
	//
	if ( isNumber(day)) { lv_aux = 0;} else return false;
	//
	if (month < 1 || month > 12) return false;
	if ( isNumber(month)) { lv_aux = 0;} else return false;
	var year = date.substring(6,10);
	if ( isNumber(year)) { lv_aux = 0;} else return false;
	var max = 31;
	if (month == 4 || month == 6 || month == 9 || month == 11) {
		max = 30;
	} else if (month == 2 && !isLeapYear(year)) {
		max = 28;
	} else if (month == 2 && isLeapYear(year)) {
		max = 29;
	}
	if (day < 1 || day > max) return false;
	return true;
}

function isDateTime (datetime) {
	if (datetime.length == 0) return true;
	var re = /^\d\d\d\d\-\d\d\-\d\d\s\d\d\:\d\d\:\d\d$/;
	if (!re.test(datetime)) return false;
	var date = datetime.substring(0,10);
	if (!isDate(date)) return false;
	var time = datetime.substring(11);
	var hour = time.substring(0,2);
	if (hour < 0 || hour > 23) return false;
	var minute = time.substring(3,5);
	if (minute < 0 || minute > 59) return false;
	var second = time.substring(6,8);
	if (second < 0 || second > 59) return false;
	return true;
}

function isLeapYear (year) {
	return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}

function isNumber (text) {
	if (text.length == 0) return true;
	var re = /^\d+$|^\d*\.*\d+$/;
	return re.test(text);
}

function replaceChars(entry,out,add) {
	temp = "" + entry; // temporary holder	 
	while (temp.indexOf(out)>-1) {
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
	}
	return temp;
}