
//scripts que são chamados nas páginas

// -------------------- Script Mascaramento de Data ----------------------------
// estes dois scripts efetuam a mascara da data ou seja formatam a data da forma dd/mm/aaaa
// e tb verificam se a mesma data foi digitada corretamente
//Deve-se chamar o script da seguinte forma
// include_once('../_js/inc_javaScripts.php');
//<INPUT type='TEXT' name='defaultField' id='defaultField' SIZE='12px' value='' maxlength=10 onKeyup='mascara_data(defaultField);'>
//ou no caso de variável php
//<INPUT type='TEXT' name='$defaultField' id='$defaultField' SIZE='12px' value='' maxlength=10 onKeyup='mascara_data($defaultField);'>

function liberaFlash (piWid, piHei, psSrc, psId) 
{
var strSwf;

strSwf = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" id="+psId+" width="+piWid+" height="+piHei+">";
strSwf += "<param name=\"movie\" value="+psSrc+" />";
strSwf += "<param name=\"allowScriptAccess\" value=\"sameDomain\" />";
strSwf += "<param name=\"quality\" value=\"high\" />";
strSwf += "<param name=\"wmode\" value=\"transparent\" />";
strSwf += "<embed id="+psId+" name="+psId+" allowScriptAccess=\"sameDomain\" swLiveConnect=\"true\" src="+psSrc+" quality=\"high\" wmode=\"transparent\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width="+piWid+" height="+piHei+"></embed></object>";

this.document.write(strSwf);
}

function mascara_data(data,evt){

		//key.code =8 é backspace
		//evt = evt ? evt: null;

			if (!evt || evt.keyCode != 8){
				  var mydata = '';
				  mydata = mydata + data.value;
				  if (mydata.length == 2){
					  mydata = mydata + '/';
					//  alert("entrou:"+mydata+" "+data.name);
					  //document.getElementById(data.name).value = mydata;
					  data.value = mydata;
					//  alert(document.getElementById(data.name).value);
					  return;
				  }
				  if (mydata.length == 5){
					  mydata = mydata + '/';
					  //document.getElementById(data.name).value = mydata;
					  data.value = mydata;
					  return ;
				  }
				  if (mydata.length == 10){
					  verifica_data(data);
				  }
			}

}


 function verifica_data (data) {
	if(data.value != ""){
            dia = (data.value.substring(0,2));
            mes = (data.value.substring(3,5));
            ano = (data.value.substring(6,10));
            // alert("mydata"+dia+mes+ano);

            situacao = '';
            // verifica o dia valido para cada mes
            if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == '04' || mes == '06' || mes == '09' || mes == '11' ) || dia > 31) {
                situacao = 'falsa';
            }

            // verifica se o mes e valido
            if (mes < 01 || mes > 12 ) {
                situacao = 'falsa';
            }

            // verifica se e ano bissexto
            if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) {
                situacao = 'falsa';
            }

            //Limita ano
            if (ano < 1900 || ano > 2100) {
               situacao = 'falsa';
            }

            if (data.value == '') {
                situacao = 'falsa';
            }

            if (situacao == 'falsa') {
                alert('Data inválida!');
                document.getElementById(data.name).focus();
            }
	}
 }
