$(document).ready(function(){

        $('.chat a').popupWindow({ 
            height: 550, 
            width: 500, 
            top:50, 
            left:50 
        }); 

        $('ul#nav li a.cat').click(function(e){
                e.preventDefault();
                $(this).parent().find('ul').slideToggle();
                $(this).siblings().parent().toggleClass('off');
        });

        $('.voltar').click(function () {
            history.go(-1);
        });

        $('.bt-cart').click(function() {
            var obj = $(this);
            $.ajax({
                url: obj.attr('href'),
                dataType: 'json',
                beforeSend: function() {
                    loading();
                },
                success: function(data) {
                    $('.loading').remove();
                    $('#top-cart p span').html(data.total);
                    $('body').prepend('<div class="notificacao-ajax sucesso-ajax">O produto foi adicionado ao seu carrinho</div>');
                    var $alert = $('.notificacao-ajax').hide();
                    $alert.slideDown();
                    var alerttimer = window.setTimeout(function () {
                            $alert.trigger('click');
                    }, 3000);
                    $alert.click(function () {
                            window.clearTimeout(alerttimer);
                            $alert.slideUp();
                    });
                }
            });

            return false;
        });


        $('.bt-remove-cart').click(function() {
            var obj = $(this);
            var produto = obj.parent().parent();
            
            $.ajax({
                url: obj.attr('href') + produto.find('input').val(),
                dataType: 'json',
                beforeSend: function() {
                    loading();
                },
                success: function(data) {
                    $('.loading').remove();
                    if ( data.items == "0" ) {
                        $('#top-cart p span').html(data.items);
                        $('.finalizar').remove();
                        $('.frete').remove();
                        produto.parent().html('<tr><td colspan="6">No momento seu carrinho de compras está vazio</tr>');
                    }
                    produto.slideUp();
                    $('#top-cart p span').html(data.items);
                    $('.total').html(data.total);
                }
            });

            return false;
        });

        $('.qty').change(function() {
            var valor = $(this).val();
            var valorInicial = $(this);
            var obj = $(this).parent().parent();
            var produto = obj.find('.rowid').val();
            var id = obj.find('.id').val();

            if( valor == 0 )
                valor = 1;

                $.ajax({
                    url: CI_ROOT + 'carrinho/atualiza/' + id + '/' + produto + '/' + valor,
                    dataType: 'json',
                    beforeSend: function() {
                        loading();
                    },
                    success: function (data) {
                        var total = obj.find('.valor span').text();
                        var subtotal = obj.find('.subtotal span');
                        $('.loading').remove();
                        $('#top-cart p span').html(data.items);
                        valorInicial.val(data.qty);
                        $('.total').html(data.total);
                        var valorTotal = parseFloat(total.replace('.', '').replace(',', '.')) * data.qty + '';
                        subtotal.html(number_format(valorTotal, 2, ',', '.'));
                    }
                });
        });
        
        $('#cep').keyup(function() {
            if($(this).val().length == 5)
            {
                $('#cep2').focus();
            }
        });

        $('#login').ajaxForm({
            url: window.location.toString(),
            type: 'post',
            dataType: 'json',
            beforeSubmit: function() {
                loading();
            },
            success: function(data) {
                removeloading();
                if(data.status == "1") {
                    $('body').prepend('<span class="loading">Redirecionando...</span>');
                    window.location = window.location.toString() + '/minha_conta';
                } else {
                    $('#login span').html('<div class="error">Usuário ou senha inválidos.</div>');
                }
            }
        });

        $('.frete').ajaxForm({
            url: CI_ROOT + 'entrega/calcula',
            type: 'post',
            dataType: 'json',
            beforeSubmit: function() {
                loading();
            },
            success: function(data) {
                $('.loading').remove();
                $('.frete span').html('Frete: R$ '+ number_format(data, 2, ',', '.'));
            }
        });

        $("#newsletter").ajaxForm({
            url: CI_ROOT + 'newsletter/inserir',
            type: 'post',
            dataType: 'json',
            beforeSubmit: function() {
                loading();
            },
            success: function(data) {
                removeloading();
                alert(data);
            }
        });

        $('#cpf').blur(function() {
            var cpf = $(this).val();
            if(cpf.length == 11 || cpf.length == 14) {
                $.ajax({
                    type: 'post',
                    url: CI_ROOT + 'cliente/cpfcnpj_check/' + cpf,
                    dataType: 'json',
                    beforeSend: function() {
                       $('#cpf').parent().find('#bt-esqueci-senha').hide();
                       $('#cpf').parent().find('div').html('');
                       $('#cpf').parent().find('div').removeClass('form-invalido');
                       $('#cpf').parent().find('div').removeClass('form-sucesso');
                       $('#cpf').parent().find('div').addClass('form-loading');
                    },
                    success: function(data) {
                       $('#cpf').parent().find('div').removeClass('form-loading');

                        if(data.length >= 10) {
                            $('#cpf').parent().find('div').addClass('form-sucesso');
                        } else {
                           $('#cpf').parent().find('div').addClass('form-invalido');
                           if(data === -1) {
                               $('#cpf').parent().find('div').html('CPF/CNPJ já Cadastrado e e-mail não incluído. Será necessário entrar em contato conosco para regularizar seu cadastro.');
                           } else if (data === -3) {
                               $('#cpf').parent().find('div').html('CPF/CNPJ já cadastrado.');
                               $('#cpf').parent().find('#bt-esqueci-senha').show();
                           } else {
                               $('#cpf').parent().find('div').html('CPF/CNPJ inválido.');
                           }
                        }
                    }
                });
            }
        });

        $('#email').blur(function() {
            var email = $(this).val();
            $.ajax({
                type: 'post',
                url: CI_ROOT + 'cliente/email_check',
                data: 'email=' + email,
                dataType: 'json',
                beforeSend: function() {
                   $('#email').parent().find('#bt-esqueci-senha-email').hide();
                   $('#email').parent().find('div').html('');
                   $('#email').parent().find('div').removeClass('form-invalido');
                   $('#email').parent().find('div').removeClass('form-sucesso');
                   $('#email').parent().find('div').addClass('form-loading');
                },
                success: function(data) {
                   $('#email').parent().find('div').removeClass('form-loading');

                   var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;

                   if(filter.test(email)) {
                        if(data) {
                            $('#email').parent().find('div').addClass('form-sucesso');
                        } else {
                           $('#email').parent().find('div').addClass('form-invalido');
                           $('#email').parent().find('div').html('E-mail já está em uso.');
                           $('#email').parent().find('#bt-esqueci-senha-email').show();
                        }
                   } else {
                       $('#email').parent().find('div').addClass('form-invalido');
                       $('#email').parent().find('div').html('E-mail inválido');
                   }
                }
            });
        });

        $('#cep2').keyup(function() {
            if($(this).val().length == 3) {
                $.ajax({
                    type: 'POST',
                    url: CI_ROOT + 'cliente/carregaCep',
                    data: 'cep1=' + $("#cep").val() + "&cep2=" + $(this).val(),
                    dataType: 'json',
                    beforeSend: function() {
                       $('#cep2').parent().find('small').html('');
                       $('#cep2').parent().find('small').removeClass('form-invalido');
                       $('#cep2').parent().find('small').removeClass('form-sucesso');
                       $('#cep2').parent().find('small').addClass('form-loading');
                    },
                    success: function(data) {
                        $('#cep2').parent().find('small').removeClass('form-loading');
                        if(data[3] != null) {
                            $('#cep2').parent().find('small').addClass('form-sucesso');
                            $("#endereco").val(data[0]);
                            $("#bairro").val(data[1]);
                            $("#cidade").val(data[2]);
                            $("#estado").val(trim(data[3]));
                        } else {
                            $('#cep2').parent().find('small').html('Cep inválido');
                            $('#cep2').parent().find('small').addClass('form-invalido');
                        }
                    }
                });
            }
        });

        $('.recomendar .bt-enviar').click(function(){
            var email = $('#recomendar').val();
            var link  = window.location.toString();
            
            if ( email.length > 0 ) {
                $.ajax({
                    type: 'post',
                    url: CI_ROOT + 'produto/recomendar',
                    data: 'email=' + email + '&link=' + link,
                    beforeSend: function() {
                        loading();
                    },
                    success: function() {
                        removeloading();
                        $('body').prepend('<div class="notificacao-ajax sucesso-ajax">O link foi enviado com sucesso.</div>');
                        var $alert = $('.notificacao-ajax').hide();
                        $alert.slideDown();
                        var alerttimer = window.setTimeout(function () {
                                $alert.trigger('click');
                        }, 3000);
                        $alert.click(function () {
                                window.clearTimeout(alerttimer);
                                $alert.slideUp();
                        });
                    }
                });
            }

            return false;
        });

        var tipo_pessoa = $('input:radio[name=tipo_pessoa]:checked').val();

        if(tipo_pessoa == "pf") {
            $("label[for='nome']").find('span').html('Nome');
            $("label[for='cpf']").find('span').html('CPF');
        } else if(tipo_pessoa == "pj") {
            $("label[for='nome']").find('span').html('Razão Social');
            $("label[for='sobrenome']").hide();
            $("label[for='cpf']").find('span').html('CNPJ');
        } else if(tipo_pessoa == "e") {
            $("label[for='nome']").find('span').html('Nome');
            $("label[for='sobrenome']").find('span').hide();
            $("label[for='cpf']").find('span').html('Documento');
        }

        $('#pf').click(function(){
            $("label[for='nome']").find('span').html('Nome');
            $("label[for='sobrenome']").show();
            $("label[for='cpf']").find('span').html('CPF');
        });

        $('#pj').click(function(){
            $("label[for='nome']").find('span').html('Razão Social');
            $("label[for='sobrenome']").hide();
            $("label[for='cpf']").find('span').html('CNPJ');
        });

        $('#e').click(function(){
            $("label[for='nome']").find('span').html('Nome');
            $("label[for='sobrenome']").show();
            $("label[for='cpf']").find('span').html('Documento');
        });

        $('#dinamico1').change(function() {
            var din1 = $(this).val();
            var codigo = $('#codigo').val();
            $.ajax({
                url: CI_ROOT + 'produto/grade',
                type: 'post',
                dataType: 'json',
                data: "din1=" + din1 + "&id=" + codigo,
                beforeSend: function () {
                    $('#dinamico2 option').html('Carregando...');
                },
                success: function (data) {
                    $('#dinamico2 option').remove();
                    atualizarGrade(data, 1);
                    $('#dinamico3 option').remove();
               }
            });

        });

        $('#dinamico2').change(function() {
            var din1 = $('#dinamico1').val();
            var din2 = $(this).val();
            if ( din2 != "" ) {
                var codigo = $('#codigo').val();
                $.ajax({
                    url: CI_ROOT + 'produto/grade',
                    type: 'post',
                    dataType: 'json',
                    data: "din1=" + din1 + "&din2=" + din2 + "&id=" + codigo,
                    beforeSend: function () {
                        $('#dinamico3').html('<option>Carregando...</option>');
                    },
                    success: function (data) {
                        $('#dinamico3 option').remove();
                        atualizarGrade(data, 2);
                   }
                });
                }
        });

        $('#dinamico3').change(function() {
            var din1 = $('#dinamico1').val();
            var din2 =  $('#dinamico2').val();
            var din3 = $(this).val();
            var codigo = $('#codigo').val();
            if( din3 == "" ) return;

            $.ajax({
                url: CI_ROOT + 'produto/grade',
                type: 'post',
                dataType: 'json',
                data: "din1=" + din1 + "&din2=" + din2 + "&din3=" + din3 + "&id=" + codigo,
                beforeSend: function () {

                },
                success: function (data) {
                    atualizarGrade(data, 3);
               }
            });

        });
        
        $('#galeria a').lightBox({
            txtImage: 'Imagem',
            txtOf: 'de'
        });

        //$('#bt-pesquisa-cep').nyroModal();

	$('#bt-esqueci-senha').click(function () {
            $('#recuperaSenha').modal();
            return false;
	});
        
	$('#bt-esqueci-senha-email').click(function () {
            $('#recuperaSenha').modal();
            return false;
	});
        
        $('.bt-recupera').click(function () {
            var email = $('#emailRecupera').val();
            
            $.ajax({
                url: CI_ROOT + '/cliente/esqueci_senha',
                type: 'post',
                data: "email="+email,
                dataType: 'json',
                beforeSend: function() {
                    $('#recuperaSenha span').html("Carregando...");
                }, success: function(data) {
                    if ( data == '1' ) {
                        $('#recuperaSenha span').html("Sua senha foi encaminhada para o e-mail "+email+" Obrigado!");
                    } else {
                        $('#recuperaSenha span').html("E-mail não encontrado.");
                    }
                }
            });
            return false;
        });
        
        $('.opcoes ul a').click(function() {
            var tipo = $(this).attr('class');

            $.ajax({
               url: CI_ROOT + 'pagamento/tipo',
               type: 'post',
               data: "tipo="+tipo,
               beforeSend: function() {
                   loading();
               },
               success: function(data) {
                   removeloading();
                   $('.descricao').show();
                   $('.descricao').html(data);
               }
            });
            
            return false;
        });

        $('#slider').nivoSlider();
});

