$(document).ready(function(){

    // campo CPF
    $(".campoCPF").blur(function(){

        if (!isCpf($(this).val())){
            alert("CPF Inválido");
            $(".campoCPF").focus();
        }
    });

});


function isCpf(CPF){
        exp = /\.|-/g;
        CPF = CPF.toString().replace(exp, "");
    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;
        soma = 0;
    for (i=0; i < 9; i ++)
        soma += parseInt(CPF.charAt(i)) * (10 - i);
        resto = 11 - (soma % 11);
    if (resto == 10 || resto == 11)
        resto = 0;
    if (resto != parseInt(CPF.charAt(9)))
        return false;
    soma = 0;
    for (i = 0; i < 10; i ++)
        soma += parseInt(CPF.charAt(i)) * (11 - i);
    resto = 11 - (soma % 11);
    if (resto == 10 || resto == 11)
        resto = 0;
    if (resto != parseInt(CPF.charAt(10)))
        return false;
        return true;
}

/* valida��es */
function gE(ID)
{
	return document.getElementById(ID);
}
var Validacao = {
    ValidaItens: function(){
        var args = Validacao.ValidaItens.arguments; // coloca os parametros em uma variavel no qual se tornar� um Array
        if (args.length > 0){ // verifica se h� parametros atribuidos a fun��o
            for (var x = 0; x < args.length; x++){
                var vItem = gE(args[x]);
                if (vItem.value == "" || vItem.value == null){
                    vItem.focus();
                    vItem.style.border = 'solid 1px red';
                    alert("Campo em branco");
                    return(false);
                }else{
                    vItem.style.border = 'solid 1px #666666';
                }
                //verifica se h� algum campo de e-mail para chamar o validaEmail
                var vCampo = args[x].toLowerCase();
                if (vCampo.indexOf('email') > 0){
                    if (Validacao.ValidaEmail(vItem) == false)
                        return(false);
                }
                if (vCampo.indexOf('cpf') > 0){
                    if (Validacao.ValidaCpf(vItem) == false)
                        return(false);
                }
            } // fim do for
            return(true);
        }else{
            alert('Ocorreu um erro ao realizar opera��o');
            return(false);
        }// else (args.length > 0){
    }, // fim do ValidaItens

    ValidaEmail: function(pCampo){
        var email = pCampo.value;
        var resp = email.search(/(\w[\w\.\+]+)@(.+)\.(\w+)$/)==0;

        if (resp == false){
            pCampo.focus();
            pCampo.style.border = 'solid 1px red';
            alert('E-mail inv�lido');
            return(false);
        }else{
            return(true);
        }
    },

    ValidaCpf: function(pCampo){
        if (isCpf(pCampo.value)){
            return true;
        }else{
            alert("CPF Inválido");
            return false;
        }
    }
};

