function confirmaCaptura(tid, merchid)
{
    document.getElementById('tid').value = tid;
    document.getElementById('merchid').value = merchid;
    document.captura.submit();
}

function chamaUrlDetalhamento(seq_pev_web)
{
    window.location.href='captura_visa_detalhamento.php?pg=ultimas_compras_detalhe&cod_pedido='+seq_pev_web;
}

// Funcao trata evento onclick dos checkboxes de opção embalagem
function onPackageClick()
{
    packedItensNumberUpdate();
    packedTotalUpdate();
    atualizarValorTotal();
}

// Funcao atualiza valor total das embalagens
function packedTotalUpdate()
{
    var valor_embalagem = parseFloat(document.getElementById('valor_embalagem').innerHTML.replace('.','').replace(',','.'));
    var n_itens_embalados = parseFloat(document.getElementById('n_itens_embalados').innerHTML);
    var total =  valor_embalagem * n_itens_embalados;
    document.getElementById('total_embalagem').innerHTML = numero2moeda(total);
}

// Funcao atualiza o numero de itens embalados
function packedItensNumberUpdate()
{
    document.getElementById('n_itens_embalados').innerHTML = countPackagedItens();
}

// No carrinho, conta numero de itens marcados para serem embalados
function getPackagedItens()
{
    embalagens = document.getElementsByName('embalagem');
    tam = embalagens.length;
    count = 0;
    prods_embalados = '';
    for (x = 0; x < tam; x++) {
        if (embalagens[x].checked) {
            count++;
            prods_embalados += embalagens[x].value+"_";
        }
    }

    if (count > 0) {
        prods_embalados = prods_embalados.substring(0, prods_embalados.length - 1);
    }

    return prods_embalados;
}

// No carrinho, conta numero de itens marcados para serem embalados
function countPackagedItens()
{
    embalagens = document.getElementsByName('embalagem');
    tam = embalagens.length;
    embalados = 0;
    for (x = 0; x < tam; x++) {
        if (embalagens[x].checked) {
            embalados++;
        }
    }
    return embalados;
}

// Funcao valida cpf
function isCpf(cpf)
{
    var numeros, digitos, soma, i, resultado, digitos_iguais;
    digitos_iguais = 1;

    if (cpf.length < 11) {
        return false;
    }

    for (i = 0; i < cpf.length - 1; i++) {
        if (cpf.charAt(i) != cpf.charAt(i + 1)) {
            digitos_iguais = 0;
            break;
        }
    }

    if (!digitos_iguais) {
        numeros = cpf.substring(0,9);
        digitos = cpf.substring(9);
        soma = 0;

        for (i = 10; i > 1; i--) {
            soma += numeros.charAt(10 - i) * i;
        }

        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;

        if (resultado != digitos.charAt(0)) {
            return false;
        }

        numeros = cpf.substring(0,10);
        soma = 0;

        for (i = 11; i > 1; i--) {
            soma += numeros.charAt(11 - i) * i;
        }

        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;

        if (resultado != digitos.charAt(1)) {
            return false;
        }

        return true;
    } else {
        return false;
    }
}

// Funcao de validacao do cnpj
function isCnpj(cnpj)
{
    var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
    digitos_iguais = 1;

    if (cnpj.length < 14 && cnpj.length < 15)
        return false;

    for (i = 0; i < cnpj.length - 1; i++)
        if (cnpj.charAt(i) != cnpj.charAt(i + 1)) {
            digitos_iguais = 0;
            break;
        }

    if (!digitos_iguais) {
        tamanho = cnpj.length - 2
        numeros = cnpj.substring(0,tamanho);
        digitos = cnpj.substring(tamanho);
        soma = 0;
        pos = tamanho - 7;

        for (i = tamanho; i >= 1; i--) {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;

        if (resultado != digitos.charAt(0))
            return false;

        tamanho = tamanho + 1;
        numeros = cnpj.substring(0,tamanho);
        soma = 0;
        pos = tamanho - 7;

        for (i = tamanho; i >= 1; i--) {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2)
                pos = 9;
        }

        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;

        if (resultado != digitos.charAt(1))
            return false;

        return true;
    } else {
        return false;
    }
}