//----------------- fim script mascaramento de Data ----------------------------
/*
    Função: Limpar espaços em brancos à direita e à esquerda de uma string
    OBS: A string pode ser passada diretamente para a função ou pode passar um objeto
         como referência (útil para validar formulários)
*/
function Trim(v){
    // Passa o valor ou objeto recebido pela função para uma variável temporária,
    // pois se for objeto, a variável "v" só poderá ser alterada no final da função.
    var x = v;
    // Cria uma varíavel temporária com o valor recebido convertido para string em minúsculas.
    // Essa variável será usada para testar se o valor recebido é uma string ou um objeto.
    var test = v.toString().toLowerCase();
    // Verifica se o valor recebido é um objeto
    if(test.indexOf("object") == 1){
        // Se v é um objeto, x recebe o valor do objeto v.
        x = v.value;
    }
    // Enquanto o primeiro caractere de x (que tem índice 0) for espaço em branco,
    // x receberá um novo valor, que será o valor anterior sem o primeiro caractere.
    while(x.charAt(0) == " "){
        x = x.substr(1,x.length - 1);
    }
    // Enquanto o último caractere de x (onde o índice é definido pela quantidade de
    // carateres de x menos um) for espaço em branco, x receberá um novo valor, que
    // será o valor anterior sem o último caractere.
    while(x.charAt(x.length - 1) == " "){
        x = x.substr(0,x.length-1);
    }
    // Se o valor recebido é um objeto, o objeto recebe o valor de x, sem espaços
    // em branco à direita e à esquerda.
    if(test.indexOf("object") == 1){
        v.value = x;
    } else {
        // Se não for objeto, a função retorna o valor de x sem espaços
        // em branco à direita e à esquerda.
        return x;
    }
}


 function validaForm( ) {
    //alert(document.getElementById('validate').value);
    var  arrNaoNulos = (document.getElementById('validate').value).split("##");
    var campos = arrNaoNulos[0].split(",");
    var lable =  arrNaoNulos[1].split(",");
    qtdMsg = 0;
    campoFocus = "";
    msg = "";
 for (i=0; i<campos.length; i++){
     //alert(arrNaoNulos[i]+" "+lable[i]);
     valor = document.getElementById(Trim(campos[i])).value;
    // lable = arrNaoNulos[i][1];
    if (Trim(valor) == ""){
        qtdMsg ++;
        if (msg == ""){
           msg= "'"+lable[i]+"'";
           campoFocus = Trim(campos[i]);
        }else{
           msg += ", '"+lable[i]+"'";
        }

        //alert("Campos nulos "+campos[i]+" "+lable[i]);
    }

 }
 if (msg != ""){
        alert("O(s) campo(s) "+msg+" devem ser preenchidos!");
        document.getElementById(Trim(campoFocus)).focus();
        return false;
 }else{
       //document.form1.submit();
		if ( validaAdicional() ) {
       		return true;
		}else{
			return false;
		}
 }

}

// -------------------- Script Valida Tamanho de TextÁrea ----------------------------
//Limita quantidade de compos nos textarea
//cham funcao <textarea onkeydown="javascript:tamanhomaximo(this,100)" onblur="javascript:tamanhomaximo(this,100)" rows="5" cols="80" name="teste">
function tamanhomaximo(obj,tamanho){
objeto = obj.value
if(objeto.length > tamanho){
alert('O campo não deve ultrapassar ' + tamanho + ' caracteres.');
obj.value = objeto.substr(0,tamanho);
  }
}


// -------------------- Script Mascaramento de Data ----------------------------
/**
 * @author www.mhavila.com.br
 * @version 1.01, 2004
 *
 * PROTÓTIPOS:
 * método String.lpad(int pSize, char pCharPad)
 * método String.trim()
 *
 * String unformatNumber(String pNum)
 * String formatCpfCnpj(String pCpfCnpj, boolean pUseSepar, boolean pIsCnpj)
 * String dvCpfCnpj(String pEfetivo, boolean pIsCnpj)
 * boolean isCpf(String pCpf)
 * boolean isCnpj(String pCnpj)
 * boolean isCpfCnpj(String pCpfCnpj)
 */


NUM_DIGITOS_CPF  = 11;
NUM_DIGITOS_CNPJ = 14;
NUM_DGT_CNPJ_BASE = 8;


/**
 * Adiciona método lpad() à classe String.
 * Preenche a String à esquerda com o caractere fornecido,
 * até que ela atinja o tamanho especificado.
 */
String.prototype.lpad = function(pSize, pCharPad)
{
	var str = this;
	var dif = pSize - str.length;
	var ch = String(pCharPad).charAt(0);
	for (; dif>0; dif--) str = ch + str;
	return (str);
} //String.lpad


/**
 * Adiciona método trim() à classe String.
 * Elimina brancos no início e fim da String.
 */
String.prototype.trim = function()
{
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
} //String.trim


/**
 * Elimina caracteres de formatação e zeros à esquerda da string
 * de número fornecida.
 * @param String pNum
 * 	String de número fornecida para ser desformatada.
 * @return String de número desformatada.
 */
function unformatNumber(pNum)
{
	return String(pNum).replace(/\D/g, "").replace(/^0+/, "");
} //unformatNumber


/**
 * Formata a string fornecida como CNPJ ou CPF, adicionando zeros
 * à esquerda se necessário e caracteres separadores, conforme solicitado.
 * @param String pCpfCnpj
 * 	String fornecida para ser formatada.
 * @param boolean pUseSepar
 * 	Indica se devem ser usados caracteres separadores (. - /).
 * @param boolean pIsCnpj
 * 	Indica se a string fornecida é um CNPJ.
 * 	Caso contrário, é CPF. Default = false (CPF).
 * @return String de CPF ou CNPJ devidamente formatada.
 */
