function onlyNumber(str) {
  newStr = "";
  for (i = 0; i < str.length; i++) {
    if (str.charAt(i) >= 0 && str.charAt(i) <= 9) {
      newStr+= str.charAt(i);
    }
  }
  return newStr;
}


function maskQtd(qtd, input, idSpan) {
  if(input.value.length > qtd) {
    input.value = input.value.substr(0, qtd - 1);
    alert('O limite de caracteres foi atingido!');
  }
  if (!idSpan) {
    idSpan = 'spanLimite';
  }
  if (document.getElementById(idSpan)) {
    document.getElementById(idSpan).innerHTML = input.value.length + '/' + qtd;
  }
}


function maskMoney(evt, input) {
  num = onlyNumber(input.value);
  while(num.charAt(0) == "0") {
    num = num.substr(1);
  }
  len = num.length;

  if (len == 1) {
    num = "0,0" + num;
    input.value = num;
    return;
  }
  if (len == 2) {
    num = "0," + num;
    input.value = num;
    return;
  }
  if ( (len > 2) && (len <= 5) ) {
    num = num.substr( 0, len - 2 ) + ',' + num.substr( len - 2, len );
  }
  if ( (len >= 6) && (len <= 8) ) {
    num = num.substr( 0, len - 5 ) + '.' + num.substr( len - 5, 3 ) + ',' + num.substr( len - 2, len );
  }
  if ( (len >= 9) && (len <= 11) ) {
    num = num.substr( 0, len - 8 ) + '.' + num.substr( len - 8, 3 ) + '.' + num.substr( len - 5, 3 ) + ',' + num.substr( len - 2, len );
  }
  if ( (len >= 12) && (len <= 14) ) {
    num = num.substr( 0, len - 11 ) + '.' + num.substr( len - 11, 3 ) + '.' + num.substr( len - 8, 3 ) + '.' + num.substr( len - 5, 3 ) + ',' + num.substr( len - 2, len );
  }
  if ( (len >= 15) && (len <= 17)) {
    num = num.substr( 0, len - 14 ) + '.' + num.substr( len - 14, 3 ) + '.' + num.substr( len - 11, 3 ) + '.' + num.substr( len - 8, 3 ) + '.' + num.substr( len - 5, 3 ) + ',' + num.substr( len - 2, len );
  }

  input.value = num;
}


function maskNumber(evt, input) {
  if (evt.keyCode != 8) { // backspace
    num = onlyNumber(input.value);
    input.value = num;
  }
}


function maskDate(evt, input) {
  if (evt.keyCode == 8 || evt.keyCode == 46) { // backspace e delete
    input.value = '';
  } else {
    num = onlyNumber(input.value);
    newNum = "";
    for (i = 0; i < num.length; i ++) {
      if (i < 8) {
        newNum+=num.charAt(i);
        if (i == 1) {
          newNum+="/";
        }
        if (i == 3) {
          newNum+="/";
        }
      }
    }
    input.value = newNum;
  }
}


function maskHour(evt, input) {
  if (evt.keyCode != 8) { // backspace
    num = onlyNumber(input.value);
    newNum = "";
    for (i = 0; i < num.length; i ++) {
      if (i < 4) {
        newNum+=num.charAt(i);
        if (i == 1) {
          newNum+=":";
        }
      }
    }
    input.value = newNum;
  }
}


function maskFone(evt, input) {
  if (evt.keyCode != 8) { // backspace
    num = onlyNumber(input.value);
    newNum = "";
    for (i = 0; i < num.length; i ++) {
      if (i < 8) {
        newNum+=num.charAt(i);
        if (i == 3) {
          newNum+="-";
        }
      }
    }
    input.value = newNum;
  }
}


function maskCEP(evt, input) {
  if (evt.keyCode != 8) { // backspace
    num = onlyNumber(input.value);
    newNum = "";
    for (i = 0; i < num.length; i ++) {
      if (i < 8) {
        newNum+= num.charAt(i);
        if (i == 4 && num.length > 4) {
          newNum = newNum + "-";
        }
      }
    }
    input.value = newNum;
  }
}

function maskCPF(evt, input) {
  if (evt.keyCode != 8) { // backspace
    num = onlyNumber(input.value);
    newNum = "";
    for (i = 0; i < num.length; i ++) {
      if (i < 11) {
        newNum+= num.charAt(i);
        if (i == 2 && num.length > 2) {
          newNum = newNum + ".";
        }
        if (i == 5 && num.length > 5) {
          newNum = newNum + ".";
        }
        if (i == 8 && num.length > 8) {
          newNum = newNum + "-";
        }
      }
    }
    input.value = newNum;
  }
}

function maskCNPJ(evt, input) {
  if (evt.keyCode != 8) { // backspace
    num = onlyNumber(input.value);
    newNum = "";
    for (i = 0; i < num.length; i ++) {
      if (i < 14) {
        newNum+= num.charAt(i);
        if (i == 1 && num.length > 1) {
          newNum = newNum + ".";
        }
        if (i == 4 && num.length > 4) {
          newNum = newNum + ".";
        }
        if (i == 7 && num.length > 7) {
          newNum = newNum + "/";
        }
        if (i == 11 && num.length > 11) {
          newNum = newNum + "-";
        }
      }
    }
    input.value = newNum;
  }
}