// Habilita campos do endereço de entrega
function ShippingAddressDisable()
{
    document.getElementById('rua_entrega').disabled = true;
    document.getElementById('numero_entrega').disabled = true;
    document.getElementById('complemento_entrega').disabled = true;
    document.getElementById('bairro_entrega').disabled = true;
    document.getElementById('cidade_entrega').disabled = true;
    document.getElementById('estado_entrega').disabled = true;
    document.getElementById('ponto_referencia_entrega').disabled = true;
    document.getElementById('rua_entrega').value = '';
    document.getElementById('numero_entrega').value = '';
    document.getElementById('complemento_entrega').value = '';
    document.getElementById('bairro_entrega').value = '';
    document.getElementById('cidade_entrega').value = '';
    document.getElementById('estado_entrega').value = '';
    document.getElementById('cep_entrega').value = '';
    document.getElementById('ponto_referencia_entrega').value = '';
}

// Habilita campos do endereço de entrega
function ShippingAddressEnable(cep_frete)
{
    document.getElementById('flag_endereco_entrega').checked = true;
    document.getElementById('rua_entrega').disabled = false;
    document.getElementById('numero_entrega').disabled = false;
    document.getElementById('complemento_entrega').disabled = false;
    document.getElementById('bairro_entrega').disabled = false;
    document.getElementById('cidade_entrega').disabled = false;
    document.getElementById('estado_entrega').disabled = false;
    document.getElementById('ponto_referencia_entrega').disabled = false;
    document.getElementById('cep_entrega').value = cep_frete;
}

// Funcao chamada para tratar o evento onclick do checkbox de ativação do endereço de entrega
function onShippingAddressClick(flag_checado, cep_frete)
{
    if (flag_checado) {
        ShippingAddressEnable(cep_frete);
    } else {
        ShippingAddressDisable();
    }
}

// Funcao soma todos os subvalores do carrinho e atualiza o valor total
function atualizarValorTotal()
{
    s = parseFloat(document.getElementById("subtotal").innerHTML.replace('.','').replace(',','.'));
    f = parseFloat(document.getElementById("valor_frete").innerHTML.replace('.','').replace(',','.'));
    d = parseFloat(document.getElementById("valor_desconto").innerHTML.replace('.','').replace(',','.'));
    e = parseFloat(document.getElementById("total_embalagem").innerHTML.replace('.','').replace(',','.'));
	
    if (document.getElementById("valor_cartao")) {
        c = parseFloat(document.getElementById('valor_cartao').innerHTML.replace('.','').replace(',','.'));
    } else {
        c = parseFloat(0);
    }

    // atualiza valor total
    document.getElementById('total').innerHTML = numero2moeda(s + e + c + f - d);
}

// Funcao chamada para tratar o evento onclick do checkbox do cartao de mensagem
function onMessageCardClick(flag_checado, valor_cartao)
{
    if (flag_checado) {
        document.getElementById("texto_cartao").disabled = false;
        document.getElementById('valor_cartao').innerHTML = numero2moeda(valor_cartao);
    } else {
        document.getElementById("texto_cartao").disabled = true;
        document.getElementById('valor_cartao').innerHTML = numero2moeda(0);
        document.getElementById("texto_cartao").value = "Texto do cartão aqui...";
    }

    atualizarValorTotal();
}

// Funcao atualiza o campo peso total do pedido ao ser alterada a quantidade
// de algum produto no carrinho (parte1)
function atualizaPesoPedido(seqs)
{
    var peso_total = 0;

    array_seqs = seqs.split(',');

    for (x in array_seqs) {
        peso_total += parseFloat(document.getElementById('qtd'+array_seqs[x]).value) * parseFloat(document.getElementById('peso'+array_seqs[x]).value);
    }

    document.getElementById('peso').innerHTML = numero2moeda(peso_total);
}