function formatCpfCnpj(pCpfCnpj, pUseSepar, pIsCnpj)
{

	if (pIsCnpj==null) pIsCnpj = false;
	if (pUseSepar==null) pUseSepar = true;
	var maxDigitos = pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF;
	var numero = unformatNumber(pCpfCnpj);

	numero = numero.lpad(maxDigitos, '0');
	if (!pUseSepar) return numero;

	if (pIsCnpj)
	{
		reCnpj = /(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/;
		numero = numero.replace(reCnpj, "$1.$2.$3/$4-$5");
	}
	else
	{
		reCpf  = /(\d{3})(\d{3})(\d{3})(\d{2})$/;
		numero = numero.replace(reCpf, "$1.$2.$3-$4");
	}
	return numero;
} //formatCpfCnpj


/**
 * Calcula os 2 dígitos verificadores para o número-efetivo pEfetivo de
 * CNPJ (12 dígitos) ou CPF (9 dígitos) fornecido. pIsCnpj é booleano e
 * informa se o número-efetivo fornecido é CNPJ (default = false).
 * @param String pEfetivo
 * 	String do número-efetivo (SEM dígitos verificadores) de CNPJ ou CPF.
 * @param boolean pIsCnpj
 * 	Indica se a string fornecida é de um CNPJ.
 * 	Caso contrário, é CPF. Default = false (CPF).
 * @return String com os dois dígitos verificadores.
 */
function dvCpfCnpj(pEfetivo, pIsCnpj)
{
	if (pIsCnpj==null) pIsCnpj = false;
	var i, j, k, soma, dv;
	var cicloPeso = pIsCnpj? NUM_DGT_CNPJ_BASE: NUM_DIGITOS_CPF;
	var maxDigitos = pIsCnpj? NUM_DIGITOS_CNPJ: NUM_DIGITOS_CPF;
	var calculado = formatCpfCnpj(pEfetivo, false, pIsCnpj);
	calculado = calculado.substring(2, maxDigitos);
	var result = "";

	for (j = 1; j <= 2; j++)
	{
		k = 2;
		soma = 0;
		for (i = calculado.length-1; i >= 0; i--)
		{
			soma += (calculado.charAt(i) - '0') * k;
			k = (k-1) % cicloPeso + 2;
		}
		dv = 11 - soma % 11;
		if (dv > 9) dv = 0;
		calculado += dv;
		result += dv
	}

	return result;
} //dvCpfCnpj


/**
 * Testa se a String pCpf fornecida é um CPF válido.
 * Qualquer formatação que não seja algarismos é desconsiderada.
 * @param String pCpf
 * 	String fornecida para ser testada.
 * @return <code>true</code> se a String fornecida for um CPF válido.
 */
function isCpf(pCpf)
{
	var numero = formatCpfCnpj(pCpf, false, false);
	var base = numero.substring(0, numero.length - 2);
	var digitos = dvCpfCnpj(base, false);
	var algUnico, i;

	// Valida dígitos verificadores
	if (numero != base + digitos) return false;

	/* Não serão considerados válidos os seguintes CPF:
	 * 000.000.000-00, 111.111.111-11, 222.222.222-22, 333.333.333-33, 444.444.444-44,
	 * 555.555.555-55, 666.666.666-66, 777.777.777-77, 888.888.888-88, 999.999.999-99.
	 */
	algUnico = true;
	for (i=1; i<NUM_DIGITOS_CPF; i++)
	{
		algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));
	}
	return (!algUnico);
} //isCpf


/**
 * Testa se a String pCnpj fornecida é um CNPJ válido.
 * Qualquer formatação que não seja algarismos é desconsiderada.
 * @param String pCnpj
 * 	String fornecida para ser testada.
 * @return <code>true</code> se a String fornecida for um CNPJ válido.
 */
function isCnpj(pCnpj)
{
	var numero = formatCpfCnpj(pCnpj, false, true);
	var base = numero.substring(0, NUM_DGT_CNPJ_BASE);
	var ordem = numero.substring(NUM_DGT_CNPJ_BASE, 12);
	var digitos = dvCpfCnpj(base + ordem, true);
	var algUnico;

	// Valida dígitos verificadores
	if (numero != base + ordem + digitos) return false;

	/* Não serão considerados válidos os CNPJ com os seguintes números BÁSICOS:
	 * 11.111.111, 22.222.222, 33.333.333, 44.444.444, 55.555.555,
	 * 66.666.666, 77.777.777, 88.888.888, 99.999.999.
	 */
	algUnico = numero.charAt(0) != '0';
	for (i=1; i<NUM_DGT_CNPJ_BASE; i++)
	{
		algUnico = algUnico && (numero.charAt(i-1) == numero.charAt(i));
	}
	if (algUnico) return false;

	/* Não será considerado válido CNPJ com número de ORDEM igual a 0000.
	 * Não será considerado válido CNPJ com número de ORDEM maior do que 0300
	 * e com as três primeiras posições do número BÁSICO com 000 (zeros).
	 * Esta crítica não será feita quando o no BÁSICO do CNPJ for igual a 00.000.000.
	 */
	if (ordem == "0000") return false;
	return (base == "00000000"
		|| parseInt(ordem, 10) <= 300 || base.substring(0, 3) != "000");
} //isCnpj


