﻿// JScript File

// JScript File
// en la funcion de validar el primer parámetro es el tipo de dato que estamos validando
// y es un caracter, las opciones de este parametro son las siguiente:
//  
//  parametro                  significado
//      email       -------> validamos un e-mail
//      alpha       -------> un string como Nombre, Apellido u otros nombres que no puedan llevar números (estos pueden ser nulos)
//      alpha_num   -------> un string como Nombre de Agencia que podrian llevar letras y números (no pueden ser nulos)
//      tel_fax     -------> validamos telefono  o fax
//      iata        -------> validamos código de Agencia
//      drop_down   -------> para los DropDown en el caso que querramos validar que se haya escogido alguna opcion
//      pseudo      -------> validamos PseudoCity  
//      city_code   -------> validamos codigo de Ciudad
//      country_code-------> validamos codigo de País
//      office_id   -------> validamos Office ID    
//      pid         -------> validamos PID          
//      gateway     -------> validamos Getaway      
//      rid_sid     -------> validamos RID          
//                  \------> validamos SID          
//      mac         -------> validamos MAC          
//      url         -------> validamos url de tanto http como ftp

// los 3 parámetros que debemos enviar son:
// - TIPO  es uno de los caracteres estan arriba
// - VALOR es el valor del campo (el stringo o valor que queremos validar)
// - ID el id del control que vamos a evaluar

function Validar(type,id){
	//ERemail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	ERemail = /^[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}$/;
    ERnombre1 = /^([a-zA-Z]*(\s)*)+$/;
    ERnombre2 = /^([a-zA-Z_0-9]*(\s)*)+$/;
    //Invertido para alpha_num_signs
    ERnombre3 = /[|]|[´°~"%/=\¬{}*]/; 
    ERtel_fax = /^((\d){5,11}|(\d){3}(\-){0,1}(\d){4,6}|(\d){4}(\-){0,1}(\d){4,5})$/;
	//ERtel_fax = /^[(]{0,1}(\d){3}[)]{0,1}(\-){0,1}((\d){7,9}|(\d){3}(\-){0,1}(\d){4,6}|(\d){4}(\-){0,1}(\d){4,5})|(\d){7,8}$/;
	//ERtel_fax = /^[(]{0,1}(\d){3}[)]{0,1}(\-){0,1}((\d){7,9}|(\d){3}(\-){0,1}(\d){4,6}|(\d){4}(\-){0,1}(\d){4,5})$/;
    ERcodagen = /^\d{3,8}$/;
    ERciudad = /^[a-zA-Z]{3}$/;
    ERpais = /^[a-zA-Z]{2}$/;
    ERpseudocity = /^\w{3,9}$/;
    ERnumentero = /^\d*$/;
    ERnumdecimal = /^(\d)+((\.)(\d){1,2}){0,1}$/;
	ERUrlFtp = /^(ftp|ftps)[:]\/\/\w+((.|-|_)\w+)*(\/\w+(.|-|_)\w+)*$/;
    ERUrlHttp = /^(http|https)[:]\/\/\w+((.|-|_)\w+)*(\/\w+(.|-|_)\w+)*$/;
   
	if(document.getElementById(id)==null){
		return false;
	}
	else
	{
		valor = document.getElementById(id).value;
		switch ( type ){
	        case 'email':
	            if(valor=="") return true;
	            if(ERemail.test(valor)) return true;
	            else{
	               //alert("correo electronico no valido\nEj: nombre@taca.com");
	               //document.getElementById(id).focus();
	               return false;
	            }
	            break;
	        case 'alpha':
	            if(valor=="") return true;
	            if(ERnombre1.test(valor)) return true;
	            else{
	                //alert("Escriba unicamente letras.");
	                //document.getElementById(id).focus();
	                return false;
	            }
	            break;
	        case 'alpha_num':
	            if(valor=="") return true;
	            if(ERnombre2.test(valor)) return true;
	            else{
	                //alert("Escriba unicamente alphanumericos.");
	                //document.getElementById(id).focus();
	                return false;
	            }
	            break;
	       case 'alpha_num_sign':
	            if(valor=="") return true;
	            if(!ERnombre3.test(valor)) return true;
	            else{
	                //alert("Please write only alphanumeric characters and simbols.");
	                //document.getElementById(id).focus();
	                return false;
	            }
	            break;
	        case 'tel_fax':
	            if(valor=="") return true;
	            if(ERtel_fax.test(valor)) return true;
	            else{
	                //alert("Numero telefonico no valido\nEj: 503-22233312");
	                //document.getElementById(id).focus();
	                return false;
	            }
	            break;
	        case 'drop_down':
	            if(valor == "-1" ){
	                //alert("Debe seleccionar una opcion");
	                return false;
	            }
	            else{
	               return true;
	            }
	            break;
	        case 'integer_num':
	            if(valor=="") return true;
	            if(ERnumentero.test(valor)) return true;
	            else{
	                //alert("Debe ingresar un numero entero");
	                //document.getElementById(id).focus();
	                return false;
	            }
	            break;
	        case 'decimal_num':
	            if(valor=="") return true;
	            if(ERnumdecimal.test(valor)) return true;
	            else{
	                //alert("Debe ingresar un numero decimal\nEj: 253.37");
	                //document.getElementById(id).focus();
	                return false;
	            }
	            break;
	        case 'url_http':
	            if(valor=="") return true;
	            if(!(ERUrlHttp.test(valor))){
	                //alert("Formato invalido\nEj: http://www.taca.com/");
	                //document.getElementById(id).focus();
	                return false;
	            }
	            else{
	                return true;
	            }
	            break;
	        case 'url_ftp':
	            if(valor=="") return true;
	            if(!(ERUrlFtp.test(valor))){
	                //alert("Formato invalido\nEj: ftp://test/test");
	                //document.getElementById(id).focus();
	                return false;
	            }
	            else{
	                return true;
	            }
	            break;
	    }
	}
}

var letters=' ABCDEFGHIJKLMÑNOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyzÁáÉéÍíÓóÚú';
var numbers='1234567890';
var signs='+_,.:;@-\'¿?!¡[]#';
var urlsigns='?.-_/:#=';
var mathsigns='+-_=()*/';
var custom='<>#$%&?¿';
var space = ' ';
var coma = ',';
var dot = '.';
var plus = '+';
var minus='-';
var parentesis='()';
var dot_slash = './';
var slash = '/';

function ValidarOnKeyPress(e,allow){
	
	var key; 
    var a;    
    key=document.all?parseInt(e.keyCode): parseInt(e.which);
    
	if(key==8||key==0||key==9){
        return true;
    }
    
    if(key==13){
        e.keyCode = 13;
        return true;
    }
    if(key==241){
       a = 209;
    }
    else{
       a = key;
    }    
    var c = String.fromCharCode(a);
    /*if(document.all){
        e.keyCode = a;
    }
    else{
        e.which = a;
    }*/
    if(allow.indexOf(c)!=-1){
        return true;
    }else{        
		e.returnValue = false;
		e.cancel = true;
		return false;
    }
}

function ToUpperOnKeyPress(e){
	
	var key; 
    var a;    
    key=document.all?parseInt(e.keyCode): parseInt(e.which);
    
    if(key==8||key==0){
        return true;
    }
    
    if(key==13){
        e.keyCode = 13;
        return true;
    }
    if(key==241){
       a = 209;
    }
    else{
		if(key>=97 && key<=122){
			a = key - 32;
		}
		else{
       a = key;
	   }
    }    
	e.keyCode = a;
	return true;
}