// Funcao chamada para tratar o evento blur do campo quantidade
function onAmountFieldBlur(campo, seq_prod, seq_progrp, seq_subprogrp, qtd_multipla, qtd_minima, grupos, seqs)
{
    var prods = "prods"+seq_progrp+"_"+seq_subprogrp;

    validaNumero(campo, qtd_multipla, qtd_minima);

    contabiliza_nocarrinho(seq_prod, seq_progrp, seq_subprogrp, eval(prods), grupos);

    atualizaPesoPedido(seqs);

    // Se frete por encomenda normal, faz calcular de novo o frete apos mudança do carrinho
    // pois frete normal e definido pelo peso do produto, que pode ter mudado
    if (document.getElementById("frete_normal").checked) {
       document.getElementById("mudou_op_frete").value = 1;;
    }
}

// Funcao chamada para tratar o evento keyup do campo quantidade
function onAmountFieldKeyUp(campo, seq_prod, seq_progrp, seq_subprogrp, saldo, grupos, seqs)
{
    var prods = "prods"+seq_progrp+"_"+seq_subprogrp;

    mascara(campo);

    verifica2(campo, saldo);

    contabiliza_nocarrinho(seq_prod, seq_progrp, seq_subprogrp, eval(prods), grupos);

    atualizaPesoPedido(seqs);

    calcula_desconto_cliente();

    // Se frete por encomenda normal, faz calcular de novo o frete apos mudança do carrinho
    // pois frete normal e definido pelo peso do produto, que pode ter mudado
    if (document.getElementById("frete_normal").checked) {
       document.getElementById("mudou_op_frete").value = 1;;
    }
}

// Funcao chamada para tratar o clique no botao adicionar
function onAddButtonClick(seq_prod, seq_progrp, seq_subprogrp, qtd_multipla, qtd_minima, saldo, grupos, seqs)
{
    var campo_qtd = "qtd"+seq_prod;
    var prods = "prods"+seq_progrp+"_"+seq_subprogrp;

    alteraQtd(document.getElementById(campo_qtd), qtd_multipla, qtd_minima, saldo);

    contabiliza_nocarrinho(seq_prod, seq_progrp, seq_subprogrp, eval(prods), grupos);

    atualizaPesoPedido(seqs);

    calcula_desconto_cliente();

    // Se frete por encomenda normal, faz calcular de novo o frete apos mudança do carrinho
    // pois frete normal e definido pelo peso do produto, que pode ter mudado
    if (document.getElementById("frete_normal").checked) {
       document.getElementById("mudou_op_frete").value = 1;;
    }
}

// Funcao chamada para tratar o clique no botao subtrair
function onSubtractButtonClick(seq_prod, seq_progrp, seq_subprogrp,  qtd_multipla, qtd_minima, saldo, grupos, seqs)
{
    var campo_qtd = "qtd"+seq_prod;
    var prods = "prods"+seq_progrp+"_"+seq_subprogrp;

    alteraQtd(document.getElementById(campo_qtd), (-1 * qtd_multipla), qtd_minima, saldo);

    contabiliza_nocarrinho(seq_prod, seq_progrp, seq_subprogrp, eval(prods), grupos);

    atualizaPesoPedido(seqs);

    calcula_desconto_cliente();

    // Se frete por encomenda normal, faz calcular de novo o frete apos mudança do carrinho
    // pois frete normal e definido pelo peso do produto, que pode ter mudado
    if (document.getElementById("frete_normal").checked) {
       document.getElementById("mudou_op_frete").value = 1;;
    }
}

