function resizeIframe(name) {
  frame = parent.document.getElementById(name);
  innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
  frame.height = innerDoc.body.scrollHeight + (innerDoc.body.offsetHeight - innerDoc.body.clientHeight) + 30;
  objToResize = (frame.style) ? frame.style : frame;
  objToResize.height = innerDoc.body.scrollHeight + (innerDoc.body.offsetHeight - innerDoc.body.clientHeight) + 30;
}

// limpa todos os caracteres especiais do campo solicitado
function filtraCampo(campo){
  var s = "";
  var cp = "";
  vr = campo.value;
  tam = vr.length;
  for (i = 0; i < tam ; i++) {
    if (vr.substring(i,i + 1) != "/" && vr.substring(i,i + 1) != "-" && vr.substring(i,i + 1) != "." && vr.substring(i,i + 1) != "," ) {
      s = s + vr.substring(i,i + 1);
    }
  }
  campo.value = s;
  return cp = campo.value
}

// Formata o campo valor
function formataValor(campo,e) {
  var vr, tam, key;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    key = 0;

  if (key != 9 && key != 1 && key != 144 && key != 16) { 
    vr = filtraCampo(campo);
    tam = vr.length;

    while (vr.substr(0,1) == '0' && tam > 0) {
      vr = vr.substr(1,tam-1);
      tam = vr.length;
    }
    while (tam < 3) {
      vr = '0' + vr;
      tam = vr.length;
    }
    if ( (tam > 2) && (tam <= 5) ) {
      vr = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; 
    }
    if ( (tam >= 6) && (tam <= 8) ) {
      vr = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
    }
    if ( (tam >= 9) && (tam <= 11) ) {
      vr = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
    }
    if ( (tam >= 12) && (tam <= 14) ) {
      vr = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
    }
    if ( (tam >= 15) && (tam <= 18) ) {
      vr = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;
    }
    if (campo.value != vr)
      campo.value = vr;
  }
   
}

function formataMascara(format, field)
{
  var result = "";
  var maskIdx = format.length - 1;
  var error = false;
  var valor = field.value;
  valor = valor.replace(/[^0123456789]/g,'')
  for (var valIdx = valor.length - 1; valIdx >= 0 && maskIdx >= 0; --maskIdx) {
    var chr = valor.charAt(valIdx);
    var chrMask = format.charAt(maskIdx);
    switch (chrMask) {
    case '#':
      if(!(/\d/.test(chr)))
        error = true;
      result = chr + result;
       --valIdx;
      break;
    case '0':
      if(!(/\d/.test(chr)))
        error = true;
      if (valIdx < 0)
        result = '0' + result;
      else
        result = chr + result;
      --valIdx;
      break;
    default:
      result = chrMask + result;
    }
  }
  field.value = result;
  field.style.color = error ? 'red' : '';
  return result;
}

