﻿$(function () {

    EnviarNewsletterAjax();

    $("#resposta").hide();

    carregaMascaras();

    $('span.Botao-Listar-Produtos').click(function () {
        $('#Categoria-Produtos').toggle('slow');
    });

    $('#LinkArtigo').click(function () {
        $('#Categoria-Artigos').toggle('slow');
    });


    $('#h1').each(function () {
        if ($(this).length > 0) {
            $('html, body').animate({
                scrollTop: $("#h1").offset().top
            }, 2000);
        }
    });

});

function EnviarNewsletterAjax() {
    $("#novo_produto").submit(function (e) {

        $("#progress").show();

        e.preventDefault();

        $.ajax({
            url: $(this).attr("action"),
            data: $(this).serialize(),
            type: "POST",
            success: function (retorno) {
                if (retorno != null) {


                    var mensagem;
                    var classeCss;

                    if (retorno == "erro1") {
                        mensagem = "Preencha todos os camspos.";
                        classeCss = "Erro";
                    }
                    else if (retorno == "erro2") {
                        mensagem = "E-mail já cadastrado.";
                        classeCss = "Erro";
                    }
                    else {
                        mensagem = retorno;
                        classeCss = "Ok";
                    }

                    $("#MensagemRetorno").html(mensagem);
                    $("#MensagemRetorno").addClass(classeCss);

                }
                //alert(retorno);
                //$("#resposta").show().append(retorno);
                //$("#resposta").addClass("Erro");
            },
            error: function (erro) {
                alert(erro);
            },
            complete: function () {
                $("#progress").hide();
            }
        });
    });
}

function validaCep() {

    if ($("[name=frete]").val() == "") {

        alert("Calcule o frete.");

        $("[name=Cep]").focus();

        return false;

    } else {

        return true
    }

    return false;
}

function checkedTipoFrete(id) {

    if (id != "") {

        $("#" + id).attr("checked", true);

        if (id == "OpcaoFretePac") {

            idValorFrete = "#ValorPacHidden";

        }
        else {

            idValorFrete = "#ValorSedexHidden";

        }

        //id do valor do frete
        valor = $(idValorFrete).val();

        //preco sem virgula e com ponto
        valor = valor.replace(",", "");

        $("[name=frete]").val(valor);

    }

}

function carregaMascaras() {
    $(function () {
        $(".data").mask("99/99/9999");
        $(".maskTelefone").mask("(99) 9999-9999");
        $(".cep").mask("99999-999");
        $(".maskPlaca").mask("aaa-9999");
        $(".maskAno").mask("9999");
        $(".maskCpf").mask("999.999.999-99");
        $(".maskCnpj").mask("99.999.999/9999-99");
        $(".real").maskMoney({ symbol: "R$", decimal: ",", thousands: "." });
        $(".medida").maskMoney({ symbol: "", decimal: ",", thousands: "." });

        $(".maskVencimento").mask("99/99");
        $(".maskFone").mask("(99)9999-9999");
        /*$(".numeroCartao").mask("99999999999999999999");*/
        /*$(".codSeguranca").mask("999");*/

        $(".numeroCartao, .codSeguranca").keypress(function (e) {
            return (e.which != 13 && e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) ? false : true;
        });
    });
}

