﻿var verTodos = '';

$(document).ready(function() {
    LoadEvents();
    Sys.Application.add_load(LoadEvents);
    //    $("#ctl00_ContentPlaceHolder1_txtSimuladorValor11").mask("9.999.999");
    //    $("#cpf").mask("999.999.999-99");
    //    $("#cep").mask("99999-999");
    //    $("#data").mask("99/99/9999");
});


function LoadEvents() {
    $("head").prepend('<style>.rounded {position:relative}.lt,.lb,.rt,.rb,.top,.bottom {position:absolute;z-index:1000;display:block;text-indent:-9999px;height:7px;width:7px;background-repeat:no-repeat}.lt,.top {left:0;top:0;background-position:left top}.lb,.bottom {left:0;bottom:0;background-position:left bottom}.rt {right:0;top:0;background-position:right top}.rb {right:0;bottom:0;background-position:right bottom}</style>');
    $(".top-bottom").append('<span class="top" /><span class="bottom"/>');
    $(".rounded").append('<span class="lt">&nbsp;</span><span class="rt" /><span class="rb" /><span class="lb">&nbsp;</span>');
    $(".rounded.png").append('<span class="lt png_bg"/><span class="rt png_bg" /><span class="rb png_bg" /><span class="lb png_bg"/>');

    $(".listagem-sobre-ibi").append('<span class="bottom"/>');
    $(".listagem-trabalhe-conosco").append('<span class="bottom"/>');
    $("div#tipo-mensagem").append('<span class="bottom"/>');

    $(".inputtext").wrap('<span class="bleft"></span>');
    $(".inputtext").wrap('<span class="bright"></span>');

    /* menu principal */
    var menuPath = (window.location.pathname).split('/');
    var url = window.location.href;

    if (menuPath[2] == 'fale-com-ibi') {
        $('ul.menu li.mnfaleibi a').addClass('ativo');
    }
    if (menuPath[2] == 'para-voce') {
        if (menuPath[3] == 'simuladores') {
            $('ul.menu li.mnsimuladores a').addClass('ativo');
        } else if (menuPath[3] == 'promocoes') {
            $('ul.menu li.mnpromocoes a').addClass('ativo');
        } else if (menuPath[3] == 'por-que-ibi') {
            $('ul.menu li.mnpqibis a').addClass('ativo');
        } else if (menuPath[3] == 'saber-para-crescer') {
            $('ul.menu li.mnsabercrescer a').addClass('ativo');
        }
    }
    if (menuPath[2] == 'para-sua-empresa') {
        if (menuPath[4] == 'antecipacao-de-recebiveis.aspx') {
            $('ul.menu li.mn-antecipa a').addClass('ativo');
        } else if (menuPath[4] == 'ibi-folha.aspx') {
            $('ul.menu li.mn-ibifolha a').addClass('ativo');
        } else if (menuPath[4] == 'investimentos') {
            $('ul.menu li.mn-investimentos a').addClass('ativo');
        } else if (menuPath[4] == 'capital-de-giro.aspx') {
            $('ul.menu li.mn-capital-giro a').addClass('ativo');
        }
    }
    /* Estrutura de abas com Lista de definição*/

    var dtAba = $("dl.abas > dt").attr('class');
    dtAba = setAba(dtAba);
    
       
    if (verTodos == '') {
        $("dl.abas").prepend('<span class=\"menu-abas ' + dtAba + '\" style=\"display:block;\" />');
        $('dl.abas dd').hide();
        $('dl.abas dd.' + dtAba).show();
    }

    $('dl.abas dt').click(function() {
        var css = $(this).attr("class").split(' ');
        var abas = $('dl.abas .menu-abas').attr("class").split(' ');
        $('dl.abas .menu-abas').removeClass();
        $('dl.abas span:first').addClass('menu-abas');
        $('dl.abas .menu-abas').addClass(css[0]);
        $('dl.abas dd').hide();
        $('dl.abas dd.' + css[0]).show();
        verTodos = '';
    });



    var dtAba = $("dl.abas-posts > dt").attr('class');
    dtAba = setAba(dtAba);
    $("dl.abas-posts").prepend('<span class=\"menu-abas ' + dtAba + '\" style=\"display:block;\" />');

    $('dl.abas-posts dd').hide();
    $('dl.abas-posts dd.' + dtAba).show();

    $("span.menu-abas").attr("style", "display:block;");
    $("dd." + dtAba).attr("style", "display:block;");
    $(".abas dt").attr("style", "z-index:900;");
    $('dl.abas-posts dd.mais-recentes').show();

    $('dl.abas-posts dt').click(function() {
        var css = $(this).attr("class").split(' ');
        var abas = $('dl.abas-posts .menu-abas').attr("class").split(' ');
        $('dl.abas-posts .menu-abas').removeClass();
        $('dl.abas-posts span:first').addClass('menu-abas');
        $('dl.abas-posts .menu-abas').addClass(css[0]);
        $('dl.abas-posts dd').hide();
        $('dl.abas-posts dd.' + css[0]).show();
    });



    /* sumir textos do input */
    var cepTxt = $('.cep-voce').attr('value');
    $('.cep-voce').focus(function() {
        if ($('.cep-voce').attr('value') == cepTxt) {
            $('.cep-voce').attr('value', '');
        }
    });
    $('.cep-voce').blur(function() {
        if ($('.cep-voce').attr('value') == '') {
            $('.cep-voce').attr('value', cepTxt);
        }
    });

    var cepTxt = $('.cep-default').attr('value');
    $('.cep-default').focus(function() {
        if ($('.cep-default').attr('value') == cepTxt) {
            $('.cep-default').attr('value', '');
        }
    });
    $('.cep-default').blur(function() {
        if ($('.cep-default').attr('value') == '') {
            $('.cep-default').attr('value', cepTxt);
        }
    });

    var cepTxt = $('.cep-empresa').attr('value');
    $('.cep-empresa').focus(function() {
        if ($('.cep-empresa').attr('value') == cepTxt) {
            $('.cep-empresa').attr('value', '');
        }
    });
    $('.cep-empresa').blur(function() {
        if ($('.cep-empresa').attr('value') == '') {
            $('.cep-empresa').attr('value', cepTxt);
        }
    });

    var buscaTxt = $('.buscar input').attr('value');
    $('.buscar input').focus(function() {
        if ($('.buscar input').attr('value') == buscaTxt) {
            $('.buscar input').attr('value', '');
        }
    });
    $('.buscar input').blur(function() {
        if ($('.buscar input').attr('value') == '') {
            $('.buscar input').attr('value', buscaTxt);
        }
    });
    var usuario = $('.input-usuario input').attr('value');
    $('.input-usuario input').focus(function() {
        if ($('.input-usuario input').attr('value') == usuario) {
            $('.input-usuario input').attr('value', '');
        }
    });
    $('.input-usuario input').blur(function() {
        if ($('.input-usuario input').attr('value') == '') {
            $('.input-usuario input').attr('value', usuario);
        }
    });
    var senha = $('.input-senha input').attr('value');
    $('.input-senha input').focus(function() {
        if ($('.input-senha input').attr('value') == senha) {
            $('.input-senha input').attr('value', '');
        }
    });
    $('.input-senha input').blur(function() {
        if ($('.input-senha input').attr('value') == '') {
            $('.input-senha input').attr('value', senha);
        }
    });

    /* bg topo destaques emprestimos*/
    $('#perguntas-frequentes').prepend("<span class=\"top\"></span>");

    /* bg topo destaques emprestimos*/
    $('.destaque-emprestimo').append("<span class=\"top-destaque-emprestimo\"></span>");

    /* bg topo destaques home empresa*/
    $('.destaque-empresa').append("<span class=\"top-destaque-empresa\"></span>");

    /* bg topo diferencias do ibiCard Super*/
    $('#diferenciais-cartao').prepend("<span class=\"top-diferenciais\"></span>");


    $('.produto-vantagens').prepend("<span class=\"top-vantagens\"></span>");


    /*Condicoes dos diferencias do ibiCard Super*/
    $('sup a').hover(function() {
        var numCond = $(this).text();
        $('#sobre-cartao .condicoes li').css('display', 'none');
        $('#sobre-cartao .condicoes li.' + numCond).css('display', 'block');
        $('.produto-vantagens .condicoes li').css('display', 'none');
        $('.produto-vantagens .condicoes li.' + numCond).css('display', 'block');
    });

    // Abas Simuladores

    $('dl#simuladores dt a').click(function() {
        $('dl#simuladores dt a span').hide();
        $('dl#simuladores dt a').removeClass("saiba-mais");
        $(this).addClass("saiba-mais");
    });

    /*top e bottom do box parceiros Ibi
    $('.parceiros').prepend("<span class=\"top\"></span>");
    $('.parceiros').append("<span class=\"bottom\"></span>");*/
    
    // bottom cartao makro empresa
    $('.como-funciona-makro').append("<span class=\"bottom\"></span>");

    // adiciona listrado a tabela makro empresa
    $('.como-funciona-makro table tr:odd').addClass('odd');
	
    //top e bottom do fale com ibi
    $('.frm-fale-conosco').prepend("<span class=\"top\"></span>");
    $('.frm-fale-conosco').append("<span class=\"bottom\"></span>");
    $('.frm-fale-conosco .tipo-mensagem').prepend("<span class=\"top\"></span>");
    $('.frm-fale-conosco .tipo-mensagem').append("<span class=\"bottom\"></span>");

    // submenu investimento

    $("#menuEmpresa #submenu-produtos li:nth-child(3)").mouseover(function() {
        $(".subinvestimento").show();
    });

    $(".subinvestimento").mouseleave(function() {
        $(this).hide();
    });

    $("#menuVoce #submenu-produtos-voce li:nth-child(5)").mouseover(function() {
        $(".subinvestimento-para-voce").show();
    });

    $(".subinvestimento-para-voce").mouseleave(function() {
        $(this).hide();
    });

    $('.msg-erro.tel').css('display', 'none');
    $('.btn-cadastrar').click(function() {
        $('.msg-erro.tel').each(function() {
            estadoAtual = $(this).css('visibility');
            if (estadoAtual == 'visible') {
                $(this).css('display', 'block');
            }
            else {
                $(this).css('display', 'none');
            }

        });
    });
}

