/**
 * Función que dice si un campo de un formulario es un alfanumerico sin caracteres extraños.
 * @param str El valor del campo del formulario.
 * @return booleano indicando si es un valido o no.
 */

function IsAlphaNumSinEspeciales( str ) {
	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str+"" == "null" || str+"" == "")	
		return false;

	var isValid = true;
	
	// convert to a string for performing string comparisons.
   	str += "";	

	// Loop through length of string and test for any alpha numeric 
	// characters
   	for (i = 0; i < str.length; i++)
   	{
			// Alphanumeric must be between "0"-"9", "A"-"Z", or "a"-"z",",",".","'","-"
        //alert(escape(str.charAt(i)));
      	if (!(((str.charAt(i) >= "0") && (str.charAt(i) <= "9")) || 
      			((str.charAt(i) >= "a") && (str.charAt(i) <= "z")) ||
      			((str.charAt(i) >= "A") && (str.charAt(i) <= "Z"))||
                        (str.charAt(i) == " ")||(str.charAt(i) == ",")||(str.charAt(i) == ".")||
                        (str.charAt(i) == "-"))){
				isValid = false;
				break;
			}	
   	} // END for   
   
   	return isValid;
}  // end IsAlphaNum

function Comprobar(){
  for(x=0;x<document.form1.elements.length;x++)	{
     if(document.form1.elements[x].value != '' && document.form1.elements[x].type == 'text' && x!=2 && x!=4 && x!=5){
       if (!IsAlphaNum(document.form1.elements[x].value)){
   		alert("Campo Incorrecto");
		document.form1.elements[x].focus();
		return false;
	}
     }
  }

  if(document.form1.nif.value==""){
    alert("Escriba NIF de la Empresa");
    document.form1.nif.focus();
    return false;
  }
  if(document.form1.nombre.value==""){
    alert("Escriba nombre completo del Usuario");
    document.form1.nombre.focus();
    return false;
  }
  if(document.form1.email.value==""){
    alert("Escriba su E-Mail");
    document.form1.email.focus();
    return false;
  } else {
     if(!validarEmail(document.form1.email.value)){
        alert("Escriba bien su E-Mail");
        document.form1.email.focus();
        return false;
     }
  }
  if(document.form1.usuario.value==""){
    alert("Escriba un Nombre de Usuario");
    document.form1.usuario.focus();
    return false;
  } else {
    if (!IsAlphaNumSinEspeciales(document.form1.usuario.value)){
        alert("No ponga caracteres especiales en el usuario");
	document.form1.usuario.focus();
	return false;
    }
  }
  if(document.form1.password.value==""){
    alert("Escriba una Contraseña");
    document.form1.password.focus();
    return false;
  }
  if(parseInt(document.form1.mincaracteres.value)>document.form1.password.value.length){
     gestionError(document.form1.password,"El password no contiene el mínimo de caracteres. El minimo son "+parseInt(document.form1.mincaracteres.value)+" caracteres");
     return false;
  }
  if(document.form1.pass2.value==""){
    alert("Repita su Contraseña");
    document.form1.pass2.focus();
    return false;
  }
  if(document.form1.password.value != document.form1.pass2.value){
    alert("Las contraseñas no Coinciden");
    document.form1.pass2.focus();
    return false;
  }
  if(document.form1.password.value == document.form1.usuario.value){
    alert("La contraseña no puede ser igual al Usuario");
    document.form1.password.focus();
    return false;
  }

  if(document.form1.solicitante.value==""){
    alert("Escriba quien solicita el nuevo Usuario");
    document.form1.solicitante.focus();
    return false;
  }
  document.form1.hashpass.value = MD5(document.form1.password.value);
  document.form1.password.value="";
  document.form1.pass2.value="";
  document.form1.verificar.value="YES";
  return true;
}