/**
 * Testa se a String pCpfCnpj fornecida é um CPF ou CNPJ válido.
 * Se a String tiver uma quantidade de dígitos igual ou inferior
 * a 11, valida como CPF. Se for maior que 11, valida como CNPJ.
 * Qualquer formatação que não seja algarismos é desconsiderada.
 * @param String pCpfCnpj
 * 	String fornecida para ser testada.
 * @return <code>true</code> se a String fornecida for um CPF ou CNPJ válido.
 */
function isCpfCnpj(pCpfCnpj)
{
	var numero = pCpfCnpj.replace(/\D/g, "");
	if (numero.length > NUM_DIGITOS_CPF)
		return isCnpj(pCpfCnpj)
	else
		return isCpf(pCpfCnpj);
} //isCpfCnpj


//*********************** FORMATACAO DE NUMEROS **************************

function formataDecimalBRtoEN(valor){
	//alert("valor:"+valor);
    valor = strtran(valor,'.','');
    valor = strtran(valor,',','.');
    return valor;
}

function strtran(str, find, replace){
	//alert(str+" - "+find);
  var i = str.indexOf(find);
  var r=str;
  
   while (i>=0) {
      if (i>0) { 
         r = r.substring(0,i) + replace + r.substring(i+find.length, r.length)
      } else {
         r = replace + r.substring(find.length+i, r.length);
      }
      
      i = r.indexOf(find);
   }
   
   return r;
}

function roundToN(numero,nqtd){
   p=Math.pow(10,nqtd);
   return parseFloat(Math.round(numero*p))/p;

//    var str = numero+"";
//    var dec=0.0;
//    if (str.indexOf(".")>-1) {
//         return parseFloat(str.substr(0,str.indexOf(".")+(nqtd+1)));
//    }
//    return parseFloat(numero);

}

function replicate(ch, num){
    var retorno = "";
    
    for (r=1; r<=num; r++) { retorno += ch; }
    
    return retorno;
}

function formataDecimalENtoBR(valor_original, casas_dec) {
   var pos, aux, valor_int, valor_dec, cont; 
   cont = 3;

   var zDec = replicate("0",casas_dec);

   if ((valor_original == null) || (valor_original == "null") || (valor_original == "") ) 
      return "0,"+zDec;
      
   valor = ""+roundToN(valor_original,casas_dec);
   
   pos  = valor.indexOf(".",0); 

   if (pos > -1){
      valor_int = valor.substring(0,pos);
      valor_dec = valor.substring(pos+1,valor.length);
      valor_dec = valor_dec.substring(0,casas_dec); 
      if (valor_int.length > 3){
         aux="";
         pos=1;
         for (var i=valor_int.length;i>0;i--){
            aux = valor_int.substring(i-1,i) + aux;
            if ((pos == cont) && (i>1)){
               aux = "."+aux;  
               cont = cont + 3;
            } 
            pos++;
         }
         valor_int = aux;
      }  
      if ((valor_int.charAt(0) == "-") && (valor_int.charAt(1) == ".")){
         valor_int=  "-"+valor_int.substring(2,valor_int.length);
      }
        
      valor_dec = valor_dec + "00000";
      valor_dec = valor_dec.substring(0,casas_dec);
      return valor_int+","+valor_dec;
   }else{
      aux="";
      pos  = 1;
      cont = 3;
      for (var i=valor.length;i>0;i--){
           aux = valor.substring(i-1,i) + aux;
           if ((pos == cont) && (i>1)){
                aux = "."+aux;  
                cont = cont + 3;
           } 
           pos++;
      }
      if ((aux.charAt(0) == "-") && (aux.charAt(1) == ".")){
         aux=  "-"+aux.substring(2,aux.length);
      }      

      return  aux+","+zDec;
   }
}