function atualiza_form_pessoa(tipo_pessoa)
{
    if (tipo_pessoa == 'F') {
        //desabilita
        document.getElementById('cnpj').disabled = true;
        document.getElementById('insc_est').disabled = true;
        document.getElementById('contato').disabled = true;
        // limpa campos desabilitados
        document.getElementById('cnpj').value = '';
        document.getElementById('insc_est').value = '';
        document.getElementById('contato').value = '';


        // habilita
        document.getElementById('rg').disabled = false;
        document.getElementById('cpf').disabled = false;
        document.getElementById('data_nasc').disabled = false;
    } else if (tipo_pessoa == 'J') {
        //desabilita
        document.getElementById('rg').disabled = true;
        document.getElementById('cpf').disabled = true;
        document.getElementById('data_nasc').disabled = true;
        // limpa campos desabilitados
        document.getElementById('rg').value = '';
        document.getElementById('cpf').value = '';
        document.getElementById('data_nasc').value = '';

        // habilita
        document.getElementById('cnpj').disabled = false;
        document.getElementById('insc_est').disabled = false;
        document.getElementById('contato').disabled = false;
    }
}

function getBrowser()
{
    if(navigator.appName.indexOf("Netscape") != -1)
        //visa_popup = window.open("",  "visa_popup","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,screenX=0,sc reenY=0,left=0,top=0,width=765,height=440");
            return 1;
    else
        //visa_popup = window.open("",  "visa_popup","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,screenX=0,sc reenY=0,left=0,top=0,width=765,height=440");

        return 0;
        //return true;
}

function alert_desconto(texto)
{
        alert(text);
}

function para_pg4(verify)
{
        if (confirm("Confirma compra?")) {
                if (document.getElementById('pgto_visa').checked || document.getElementById('pgto_mastercard').checked || document.getElementById('pgto_diners').checked) {
                        document.form.action="index.php?pg=finalizar_compra&pt=3_5&verify="+verify;
                }
                document.form.submit();
        }
}

function para_pg3(cadastro)
{
        if (document.getElementById('nome').value.length == 0) {
            alert('Preencha o campo nome');
        } else if ((document.getElementById('tipo_pessoa_f').checked) && (document.getElementById('cpf').value.length == 0)) {
            alert('Preencha o campo CPF');
        } else if ((document.getElementById('tipo_pessoa_f').checked) && (!isCpf(document.getElementById('cpf').value))) {
            alert('CPF inválido');
        } else if ((document.getElementById('tipo_pessoa_f').checked) && (document.getElementById('rg').value.length == 0)) {
            alert('Preencha o campo RG');
        } else if ((document.getElementById('tipo_pessoa_f').checked) && (document.getElementById('data_nasc').value.length == 0)) {
            alert('Preencha o campo data de nascimento');
        } else if ((document.getElementById('tipo_pessoa_j').checked) && (document.getElementById('cnpj').value.length == 0)) {
            alert('Preencha o campo CNPJ');
        } else if ((document.getElementById('tipo_pessoa_j').checked) && (!isCnpj(document.getElementById('cnpj').value))) {
            alert('CNPJ inválido!!!!');
        } else if ((document.getElementById('tipo_pessoa_j').checked) && (document.getElementById('insc_est').value.length == 0)) {
            alert('Preencha o campo inscricao estadual');
        } else if ((document.getElementById('tipo_pessoa_j').checked) && (document.getElementById('contato').value.length == 0)) {
            alert('Preencha o campo contato');
        } else if (document.getElementById('email').value.length == 0) {
            alert('Preencha o campo e-mail');
        } else if ((cadastro != 1) && (document.getElementById('senha').value.length == 0)) {
            alert('Preencha o campo senha');
        } else if ((cadastro != 1) && (document.getElementById('senha2').value.length == 0)) {
            alert('Preencha o campo de confirmação de senha');
        } else if (document.getElementById('rua').value.length == 0) {
            alert('Preencha o campo endereço');
        } else if (document.getElementById('numero').value.length == 0) {
            alert('Preencha o campo numero');
        } else if (document.getElementById('bairro').value.length == 0) {
            alert('Preencha o campo bairro');
        } else if (document.getElementById('cidade').value.length == 0) {
            alert('Preencha o campo cidade');
        } else if (document.getElementById('estado').value.length == 0) {
            alert('Preencha o campo estado');
        } else if (document.getElementById('cep_cobranca').value.length == 0) {
            alert('Preencha o campo CEP');
        } else if (!document.getElementById('aceito').checked) {
            alert('A compra só pode ser efetuada caso aceite nossos Termos e Condições');
        } else if ((document.getElementById('cep_cobranca').value != document.getElementById('cep_entrega').value) && document.getElementById('flag_endereco_entrega').checked == false) {
            alert('Cep do endereço de cobrança diferente do cep do cálculo do frete, preencher dados do endereço de entrega');
            ShippingAddressEnable(document.getElementById('cep_entrega').value);
        } else if (document.getElementById('flag_endereco_entrega').checked && document.getElementById('rua_entrega').value.length == 0) {
            alert('Preencha o campo endereço de entrega');
        } else if (document.getElementById('flag_endereco_entrega').checked && document.getElementById('numero_entrega').value.length == 0) {
            alert('Preencha o campo numero de entrega');
        } else if (document.getElementById('flag_endereco_entrega').checked && document.getElementById('bairro_entrega').value.length == 0) {
            alert('Preencha o campo bairro de entrega');
        } else if (document.getElementById('flag_endereco_entrega').checked && document.getElementById('cidade_entrega').value.length == 0) {
            alert('Preencha o campo cidade de entrega');
        } else if (document.getElementById('flag_endereco_entrega').checked && document.getElementById('estado_entrega').value.length == 0) {
            alert('Preencha o campo estado de entrega');
        } else {
                        // Valor da opcao email de novidades e promocoes
                        if (document.getElementById('email_promocoes').checked) {
                                document.getElementById('flag_email_promocoes').value = 1;
                        } else {
                                document.getElementById('flag_email_promocoes').value = 0;
                        }
            document.form.submit();
        }
}

