function StringBuffer() {
    this.buffer = [];
}

StringBuffer.prototype.append = function(string) {
    this.buffer.push(string);
    return this;
}

StringBuffer.prototype.toString = function() {
    return this.buffer.join("");
}

function Confirmar() {
    if (document.getElementById('E2').checked) {
        return confirm('ATENÇÃO\n\nVocê selecionou a opção de data e hora marcada.\nAntes de continuar, entre em contato com a central de atendimento\ne comfira se há a disponibilidade de entrega na data e hora desejada .\n\nDeseja continuar?');
    }
}

function testing(event) {
    if (event.keyCode == 13) {
        CheCaCep('txtCep');
        return false;
    }
}

function CheCaCep_Backup() {
    var Cep = document.getElementById(arguments[0]);

    var SpanError = document.getElementById("cepError");
    var SpanValor = document.getElementById("TiltValor");

    var BtnE2 = document.getElementById('ctl00_BtnContinuar');

    BtnE2.disabled = "disabled";

    SpanValor.innerHTML = "CALCULANDO O VALOR";
    SpanError.innerHTML = "AGUARDE <img src=\"img/Sistema/loading.gif\" valign=\"absmiddle\" \> ";

    doRequest('server.aspx?action=dhl&cep_dst=' + Cep.value, Response);
}

function CheCaCep() {
    var Cep = document.getElementById(arguments[0]);

    var SpanError = document.getElementById("cepError");
    var SpanValor = document.getElementById("TiltValor");

    var BtnE2 = document.getElementById('ctl00_BtnContinuar');

    BtnE2.disabled = "disabled";

    SpanValor.innerHTML = "CALCULANDO O VALOR";
    SpanError.innerHTML = "AGUARDE <img src=\"img/Sistema/loading.gif\" valign=\"absmiddle\" \> ";

    doRequest('server.aspx?action=correios&cep_dst=' + Cep.value, Response);
}

function Response() {
    try {
        debugger;
        var i;
        var f = eval('(' + arguments[0] + ')');

        var BtnE2 = document.getElementById('ctl00_BtnContinuar');

        var SpanError = document.getElementById("cepError");
        var SpanValor = document.getElementById("TiltValor");
        var SpanFrete = document.getElementById("Frete");
        var Sp = document.getElementById("Sp");
        var Valida = true;
        var ValidaExist = true;

        for (i = 0; i < f.length; i++) {

            document.getElementById('E2').disabled = "";
            document.getElementById('E3').disabled = "";

            // Se não for estado de SP não atendi
            if (f[i]["UF"] == "SP") {
                // Localidades não atendidas
                if (f[i]["ATENDE"] == "False") {
                    SpanError.innerHTML = "Localidade não atendida";
                    SpanValor.innerHTML = "VALOR TOTAL";

                    BtnE2.disabled = "disabled";
                    return;
                }
                
                // Cidades dentro de São Paulo que eles não entregam
                if (f[i]["CIDADE"] == "São Paulo" || f[i]["CIDADE"] == "Santo André" || f[i]["CIDADE"] == "São Bernardo do Campo" || f[i]["CIDADE"] == "São Caetano do Sul" || f[i]["CIDADE"] == "Osasco") {
                    if (f[i]["GRATIS"] == "True") {
                        SpanError.innerHTML = "<b>FRETE GRÁTIS</b>";
                        SpanFrete.innerHTML = " 0,00";
                        BtnE2.disabled = "";
                    }
                    else { // de sábado e domingo o frete não é grátis
                        Total_Frete(f[i]["VALOR"]);
                        BtnE2.disabled = "disabled";
                    }
                }
                else {
                    //Se a pessoa estiver em são paulo executa a rotina do sp
                    //Sp.value é a variavel que verifica se o produto entrega para todo Brasil ou somente São Paulo...
                    //Se for só são paulo não entrega para fora
                    if (Sp.value == "true") {
                        SpanError.innerHTML = "Localidade não atendida";
                        SpanValor.innerHTML = "VALOR TOTAL";

                        BtnE2.disabled = "disabled";
                    }
                    else {
                        // Se não for a cidade de são paulo(entrega para todo Brasil) cobra o valor de acordo com o webservice dos correios
                        SpanError.innerHTML = f[i]["VALOR"];
                        SpanFrete.innerHTML = "VALOR TOTAL";

                        Total_Frete(f[i]["VALOR"]);
                        BtnE2.disabled = "";

                        SpanError.innerHTML = "";
                    }
                }
            }
            else {
                SpanError.innerHTML = "Localidade não atendida";
                SpanValor.innerHTML = "VALOR TOTAL";

                BtnE2.disabled = "disabled";
            }
        }
    }
    catch (ee) {

    }
}

