﻿// JScript File

function MM_findObj(n, d) { //v4.01
  var p,i,x;
  if(!d) d=document;
  if((p = n.indexOf("?")) > 0 && parent.frames.length) {
    d = parent.frames[n.substring(p+1)].document;
    n = n.substring(0,p);
  }
  if(!(x = d[n]) && d.all) x = d.all[n];
  for (i = 0;!x && i < d.forms.length;i++) x = d.forms[i][n];
  for(i = 0;!x && d.layers && i < d.layers.length;i++) x = MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x = d.getElementById(n);
  return x;
}

var arrNumeros = new Array("1","2","3","4","5","6", "7", "8", "9", "0", ",")
//function esNumero: recibe del evento onKeyPress el objeto event.
function pulsaNumero(e, ctr, negativo, entero, separador_decimal){   
   if(!separador_decimal)separador_decimal = ",";
   var car
   var key = 0
   var tecla
   var numeros = "1234567890"
  
   var estado=true

          if(document.all){          
              key = event.keyCode                        
          }
          else if(document.layers){
              key = e.which        
          }                
          else if(document.getElementById){       
              key = (window.Event) ? e.which : e.keyCode;          
          }             	
          tecla = String.fromCharCode(key);
		  		  
		  if(key > 32){ 
		   	if(numeros.indexOf(tecla) != -1){estado=true}		          
			else{estado = false} 
		  }
		  
          if(estado==false)
          {
             if(!entero){    
		        if(key==46){//key = 46 = '.'		     
			        var varctr = document.getElementById(ctr)			   
			        if((varctr.value).indexOf(separador_decimal) == -1)estado=true
		        }
		     }
		     
		     if(tecla=="-" && negativo){
		        var varctr = document.getElementById(ctr)
		        if((varctr.value).indexOf('-') == -1)varctr.value = "-" + varctr.value		   
			 }
		     
              if(document.all)
                  event.returnValue = estado;
              else
                  return estado;
          }
}



function oNumero(numero)
{
//Propiedades 
this.valor = numero || 0
this.dec = -1;
//Métodos 
this.formato = numFormat;
this.ponValor = ponValor;
//Definición de los métodos 
function ponValor(cad)
{
if (cad =='-' || cad=='+') return
if (cad.length ==0) return
if (cad.indexOf('.') >=0)
    this.valor = parseFloat(cad);
else 
    this.valor = parseInt(cad);
} 
function numFormat(dec, miles)
{
var num = this.valor, signo=3, expr;
var cad = ""+this.valor;
var ceros = "", pos, pdec, i;
for (i=0; i < dec; i++)
ceros += '0';
pos = cad.indexOf('.')
if (pos < 0)
    cad = cad+"."+ceros;
else
    {
    pdec = cad.length - pos -1;
    if (pdec <= dec)
        {
        for (i=0; i< (dec-pdec); i++)
            cad += '0';
        }
    else
        {
        num = num*Math.pow(10, dec);
        num = Math.round(num);
        num = num/Math.pow(10, dec);
        cad = new String(num);
        }
    }
pos = cad.indexOf('.')
if (pos < 0) pos = cad.lentgh
if (cad.substr(0,1)=='-' || cad.substr(0,1) == '+') 
       signo = 4;
if (miles && pos > signo)
    do{
        expr = /([+-]?\d)(\d{3}[\.\,]\d*)/
        cad.match(expr)
        cad=cad.replace(expr, RegExp.$1+','+RegExp.$2)
        }
while (cad.indexOf(',') > signo)
    if (dec<0) cad = cad.replace(/\./,'')
        //return cad
        return cad.replace(/\,/g,";").replace(/\./g,",").replace(/\;/g,".");
}
}//Fin del objeto oNumero