function CalculaFreteCorreios() {

    //pega valor do campo cep
    var cepForm = $("[name=Cep]").val();
    var ProdutoId = $("[name=ProdutoId]").val();

    if (cepForm != "" && ProdutoId > 0) {

        $.ajax({
            type: 'get',
            url: "/produto/calculafrete/?cepForm=" + cepForm + "&PId=" + ProdutoId,

            beforeSend: function () {
                //$("#jsLoader").html("<img src='/Content/img/loading.gif' />");
            },

            success: function (data) {
                if (data != undefined) {

                    $(data).find('cServico').each(function (e) {

                        if (e == 0) {

                            valorFretePac = $(this).find('Valor').text();

                            prazoEntregaPac = $(this).find('PrazoEntrega').text();

                            $("#ValorPac").html("R$ " + valorFretePac);

                            $("#ValorPacHidden").val(valorFretePac);

                            $("#PrazoEntregaPac").html("(" + prazoEntregaPac + " dias úteis).");

                        }
                        else if (e == 1) {

                            valorFreteSedex = $(this).find('Valor').text();

                            prazoEntregaSedex = $(this).find('PrazoEntrega').text();

                            $("#ValorSedex").html("R$ " + valorFreteSedex);

                            $("#ValorSedexHidden").val(valorFretePac);

                            $("#PrazoEntregaSedex").html("(" + prazoEntregaSedex + " dias úteis).");
                        }

                        //$("[name=frete]").val(valorFrete);
                        //return true;

                    });

                    $("#CalculaFrete").css("margin-top", "10px");

                    if ($("#OpcoesFrete:first").is(":hidden")) {
                        $('#OpcoesFrete').slideDown('slow');
                    }
                }
            },

            error: function (erro) {
                alert("Oops...\n\nOcorreu um erro inesperado. Tente mais tarde.");
            }
        });

    } else {
        alert("Digite o CEP.");

        $("[name=Cep]").focus();
    }


}


//focus form de pesquisa
function LimpaInput(input) {
    if (input.value != null && input.value != "") {
        if (input.value == input.title) {
            input.value = "";
        }

    } else {
        input.value = input.title;
    }

    input.select();
}

//paginacao ajax
// paginacao em ajax
function PageLinks(id, page, url) {

    id = id != "" ? id : 0;
    page = page != "" ? page : 0;

    $.ajax({
        type: 'get',
        url: url,
        data: { id: id, page: page },

        beforeSend: function () {
            $("#jsComentario .BoxComentario .Corpo").css("background", "url(/Content/img/loading.gif) no-repeat center");
        },

        success: function (data) {
            $("#jsComentario").html(data);
            $("#jsComentario .BoxComentario .Corpo").css("background", "none");
        },

        error: function (erro) {
            alert("Oops...\n\nOcorreu um erro inesperado. Tente mais tarde.");
        }
    });
}

//envia formulario newsletter por ajax
function config_add_products() {
    $("#novo_produto, #novo_comentario").submit(function (e) {
        $("#progress").show();

        e.preventDefault();

        $.ajax({
            url: $(this).attr("action"),
            data: $(this).serialize(),
            type: "POST",
            success: function (retorno) {
                //alert(retorno);
                //$("#resposta").show().append(retorno);
                $("ul.Newsletter-Form li.Branco").html(retorno);
            },
            error: function (erro) {
                alert(erro);
            },
            complete: function () {
                $("#progress").hide();
            }
        });
    });
}

/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function ($) { $.fn.hoverIntent = function (f, g) { var cfg = { sensitivity: 7, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function (ev) { cX = ev.pageX; cY = ev.pageY; }; var compare = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]); } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } }; var delay = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]); }; var handleHover = function (e) { var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; while (p && p != this) { try { p = p.parentNode; } catch (e) { p = this; } } if (p == this) { return false; } var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); } if (e.type == "mouseover") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function () { compare(ev, ob); }, cfg.interval); } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function () { delay(ev, ob); }, cfg.timeout); } } }; return this.mouseover(handleHover).mouseout(handleHover); }; })(jQuery);

