//  <<<   <<<   VALIDACION GENERAL   >>>   >>>  //
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyzáéíóúñü "
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ"
var numbers = "0123456789"

function esVacio(val){
  	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
		}
	return true;
	}

function esNumero(val){
	for(var i=0;i<val.length;i++){
		if(!esDigito(val.charAt(i))){return false;}
		}
	return true;
	}

function esDigito(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
	}

function soloDigitos(e) {
	var digito = -1;
  	if (e && e.which) digito = e.which; // NS
  	else if (window.event && window.event.keyCode) digito = window.event.keyCode; // IE
 	return (digito > -1 ? (digito > 47 && digito < 58) : true);
}

function isAlphabeticAndNumeric (s){
    var i;
    for (i = 0; i < s.length; i++) {   
        var c = s.charAt(i);
        if (!isLetterNumber(c))
        return false;
    }
    return true;
}

function isAlphabetic (s){
   var i;
   for (i = 0; i < s.length; i++)  {   
        var c = s.charAt(i);
        if (!isLetter(c))
        return false;
   }
   return true;
}

function isLetterNumber (c){
	var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz"
	var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var numbers = "0123456789"
		if( uppercaseLetters.indexOf( c ) != -1 ) return true;
		if ( lowercaseLetters.indexOf( c ) != -1 ) return true;
		if ( numbers.indexOf( c ) != -1 ) return true;
		return false;
}

function isLetter (c){
	if( uppercaseLetters.indexOf( c ) != -1 ) return true;
	if ( lowercaseLetters.indexOf( c ) != -1 ) return true;
	return false;
}

function esNumeroConBlancos(val){return(parseFloat(val,10)==(val*1));}

function validarEmail(valor) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
    return (true)
  } else {
    return (false);
  }
}

function valOption(obj){
   retorno = false;
   var radio = eval("document.forms[0]."+obj);
   for (var i=0; i<radio.length; i++){
		if (radio[i].checked)
			retorno = true;
   }
   return (retorno);
}

function validarFecha(dia, mes, ano){
	valida = true;
	switch (mes){
	case "02":
		if (dia == "30" || dia == "31")
			valida = false;
		break;
	case "04":
	case "06":
	case "09":
	case "11":
		if( dia == "31")
			valida = false;
		break;
	};
	return valida;
}

//  <<<   <<<   VALIDACION DE FECHAS   >>>   >>>  //

function compararFechas(fechaIni, fechaFin){
	comparar = false;
	arrFechaIni = fechaIni.split("-");
	strFechaIni = arrFechaIni[2] + arrFechaIni[1] + arrFechaIni[0];
	valFechaIni = new Number(strFechaIni); 

	arrFechaFin = fechaFin.split("-");
	strFechaFin = arrFechaFin[2] + arrFechaFin[1] + arrFechaFin[0];
	valFechaFin = new Number(strFechaFin);
	
	if (valFechaIni >= valFechaFin) 
		comparar = true;
	return (comparar);
}

function esFechaMayor(fechaIni, fechaFin){
	comparar = false;
	arrFechaIni = fechaIni.split("-");
	strFechaIni = arrFechaIni[2] + arrFechaIni[1] + arrFechaIni[0];
	valFechaIni = new Number(strFechaIni); 

	arrFechaFin = fechaFin.split("-");
	strFechaFin = arrFechaFin[2] + arrFechaFin[1] + arrFechaFin[0];
	valFechaFin = new Number(strFechaFin);
	
	if (valFechaIni > valFechaFin) 
		comparar = true;
	return (comparar);
}

//  <<<   <<<   VERIFICACION DE RADIOS & CHECKS   >>>   >>>  //

function chequearCheckBox(){
retorno = false;
	for (var i=0;i < document.forms[0].elements.length;i++)
	{	var elemento = document.forms[0].elements[i];
		if (elemento.type == "checkbox"){
			if (elemento.checked)
				retorno = true;
		}		
	}
	return (retorno);
}

function chequearRadio(){
retorno = false;
	for (var i=0;i < document.forms[0].elements.length;i++)
	{	var elemento = document.forms[0].elements[i];
		if (elemento.type == "radio"){
			if (elemento.checked)
				retorno = true;
		}		
	}
	return (retorno);
}

//  <<<   <<<   VISUALIZACION DE SPAN   >>>   >>>  //

function setVisibility(obj){
	v = document.getElementById(obj);
	v = v.style
	if (v.display == "none"){
		document.getElementById("Img" + obj).src = "../images/menos.gif";
		b = true;
	}else{
		document.getElementById("Img" + obj).src = "../images/mas.gif";
	    b = false;
	}	
	var s = (b)?"block":"none";
	if (v.display != s)
		v.display = s;
}

function setVisibility2(o, b){
	if (document.getElementById)
		v = document.getElementById(o).style;
	else if (document.all)
		v = document.all[o].style;
	else
		return;
	var s = (b)?"block":"none";
	if (v.display != s)
		v.display = s;
}

//  <<<   <<<    CARGA DINAMICA DE COMBOS   >>>   >>>  //


function cargaCombo(myArray, forma){
	for(i=0; i<myArray.length; i++){
		list = myArray[i];
		forma.options[i] = new Option(list[1], list[0]);
        forma.selectedIndex = 0;
	}	
}

function recargaCombo(myArray, forma, filtro, pos){
var j = 0;
forma.options.length = 0;
	for(i=0; i<myArray.length; i++){
		list = myArray[i];
		var cad1 = list[pos];
		var cad2 = filtro;
		if(cad1==cad2){
  		    forma.options[j] = new Option(list[1], list[0]);
		    j = j + 1;
		}
        forma.selectedIndex = 0;
	}	
}

function loadFirst(myArray, forma){ //Carga el Primer Combo
	cargaCombo(myArray, forma);  
}

function loadOthers(myArray, formaPadre, formaHija, pos){ //Carga Otros Combos
    if(formaPadre.options.length  > 0)
  		number = "" + formaPadre.options[formaPadre.selectedIndex].value;
	else	
  		number = "";
	
	if(number.length > 0){
		recargaCombo(myArray, formaHija, number, pos);
	}else{
		formaHija.options.length = 0;
	}
}

function selectValue(forma, valor){
  for(i=0; i<forma.length; i++){
		if(forma.options[i].value == valor){
			forma.selectedIndex = i;
		}
  }
}
