<!--

/* A todas estas funciones de validaciones se le pasan 2 parámetros:
    - campo: nos indica el nombre del campo completo, incuido el documento y el formulario,
       ejemplo document.formulario.campo
    - texto: el nombre del campo que saldrá en el mensaje de alerta
  En caso de que no cumpla la validación, devuelve -1
*/

// función generica que llama al resto de funciones de validación
// Ultima modificación: Luis Saz. 10/03/2004
function validarCampo(obj,campo,tipo)
{
	switch(tipo)
	{
		case 'numerico': //numérico
			validado = validarNumerico(obj,campo);
			break;
		case 'email': //e-mail
			validado = validarEmilio(obj,campo);
			break;
		case 'decimal': //decimal no negativo
			validado = validarDecimal(obj,campo);
			break;
		case 'obligatorio': //texto como campo obligatorio
			validado = validarTexto(obj,campo);
			break;
		default: return false;
	}
	
	if (validado == -1){
		obj.select();
		obj.focus();	
		return false;
	}else
		return true;
}

// Función para validar campos numéricos
function validarNumerico(campo,texto){
  if (campo.value != ""){
    var valor = campo.value;
    for (i=0;i<=valor.length;i++) {             
      letra = valor.charCodeAt(i);
      if ((letra < 48 || letra > 57)){                
        alert("Campo "+texto+" no válido");
        return -1;
      }
    }
  }
}
// Función para validar direcciones de correo
function validarEmilio(campo,texto){
  var emilio = /^(.+\@.+\..+)$/;
  if (campo.value != "") {
    if(!emilio.test(campo.value)) { 
      alert("Campo "+texto+" no válido.");
      return -1;
    }
  }
}

// Función para validar campos decimales 
// Ultima modificación: Luis Saz. 09/03/2004
function validarDecimal(campo,texto){
  campo.value = campo.value.replace(",",".");
  if (isNaN(campo.value)){
        alert("El campo "+texto+" no es un número");
		campo.value = "";
        return -1;
  }
  if (parseFloat(campo.value)<0){
		alert("El campo "+texto+" no admite cantidades negativas");
		campo.value = "";
		return -1;
  }
}

// Función para validar campos de texto obligatorios
// Ultima modificación: Luis Saz. 09/03/2004
function validarTexto(campo,texto){
	campo.value = Trim(campo.value);
	if (campo.value == ""){
		alert("El campo "+texto+" no puede estar vacio");
        return -1;
	}
}

// Quita espacios en blanco al principio y al final de la cadena. 
// También reemplaza espacios consecutivos por un solo espacio.
// Si la cadena es distinta de un string devuelve el valor sin tratar.
// Ultima modificación: Luis Saz. 10/03/2004
function Trim(inputString) {
	if (typeof inputString != "string") { return inputString; }
   	var retValue = inputString;
   	var ch = retValue.substring(0, 1);
   	// comprueba espacios al inicio de la cadena
   	while (ch == " ") 
   	{ 
    	retValue = retValue.substring(1, retValue.length);	
		ch = retValue.substring(0, 1);
	}
   	ch = retValue.substring(retValue.length-1, retValue.length);
   	// comprueba espacios al final de la cadena
   	while (ch == " ") 
   	{ 
    	retValue = retValue.substring(0, retValue.length-1);
    	ch = retValue.substring(retValue.length-1, retValue.length);
   	}
   	// busca por espacios consecutivos en una cadena y los reemplaza por uno solo
   	while (retValue.indexOf("  ") != -1) 
   	{ 
    	retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   	}
   	return retValue;
}

// -->
