function checkUsers() {
		missinginfo = "";
		// Name validation
		if (document.forma_usuarios.txtNombre.value == "") {
		missinginfo += "\n     - Nombre";
		document.forma_usuarios.txtNombre.focus();
		}		
		// LastName validation
		if (document.forma_usuarios.txtApellidos.value == "") {
		missinginfo += "\n     - Apellidos";
		document.forma_usuarios.txtApellidos.focus();
		}		
		// txtEmail Validation
		if (document.forma_usuarios.txtEmail.value == "") {
		missinginfo += "\n     - Email";
		document.forma_usuarios.txtEmail.focus();
		}		
		// sltPaises Validation
		if (document.forma_usuarios.sltPaises.value == "") {
		missinginfo += "\n     - País";
		document.forma_usuarios.sltPaises.focus();
		}		
		// txtUsuario Validation
		if (document.forma_usuarios.txtUsuario.value == "") {
		missinginfo += "\n     - Usuario";
		document.forma_usuarios.txtUsuario.focus();
		}		
		// txtClave Validation
		if (document.forma_usuarios.txtClave.value == "") {
		missinginfo += "\n     - Clave";
		document.forma_usuarios.txtClave.focus();
		}		

		// Validacion de la Dirección Electrónica a detalle		
	if (document.forma_usuarios.txtEmail.value != "") 
	{
		txtEmailst = document.forma_usuarios.txtEmail.value
		var txtEmailPat=/^(.+)@(.+)$/
		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=txtEmailst.match(txtEmailPat)
		if (matchArray==null) {
			alert("Dirección Electrónica incorrecta (verifique @ and .)");
			document.forma_usuarios.txtEmail.focus();
			return false
							  }
		var user=matchArray[1]
		var domain=matchArray[2]
		if (user.match(userPat)==null) {
		    // user is not valid
		    alert("El nombre del e-mail no es valido.");
		    document.forma_usuarios.txtEmail.focus();
		    return false
									   }

		/* if the e-mail address is at an IP address (as opposed to a symbolic
		   host name) make sure the IP address is valid. */
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
		    // this is an IP address
			  for (var i=1;i<=4;i++) {
			    if (IPArray[i]>255) {
			        alert("La direccion IP no es valida!")
			        document.forma_usuarios.txtEmail.focus();
				return false
									}
									 }
		    return true
						   }
		// Domain is symbolic name
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			alert("El nombre del dominio no es valido.")
			document.forma_usuarios.txtEmail.focus();
		    return false
							   }

		/* domain name seems valid, but now make sure that it ends in a
		   three-letter word (like com, edu, gov) or a two-letter word,
		   representing country (uk, nl), and that there's a hostname preceding 
		   the domain or country. */

		/* Now we need to break up the domain to get a count of how many atoms
		   it consists of. */
		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) {
		   // the address must end in a two letter or three letter word.
		   alert("La dirección debe terminar en tres letras, o dos letras del país")
		   document.forma_usuarios.txtEmail.focus();
		   return false
											  }

		// Make sure there's a host name preceding the domain.
		if (len<2) {
		   var errStr="Esta dirección no tiene el nombre de su proveedor de hospedaje"
		   //This address is missing a hostname!"
		   alert(errStr);
		   document.forma_usuarios.txtEmail.focus();
		   return false
				   }
		// termina la validacion de la direccion electronica
	}
		
		
		if (missinginfo != "") {
			missinginfo ="_____________________________\n" +
			"Debe completar los siguientes campos:\n" +
			missinginfo + "\n_____________________________" +
			"\n Llene los campos y haga click en Aceptar!";
			alert(missinginfo);
			return false;
		}	
		else
		return true;
	}