function estaVacio(str)
{
   // comprueba si la cadena de caracteres está vacia.
   for(var bucleEnt = 0; bucleEnt < str.length; bucleEnt++)
      if(" " != str.charAt(bucleEnt))
           return false;
   return true;
}

function compruebaNecesario(f)
{
   var strError = "";

   for(var bucleEnt = 0; bucleEnt<f.elements.length; bucleEnt++)
      if (null != f.elements[bucleEnt].getAttribute("necesario"))
         if (estaVacio(f.elements[bucleEnt].value))
            strError += "- " + f.elements[bucleEnt].id + "\n";

   if ("" != strError)
   {
      alert("Faltan datos necesarios: \n" + strError);
      return false;
   }
}

//********  Para validar los datos numericos ********************

function formatoNumero()
{
   with (event.srcElement)
        className =
           parseInt(value) >= 0 ? "positivo" : "negativo";
}

function validarNumero()
{
   // Obtiene el elemento origen
   var el = event.srcElement;
   var num = "0123456789.";  // numeros validos
  
   event.returnValue = true;

   // comprobar el primer caracter para la identificación de numeros negativos
   event.returnValue = ("-" == el.value.charAt(0)) || (-1 != num.indexOf(el.value.charAt(0)));

   // buscar caracteres no validos en el resto de la expresión
   for(var bucleEnt = 1; bucleEnt < el.value.length; bucleEnt++)
      if (-1 == num.indexOf(el.value.charAt(bucleEnt)))
         event.returnValue = false;
    
	//---------------------------------- Para validar nuemeros decimales con un solo punto
	   fin=el.value.lastIndexOf(".");  //Si quiere solo numeros entero borre esto y de la variable num, borre el punto.
	   inicio=el.value.indexOf(".");	 
	  if(inicio!=fin)
	    event.returnValue = false;
	//-------------------------------------
	
   if (!event.returnValue)   // valor no valido
      el.className = "valorNoVálido";  // cambia la clase
   else
      // borrar la clase para utilizar la representación predeterminada
      el.className = "valorVálido";
}

function compruebaFormato()
{
   event.returnValue = true;
   if (null != event.srcElement.validate)
      if ("number" == event.srcElement.validate)
         validarNumero();   // Define event.returnValue
   if((null != event.srcElement.getAttribute("format")) && (event.returnValue))
      if ("number" == event.srcElement.getAttribute("format"))
         formatoNumero();
}


