function requerido(campo, id){
	if ((campo.value.length==0 || campo.value.length ==undefined) &&   campo.style.visibility!='hidden') {
		alert("El campo " + id + " es requerido");
		if(campo.type!='hidden' && !campo.disabled){
			campo.focus();
		}
		
		return false;
	} else {
		return true;
	}
}

function letras (campo, id) {
	var charpos = campo.value.search("[^A-Za-z]"); 
	if(campo.value.length > 0 &&  charpos >= 0) { 
		strError = "El campo " + id +" solo permite letras "; 
		alert(strError + "\n [Posicion del caracter erróneo: " + eval(charpos+1)+"]"); 
		campo.focus();
		return false; 
	} else {//if 
		return true;
	}
}


function numerico(campo, id) {

	var charpos = campo.value.search("[^0-9]"); 
    if (campo.value.length > 0 &&  charpos >= 0)  { 
    	strError = "El campo "+id+" solo acepta digitos "; 
	    alert(strError + "\n [El caracter erróneo esta en la posicion: " + eval(charpos+1)+"]"); 
		campo.focus();
	    return false; 
	} else {
		return true;
	}
}

function alfanumericoold(campo, id){ 
    var charpos = campo.value.search('[^A-Za-z0-9., "]'); 
	if(campo.value.length > 0 &&  charpos >= 0) { 
		strError = "El campo "+id+" solo aceptar letras de A a la Z y digitos"; 
		alert(strError + "\n [Posición del caracter erróneo: " + eval(charpos+1)+"]"); 
		campo.focus();
		return false; 
	} else {//if 
		return true;
	}
}


function alfanumerico2(campo, id){

  	var charpos = campo.value.search("[^A-Za-z0-9.!#$%&/()=?¡*_:;áéíóúÁÉÍÓÚñÑ+, |]");
	if(campo.value.length > 0 &&  charpos >= 0) 
	{ 
	    strError = "El campo "+id+" solo aceptar letras de A a la Z y digitos"; 
		alert(strError + "\n [Posición del caracter erróneo: " + eval(charpos+1)+"]"); 
		campo.focus();
		return false; 
	}
	else 
	{
		return true;
	}
}


function alfanumerico(campo, id){

    var StringAValid = campo.value;
    var i;
    var valall = true;
    
    i=StringAValid.indexOf("'");
    if (i>=0) valall = false;

    /*i=StringAValid.indexOf('<');
    if (i>=0) valall = false;*/

    /*i=StringAValid.indexOf('>');
    if (i>=0) valall = false;*/

    /*i=StringAValid.indexOf('"');
    if (i>=0) valall = false;*/

    if (valall == false){
   	    strError = "El campo "+id+" solo aceptar letras de A a la Z y digitos"; 
	    //alert(strError + "\n [Posición del caracter erróneo: " + eval(i+1)+"]"); 
	    alert(strError);
	    campo.focus();
	}    
	return valall;
}

function seleccionado(campo,id){
    if (campo.selectedIndex < 0 || campo.value == '0')
    { 
		strError = "El campo "+id+" no se selecciono"; 
		alert(strError); 
		campo.focus();
		return false; 
	} else {//if 
		return true;
	}
}


//----------- Captura Teclas de F1 a F5 y Backspace --------------------
function Capture()
{
	if(window.event && window.event.keyCode == 112) 
    {  //F1
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 113) 
    {  //F2
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 114) 
    {  //F3
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 115) 
    {  //F4
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 116) 
    {  //F5
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 117) 
    {  //F6
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 118) 
    {  //F7
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 119) 
    {  //F8
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 120) 
    {  //F9
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 121) 
    { //F10 
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 122) 
    { //F11
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}
	if(window.event && window.event.keyCode == 123) 
    { //F12
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
		window.event.keyCode = 505;
  	}

	if(window.event && window.event.keyCode == 8) 
    { // Backspace
		window.event.keyCode = 505;
  	}
	//return false;
	return true;

}
//----------- Captura Teclas de F1 a F5 y Backspace --------------------


function taLimit() 
{
    var taObj=event.srcElement;
    if (taObj.value.length==taObj.maxLength*1) return false;
}