//Validação de CEP
//adiciona mascara de cep
function MascaraCep(cep, e) {
    if (mascaraInteiro(e) == false) {
        if (window.event)
            e.returnValue = false; //IE
        else
            e.preventDefault(); //FF
    }

    return formataCampo(cep, '00000-000', e);
}

function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e) {


    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if (whichCode == 13) return true;
    key = String.fromCharCode(whichCode);  // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    if (len > 11)
        return false;

    for (i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal))
        break;
    aux = '';
    for (; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i)) != -1)
        aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0' + SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0' + SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
            objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}


function MascaraRenda(renda, e) {
    if (mascaraInteiro(e) == false) {
        if (window.event)
            e.returnValue = false; //IE
        else
            e.preventDefault(); //FF
    }
    return formataCampo(renda, '000.000', e);
}


function MascaraTelefone(telefone, e) {
    if (mascaraInteiro(e) == false) {
        if (window.event)
            e.returnValue = false; //IE
        else
            e.preventDefault(); //FF
    }
    return formataCampo(telefone, '0000-0000', e);
}


function MascaraCpf(cpf, e) {
    if (!mascaraInteiro(e)) {
        if (window.event)
            e.returnValue = false; //IE
        else
            e.preventDefault(); //FF
    }

    return formataCampo(cpf, '000.000.000-00', e);
}

