﻿
<!-- INICIO

 //Función genérica para la validación de campos de texto
 // campo = document.all.nombrecampo
 // nombreCampo   = [nombre de referencia del campo ej. Apellido]
 // tipoCampo     = [num|text|alfanum|mail|tel]
 // longitudCampo = [longitud permitida]
 // requerido     = [true|false]
 //
 function validaCampo(campo,nombreCampo, tipoCampo, longitudCampo, requerido){
    var result = false;
    if(requerido && campo.value == '')
    {
        alert('El campo ' + nombreCampo + ' es requerido.');
        campo.focus();
        return false;
    }

    if((campo.value).length > longitudCampo)
    {
        alert('El valor del campo ' + nombreCampo + ' excede el máximo de ' + longitudCampo + ' caracteres.');
        campo.focus();
        return false;
    }
    switch(tipoCampo){
        case 'num':
            if(isNumeric(campo.value))result=true;
            break;
        case 'text':
            if(isText(campo.value))result=true;
            break;
        case 'alfanum':
            if(isAlfaNum(campo.value))result=true;
            break;
        case 'mail':
            if(isMail(campo.value))result=true;
            break;
        case 'tel':
            if(isTel(campo.value))result=true;
            break;
        default:
            result = false;
        
    }
    if(!result && tipoCampo == 'mail'){
        alert('La dirección de correo ingresada es inválida.');
        campo.focus();
        return false;    
    }
    else if(!result){
        alert('El campo ' + nombreCampo + ' contiene valores no permitidos.');
        campo.focus();
        return false;    
    }
    else{
        return true;
    }    
}



//Función para validar la dirección de correo bien armada
function isMail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = email;
   if(reg.test(address) == false) {
      return false;
   }
   else
   {
      return true;
   }
}



//Función para validar si un valor es numérico
function isNumeric(s) {
    var validchart="0123456789";
    pos=0;
    for (var i=0;i<s.length;i++){
        if ((validchart.indexOf(s.charAt(i)))==-1){
           return false;
        }
    }
    return true;
}


//Función para validar si un valor es numérico
function isAlfaNum(s) {
    var validchart=" abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789.,áéíóú";
    pos=0;
    for (var i=0;i<s.length;i++){
        if ((validchart.indexOf(s.charAt(i)))==-1){
           return false;
        }
    }
    return true;
}


//Función para validar si un valor es texto permitido dentro del set de caracteres
function isText(s) {
    var validchart=" abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZáéíóú";
    pos=0;
    for (var i=0;i<s.length;i++){
        if ((validchart.indexOf(s.charAt(i)))==-1){
           return false;
        }
    }
    return true;
}



//Función para validar datos permitidos en campo de teléfono
 
function isTel(s) {
    var validchart="0123456789-";
    pos=0;
    for (var i=0;i<s.length;i++){
        if ((validchart.indexOf(s.charAt(i)))==-1){
           return false;
        }
    }
    return true;
}    



 //Función que valida cada caracter tecleado
 //permite(event,'num')

    function permite(elEvento, permitidos) {  
    // Variables que definen los caracteres permitidos  
    var numeros = "0123456789";  
    var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";  
    var numeros_caracteres = numeros + caracteres;  
    var teclas_especiales = [8, 37, 39, 46, 9];  
    // 8 = BackSpace, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha 9=suprimir    
    // Seleccionar los caracteres a partir del parámetro de la función  

    switch(permitidos) {
        case 'num':
           permitidos = numeros;
           break;
        case 'car':      
        permitidos = caracteres;      
        break;    
        case 'num_car':      
        permitidos = numeros_caracteres;      
        break;  
        }   
        
        // Obtener la tecla pulsada   
        var evento = elEvento || window.event;  
        var codigoCaracter = evento.charCode || evento.keyCode;  
        var caracter = String.fromCharCode(codigoCaracter);   
        
        // Comprobar si la tecla pulsada es alguna de las teclas especiales  
        // (teclas de borrado y flechas horizontales)  
        
        var tecla_especial = false;  
        for(var i in teclas_especiales) {    
        if(codigoCaracter == teclas_especiales[i]) {      
        tecla_especial = true;      
        break;    
        }  
        }   
        
        // Comprobar si la tecla pulsada se encuentra en los caracteres permitidos  
        // o si es una tecla especial  
        
        return permitidos.indexOf(caracter) != -1 || tecla_especial;
    } 
    
    function palabrasPermitidas(palabra){

        var reg = /^((?!puto|mames|chinga|mamada|mamado|puta|chingadera|chingado|chingar|mamar|mamon|mamón|verga|verija|nazi|panocha).)*$/;

        if(reg.test(palabra.value.toLowerCase()) == false) {
            return false;
        }
        else
        {
            return true;
        }
    }    
// FIN -->    
