function roundNumber(rnum, rlength) { // Arguments: number to round, number of decimal places
  var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
  return newnumber;
}
function money2br(money){
  money = roundNumber(money, 2);
  money = money.toString().replace(/\./, ",");
  if (money.match(/,[0-9]{2}/)){
    return "R$ " + money;
  }
  if (money.match(/,[0-9]/)){
    return "R$ " + money + "0";
  }
  return "R$ " + money + ",00";
}

function fazData(campo,e){
  var cod="";
  if(document.all) {cod=event.keyCode;} else {cod=e.which;}
  // TAB
  if (cod == 9) return true;
  if ((cod < 47 || cod > 57) && cod != 8 && cod != 0){
    cod=0;
    campo.focus(); return false;
  } else if (cod == 8){
    campo.value = '';
  } else if (cod == 47){
    if (campo.value.length == 1){
      campo.value = 0+campo.value;
    } else if (campo.value.length == 4) {
      campo.value = campo.value.substr(0, 3)+0+campo.value.substr(3, 1);
    } else if (campo.value.length != 2 && campo.value.length != 5){
      cod=0;
      campo.focus(); return false;
    }
  } else {
    if (campo.value.length == 2 || campo.value.length == 5){
      campo.value = campo.value+'/';
    }
  }
  if (campo.value.length == 3){
    if (campo.value.substr(0,2) < 1 || campo.value.substr(0,2) > 31){
      alert ("A data deve ser no formato dd/mm/aaaa");
      campo.value = '';
      cod=0;
      campo.focus(); return false;
    }
  }
  if (campo.value.length == 6){
    if (campo.value.substr(3,2) < 1 || campo.value.substr(3,2) > 12){
      alert ("A data deve ser no formato dd/mm/aaaa");
      campo.value = '';
      cod=0;
      campo.focus(); return false;
    }
  }
  return true;
}

function checaData(obj){
  if (obj.value.length == 8){
    obj.value = obj.value.substr(0,6) + "20" + obj.value.substr(6,2);
  }
  if (obj.value.length == 10){
    var data = new Date(obj.value.substr(6,4), parseInt(obj.value.substr(3,2), 10)-1, obj.value.substr(0,2));
    if (parseInt(obj.value.substr(0,2), 10) != data.getDate()){
      obj.focus();
      alert ("Erro no dia digitado");
    } else if (parseInt(obj.value.substr(3,2), 10)-1 != data.getMonth()){
      alert ("Erro no mês digitado: " + i);
      obj.focus();
    } else if (parseInt(obj.value.substr(6,4), 10) != data.getFullYear()){
      alert ("Erro no ano digitado");
      obj.focus();
    } else {
      obj.style.background = "#FFFFFF";
    }
  } else if(obj.value.length != 0) {
    obj.style.background = "#FF0000";
    obj.focus();
  } else {
    obj.style.background = "#FFFFFF";
  }
}

function fazTelefone(campo,e){
  var cod="";
  if(document.all) {cod=event.keyCode;} else {cod=e.which;}
  // TAB
  if (cod == 9) return true;
  if (cod < 48 || cod > 57){
    // Não numéricos
    // Backspace ou Delete
    if (cod == 46 || cod == 8){
      campo.value = "";
    }
    cod = 0;
    return false;
  }
  if (campo.value.length == 0) campo.value = "(";
  if (campo.value.length == 3) campo.value += ") ";
  if (campo.value.length == 9) campo.value += "-";
  if (campo.value.length < 14){
    campo.value += cod-48;
  }
  cod = 0;
  return false;
}

function checaTelefone(campo){
  if (campo.value.length == 0) return true;
  if (campo.value.length != 14 || !campo.value.match(/^\([0-9]{2}\) [0-9]{4}-[0-9]{4}$/)) {
    campo.focus();
    alert("Os campos de telefone devem ser no formato: (XX) XXXX-XXXX");
    return false;
  }
}

function fazCEP(campo,e){
  var cod="";
  if(document.all) {cod=event.keyCode;} else {cod=e.which;}
  // TAB
  if (cod == 9) return true;
  if (cod < 48 || cod > 57){
    // Não numéricos
    // Backspace ou Delete
    if (cod == 46 || cod == 8){
      campo.value = "";
    }
    cod = 0;
    return false;
  }
  if (campo.value.length == 5) campo.value += "-";
  if (campo.value.length < 9){
    campo.value += cod-48;
  }
  cod = 0;
  return false;
}

function checaCEP(campo){
  if (campo.value.length == 0) return true;
  if (campo.value.length != 9 || !campo.value.match(/^[0-9]{5}-[0-9]{3}$/)) {
    alert("Os campos de CEP devem ser no formato: XXXXX-XXX");
    campo.focus();
    return false;
  }
}

function checaEmail(campo){
  var regexp = /[^@ ]+@+[^@ ]+\.[^@ ]+/;
  if(campo.value.match(regexp) || campo.value.length == 0){
    return true;
  } else {
    alert("Email digitado é inválido.");
    campo.focus(); return false;
  }
}

