﻿/// <reference path="jquery-1.4.1-vsdoc.js" />
/// <reference path="vtex.common.js" />
/// <reference path="vtex.jsevents.js" />
/// <reference path="vtex.skuEvents.js" />

$(document).ready(function() {
    var shippingValueHrefListener = new Vtex.JSEvents.Listener('shippingValueHrefListener', ShippingValueHref_OnSkuDataReceived);
    skuEventDispatcher.addListener(skuDataReceivedEventName, shippingValueHrefListener);
});

function ShippingValue(id) {
    var idSku = $("div#calculoFrete").attr("skuCorrente");
    $.ajax({
        type: "GET",
        url: '/frete/' + idSku,
        success: function(dataResult) {
            $("div#calculoFrete").html(dataResult);
            $("div#calculoFrete").show();
        },
        cache: false,
        error: function (XMLHttpRequest, textStatus, errorThrown) { alert("Ocorreu um erro! Tente novamente em instantes!"); },
        complete: function() {
            if ($('.freight-zip-box').length > 0 && $('.freight-btn').length > 0) {
                $(".freight-zip-box").mask("99999-999");
                $('.btn-thickbox').click(function() { $("div#calculoFrete").hide(); });
                shippinOnButtomOkClick();
            }
        }
    });
}

function shippinOnButtomOkClick() {
    var idSku = $("div#calculoFrete").attr("skuCorrente");
    $('.freight-btn').click(function() {
        var cep = $('.freight-zip-box').val().replace("-", "");
        if (cep == "") {
            alert($('#CEPObrigatorio').val());
            return false;
        }
        var dataToPost = { shippinCep: cep };
        var url = '/frete/calcula/' + idSku;
        ajaxShippin('GET', url, dataToPost, '.freight-values', '');
    })
}

function ajaxShippin(method, url, postData, target, callback) {
    $.ajax({
        type: method,
        url: url,
        data: postData,
        success: function(dataResult) {
            $(target).html(dataResult);
            $(target).show();
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            $(target).html(textStatus);
            $(target).show();
        }
    });
}


function ShippingValueHref_OnSkuDataReceived(e) {
    $("div#calculoFrete").attr("skuCorrente", e.skuData.id);
    $("div#calculoFrete").hide();
}