function taCount(visCnt) 
{
    var taObj=event.srcElement;
    if (taObj.value.length>taObj.maxLength*1) taObj.value=taObj.value.substring(0,taObj.maxLength*1);
    if (visCnt) visCnt.innerText=taObj.maxLength-taObj.value.length;
}



//--- Valida Diferentes Tipos de Caracteres por Perfiles de TextBoxes -----
function jKeyPress(tipo) {
	if (window.event.keyCode == 13) {
		//eval(window.event.srcElement.ejecutar);
	}
	else {
		switch(tipo) {
			case 1:
				//fecha
				if ((window.event.keyCode < 48 || window.event.keyCode > 57) && window.event.keyCode != 47)
					window.event.returnValue = false;
				else
					window.event.returnValue = true;
				break;			
			case 2:
				//números con parte decimal
				if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
					window.event.returnValue = true;
				else {
					if (window.event.keyCode == 46) {
						var re;
						re = /\./ig;
						if (String(window.event.srcElement.value).search(re) > -1)
							window.event.returnValue = false;
						else
							window.event.returnValue = true;
					}
					else
						window.event.returnValue = false;
				}
				break;			
			case 3:
				//cualquier cosa
				if (window.event.keyCode < 48 || window.event.keyCode > 57) 
					window.event.returnValue = false;
				else
					window.event.returnValue = true;
				break;
			case 4:

				//texto
				if (window.event.keyCode >= 97 && window.event.keyCode <= 122) {
					window.event.keyCode = window.event.keyCode - 32
					window.event.returnValue = true;
				}
				else {
					if (window.event.keyCode >= 65 && window.event.keyCode <= 90)
						window.event.returnValue = true;
					else {
						if (window.event.keyCode > 47 && window.event.keyCode <= 57)
							window.event.returnValue = true;
						else {
							if (window.event.keyCode == 45 || window.event.keyCode == 32 || window.event.keyCode == 241)
								window.event.returnValue = true;
							else
								window.event.returnValue = false;
						}
					}
				}
				break;
			case 5:
				//solo números
				if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
					window.event.returnValue = true;
				else
					window.event.returnValue = false;
				break;		
			//----------- CAMPOS LIKE ----------------------------------
			case 6: 
				// Solo soporta los siguientes caracteres
				// KEY - ASCII
				//  % - 37
				//  0 - 48
				//  9 - 57
				//  a - 97
				//  z - 122
				//  A - 65
				//  Z - 90
				//  space - 32


				if (window.event.keyCode >= 48 && window.event.keyCode <= 57 || window.event.keyCode >= 97 && window.event.keyCode <= 122 || window.event.keyCode >= 65 && window.event.keyCode <= 90 || window.event.keyCode == 32 || window.event.keyCode == 37 || window.event.keyCode == 95 || window.event.keyCode == 64 || window.event.keyCode == 46  || window.event.keyCode == 241) {
					window.event.returnValue = true;
				} 
				else
					{
						window.event.returnValue = false;				
					} 

				
				break;
			case 7:
				//solo números
				if ((window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode == 46))
					window.event.returnValue = true;
				else
					window.event.returnValue = false;
				break;		

			default: 			
				window.event.returnValue = true;
				break;
		}
	}
}
//--------------- Funcion para validar fechas --------------------------