//valida numero inteiro com mascara
function mascaraInteiro(e) {
    var key_code = e.keyCode ? e.keyCode : e.which;

    // Habilita teclas <DEL>, <TAB>, <ENTER>, <ESC> e <BACKSPACE>
    if (key_code == 8 || key_code == 9 || key_code == 13 || key_code == 27 || key_code == 46) {
        return true;
    }

    // Habilita teclas <HOME>, <END>, mais as quatros setas de navegação (cima, baixo, direta, esquerda)
    else if ((key_code >= 35) && (key_code <= 40) && (key_code != 39)) {
        return true
    }

    // Habilita números de 0 a 9
    else if ((key_code >= 48) && (key_code <= 57)) {
        return true
    }
    else {
        if (window.event)

            e.returnValue = false; //IE
        else
            e.preventDefault(); //FF
        return false;
    }

}

function pularCampo(campo, campo2, qtdChar) {
    var tamanho = campo.value.length;

    if (tamanho >= qtdChar) {
        $('#' + campo2).focus();
        //document.getElementById(campo2).focus();
    }

}


//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) {

    if (getSelText() != '')
        campo.value = '';

    var boleanoMascara;

    var Digitato = evento.keyCode;
    exp = /\-|\.|\/|\(|\)| /g
    campoSoNumeros = campo.value.toString().replace(exp, "");

    var posicaoCampo = 0;
    var NovoValorCampo = "";
    var TamanhoMascara = campoSoNumeros.length; ;

    if (Digitato != 8) { // backspace
        for (i = 0; i <= TamanhoMascara; i++) {
            boleanoMascara = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
                                || (Mascara.charAt(i) == "/"))
            boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == "(")
                                || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "))
            if (boleanoMascara) {
                NovoValorCampo += Mascara.charAt(i);
                TamanhoMascara++;
            } else {
                NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
                posicaoCampo++;
            }
        }
        campo.value = NovoValorCampo;
        return true;
    } else {
        return true;
    }
}

function emitirMensagem(msg) {
    alert(msg);
}