function chama_lembrar_senha(email)
{
         window.location.href="?pg=lembrar_senha&email="+email;
}

function para_pg2_2(logado, verify)
{
        if (document.getElementById('email').value.length == 0) {
            alert('Preencha o campo e-mail');
        } else if (document.getElementById('cadastro_s').checked &&  document.getElementById('senha').value.length == 0) {
            alert('Preencha o campo senha');
        } else {

            if ((logado.length > 0) || document.getElementById('cadastro_n').checked) {
                document.form.action = "index.php?pg=finalizar_compra&pt=2_2&verify="+verify;
            }
            document.form.submit();
        }
}

function para_pg2(desconto, valor_desconto, valor_descontado, mudou_op_frete)
{
        if (mudou_op_frete == 0) {
                document.form.campo_desconto.value=desconto;
                document.form.campo_valor_desconto.value=valor_desconto;
                document.form.campo_valor_descontado.value=valor_descontado;
                document.form.embalagens_setadas.value = getPackagedItens();

                document.form.submit();
        } else {
                alert('Digite um CEP válido e calcule o frete!');
        }
}

// Chama funcao ajax para calcular o frete na opcao de tipo de frete escolhida
function calcular()
{
        // Se cep digitado inteiro
        if ((document.getElementById('cep1').value.length == 5) &&  (document.getElementById('cep2').value.length == 3)) {

                cep = document.getElementById('cep1').value+document.getElementById('cep2').value;

                var peso = document.getElementById("peso").innerHTML.replace('.','').replace(',','.');

                // Se opcao tipo de frete SEDEX
                if (document.getElementById('frete_sedex').checked) {
                         calcularFrete(cep, 'sedex', peso);
                } else if (document.getElementById('frete_sem').checked) { // Se opcao tipo de frete RETIRAR NA LOJA

                         // Verifica se e cidade de sao paulo

                         // ceps de sp capital: 01000-000 A 05999-999 E 08000-000 A 08499-999
                         if (((cep > 1000000) && (cep < 5999999)) || ((cep > 8000000) && (cep < 8499999))) {
                               calcularFrete(cep, 'sem', 0);
                         } else {
                               alert("Essa opção de frete disponível apenas para ceps da cidade de São Paulo");
                               document.getElementById('mudou_op_frete').value = 1;
                         }

                } else if (document.getElementById('frete_normal').checked) {

                         calcularFrete(cep, 'normal', peso);

                        /*if (parseInt(document.getElementById('n_produtos').innerHTML) <= 10) {
                                 calcularFrete2(document.getElementById('cep1').value+document.getElementById('cep2').value);
                        } else {
                                alert('Envios com carta registrada admitem no mínimo compras de 10 itens');
                                document.getElementById('frete_sedex').checked=true;

                        }
                        document.getElementById('mudou_op_frete').value = 0; */
                }
        } else {
                alert('CEP invalido!');
                atualizar_frete(0);
                return 0;
        }
}