function loading() {
    $('body').prepend('<span class="loading">Carregando...</span>');
}
function removeloading() {$('.loading').remove();}

//trim completo
function trim(str) {return str.replace(/^\s+|\s+$/g,"");}

function number_format( number, decimals, dec_point, thousands_sep ) {
    // %        nota 1: Para 1000.55 retorna com precisão 1 no FF/Opera é 1,000.5, mas no IE é 1,000.6
    // *     exemplo 1: number_format(1234.56);
    // *     retorno 1: '1,235'
    // *     exemplo 2: number_format(1234.56, 2, ',', ' ');
    // *     retorno 2: '1 234,56'
    // *     exemplo 3: number_format(1234.5678, 2, '.', '');
    // *     retorno 3: '1234.57'
    // *     exemplo 4: number_format(67, 2, ',', '.');
    // *     retorno 4: '67,00'
    // *     exemplo 5: number_format(1000);
    // *     retorno 5: '1,000'
    // *     exemplo 6: number_format(67.311, 2);
    // *     retorno 6: '67.31'

    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
    var dec = (typeof dec_point == "undefined") ? '.' : dec_point;

    var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = Math.abs(n).toFixed(prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');

        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    return s;
}

function atualizarGrade(data, campo) {
    if ( campo != 2 && campo != 3 ) {
        var valores = new Array();
        $('#dinamico2').prepend('<option value="0" selected="selected">Selecione</option>');
        for ( i=0; i < data['opcoes'].length; i++ ) {
            total = jQuery.inArray(data['opcoes'][i].DINAMICO2, valores);
            if ( total < 0 ) {
                $('#dinamico2').append('<option value="'+ data['opcoes'][i].DINAMICO2 +'">' + data['opcoes'][i].DINAMICO2 + '</option>');
                valores[i] = data['opcoes'][i].DINAMICO2;
            }
        }
    }

    if ( campo != 3 ) {
        valores = new Array();
        for ( i=0; i < data['opcoes'].length; i++ ) {
            total = jQuery.inArray(data['opcoes'][i].DINAMICO3, valores);
            if ( total < 0 ) {
                $('#dinamico3').append('<option value="'+ data['opcoes'][i].DINAMICO3 +'">' + data['opcoes'][i].DINAMICO3 + '</option>');
                valores[i] = data['opcoes'][i].DINAMICO3;
            }
        }
    }

    if ( campo > 1 ) {
        $("#principal").attr('src', CI_ROOT + 'produtos/' + data['img_media']);
        $("#galeria").remove();
        if ( data['img_media'] != 'img-indisponivel.png' ) {
            $(".box-detalhes-img").append(data['galeria']);
            $(".bt-cart-detail").attr('href', CI_ROOT + 'carrinho/adicionar/' + data['cd_produto']);
        }
        
        $('#galeria a').lightBox({
            txtImage: 'Imagem',
            txtOf: 'de'
        });
    }
}