/// <summary>
/// Função para pegar parametros de uma url
/// </summary>
/// <param name="name">nome do parametro que deseja pegar o valor</param>
function getUrlParam(name) {
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var tmpURL = window.location.href;
    var results = regex.exec(tmpURL);
    if (results == null)
        return "";
    else
        return results[1];
}

function setAba(dtAba) {
    if (verTodos == '') {
        switch (getUrlParam('cat')) {
            
            case 'ContasCasa':
                dtAba = 'contas-da-casa';
                break;
            case 'EuComIsso':
                dtAba = 'e-eu-com-isso';
                break;
            case 'TrabalhoCriatividade':
                dtAba = 'trabalho-criatividade';
                break;
            case 'EstudoProfissao':
                dtAba = 'estudo-profissao';
                break;
            case 'Videos':
                dtAba = 'videos';
                break;
            case 'ConteudosInterativos':
                dtAba = 'conteudos-interativos';
                break;
            case 'Todos':
                dtAba = 'todos';
                break;
        }
    }
    return dtAba;

}


function MascaraValor(objTextBox, SeparadorMilesimo, SeparadorDecimal, e, tam) {
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.addEventListener) ? e.which : e.keyCode;

    if (objTextBox.value.length >= tam) whichCode = 1;

    if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8))
        return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave


    if (strCheck.indexOf(key) == -1)
        return false; // Chave inválida


    if (getSelText() != '')
        objTextBox.value = '';

    len = objTextBox.value.length;
    for (i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal))
        break;
    aux = '';
    for (; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i)) != -1)
        aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0)
        objTextBox.value = '';
    if (len == 1)
        objTextBox.value = '0' + SeparadorDecimal + '0' + aux;
    if (len == 2)
        objTextBox.value = '0' + SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
            objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}

function MascaraValorFinal(objTextBox, SeparadorMilesimo, SeparadorDecimal, e, tam) {
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (e.keyCode) ? e.keyCode : e.which;

    if (objTextBox.value.length >= tam) whichCode = 1;


    key = String.fromCharCode(whichCode); // Valor para o código da Chave


    if (getSelText() != '')
        objTextBox.value = '';

    len = objTextBox.value.length;
    for (i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal))
        break;
    aux = '';

    for (; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i)) != -1)
        aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;

    aux = aux.substring(0, len - 1);
    len = len - 1;

    if (len == 0)
        objTextBox.value = '';
    if (len == 1)
        objTextBox.value = '0' + SeparadorDecimal + '0' + aux;
    if (len == 2)
        objTextBox.value = '0' + SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
            objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}


function MascaraValorSemDecimal(objTextBox, SeparadorMilesimo, e, tam) {

    if (getSelText() != '')
        objTextBox.value = '';

    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (e.keyCode) ? e.keyCode : e.which;

    if (objTextBox.value.length >= tam) whichCode = 1;


    if ((whichCode == 13) || (whichCode == 8) || (whichCode == 9) || (whichCode == 27) || (whichCode == 35) || (whichCode == 36) || (whichCode == 37) || (whichCode == 38) || (whichCode == 39) || (whichCode == 40))
        return true;

    key = String.fromCharCode(whichCode); // Valor para o código da Chave

    if (strCheck.indexOf(key) == -1)
        return false; // Chave inválida

    len = objTextBox.value.length;

    aux = '';
    for (; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i)) != -1)
        aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;

    objTextBox.value = aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len; i >= 0; i--) {
            if (j == 4) {
                aux2 += SeparadorMilesimo;
                j = 1;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2; i >= 0; i--)
            objTextBox.value += aux2.charAt(i);

    }
    return false;
}



function MascaraValorSemDecimalFinal(objTextBox, SeparadorMilesimo, e, tam) {

    if (getSelText() != '')
        objTextBox.value = '';


    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (e.keyCode) ? e.keyCode : e.which;


    if (objTextBox.value.length >= tam) whichCode = 1;

    if ((whichCode == 13) || (whichCode == 8) || (whichCode == 9) || (whichCode == 27) || (whichCode == 35) || (whichCode == 36) || (whichCode == 37) || (whichCode == 38) || (whichCode == 39) || (whichCode == 40))
        return true;


    key = String.fromCharCode(whichCode); // Valor para o código da Chave



    len = objTextBox.value.length;

    aux = '';

    for (; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i)) != -1)
        aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;

    objTextBox.value = aux.substring(0, len - 1);

    aux = aux.substring(0, len - 1);
    len = len - 1;

    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len; i >= 0; i--) {
            if (j == 4) {
                aux2 += SeparadorMilesimo;
                j = 1;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2; i >= 0; i--)
            objTextBox.value += aux2.charAt(i);

    }
    return false;
}

