/**
 * Funciones varias de Javascript (DOM2) que permite dar formato
 * a campos de texto (input type="text")
 *
 * Consideraciones;
 *   Debido a que IE implementa de manera particular DOM2 es necesario
 *   observar que los eventos se localizan en el objeto windows.event
 *   en los demas navegadores DOM Compilant se usa el objeto (e).
 *
 * Con usar las funciones
 *
 *  inputtext = document.getElementById('id');
 *  inputtext.onkeypress = function (e){ return funcion(e,<param>); };
 */

function MaskNumbers(e)
{
  if(window.event)
  {
    e = window.event;

    if((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57)))
    {
      e.keyCode = '';
      e.cancelBubble = true;
      return false;
    }
  }
  else
  {
    if((e.charCode != 0) && ((e.charCode < 48) || (e.charCode > 57)))
    {
      e.preventDefault();
      e.stopPropagation();
      return false;
    }
  }
  return true;
}

  function MaskNumbersLen(e, len)
  {
    var src;
    len =  len -1 ;
    if(window.event)
    {
      e = window.event;
      src = e.srcElement;

      if(((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57))))
      {
         if (src.value.length > len){
            e.keyCode = '';
	         e.cancelBubble = true;
            return false;
         }
      }
    }
    else
    {
      src = e.target;
      if(((e.charCode != 0) && ((e.charCode < 48) || (e.charCode > 57))))
      {
            e.preventDefault();
            e.stopPropagation();
            return false;
      }
      else {
         if ((src.value.length > len) && (e.charCode != 0)){
            e.preventDefault();
            e.stopPropagation();
            return false;
         }
      }
    }

    return true;
  }

  function MaskUpperCase(e)
  {
    if(window.event)
    {
      e = window.event;

      if((e.keyCode >= 97) && (e.keyCode <= 122))
        e.keyCode = e.keyCode - 32;
    }
    else
    {
      if((e.charCode >= 97) || (e.charCode < 122))
        e.charCode = e.charCode - 32;
    }

    return true;
  }

  function MaskNumbersFloat(e){


   if(window.event){
      e = window.event;

      var fuente  = e.target.value;
      var nPuntos = (fuente.indexOf('.', 0) != -1);
      var posPunto = fuente.indexOf('.', 0);
      var decimales = 0;

      if ( posPunto != -1 ){
         decimales = fuente.length - posPunto;
      }

      if ((e.keyCode != 0) && ((e.keyCode < 48) || (e.keyCode > 57) || (decimales > 2)) ){
         if (e.keyCode != 46 ) {
            e.keyCode = '';
            e.cancelBubble = true;
            return false;
         }else{
		      if ( nPuntos ){
		          e.preventDefault();
		          e.stopPropagation();
		          return false;
		      }
         }
      }
   }
   else {
      var fuente  = e.target.value;
      var nPuntos = (fuente.indexOf('.', 0) != -1);
      var posPunto = fuente.indexOf('.', 0);
      var decimales = 0;

      if ( posPunto != -1 ){
         decimales = fuente.length - posPunto;
      }

	   if((e.charCode != 0) && ( (e.charCode < 48) || (e.charCode > 57) || (decimales > 2)) ){
	      if ( e.charCode != 46 ) {
		       e.preventDefault();
		       e.stopPropagation();
		       return false;
	      }
	      else {
		      if ( nPuntos ){
		          e.preventDefault();
		          e.stopPropagation();
		          return false;
		      }
	      }
	 }
   }

    return true;
}


function toUpperCase(id)
{
  obj = document.getElementById(id);
  obj.value = obj.value.toUpperCase();
}

function MaskLetters(e)
{
  if(window.event)
  {
    e = window.event;

    if((e.keyCode != 0) && ((e.keyCode < 65 ) || (e.keyCode > 122 )))
    {
      e.keyCode = '';
      e.cancelBubble = true;
      return false;
    }
  }
  else
  {
    if((e.charCode != 0) && ((e.charCode < 65 ) || (e.charCode > 122 )))
    {
      e.preventDefault();
      e.stopPropagation();
      return false;
    }
  }
  return true;
}