// Quando digitando o cep, quando termina de digitar primeira parte do cep (primeiros 5 digitos),
// o foco vai para o outro campo, com a segunda parte do cep para digitar (3 ultimos digitos).
function trata_cep()
{
        if(document.getElementById('cep1').value.length == 5)
                document.getElementById('cep2').focus();
}

// Atualiza na tela o valor do frete, calculando o novo valor total considerando esse frete.
// Quando outra opção de tipo de frete e selecionada, essa funcao e chamada com argumento 0
// para zerar o calculo do frete, que deve ser novamente calculado para a opcao atual.
function atualizar_frete(frete)
{
        // atualiza valor frete
        document.getElementById('valor_frete').innerHTML = numero2moeda(frete);

        // atualizar valor total
        atualizarValorTotal();
}

function calcula_desconto_cliente()
{
        st = parseFloat(document.getElementById('total_geral').innerHTML.replace('.', '').replace(',', '.'));

        n = faixas.length;

        dd = 0;

        for (x = 0; x < n-1; x++) {
                campos = faixas[x].split(',');

                if (st >= parseFloat(campos[0]) && st < parseFloat(campos[1])) {
                        dd = campos[2];
                        break;
                }

        }

        if (document.getElementById('total')) {
                tt = parseInt(document.getElementById('total').innerHTML.replace('.','').replace(',','.') * 100);
        } else {
                tt = 0;
        }

        valor_desc = parseFloat(Math.floor(st*dd) /100);

        total_desc = parseInt(st*100 - parseInt(valor_desc * 100));

        dados_desconto = dd+'__';
        dados_desconto += valor_desc+'__';

        if (parseFloat(document.getElementById('valor_frete'))) {
                dados_desconto += parseFloat(total_desc/100) +   parseFloat(document.getElementById('valor_frete').innerHTML.replace('.','').replace(',','.'));
        } else {
                dados_desconto += 0;
        }

        atualizar_desconto(dados_desconto);

        return true;
}

function atualizar_desconto(dados)
{
        d = dados.split('__');

        d1 = numero2moeda(d[1]);
        d2 = numero2moeda(d[2]);

        if (document.getElementById('desconto')) {
                document.getElementById('desconto').innerHTML = d[0];
                document.getElementById('valor_desconto').innerHTML = d1;
                document.getElementById('total').innerHTML = d2;
        }

        //atualiza no carrinho

        document.getElementById('car_desconto').innerHTML = d[0];
        document.getElementById('car_valor_desconto').innerHTML = d1;

        tg = document.getElementById('total_geral').innerHTML.replace('.','').replace(',','.');
        car_t = parseFloat(tg) - parseFloat(d[1]);

        document.getElementById('car_total').innerHTML = numero2moeda(car_t);
        if (document.getElementById('total')) {
           atualizarValorTotal();
           //v_cartao = document.getElementById('valor_cartao').innerHTML.replace('.','').replace(',','.');
           //document.getElementById('total').innerHTML = numero2moeda(parseFloat(car_t) + parseFloat(v_cartao));
        }
}

function confirmarLimparCarrinho(url)
{
         if (confirm('Deseja excluir todos os produtos do carrinho?')) {
             window.location.href=url;
         }
}

/* mascara de numeros */

function mascara(o){

    v_obj=o
    v_fun=soNumeros;
    setTimeout("execmascara()",1);
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value);
}