function trim(campo){   
    if (campo==null) return "";
   var retorno = campo.toString();
   if (typeof(campo)=="string")
    retorno=campo;
   if (campo.tagName) 
    retorno=campo.value;
   
   while ((retorno.length>0)&&(retorno.substring(0,1)==" ")) { retorno = retorno.substring(1,retorno.length); }
   while ((retorno.length>0)&&(retorno.substring(retorno.length-1,retorno.length)==" ")) { retorno = retorno.substring(0,retorno.length-1); }

   return retorno;
}


function verificaNumericos(campo){

    checkString = campo.value;
    newString = "";  
    contaVirg = 0;
    contaPonto = 0;	 
    for (x = 0; x < checkString.length; x++) {
        ch = trim(checkString.substring(x, x+1));
        if ((ch >= "0" && ch <= "9") || (ch == "." || ch == ",")) {
			if (ch == ".") { contaPonto ++; }
			if (ch == ",") { contaVirg ++; }
				 
             newString += ch;
        }
    }  

    if (checkString != newString || contaVirg > 1 || contaPonto > 2) {     
       window.alert("O atributo deve ser um número válido!");
	   campo.focus();
	   campo.select();
	   //document.getElementById(campo.id).focus(); 
       return false;
    } 

  return true;
}

function retNumeros (arg) {
var ret="";
arg=trim(arg);
    for (t=0;t<arg.length;t++) {
        if (("0123456789").indexOf(arg.charAt(t))!=-1)
            ret+=arg.charAt(t);
    }
return ret;
}

function validaValor (arg) {
    try {
        return !isNaN(parseFloat(retNumeros(arg)));
    } catch(e) {
        return false;
    }
}




/***
* Descrição.: formata um campo do formulário de
* acordo com a máscara informada...
* Parâmetros: - objForm (o Objeto Form)
* - strField (string contendo o nome
* do textbox)
* - sMask (mascara que define o
* formato que o dado será apresentado,
* usando o algarismo "9" para
* definir números e o símbolo "!" para
* qualquer caracter...
* - evtKeyPress (evento)
* Uso.......: <input type="textbox"
* name="xxx".....
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);">
* Observação: As máscaras podem ser representadas como os exemplos abaixo:
* CEP -> 99.999-999
* CPF -> 999.999.999-99
* CNPJ -> 99.999.999/9999-99
* Data -> 99/99/9999
* Tel Resid -> (99) 999-9999
* Tel Cel -> (99) 9999-9999
* Processo -> 99.999999999/999-99
* C/C -> 999999-!
* E por aí vai...
***/

function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
     var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

 //    if(document.all) { // Internet Explorer
 //      nTecla = evtKeyPress.keyCode; }
 //    else if(document.layers) { // Nestcape
 //      nTecla = evtKeyPress.which;
 //    }
 
 var nTecla = (window.Event) ? evtKeyPress.which : evtKeyPress.keyCode;


     if (nTecla != 8) { // backspace
     sValue = objForm[strField].value;

     // Limpa todos os caracteres de formatação que
     // já estiverem no campo.
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( " ", "" );
     sValue = sValue.toString().replace( " ", "" );
	 sValue = sValue.toString().replace( "+", "" );
	 sValue = sValue.toString().replace( "*", "" );
     fldLen = sValue.length;
     mskLen = sMask.length;

     i = 0;
     nCount = 0;
     sCod = "";
     mskLen = fldLen;

     while (i <= mskLen) {
       bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
       bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

       if (bolMask) {
         sCod += sMask.charAt(i);
         mskLen++; }
       else {
         sCod += sValue.charAt(nCount);
         nCount++;
       }

       i++;
     }

     objForm[strField].value = sCod;
	 
	// alert(nTecla);


       if (sMask.charAt(i-1) == "9") { // apenas números...
         return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
       else { // qualquer caracter...
         return true;
       } }
     else {
       return true;
     }
   }
   
   
   
   

//-----------------------------------------------------
//Funcao: MascaraMoeda
//Sinopse: Mascara de preenchimento de moeda
//Parametro:
//   objTextBox : Objeto (TextBox)
//   SeparadorMilesimo : Caracter separador de milésimos
//   SeparadorDecimal : Caracter separador de decimais
//   e : Evento
//Retorno: Booleano
//Autor: Gabriel Fróes
//Data Criação: 15/02/2005
//-----------------------------------------------------
function mascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';

    var whichCode = (window.Event) ? e.which : e.keyCode;
	//alert(whichCode);
    if (whichCode == 13 || whichCode == 8 ) return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}