/*
Masked Input plugin for jQuery
Copyright (c) 2007-2009 Josh Bush (digitalbush.com)
Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license) 
Version: 1.2.2 (03/09/2009 22:39:06)
*/
(function (a) { var c = (a.browser.msie ? "paste" : "input") + ".mask"; var b = (window.orientation != undefined); a.mask = { definitions: { "9": "[0-9]", a: "[A-Za-z]", "*": "[A-Za-z0-9]"} }; a.fn.extend({ caret: function (e, f) { if (this.length == 0) { return } if (typeof e == "number") { f = (typeof f == "number") ? f : e; return this.each(function () { if (this.setSelectionRange) { this.focus(); this.setSelectionRange(e, f) } else { if (this.createTextRange) { var g = this.createTextRange(); g.collapse(true); g.moveEnd("character", f); g.moveStart("character", e); g.select() } } }) } else { if (this[0].setSelectionRange) { e = this[0].selectionStart; f = this[0].selectionEnd } else { if (document.selection && document.selection.createRange) { var d = document.selection.createRange(); e = 0 - d.duplicate().moveStart("character", -100000); f = e + d.text.length } } return { begin: e, end: f} } }, unmask: function () { return this.trigger("unmask") }, mask: function (j, d) { if (!j && this.length > 0) { var f = a(this[0]); var g = f.data("tests"); return a.map(f.data("buffer"), function (l, m) { return g[m] ? l : null }).join("") } d = a.extend({ placeholder: "_", completed: null }, d); var k = a.mask.definitions; var g = []; var e = j.length; var i = null; var h = j.length; a.each(j.split(""), function (m, l) { if (l == "?") { h--; e = m } else { if (k[l]) { g.push(new RegExp(k[l])); if (i == null) { i = g.length - 1 } } else { g.push(null) } } }); return this.each(function () { var r = a(this); var m = a.map(j.split(""), function (x, y) { if (x != "?") { return k[x] ? d.placeholder : x } }); var n = false; var q = r.val(); r.data("buffer", m).data("tests", g); function v(x) { while (++x <= h && !g[x]) { } return x } function t(x) { while (!g[x] && --x >= 0) { } for (var y = x; y < h; y++) { if (g[y]) { m[y] = d.placeholder; var z = v(y); if (z < h && g[y].test(m[z])) { m[y] = m[z] } else { break } } } s(); r.caret(Math.max(i, x)) } function u(y) { for (var A = y, z = d.placeholder; A < h; A++) { if (g[A]) { var B = v(A); var x = m[A]; m[A] = z; if (B < h && g[B].test(x)) { z = x } else { break } } } } function l(y) { var x = a(this).caret(); var z = y.keyCode; n = (z < 16 || (z > 16 && z < 32) || (z > 32 && z < 41)); if ((x.begin - x.end) != 0 && (!n || z == 8 || z == 46)) { w(x.begin, x.end) } if (z == 8 || z == 46 || (b && z == 127)) { t(x.begin + (z == 46 ? 0 : -1)); return false } else { if (z == 27) { r.val(q); r.caret(0, p()); return false } } } function o(B) { if (n) { n = false; return (B.keyCode == 8) ? false : null } B = B || window.event; var C = B.charCode || B.keyCode || B.which; var z = a(this).caret(); if (B.ctrlKey || B.altKey || B.metaKey) { return true } else { if ((C >= 32 && C <= 125) || C > 186) { var x = v(z.begin - 1); if (x < h) { var A = String.fromCharCode(C); if (g[x].test(A)) { u(x); m[x] = A; s(); var y = v(x); a(this).caret(y); if (d.completed && y == h) { d.completed.call(r) } } } } } return false } function w(x, y) { for (var z = x; z < y && z < h; z++) { if (g[z]) { m[z] = d.placeholder } } } function s() { return r.val(m.join("")).val() } function p(y) { var z = r.val(); var C = -1; for (var B = 0, x = 0; B < h; B++) { if (g[B]) { m[B] = d.placeholder; while (x++ < z.length) { var A = z.charAt(x - 1); if (g[B].test(A)) { m[B] = A; C = B; break } } if (x > z.length) { break } } else { if (m[B] == z[x] && B != e) { x++; C = B } } } if (!y && C + 1 < e) { r.val(""); w(0, h) } else { if (y || C + 1 >= e) { s(); if (!y) { r.val(r.val().substring(0, C + 1)) } } } return (e ? B : i) } if (!r.attr("readonly")) { r.one("unmask", function () { r.unbind(".mask").removeData("buffer").removeData("tests") }).bind("focus.mask", function () { q = r.val(); var x = p(); s(); setTimeout(function () { if (x == j.length) { r.caret(0, x) } else { r.caret(x) } }, 0) }).bind("blur.mask", function () { p(); if (r.val() != q) { r.change() } }).bind("keydown.mask", l).bind("keypress.mask", o).bind(c, function () { setTimeout(function () { r.caret(p(true)) }, 0) }) } p() }) } }) })(jQuery);

