﻿function formatarData(objeto, evento) {
  if (somenteLetrasNumeros(evento, 2) == true) {
    if (objeto.value.length == 2) {
      objeto.value = objeto.value + "/";
    } else if (objeto.value.length == 5) {
      objeto.value += "/";
    }
  } else {
    return false;
  }
}

function formatarTelefone(objeto, evento) {
  if (somenteLetrasNumeros(evento, 2) == true) {
    if (objeto.value.length == 0) {
      objeto.value = objeto.value + "(";
    } else if (objeto.value.length == 3) {
      objeto.value = objeto.value + ") ";
    } else if (objeto.value.length == 9) {
      objeto.value += "-";
    }
  } else {
    return false;
  }
}

function formatarCEP(objeto, evento) {
  if (somenteLetrasNumeros(evento, 2) == true) {
    if (objeto.value.length == 5) {
      objeto.value = objeto.value + "-";
    }
  } else {
    return false;
  }
}

function formatarCPF(objeto, evento) {
  if (somenteLetrasNumeros(evento, 2) == true) {
    if (objeto.value.length == 3) {
      objeto.value = objeto.value + ".";
    } else if (objeto.value.length == 7) {
      objeto.value = objeto.value + ".";
    } else if (objeto.value.length == 11) {
      objeto.value += "-";
    }
  } else {
    return false;
  }
}

function formatarCNPJ(objeto, evento) {
  if (somenteLetrasNumeros(evento, 2) == true) {
    if (objeto.value.length == 2) {
      objeto.value = objeto.value + ".";
    } else if (objeto.value.length == 6) {
      objeto.value = objeto.value + ".";
    } else if (objeto.value.length == 10) {
      objeto.value = objeto.value + "/";
    } else if (objeto.value.length == 15) {
      objeto.value += "-";
    }
  } else {
    return false;
  }
}

function formatarPlaca(objeto, evento) {
  if (objeto.value.length <= 2) {
    if (somenteLetrasNumeros(evento, 4) == false) {
      return false;
    }
  } else {
    if (somenteLetrasNumeros(evento, 2) == true) {
      if (objeto.value.length == 3) {
       // objeto.value = objeto.value + "-";
      }
    } else {
      return false;
    }
  }
}

function formatarValor(objeto, evento) {
  if (somenteLetrasNumeros(evento, 2) == true) {
    var whichCode = (window.Event) ? evento.which : evento.keyCode;
    if (objeto.value.length < 12 || whichCode == 8) {
      objeto.value = objeto.value.replace(",", "");
      objeto.value = objeto.value.replace(".", "");
      objeto.value = objeto.value.replace(".", "");
    }
    if (whichCode == 8) {
      if (objeto.value.length == 7 || objeto.value.length == 8 || objeto.value.length == 9) {
        objeto.value = objeto.value.substr(0, objeto.value.length - 3) + "," + objeto.value.substr(objeto.value.length - 3);
        objeto.value = objeto.value.substr(0, objeto.value.length - 7) + "." + objeto.value.substr(objeto.value.length - 7);
      }
      else if (objeto.value.length == 4 || objeto.value.length == 5 || objeto.value.length == 6) {
        objeto.value = objeto.value.substr(0, objeto.value.length - 3) + "," + objeto.value.substr(objeto.value.length - 3);
      }
    } else {
      if (objeto.value.length == 2) {
        objeto.value = objeto.value.substr(0, objeto.value.length - 1) + "," + objeto.value.substr(objeto.value.length - 1);
      }
      else if (objeto.value.length == 3 || objeto.value.length == 4) {
        objeto.value = objeto.value.substr(0, objeto.value.length - 1) + "," + objeto.value.substr(objeto.value.length - 1);
      }
      else if (objeto.value.length == 5 || objeto.value.length == 6 || objeto.value.length == 7) {
        objeto.value = objeto.value.substr(0, objeto.value.length - 1) + "," + objeto.value.substr(objeto.value.length - 1);
        objeto.value = objeto.value.substr(0, objeto.value.length - 5) + "." + objeto.value.substr(objeto.value.length - 5);
      }
      else if (objeto.value.length == 8 || objeto.value.length == 9 || objeto.value.length == 10) {
        objeto.value = objeto.value.substr(0, objeto.value.length - 1) + "," + objeto.value.substr(objeto.value.length - 1);
        objeto.value = objeto.value.substr(0, objeto.value.length - 5) + "." + objeto.value.substr(objeto.value.length - 5);
        objeto.value = objeto.value.substr(0, objeto.value.length - 9) + "." + objeto.value.substr(objeto.value.length - 9);
      }
    }
  } else {
    return false;
  }
}

function somenteLetrasNumeros(evento, tipo) {
  var strCheck = '';
  if (tipo == 1) // Letras
  {
    strCheck = 'ABDCEFGHIJKLMNOPQRSTUVXWYZÇabcdefghijklmnopqrstuvxwyzç ÁÉÍÓÚÃáéíóúã';
  }
  else if (tipo == 2) // Números
  {
    strCheck = '0123456789';
  }
  else if (tipo == 3) // E-mail
  {
  	strCheck = 'ABCDEFGHIJKLMNOPQRSTUVXWYZabcdefghijklmnopqrstuvxwyz1234567890.@_-';
  }
  else if (tipo == 4) // Somente Letras Sem Acentos
  {
  	strCheck = 'ABDCEFGHIJKLMNOPQRSTUVXWYZabdcefghijklmnopqrstuvxwyz';
  }
  else // Letras e Números
  {
    strCheck = 'ABDCEFGHIJKLMNOPQRSTUVXWYZÇabcdefghijklmnopqrstuvxwyzç1234567890/.,- ';
  }

  var whichCode = (window.Event) ? evento.which : evento.keyCode;
  var key = String.fromCharCode(whichCode);
  if (strCheck.indexOf(key) == -1 && whichCode != 8) {
    return false;
  } else {
    return true;
  }
}
