function validanew() {
    var validou = true;
    if ($('#nomeNewsletter').val() == "") {
        validou = false;
        $('#nomeNewsletter').css("border-color", "red");
    } else {
        $('#nomeNewsletter').css("border-color", "#212121");
    }

    if ($('#emailNewsletter').val() == "") {
        validou = false;
        $('#emailNewsletter').css("border-color", "red");
    } else {
        $('#emailNewsletter').css("border-color", "#212121");
    }

    if (!validou) {
        bootbox.alert('Verifique os campos obrigatórios.');
        return false;
    } else {
        $('#fnewsletter').submit();
    }
}

/**
 * Permite numeros + ponto + virgula
 *
 * Codigos ASCII
 * 48 a 57 - numeros de 0 a 9
 * 44 - virgula
 * 46 - delete e ponto
 * 8 - backspace
 * 9 - tab
 * 
 * Exemplo:
 * onkeypress="return valida_numero(event);"
 *
 * @return boolean
 */
function valida_numero(e) {
    if (!e)
        e = window.event;
    var tecla;
    if (e.keyCode)
        tecla = e.keyCode;
    else if (e.which)
        tecla = e.which; //Netscape 4.?
    if ((tecla > 47 && tecla < 58) || tecla == 46 || tecla == 8 || tecla == 44 || tecla == 9)
        return true;
    else
        return false;
}

/**
 * Valida email
 * @return bool
 */
function valida_email(mail) {
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if (er.test(mail))
        return true;
    return false;
}

/**
 * Formata campo data (dd/mm/yyyy)
 * 
 * Exemplo:
 * onkeydown="formata_data(this,event)"
 *
 * @return void
 */
function formata_data(campo, e) {
    if (!e)
        e = window.event;
    if (e.keyCode)
        tecla = e.keyCode;
    else if (e.which)
        tecla = e.which; //Netscape 4.?		
    if (e.target)
        objEv = e.target; //Firefox
    else if (e.srcElement)
        objEv = e.srcElement; //IE		
    vr = objEv.value;
    vr = vr.replace(".", "");
    vr = vr.replace("/", "");
    vr = vr.replace("/", "");
    tam = vr.length + 1;
    if (tecla != 9 && tecla != 8) {
        if (tam > 2 && tam < 5)
            objEv.value = vr.substr(0, tam - 2) + '/' + vr.substr(tam - 2, tam);
        if (tam >= 5 && tam <= 10)
            objEv.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 3);
    }
}

/**
 * Formata campo hora (h:m:s)
 * 
 * Exemplo:
 * onkeydown="formata_hora(this,event)"
 *
 * @return void
 */
function formata_hora(campo, e) {
    if (!e)
        e = window.event;
    var tecla;
    if (e.keyCode)
        tecla = e.keyCode;
    else if (e.which)
        tecla = e.which; //Netscape 4.?		
    if (e.target)
        objEv = e.target; //Firefox
    else if (e.srcElement)
        objEv = e.srcElement; //IE
    vr = objEv.value;
    vr = vr.replace(".", "");
    vr = vr.replace(":", "");
    vr = vr.replace(":", "");
    tam = vr.length + 1;
    if (tecla != 9 && tecla != 8) {
        if (tam > 2 && tam < 5)
            objEv.value = vr.substr(0, tam - 2) + ':' + vr.substr(tam - 2, tam);
        if (tam >= 5 && tam <= 10)
            objEv.value = vr.substr(0, 2) + ':' + vr.substr(2, 2) + ':' + vr.substr(4, 1);
    }
}

/**
 * Valida data (dd/mm/aaaa)
 *
 * @return boolean
 */
function valida_data(val) {
    if (val == "")
        return false;
    var data = val.split("/");
    if (data.length != 3)
        return false;
    var dia = data[0];
    var mes = data[1];
    var ano = data[2];
    if ((ano <= 0) || (mes > 12 || mes == 0) || (dia > 31 || dia == 0))
        return false;
    else if (((ano % 4) == 0) && (mes == 2) && (dia > 29))
        return false;
    else if (((ano % 4) > 0) && (mes == 2) && (dia > 28))
        return false;
    else if (((mes == 4) || (mes == 6) || (mes == 9) || (mes == 11)) && (dia == 31))
        return false;
    return true;
}

/**
 * Valida hora (hh:mm)
 *
 * @return boolean
 */
function valida_hora(val) {
    if (val == "")
        return false;
    var hora = val.split(":");
    if (hora.length != 2)
        return false;
    var hor = hora[0];
    var min = hora[1];
    if (min >= 0 && min < 60) {
        if (hor < 0 || hor > 23) {
            return false;
        }
    } else {
        return false;
    }
    return true;
}

/**
 * Mascaras diversas
 */