function getSelText() {
    var txt = '';
    if (document.getSelection) {
        txt = window.getSelection();
    }
    else if (document.getSelection) // FireFox
    {
        txt = document.getSelection();
    }
    else if (document.selection)  // IE 6/7
    {
        txt = document.selection.createRange().text;
    }

    return txt;
}

function setarAba(aba) {
    $('dl.abas .menu-abas').removeClass();
    $('dl.abas span:first').addClass('menu-abas');
    $('dl.abas .menu-abas').addClass(aba);
    $('dl.abas dd').hide();
    $('dl.abas dd.' + aba).show();
    verTodos = aba;
}

// arruma largura
$(document).ready(function() {
    var totalTd = $("#conteudo-cartoes .comparativo-cartao tbody tr:eq(1)").children("td").length;
    var larguraTd = 100;
    var resultado = parseInt(larguraTd / totalTd) + "%";
    $("#conteudo-cartoes .comparativo-cartao tbody tr td").css("width", resultado);
});


function mascaraInteiroSimulador(e) {
    var key_code = e.keyCode ? e.keyCode : e.which;
    
    // Habilita teclas <DEL>, <TAB>, <ENTER>, <ESC> e <BACKSPACE>    
    if ((key_code == 8 || key_code == 9 || key_code == 13 || key_code == 27 || key_code == 46) && String.fromCharCode(key_code) != '.' ) {
        return true;
    }
    
    // Habilita teclas <HOME>, <END>, mais as quatros setas de navegação (cima, baixo, direta, esquerda)
    else if ((key_code >= 35) && (key_code <= 40) && (key_code != 39)) {
        return true
    }
    
    // Habilita números de 0 a 9
    else if ((key_code >= 48) && (key_code <= 57)) {
        return true
    }
    else {
        alert('Digite somente números');
        if (window.event)
            e.returnValue = false; //IE
        else
            e.preventDefault(); //FF
        return false;
    }

}

function ValidarCPF(source, clientside_arguments) {
var CPF = document.getElementById(source.attributes['Valor'].value).value; // Recebe o valor digitado no campo
// Aqui começa a checagem do CPF
CPF = CPF.replace('.','');
CPF = CPF.replace('.','');
CPF = CPF.replace('-','');


var POSICAO, I, SOMA, DV, DV_INFORMADO;
var DIGITO = new Array(10);
DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

// Desemembra o número do CPF na array DIGITO
for (I=0; I<=8; I++) {
  DIGITO[I] = CPF.substr( I, 1);
}

// Calcula o valor do 10º dígito da verificação
POSICAO = 10;
SOMA = 0;
   for (I=0; I<=8; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[9] = SOMA % 11;
   if (DIGITO[9] < 2) {
        DIGITO[9] = 0;
}
   else{
       DIGITO[9] = 11 - DIGITO[9];
}

// Calcula o valor do 11º dígito da verificação
POSICAO = 11;
SOMA = 0;
   for (I=0; I<=9; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[10] = SOMA % 11;
   if (DIGITO[10] < 2) {
        DIGITO[10] = 0;
   }
   else {
        DIGITO[10] = 11 - DIGITO[10];
   }

// Verifica se os valores dos dígitos verificadores conferem
   DV = DIGITO[9] * 10 + DIGITO[10];
   if (DV != DV_INFORMADO) {
      clientside_arguments.IsValid=false;
      return false;
   } 
   else
   {
     clientside_arguments.IsValid=true;
     return true;
   }
}


function PularCampo(campos,e) {
    var auxCampo;
    var whichCode = (e.keyCode) ? e.keyCode : e.which;
    // Habilita teclas <DEL>, <TAB>, <ENTER>, <ESC>, <BACKSPACE>, <HOME>, <END>, mais as quatros setas de navegação (cima, baixo, direta, esquerda
    if (whichCode == 8 || whichCode == 9 || whichCode == 13 || whichCode == 16 || whichCode == 27 || whichCode == 46 || (whichCode >= 35 && whichCode <= 40)) 
    {
        return true;
    }
    
    if (campos.value.length == campos.maxLength) 
    {
        for (var i = 0; i < campos.form.length; i++) 
        {
            //alert(campos.form[(i + 1)].name != null);
            if (auxCampo != campos)
                auxCampo = campos.form[i];

            if (auxCampo == campos && campos.form[(i + 1)] && campos.form[(i + 1)].type != "hidden" && campos.form[(i + 1)].name != null)
            {               
                campos.form[(i + 1)].focus(); break;
            }
        }
    }
}