/*jQuery maskMoney 0.2*/
(function ($) {
    $.fn.maskMoney = function (settings) {
        settings = $.extend({
            symbol: "US$",
            decimal: ".",
            precision: 2,
            thousands: ",",
            showSymbol: true
        }, settings);

        settings.symbol = settings.symbol + " ";

        return this.each(function () {
            var input = $(this);
            function money(e) {
                e = e || window.event;
                var k = e.charCode || e.keyCode || e.which;
                if (k == 8) { // tecla backspace
                    preventDefault(e);
                    var x = input.val().substring(0, input.val().length - 1);
                    input.val(maskValue(x));
                    return false;
                } else if (k == 9) { // tecla tab
                    return true;
                }
                if (k < 48 || k > 57) {
                    preventDefault(e);
                    return true;
                }
                var key = String.fromCharCode(k);  // Valor para o c�digo da Chave
                preventDefault(e);
                input.val(maskValue(input.val() + key));
            }

            function preventDefault(e) {
                if (e.preventDefault) { //standard browsers
                    e.preventDefault()
                } else { // internet explorer
                    e.returnValue = false
                }
            }

            function maskValue(v) {
                v = v.replace(settings.symbol, "");
                var a = '';
                var strCheck = '0123456789';
                var len = v.length;
                var t = "";
                if (len == 0) {
                    t = "0.00";
                }
                for (var i = 0; i < len; i++)
                    if ((v.charAt(i) != '0') && (v.charAt(i) != settings.decimal))
                        break;

                for (; i < len; i++) {
                    if (strCheck.indexOf(v.charAt(i)) != -1) a += v.charAt(i);
                }

                var n = parseFloat(a);
                n = isNaN(n) ? 0 : n / Math.pow(10, settings.precision);
                t = n.toFixed(settings.precision);

                var p, d = (t = t.split("."))[1].substr(0, settings.precision);
                for (p = (t = t[0]).length; (p -= 3) >= 1; ) {
                    t = t.substr(0, p) + settings.thousands + t.substr(p);
                }
                return setSymbol(t + settings.decimal + d + Array(
					(settings.precision + 1) - d.length).join(0));
            }

            function focusEvent() {
                if (input.val() == "") {
                    input.val(setSymbol(getDefaultMask()));
                } else {
                    input.val(setSymbol(input.val()));
                }
            }

            function blurEvent() {
                if (input.val() == setSymbol(getDefaultMask())) {
                    input.val("");
                } else {
                    input.val(input.val().replace(settings.symbol, ""))
                }
            }

            function getDefaultMask() {
                var n = parseFloat("0") / Math.pow(10, settings.precision);
                return (n.toFixed(settings.precision)).replace(
					new RegExp("\\.", "g"), settings.decimal);
            }

            function setSymbol(v) {
                if (settings.showSymbol) {
                    return settings.symbol + v;
                }
                return v;
            }

            input.bind("keypress", money);
            input.bind("blur", blurEvent);
            input.bind("focus", focusEvent);

            input.one("unmaskMoney", function () {
                input.unbind("focus", focusEvent);
                input.unbind("blur", blurEvent);
                input.unbind("keypress", money);
                if ($.browser.msie)
                    this.onpaste = null;
                else if ($.browser.mozilla)
                    this.removeEventListener('input', blurEvent, false);
            });
        });
    }

    $.fn.unmaskMoney = function () {
        return this.trigger("unmaskMoney");
    };
})(jQuery);