function soNumeros(v){
    return v.replace(/\D/g,"");
}

/* fim mascara de numeros */

function verifica2(campo, saldo)
{
         if (campo.value > saldo) {
            campo.value = 0;
            alert('Saldo Não Suficiente para esta quantidade.');
            return 0;
         }
}

function validaNumero(campo, qtd_multipla, qtd_minima)
{
         if (campo.value == '') campo.value = 0;

         if (campo.value > 0 && campo.value < qtd_minima)
         {
             campo.value = 0;
             alert('Saldo Não Suficiente para esta quantidade.');
             return 0;
         }

         if ((resto = (campo.value % qtd_multipla)) != 0)
         {
               campo.value = parseInt(campo.value) + (parseInt(qtd_multipla) - parseInt(resto));
               alert('Quantidade desse produto deve ser múltipla de '+qtd_multipla);
               return 0;
         }
}

function alteraQtd(campo, qtd_multipla, qtd_minima, saldo) {

        campo.value = parseInt(campo.value) + parseInt(qtd_multipla);

        if (campo.value > saldo) {
            campo.value = 0;
            alert('Saldo Não Suficiente para esta quantidade.');
            return 0;
        }

        if (campo.value > 0 && campo.value < qtd_minima) {
            campo.value = (parseInt(qtd_multipla) > 0) ? qtd_minima : 0;
            return 0;
        }

        if (campo.value < 0) {
                campo.value = parseInt(0);
                return 0;
        }
}

function contabiliza_nocarrinho_aux(id, seq_progrp, seq_subprogrp, prods, grupos)
{
         contabiliza(id);

         soma  = 0;
         for (x in prods) {
              parcial = document.getElementById('total'+prods[x]).innerHTML.replace('.','').replace(',','.');
              soma += parseFloat(parcial);
         }

         document.getElementById('total_'+seq_progrp+'_'+seq_subprogrp).innerHTML =  numero2moeda(soma);

         contabiliza_subtotal(grupos);
}

function contabiliza_nocarrinho(id, seq_progrp, seq_subprogrp, prods, grupos)
{

         contabiliza_nocarrinho_aux(id, seq_progrp, seq_subprogrp, prods, grupos);
         atualizarValorTotal();
}

function contabiliza_nocarrinho2(id, seq_progrp, seq_subprogrp, prods, grupos)
{
         contabiliza_nocarrinho_aux(id, seq_progrp, seq_subprogrp, prods, grupos);
}

/*function contabiliza_total()
{
    f = document.getElementById('valor_frete').innerHTML.replace('.','').replace(',','.');
    s = document.getElementById('subtotal').innerHTML.replace('.','').replace(',','.');
    d = document.getElementById('valor_desconto').innerHTML.replace('.','').replace(',','.');

    document.getElementById('total').innerHTML = numero2moeda(parseFloat(f) + parseFloat(s) -  parseFloat(d));

}  */

function contabiliza_subtotal(grupos)
{
         soma = 0;
         for (x in grupos) {
              parcial = document.getElementById('total_'+grupos[x]).innerHTML.replace('.','').replace(',','.');
              soma += parseFloat(parcial);
         }

         document.getElementById('subtotal').innerHTML = numero2moeda(soma);
}

function contabiliza(id)
{
        preco = document.getElementById('preco'+id).innerHTML.replace('.','').replace(',','.');
        qtd = document.getElementById('qtd'+id).value;

        tot = parseFloat(preco) * parseFloat(qtd);

        js_carrinho[id] = parseFloat(tot);

        total_carrinho = 0;
        n_produtos = 0;
        // informacoes exibidas no carrinho
        for (x in js_carrinho)
        {
             total_x = js_carrinho[x];
             if (total_x != 0) {
                 total_carrinho += js_carrinho[x];
                 n_produtos++;
             }
        }

        document.getElementById('total_geral').innerHTML = numero2moeda(total_carrinho);
        document.getElementById('n_produtos').innerHTML = n_produtos;

        tot = (tot) ? numero2moeda(parseFloat(tot)) : numero2moeda(parseFloat(0));

        document.getElementById('total'+id).innerHTML = tot;

        //InserirProduto(id, qtd);
        document.getElementById('i').src =  'insere_produto_carrinho.php?dado0='+id+'&dado1='+qtd+'&dado2='+preco;
}

