/*
 Esta funcion chequea que en los textfields del formulario no se ingresen 
 Copyright 2002 PrimaWeb S.I.
 
*/

function validate()
{
	return true;
	
	formulario = document.forms[0];
	
	
	for(i=0; formulario.elements[i]; i++)
	{
		elem = formulario.elements[i];
		if(elem.type == "text" || elem.type == "textarea")
		{
		        if(!isFilled(elem)){
				alert("Por favor complete los cuadros de texto vacíos antes de continuar");
				return false;
			}
		        		        
		        if(isInvalid(elem.value)) {
				alert("Por favor corrija un caracter no válido: "+charsInvalidMA[j]+"\nen el cuadro: "+elem.name);
				return false;
			}
		}
	}
	return true;
}

function isFilled(elm) {
	if(elm.value!= null){
	 if (trimString(elm.value)!= ""){
	  return true;
	 }
	} 
	return false;
}

/*
 Chequea que no aparezca ningun caracter invalido (especificados en los arrays) en el texto dado.
*/

charsInvalidMA = new Array("'","|","\""); 

function isInvalid(text)
{
	for(j=0; j<charsInvalidMA.length; j++)
	{
		if(text.lastIndexOf(charsInvalidMA[j])!=-1)
			return true;
	}
	return false;
}

function sinDatos(txt){
	
	 if (txt.value==null || trimString(txt.value)== "s/d" || trimString(txt.value)== "S/D"){
	  txt.focus();
	  alert("Este cuadro no puede estar sin datos");
	  return true;
	 }
	return false;
}

//////////////////////////////////////
// The num is the object to be checked.
// The min is the minimum number of digits in the number.
// The max is the maximum digits in the number.

function numericCheck(num,min,max){
   
   if(num.value!='s/d' && num.value!='S/D'){
   
   if (num.value.length < min || num.value.length > max){
      alert( "El número no puede contener menos de "+
              min+" ni mas de "+max+" dígitos.");
      num.focus();
      return(false);
   }
   
     for (i = 0; i < num.value.length; i++)
    {
        var c = num.value.charAt(i);
        if ( ((c >= "a") && (c <= "z")) || ((c >= "A") && 
	(c <= "Z"))){
           alert("Se ha detectado un formato numérico incorrecto\n"+
                 "Por favor corríjalo.");
           num.focus();
           return false;
        }
    }
    return true;
  } //if !s/d
 return true;
}

// validación adaptada para años

function yearCheck(num){
   
   if(num.value!='s/d' && num.value!='S/D'){
   
   if (num.value.length != 4){
      alert( "El año debe contener 4 dígitos.");
      num.focus();
      return(false);
   }
   
     for (i = 0; i < num.value.length; i++)
    {
        var c = num.value.charAt(i);
        if (c < '0' || c > '9'){
           alert("Se ha detectado un formato numérico incorrecto\n"+
                 "Por favor corríjalo.");
           num.focus();
           return false;
        }
    }
    return true;
  } //if !s/d
 return true;
}


//////// Cantidad check

function qtyCheck(num){
   
   if(num.value!='s/d' && num.value!='S/D'){
   
     for (i = 0; i < num.value.length; i++)
    {
        var c = num.value.charAt(i);
        if (c < '0' || c > '9'){
           alert("Se ha detectado un formato numérico incorrecto\n"+
                 "Por favor corríjalo.");
           num.focus();
           return false;
        }
    }
    return true;
  } //if !s/d
 return true;
}








///////// Metodo trim() a lo Java

function trimString(inString) {
	var outString;
	var startPos;
	var endPos;
	var ch;
        
        // where do we start?
	startPos = 0;
	ch = inString.charAt(startPos);
	while ((ch == " ") || (ch == "\b") || (ch == "\f") || (ch == "\n") || (ch == "\r") || (ch == "\n")) {
		startPos++;
		ch = inString.charAt(startPos);
	}

	// where do we end?
	endPos = inString.length - 1;
	
	//Alberto
	//Si todos los caracteres son vacíos devuelve la cadena vacía
	
	if(startPos>endPos){
         //alert("startPos:"+startPos);		
         //alert("endPos:"+endPos);
	 return "";
	} 
	
	ch = inString.charAt(endPos);
	while ((ch == " ") || (ch == "\b") || (ch == "\f") || (ch == "\n") || (ch == "\r") || (ch == "\n")) {
		endPos--;
		ch = inString.charAt(endPos);
	}

	// get the string
	outString = inString.substring(startPos, endPos + 1);

	return outString;
}

