/*-------------------------------------------------------------------
| vRequeridos()
| Valida campos tipo INPUT que no esten vacios que esten listados
| dentro del array inputReq. ej:
| var inputReq = new Array(
|	"calform.datebox",
|	"calform.datebox3"
| )
|
| Retorna: primer campo requerido que esta vacio
| 
| v.2.0      22/01/2001 									by R.D.B.
-------------------------------------------------------------------*/
function vRequeridos(){
	for (x=0;x<=inputReq.length-1;x++){
		input = eval(inputReq[x]);
		if (input.value == ""){
			return inputReq[x];
		}
	}
	return true;
}

function vRequeridosb(){
	for (x=0;x<=inputReqb.length-1;x++){
		input = eval(inputReqb[x]);
		if (input.value == ""){
			return inputReqb[x];
		}
	}
	return true;
}

/*-------------------------------------------------------------------
| checkdate("dd/mm/yyyy") as boolean 
| Checkea si la fecha es valida
| 
| Retorna: true/false
|
| v.1.0      18/01/2001 			by R.D.B.
-------------------------------------------------------------------*/
function checkdate(fecha){
	var maxYear = 2100; // Año maximo valido;
	var err = 0;	
	var dateMask = /^(\d{1,2})\/(\d{1,2})\/(\d\d\d\d)$/; 
	
	if (fecha.search(dateMask)!=-1) {
		aFecha = fecha.split("/");
		// errores de tipeo
		if (aFecha[1]<1 || aFecha[1]>12) err = 1;
		if (aFecha[0]<1 || aFecha[0]>31) err = 1;
		if (aFecha[2]<0 || aFecha[2]>=maxYear) err = 1;
		// meses terminados en 30
		if (aFecha[1]==4 || aFecha[1]==6 || aFecha[1]==9 || aFecha[1]==11){
			if (aFecha[0]==31) err=1
		}

		// febrero
		if (aFecha[1]==2){
			// feb
			var g=parseInt(aFecha[2]/4)
			if (isNaN(g)) {
				err=1
			}
			if (aFecha[0]>29) err=1;
			if (aFecha[0]==29 && ((aFecha[2]/4)!=parseInt(aFecha[2]/4))) err=1
		}
		
	} else { err=1 }
	if (err == 1) {
		return false;
	} else {
		return true;
	}
}

/*-------------------------------------------------------------------
| checkhora(hora) as boolean  
| recibe hora en formato hh:mm y controla el valor de la hora y de los minutos
| 
|       16/04/2002 			Por El KuNi
-------------------------------------------------------------------*/
function checkhora(hora)
{
	var err = 0;	
	var HourMask = /^(\d{1,2}):(\d{1,2})$/;
	if (hora.search(HourMask)!=-1) 
		{
		auxhora = hora.split(":");
		// errores de tipeo
		if (auxhora[0]<1 || auxhora[0]>24) err = 1;
		if (auxhora[1]<0 || auxhora[1]>59) err = 1;
		}
	else
		{
		err = 1;
		}
	if (err == 1) 
		return false;
	 else 
		return true;
}

/*-------------------------------------------------------------------
| LTrim(s)
| Devuelve una cadena sin los espacios del principio
| 
|       12/09/2002 			Por El KuNi
-------------------------------------------------------------------*/
function LTrim(s){
	var i=0;
	var j=0;
	
	// Busca el primer caracter <> de un espacio
	for(i=0; i<=s.length-1; i++)
		if(s.substring(i,i+1) != ' '){
			j=i;
			break;
		}
	return s.substring(j, s.length);
}

/*-------------------------------------------------------------------
| RTrim(s)
| Quita los espacios en blanco del final de la cadena
| 
|       12/09/2002 			Por El KuNi
-------------------------------------------------------------------*/
function RTrim(s){
	var j=0;
	
	// Busca el último caracter <> de un espacio
	for(var i=s.length-1; i>-1; i--)
		if(s.substring(i,i+1) != ' '){
			j=i;
			break;
		}
	return s.substring(0, j+1);
}

/*-------------------------------------------------------------------
| Trim(s)
| Quita los espacios del principio y del final
| 
|       12/09/2002 			Por El KuNi
-------------------------------------------------------------------*/
function Trim(s){
	return LTrim(RTrim(s));
}

/*-------------------------------------------------------------------
| UCase(s)
| Devuelve la cadena convertida a mayúsculas
| 
|       12/09/2002 			Por El KuNi
-------------------------------------------------------------------*/
function UCase(s){
	return s.toUpperCase();
}



function valentero(obj)
{
 if (obj.value=="")
	return true
  var checkOK = "0123456789-";
  var checkStr = obj.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (k = 0;  k < checkStr.length;  k++)
  {
    ch = checkStr.charAt(k);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("El campo solo permite el ingreso de digitos.");
    obj.focus();
    return (false);
  }
  return true
}

function valfloat(obj)
 {
  if (obj.value=="")
	return true
  var checkOK = "0123456789-,.";
  var checkStr = obj.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (k = 0;  k < checkStr.length;  k++)
  {
    ch = checkStr.charAt(k);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if ((ch == ",") || (ch == "."))
    {
      allNum += ".";
      decPoints++;
    }
    else 
		allNum += ch;
  }
  if (!allValid)
  {
    alert("El campo solo permite el ingreso de digitos.");
    obj.focus();
    return (false);
  }

  if (decPoints > 1)
  {
    alert("Nro invalido.");
    obj.focus();
    return (false);
  }
  return (true);
}