function mascara(tipo, campo, teclaPress) {
    if (window.event) {
        var tecla = teclaPress.keyCode;
    } else {
        tecla = teclaPress.which;
    }
    var s = new String(campo.value);
    s = s.replace(/(\.|\(|\)|\/|\-| )+/g, '');
    tam = s.length + 1;
    if (tecla != 9 && tecla != 8) {
        switch (tipo) {
            case 'CPF' :
                if (tam > 3 && tam < 7)
                    campo.value = s.substr(0, 3) + '.' + s.substr(3, tam);
                if (tam >= 7 && tam < 10)
                    campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.' + s.substr(6, tam - 6);
                if (tam >= 10 && tam < 12)
                    campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.' + s.substr(6, 3) + '-' + s.substr(9, tam - 9);
                break;

            case 'CNPJ' :
                if (tam > 2 && tam < 6)
                    campo.value = s.substr(0, 2) + '.' + s.substr(2, tam);
                if (tam >= 6 && tam < 9)
                    campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.' + s.substr(5, tam - 5);
                if (tam >= 9 && tam < 13)
                    campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.' + s.substr(5, 3) + '/' + s.substr(8, tam - 8);
                if (tam >= 13 && tam < 15)
                    campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.' + s.substr(5, 3) + '/' + s.substr(8, 4) + '-' + s.substr(12, tam - 12);
                break;

            case 'TEL' :
                if (tam > 2 && tam < 4)
                    campo.value = '(' + s.substr(0, 2) + ') ' + s.substr(2, tam);
                if (tam >= 7 && tam < 11)
                    campo.value = '(' + s.substr(0, 2) + ') ' + s.substr(2, 4) + '-' + s.substr(6, tam - 6);
                break;

            case 'CEP' :
                if (tam == 6)
                    campo.value = s + '-';
                break;

            case 'DATA' :
                if (tam > 2 && tam < 4)
                    campo.value = s.substr(0, 2) + '/' + s.substr(2, tam);
                if (tam > 4 && tam < 11)
                    campo.value = s.substr(0, 2) + '/' + s.substr(2, 2) + '/' + s.substr(4, tam - 4);
                break;

            case 'HORA' :
                if (tam > 2 && tam < 4)
                    campo.value = s.substr(0, 2) + ':' + s.substr(2, tam);
                break;
        }
    }
}

/**
 * Formata campo valor
 * onkeypress='return valida_numero(event)' onKeydown='Formata(this,20,event,2)'
 */
function Formata(campo, tammax, teclapres, decimal) {
    var tecla = teclapres.keyCode;
    vr = Limpar(campo.value, "0123456789");
    tam = vr.length;
    dec = decimal;
    if (tam < tammax && tecla != 8) {
        tam = vr.length + 1;
    }
    if (tecla == 8) {
        tam = tam - 1;
    }
    if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105) {
        if (tam <= dec) {
            campo.value = vr;
        }
        if ((tam > dec) && (tam <= 5)) {
            campo.value = vr.substr(0, tam - 2) + "," + vr.substr(tam - dec, tam);
        }
        if ((tam >= 6) && (tam <= 8)) {
            campo.value = vr.substr(0, tam - 5) + "." + vr.substr(tam - 5, 3) + "," + vr.substr(tam - dec, tam);
        }
        if ((tam >= 9) && (tam <= 11)) {
            campo.value = vr.substr(0, tam - 8) + "." + vr.substr(tam - 8, 3) + "." + vr.substr(tam - 5, 3) + "," + vr.substr(tam - dec, tam);
        }
        if ((tam >= 12) && (tam <= 14)) {
            campo.value = vr.substr(0, tam - 11) + "." + vr.substr(tam - 11, 3) + "." + vr.substr(tam - 8, 3) + "." + vr.substr(tam - 5, 3) + "," + vr.substr(tam - dec, tam);
        }
        if ((tam >= 15) && (tam <= 17)) {
            campo.value = 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);
        }
    }
}
function Limpar(valor, validos) {
    // retira caracteres invalidos da string
    var result = "";
    var aux;
    for (var i = 0; i < valor.length; i++) {
        aux = validos.indexOf(valor.substring(i, i + 1));
        if (aux >= 0) {
            result += valor.substring(i, i + 1);
        }
    }
    return result;
}

/**
 * Valida CPF
 * onkeypress='return valida_numero(event)' onKeydown='Formata(this,20,event,2)'
 */
function valida_cpf(cpf) {
    if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999") {
        return false;
    }
    add = 0;
    for (i = 0; i < 9; i++) {
        add += parseInt(cpf.charAt(i)) * (10 - i);
    }
    rev = 11 - (add % 11);
    if (rev == 10 || rev == 11) {
        rev = 0;
    }
    if (rev != parseInt(cpf.charAt(9))) {
        return false;
    }
    add = 0;
    for (i = 0; i < 10; i++) {
        add += parseInt(cpf.charAt(i)) * (11 - i);
    }
    rev = 11 - (add % 11);
    if (rev == 10 || rev == 11) {
        rev = 0;
    }
    if (rev != parseInt(cpf.charAt(10))) {
        return false;
    }
    return true;
}

/***************************
 CALENDARIO JS
 ***************************/
$(function () {
    $('[calendario=1]').datepicker({changeMonth: true, changeYear: true});
});