function formateafecha(fecha) 
{ 
var long = fecha.length; 
var dia; 
var mes; 
var ano; 
var primerslap=false; 
var segundoslap=false; 

if ((long>=2) && (primerslap==false)) { dia=fecha.substr(0,2); 
if ((IsNumeric(dia)==true) && (dia<=31) && (dia!="00")) { fecha=fecha.substr(0,2)+"/"+fecha.substr(3,7); primerslap=true; } 
else { fecha=""; primerslap=false;} 
} 
else 
{ dia=fecha.substr(0,1); 
if (IsNumeric(dia)==false) 
{fecha="";} 
if ((long<=2) && (primerslap=true)) {fecha=fecha.substr(0,1); primerslap=false; } 
} 
if ((long>=5) && (segundoslap==false)) 
{ mes=fecha.substr(3,2); 
if ((IsNumeric(mes)==true) &&(mes<=12) && (mes!="00")) { fecha=fecha.substr(0,5)+"/"+fecha.substr(6,4); segundoslap=true; } 
else { fecha=fecha.substr(0,3);; segundoslap=false;} 
} 
else { if ((long<=5) && (segundoslap=true)) { fecha=fecha.substr(0,4); segundoslap=false; } } 
if (long>=7) 
{ ano=fecha.substr(6,4); 
if (IsNumeric(ano)==false) { fecha=fecha.substr(0,6); } 
else { if (long==10){ if ((ano==0) || (ano<1900) || (ano>2100)) { fecha=fecha.substr(0,6); } } } 
} 

if (long>=10) 
{ 
fecha=fecha.substr(0,10); 
dia=fecha.substr(0,2); 
mes=fecha.substr(3,2); 
ano=fecha.substr(6,4); 
// Año no viciesto y es febrero y el dia es mayor a 28 
if ( (ano%4 != 0) && (mes ==02) && (dia > 28) ) { fecha=fecha.substr(0,2)+"/"; } 
} 
return (fecha); 
} 

function IsNumeric(valor) 
{ 
var log=valor.length; var sw="S"; 
for (x=0; x<log; x++) 
{ v1=valor.substr(x,1); 
v2 = parseInt(v1); 
//Compruebo si es un valor numérico 
if (isNaN(v2)) { sw= "N";} 
} 
if (sw=="S") {return true;} else {return false; } 
} 
//---------------------------------------------------------------
function EsFecha(s) 
{
 //Esta función devuelve verdadero (true) si la cadena que se le pasa como argumento es 
 //una fecha válida, y falso (false) en caso contrario, 
 var Tentativa = new Date(s); 
 if (isNaN(Tentativa)) 
	{ return false; } 
else 
	{ return true; } 
}
 

function Control_Fechas(Fecha1, Fecha2, TipoVal)
{
/*
 con formato DD/MM/YYYY 
 Según el parámetro TipoVal verifica : 0  -  Igualdad
                                       1  -  f1 mayor que f2
                                       2  -  f1 menor que f2
                                       3  -  f1 mayor o igual que f2
                                       4  -  f1 menor o igual que f2 */

var DateField  =  Fecha1;
var DateField2  =  Fecha2;

var seperator  =  "/";
var day;
var month;
var year;
var ok  =  false;


    /* Manejo de fecha1*/
		
	var Year  =  DateField  +  "";
	var Day, Month;
	var Temp, Temp2, Temp3;
	
	Temp =  Year.indexOf( seperator );
	Day	=  Year.substring(0, Temp);
    Temp2 =  Year.substring(Temp  +  1, Year.length);
	Temp3 =  Temp2.indexOf( seperator );
	Month =   Temp2.substring(0, Temp3);
	Year =  Temp2.substring(Temp3  +  1, Temp2.length);				
	DateField =  Year  +  Month  +  Day
	
	/* Manejo de fecha2 */
	Year =  DateField2  +  "";   
	Temp =  Year.indexOf( seperator );
	Day	 =  Year.substring(0, Temp);
    Temp2 =  Year.substring(Temp  +  1, Year.length);
	Temp3 =  Temp2.indexOf( seperator );
	Month =   Temp2.substring(0, Temp3);
	Year =  Temp2.substring(Temp3  +  1, Temp2.length);				
	DateField2 =  Year  +  Month  +  Day
	

		switch (TipoVal)
		{
		case 0: //igualdad
    		if (DateField !=  DateField2){
    		ok = true;
    		}
			break;
		case 1: //mayor
		    if (DateField>DateField2){
    		ok = true;
    		}
			break;	
		case 2: //menor
		    if (DateField<DateField2){
    		ok = true;
    		}
			break;										
		case 3://mayor o igual
		    if (DateField > DateField2 || DateField == DateField2){
    		ok = true;
    		}
			break;						
		case 4://manor o igual
		    if (DateField < DateField2 || DateField == DateField2){
    		ok = true;
    		}
			break;							
		}		
   return ok;
}

//--------------------------------------------------------------------
//--------------------------------------------------------------------