function Total_Frete() {
    var SpanValor = document.getElementById("TiltValor");
    var SpanTotal = document.getElementById("SomaTotal");

    var Total = document.getElementById('totalSemfrete').value.replace(".", "").replace(",", ".");
    var TotalCFrete = document.getElementById("totalComfrete");
    var vlFrete = document.getElementById("vlFrete");
    var DataEntrega = document.getElementById("DataEntrega").value.replace(".", "").replace(",", ".");

    var SFrete = document.getElementById("Frete");
    var Frete = arguments[0].replace(",", ".");

    vlFrete.value = eval(Frete).toFixed(2).replace(".", ",");

    SpanValor.innerHTML = "VALOR TOTAL";
    SFrete.innerHTML = " R$ " + eval(Frete).toFixed(2).replace(".", ",");
    SpanTotal.innerHTML = Valorxx(eval(eval(Total) + eval(Frete) + eval(DataEntrega)).toFixed(2).replace(".", ","));

    TotalCFrete.value = eval(eval(Total) + eval(Frete) + eval(DataEntrega)).toFixed(2).replace(".", ",");
}

function DataHoraEntrega() {
    var SpanTotal = document.getElementById("SomaTotal");

    var TotalCFrete = document.getElementById("totalComfrete");

    var TotalSFrete = document.getElementById("totalSemfrete").value.replace(".", "").replace(",", ".");
    var vlFrete = document.getElementById("vlFrete").value.replace(".", "").replace(",", ".");
    var DataEntrega = document.getElementById("DataEntrega");
    var valorHora = document.getElementById("valorHora");

    var lc1 = document.getElementById("Lc1");
    var lc2 = document.getElementById("Lc2");

    var ds1 = document.getElementById("Ds1");
    var ds2 = document.getElementById("Ds2");
    var ds3 = document.getElementById("Ds3");

    var Lc = "1";
    var Ds = "1";

    if (arguments[0] == "1") {
        if (lc1.checked)
            Lc = "1";

        if (lc2.checked)
            Lc = "2";

        if (ds1.checked)
            Ds = "1";

        if (ds2.checked)
            Ds = "2";

        if (ds3.checked)
            Ds = "2";

        switch (Lc + Ds) {
            case "11": DataEntrega.value = "24,00"; break;
            case "21": DataEntrega.value = "28,00"; break;
            case "12": DataEntrega.value = "30,00"; break;
            case "22": DataEntrega.value = "37,00"; break;
        }
    }
    else
        DataEntrega.value = "0,00";

    SpanTotal.innerHTML = Valorxx(eval(eval(TotalSFrete) + eval(DataEntrega.value.replace(".", "").replace(",", ".")) + eval(vlFrete)).toFixed(2).replace(".", ","));

    TotalCFrete.value = eval(eval(TotalSFrete) + eval(DataEntrega.value.replace(".", "").replace(",", ".")) + eval(vlFrete)).toFixed(2).replace(".", ",");
    valorHora.innerHTML = DataEntrega.value;
}

var Cmp = "";

function CheCaCep2() {
    var Cep = document.getElementById(arguments[0]);
    var SpanError = document.getElementById(arguments[1]);

    Cmp = arguments[1];

    SpanError.innerHTML = "AGUARDE <img src=\"img/Sistema/loading.gif\" valign=\"absmiddle\" \>";

    doRequest('server.aspx?action=dhl&cep_dst=' + Cep.value, xResponse2);
}

function xResponse2() {
    try {
        var i;
        var f = eval('(' + arguments[0] + ')');

        var SpanError = document.getElementById(Cmp);

        var Valida = true;

        for (i = 0; i < f.length; i++) {
            if (f[i]["UF"].length == 0)
                Valida = false;

            if (f[i]["CIDADE"].length == 0)
                Valida = false;

            if (f[i]["TEMPO"] == "1" || f[i]["TEMPO"] == "2" || f[i]["TEMPO"] == "F+1") {
                if (Valida) {
                    if (f[i]["STATUS"] == "OK") {
                        SpanError.innerHTML = "<br>Região Atendida.<br>Para categoria de produtos entregues em <b>todo Brasil</b>, averigue a disponibilidade de entrega do produto escolhido.";
                    }
                    else {
                        SpanError.innerHTML = f[i]["VALOR"];
                    }
                }
                else {
                    SpanError.innerHTML = "REGIÃO NÃO ATENDIDA"
                }
            }
            else {
                SpanError.innerHTML = "LOCALIDADE NÃO ATENDIDA";
            }
        }
    }
    catch (ee)
    { }
}

function Valorxx(v) {
    v = v.replace(/\D/g, "") //Remove tudo o que não é dígito
    //v=v.replace(/(\d{3})(\d)/g,"$1,$2")
    v = v.replace(/(\d)(\d{8})$/, "$1.$2")
    v = v.replace(/(\d)(\d{5})$/, "$1.$2")
    v = v.replace(/(\d)(\d{2})$/, "$1,$2") //Coloca ponto antes dos 2 últimos digitos
    return v
}
