function emailCheck(Email) {

	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=Email.match(emailPat)

	if (matchArray==null) {

		alert("Ingresar email valido.")

		return false

	}

	var user=matchArray[1]

	var domain=matchArray[2]

	if (user.match(userPat)==null) {

		alert("El usuario no parece ser valido.")

		return false

	}

	var IPArray=domain.match(ipDomainPat)

	if (IPArray!=null) {

		  for (var i=1;i<=4;i++) {

			if (IPArray[i]>255) {

				alert("Ip invalida")

			return false

			}

		}

		return true

	}

	var domainArray=domain.match(domainPat)

	if (domainArray==null) {

		alert("El dominio no parece ser 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("La direccion debe tener un dominio valido.")

	   return false

	}

	if (len<2) {

	   var errStr="Hostname incompleto."

	   alert(errStr)

	   return false

	}

	return true;

}

function pNum( pw ) {

	var hasnum = false;

	for( var counter = 0; counter < pw.length; counter ++ ) {

		if( !isNaN( pw.charAt( counter ) ) ) {
			hasnum = true;
		}

	}

	return hasnum;

}

function pLet( pw ) {

	var haslet = false;

	for( var counter = 0; counter < pw.length; counter ++ ) {

		if( isNaN( pw.charAt( counter ) ) ) {
			haslet = true;
		}

	}

	return haslet;

}

function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function isNumberKey(evt) {
	var charCode = (evt.which) ? evt.which : event.keyCode
	
	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;
	
	return true;
}