function numero2moeda(num) {
         num = num.toString().replace(/\$|\,/g,'');

         if(isNaN(num))
            num = "0";

         sign = (num == (num = Math.abs(num)));
         num = Math.floor(num*100+0.50000000001);
         cents = num%100;
         num = Math.floor(num/100).toString();

         if(cents<10)
            cents = "0" + cents;

         for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
             num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));

         return (((sign)?'':'-') + num + ',' + cents);
}

function LimpaCarrinhoVisivel()
{
        document.getElementById('total_geral').innerHTML = numero2moeda(0);
        document.getElementById('n_produtos').innerHTML = 0;
}

function ShowCepPopup()
{
         window.open('http://www.correios.com.br/servicos/cep/cep_loc_log.cfm');
}

function createToolTip(id, img_g)
{
         var t = new ToolTip(document.getElementById(id), "<img src="+img_g+" />", "tooltip", true);
}

/*function createToolTip(sequencias, img_grd)
{

         s = sequencias.split(',');
         img = img_grd.split(',');

         for (x in s) {
              var t = new ToolTip(document.getElementById('imagem_'+s[x]), "<img src=\""+img[x]+"\" />", "tooltip", true);
         }
}

function createToolTip_subprogrp(img_grd)
{
         var t = new ToolTip(document.getElementById('subprogrp'), "<img src=\""+img_grd+"\" />", "tooltip", true);
}

function createToolTip_subprogrp2(id, img_grd)
{
         var t = new ToolTip(document.getElementById(id), "<img src=\""+img_grd+"\" />", "tooltip", true);
} */

/*
**************************************
* Event Listener Function v1.4       *
* Autor: Carlos R. L. Rodrigues      *
**************************************
*/
addEvent = function(o, e, f, s){
    var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
    r[r.length] = [f, s || o], o[e] = function(e){
        try{
            (e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
            e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
            e.target || (e.target = e.srcElement || null);
            e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
        }catch(f){}
        for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
        return e = null, !!d;
    }
};

removeEvent = function(o, e, f, s){
    for(var i = (e = o["_on" + e] || []).length; i;)
        if(e[--i] && e[i][0] == f && (s || o) == e[i][1])
            return delete e[i];
    return false;
};

//<![CDATA[
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/dhtml/tooltip [v1.1]

//========================================================
// REQUIRES http://www.jsfromhell.com/geral/event-listener
//========================================================

ToolTip = function(o, t, c, f){
        var i, $ = this;
        $.s = ($.o = document.createElement("div")).style;
        $.s.display = "none", $.s.position = "absolute", $.o.className = c, $.t = t, $.f = f;
        for(i in {mouseout: 0, mouseover: 0, mousemove: 0})
                addEvent(o, i, function(e){$[e.type](e);});
};
with({p: ToolTip.prototype}){
        p.update = function(e){
                var w = window, b = document.body;
                this.s.top = e.clientY + (w.scrollY || b.scrollTop || b.parentNode.scrollTop || 0) + "px",
                this.s.left = e.clientX + (w.scrollX || b.scrollLeft || b.parentNode.scrollLeft || 0)+ "px";
        }
        p.mouseout = function(){
                this.s.display = "none";
        };
        p.mouseover = function(e){
                this.s.display = "block", document.body.appendChild(this.o).innerHTML = this.t,
                e.stopPropagation(), this.update(e);
        };
        p.mousemove = function(e){
                this.f && this.update(e);
        };
}
//]]>

function habilita_parcelas() {
         document.getElementById('box_parcelas').style.display='block';
}

function desabilita_parcelas() {
         document.getElementById('box_parcelas').style.display='none';
}
