/* ---------------------------------------------------------------------------
	Descricao : Coloca mascara "após" o campo perder o foco
	Parametros: mascara - máscara de formatação
                                 campo    - campo a ser usado
	Retorno   :  
	Utilizado no evento: onBlur
               Funções Externas Usadas:    /javascript/formata/removeMask.js
               
	Autor: Emerson Soares - Fóton Informática e Serviços Ltda
*/

function formataNumerico(mascara, campo)
{
   var valor = campo.value;
   valor = removeMask(valor);
   var i = valor.length;
   var j  = mascara.length;
   var aux = removeMask(mascara);
   var resposta = '';
   var ultmEhVirgula = false;
   var temVirgula = false;
   var virgulaJaPassou = false;

// se tamanho da mascara for menor do que o campo não formata
   if (aux.length < i || i == 0)
      return;
   if (mascara.indexOf(',') != -1)
      temVirgula = true;

   j--;
   i--;
   while(j >= 0)
   {
      if (mascara.charAt(j) == '9')
      {
         if (i < 0)
         {
            if (!temVirgula || ultmEhVirgula == true || (temVirgula == true && virgulaJaPassou == false))
               resposta = '0' + resposta;
         }
         else
         {
            resposta = valor.charAt(i) + resposta;
            i--;
         }
      }
      else
      {
         if (mascara.charAt(j) == 'Z')
         {
            if (i < 0)
            {
               if (ultmEhVirgula == true || (temVirgula == true && virgulaJaPassou == false))
                  resposta = '0' + resposta;
            }
            else
            {
               resposta = valor.charAt(i) + resposta;
               i--;
            }
         }
         else
         {
            if (i < 0)
            {
               if (mascara.charAt(j) != '.')
               {
                  resposta = mascara.charAt(j) + resposta;            
               }
            }
            else
            {
               resposta = mascara.charAt(j) + resposta;            
            }
         }
      }
      if (mascara.charAt(j) == ',')
      {
         ultmEhVirgula = true;
         virgulaJaPassou = true;
      }
      else
         ultmEhVirgula = false;

      j--;
   }
   campo.value = resposta;    
}
