﻿$(document).ready(function () {
    $("#closeWidgetOrder").bind("click", hideGB_Overlay);
    $("#GB_overlay").bind("click", hideGB_Overlay);
    $("#closeWidgetShoppingCart").bind("click", hideGB_Overlay2);
    $("#GB_overlay2").bind("click", hideGB_Overlay2);

    $("#disclaimer").bind("click", showdisclaimer);
    $("#privacyPolicy").bind("click", showprivacyPolicy);
    $("#orderTips").bind("click", showorderTips);
    
});

var buyProduct = function (sUrl) {
    var itemNum = $("#productItemNum").val();
    buyProduct3(sUrl, itemNum);
};

var buyProduct3 = function (sUrl, itemNum) {
    var num = 1;

    bindProductsOnShoppingCart(itemNum, num);

    $.ajax({
        url: sUrl,
        type: "POST",
        data: { "itemNum": itemNum, "num": num },
        success: function (result) {
            if (result[0] == 0) {
                //alert("產品數量不能少於1")
            }
            else if (result[0] == -1) {
                alert("此商品缺貨")
                //var imgPath = $("#lackingImgUrl").val();
                //$("#buyItNow").attr("src", imgPath);

            }
            else if (result[0] == 1) {
                $("#totalPrice").text(setCurrency(result[2]));

                $("#cart_remind2").empty();
                if (result[4] != "") {
                    var discountInfo = "";
                    var i = 0;
                    $.each(result[4], function () {
                        if (i == 0) {
                            discountInfo += "<strong>" + this + "</strong><br/>";
                            i++;
                        }
                        else {
                            discountInfo += "- " + this + "<br/>";
                        }

                    })
                    $("#cart_remind2").append(discountInfo);
                }

                bindRelateProductsOnShoppingCart(result[1]);
                bindShoppingCartInfoOnHead(result[2], result[3]);
                showGB_Overlay();
            }
        }
    });
};

var buyProduct2 = function (sUrl) {
    var itemNum = $("#interestProductItemNum").val();
    var num = parseInt($("#widgetShoppingCartDrpNum")[0].options[$("#widgetShoppingCartDrpNum")[0].selectedIndex].value);

    bindProductsOnShoppingCart(itemNum, num);

    $.ajax({
        url: sUrl,
        type: "POST",
        data: { "itemNum": itemNum, "num": num },
        success: function (result) {
            if (result[0] == 0) {
                //alert("產品數量不能少於1")
            }
            else if (result[0] == -1) {
                alert("此商品缺貨")
                //$("#buyNow").addClass("buyNowOnLackingBtn");
            }
            else if (result[0] == 1) {
                $("#totalPrice").text(setCurrency(result[2]));
                bindRelateProductsOnShoppingCart(result[1]);
                bindShoppingCartInfoOnHead(result[2],result[3]);
                $("#widgetShoppingCartDrpNum").val("1");
                hideGB_Overlay2();
                showGB_Overlay();
            }
        }
    });
};
var showInterestProduct = function (itemNum) {
    sUrl = $("#interestUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        data: { "itemNum": itemNum },
        success: function (result) {
            $("#interestProductItemNum").val(result[0].ItemNum);
           
            $("#interestProductImg").attr("src", result[0].showShoppingCartImage);
           

            $("#widgetShoppingCartName").empty();
            var html = result[0].Name;
            $("#widgetShoppingCartName").append(html);

            $("#widgetShoppingCartDrpNum option").remove();
            for (i = 1; i <= 10; i++) {
                $("#widgetShoppingCartDrpNum").append("<option value=" + i + ">" + i + "</option>");
            }
            $("#widgetShoppingCartPrice").text(setCurrency(result[0].SalePrice));
            
            showGB_Overlay2();
        }
    });
};
var showGB_Overlay = function () {
    positionResize();
    $("#GB_overlay").show();
    $("#widgetOrder").show();
};
var showGB_Overlay2 = function () {
    $("#buyNow").removeClass("buyNowOnLackingBtn");
    positionResize2();
    $("#GB_overlay2").show();
    $("#widgetShoppingCart").show();
};
var hideGB_Overlay = function () {
    $("#GB_overlay").hide();
    $("#widgetOrder").hide();
};
var hideGB_Overlay2 = function () {
    $("#GB_overlay2").hide();
    $("#widgetShoppingCart").hide();
};
function positionResize() {
    var de = document.documentElement;
    var w = self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
    var h = self.scrollHeight || (de && de.scrollHeight) || document.body.scrollHeight;
    var fixIE7H = (de && de.clientHeight);
    if (h < fixIE7H) {
        h = fixIE7H;
    }
    $("#GB_overlay").css("height", h);
    $("#widgetOrder").css("top", de.scrollTop + document.body.scrollTop + 115).css("right", ((w - 280) / 2) + "px");
}
function positionResize2() {
    var de = document.documentElement;
    var w = self.innerWidth || (de && de.clientWidth) || document.body.clientWidth;
    var h = self.scrollHeight || (de && de.scrollHeight) || document.body.scrollHeight;
    var fixIE7H = (de && de.clientHeight);
    if (h < fixIE7H) {
        h = fixIE7H;
    }

    $("#GB_overlay2").css("height", h);
    $("#widgetShoppingCart").css("top", de.scrollTop + 180).css("left", ((w - 500) / 2) + "px");
}

var bindShoppingCartInfoOnHead = function (amount,totalQty) {
    $("#shoppingCartTotalPriceOnHeadInfo").text(setCurrency(amount));
    $("#shoppingCartCountOnHeadInfo").text(totalQty);
};
var bindProductsOnShoppingCart = function (itemNum, num) {
    var sUrl = $("#bindProductUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        data: { "itemNum": itemNum, "num": num },
        success: function (result) {
            var showSmallPic = result[0].showPopupImage;
            var name = result[0].Name;
            var salePrice = setCurrency(result[0].SalePrice);
            var num = result[1];
            var includeProducts = "";
            $.each(result[0].IncludeProducts, function () {
                includeProducts += this.FullName + "<br/>";
            })
            var remark = result[0].Remark;

            $("#productItemOnWidget").empty();
            var html = "<div id=\"cart_product_pic\"><img id=\"productImgInCart\" src=\"" + showSmallPic + "\" alt=\"\" width=\"100\" /></div>" +
                        "<div id=\"cart_name\">" + name + "</div>";

            html += "<div id=\"cart_include\">";
            if (includeProducts.length > 0) {
                html += "產品包括：<br/>" + includeProducts;
            }
            else {
                html += remark + "<br>";
            }
            html += "<br>HK$" + salePrice + "<br>" +
                    "數量: " + num;
            html += "</div>";
            html += "<div id=\"btn_p01\" onClick=\"hideGB_Overlay()\"></div>";

            $("#productItemOnWidget").append(html);
        }
    });
};
var bindRelateProductsOnShoppingCart = function (result) {
    $("#shoppingCartRelateProductList").empty();
    var i = 0;
    var html = "<div id=\"best_match\"></div>";
    $.each(result, function () {
        if (i == 2) {
            return false;
        }
        var fixClass = "";
        if (i == 0) {
            fixClass = "e01";
        }
        else {
            fixClass = "e02";
        }
        html += "<div class=\"each " + fixClass + " \">" +
                    "<img src=\"" + this.showRelateImage + "\"  width=\"120\" height=\"110\" alt=\"\" /><br>" +
                    "<p>" + this.Name + "</p>" +
                    "<a class=\"btn_p04\" href=\"" + this.Url + "\" ></a>" +
                    "</div>";
        i++;
    });
    $("#shoppingCartRelateProductList").append(html);
};


















/* shoppingcart */
var setProductNum = function (sUrl, id) {
    var num = $("#txtNum-" + id).val();
    if (num < 1 || num > 100) {
        //alert("請輸入正確的數量");
        return;
    }
    $.ajax({
        url: sUrl,
        type: "POST",
        data: { "id": id, "number": num },
        success: function (result) {
            $.each(result.Product, function () {
                $("#totalPrice-" + this.ItemNum).text(setCurrency(this.SalePrice * this.Number));
            });
            $("#orderPrice").text(setCurrency(result.Price));
            bindShoppingCartAmount(result);
            var amount = result.TotalPrice;
            var discount2Price = result.Discount2Price;
            var totalQty = 0;
            $.each(result.Product, function () {
                totalQty += this.Number;
            });
            bindShoppingCartInfoOnHead(discount2Price, totalQty);
            CheckBeforeCheckout2();
        }
    });
};

var deleteProductItem = function (sUrl, id) {
    $("#txtNum-" + id).parent().parent().remove();
    changeAlternativeColorOnShoppingCart();
    $.ajax({
        url: sUrl,
        type: "POST",
        data: { "id": id },
        success: function (result) {

            checkShoppingCartHasProducts();

            $("#orderPrice").text(setCurrency(result.Price));
            bindShoppingCartAmount(result);

            CheckBeforeCheckout2();
        }
    });
};
var changeAlternativeColorOnShoppingCart = function () {
    var i = 0;
    $("#shoppingCartContainer tr").each(function () {
        if (i++ % 2 != 0) {
            $(this).removeClass("double");
        }
        else {
            $(this).addClass("double");
        }
    });
}
var checkShoppingCartHasProducts = function () {
    var l = $("#shoppingCartContainer tbody tr").length;
    if (l <= 0) {
        var sUrl = $("#noProductsUrl").val();
        window.location.href = sUrl;
    }
    return;
};


var bindShoppingCartAmount = function (result) {
    if (result.Discount && result.Discount.Code != "") {
        $("#discountNumberSpan").text(result.Discount.Code);
    }
    else {
        $("#discountNumberSpan").text("無");
    }

    var preferenceMargin = result.Price - result.DiscountPrice;
    var preferenceMargin2 = result.DiscountPrice - result.Discount2Price;
    var orderShippingCost = result.ShippingCost;
    var orderTotalPrice = result.TotalPrice;
    $("#orderTotalPrice").text(setCurrency(orderTotalPrice));
    bindShoppingCartAmountWithHideZero(preferenceMargin, preferenceMargin2, orderShippingCost);

    bindShipmentPerferenceInfo(result);
};

var bindShoppingCartAmountWithHideZero = function (preferenceMargin, preferenceMargin2, orderShippingCost) {
    if (preferenceMargin == 0) {
        $("#preferenceMargin").parent().parent().hide();
    }
    else {
        $("#preferenceMargin").text(setCurrency(preferenceMargin));
        $("#preferenceMargin").parent().parent().show();
    }

    if (preferenceMargin2 == 0) {
        $("#preferenceMargin2").parent().parent().hide();
    }
    else {
        $("#preferenceMargin2").text(setCurrency(preferenceMargin2));
        $("#preferenceMargin2").parent().parent().show();
    }

    if (orderShippingCost == 0) {
        $("#orderShippingCost").parent().hide();
    }
    else {
        $("#orderShippingCost").text(setCurrency(orderShippingCost));
        $("#orderShippingCost").parent().show();
    }

    changeShoppingCartAmountTrColor();
};

var initBindShoppingCartAmountWithHideZero = function () {
    var preferenceMargin = $("#preferenceMargin").text().replace(',', '');
    var preferenceMargin2 = $("#preferenceMargin2").text().replace(',', '');
    var orderShippingCost = $("#orderShippingCost").text().replace(',', '');

    bindShoppingCartAmountWithHideZero(preferenceMargin, preferenceMargin2, orderShippingCost);
};


var bindShipmentPerferenceInfo = function (result) {
    var case1 = "<p class=\"title\">現有優惠</p><p>- 單項產品9折優惠（特價套裝除外）</p><p>- 免費任選一款洗髮護髮試用裝</p>" +
                "<p class=\"title pink\">更多優惠</p><p class=\"pink\">多買<span class=\"fontOnNumOrEnglish\">HK${0}</span>，即可享...</p><p class=\"pink\">- 工商業區免費送貨</p>";
    var case2 = "<p class=\"title\">現有優惠</p><p>- 單項產品9折優惠（特價套裝除外）</p><p>- 免費工商業地址送貨</p><p>- 免費任選一款洗髮護髮試用裝</p>" +
                "<p class=\"title pink\">更多優惠</p><p class=\"pink\">多買<span class=\"fontOnNumOrEnglish\">HK${0}</span>，即可享免...</p><p class=\"pink\">- 住宅區免費送貨</p><p class=\"pink\">- 自選收貨時間</p><p class=\"pink\">- 免費手甲深層護膚霜 (57g)</p>";
    var case3 = "<p class=\"title\">現有優惠</p><p>- 單項產品9折優惠（特價套裝除外）</p><p>- 工商業區及住宅區免費送貨</p><p>- 自選收貨時間</p><p>- 免費手甲深層護膚霜 (57g)</p><p>- 免費任選一款洗髮護髮試用裝</p>" +
                "<p class=\"title pink\">更多優惠</p><p class=\"pink\">多買<span class=\"fontOnNumOrEnglish\">HK${0}</span>，即可享免...</p><p class=\"pink\">- 免費任選一款洗髮護髮旅行裝 (60ml + 60ml)</p>";
                "";
    var case4 = "<p class=\"title\">現有優惠</p><p>- 單項產品9折優惠（特價套裝除外）</p><p>- 工商業區及住宅區免費送貨</p><p>- 自選收貨時間</p><p>- 免費任選一款洗髮護髮旅行裝 (60ml + 60ml)</p><p>- 免費任選一款洗髮護髮試用裝</p>";
    var case5 = "<p class=\"title\">現有優惠</p><p>- 單項產品9折優惠（特價套裝除外）</p>" +
                "<p class=\"title pink\">更多優惠</p><p class=\"pink\">多買<span class=\"fontOnNumOrEnglish\">HK${0}</span>，即可享...</p><p class=\"pink\">- 免費任選一款洗髮護髮試用裝</p>";
    $(".discountInfo").empty();
    if (result.Discount2Price >= result.UnShoppingCostLever0 && result.Discount2Price < result.UnShoppingCostLever) {
        var marginPrice = setCurrency(result.UnShoppingCostLever - result.Discount2Price);
        $(".discountInfo").append(case1.replace('{0}', marginPrice));
    }
    else if (result.Discount2Price >= result.UnShoppingCostLever && result.Discount2Price < result.UnShoppingCostLever2) {
        var marginPrice = setCurrency(result.UnShoppingCostLever2 - result.Discount2Price);
        $(".discountInfo").append(case2.replace('{0}', marginPrice));
    }
    //else if (result.Discount2Price >= result.UnShoppingCostLever2) {
    else if (result.Discount2Price >= result.UnShoppingCostLever2 && result.Discount2Price < result.UnShoppingCostLever3) {    
        var marginPrice = setCurrency(result.UnShoppingCostLever3 - result.Discount2Price);
        $(".discountInfo").append(case3.replace('{0}', marginPrice));
    }
    else if (result.Discount2Price >= result.UnShoppingCostLever3) {
        $(".discountInfo").append(case4);
    }
    else {
        var marginPrice = setCurrency(result.UnShoppingCostLever0 - result.Discount2Price);
        $(".discountInfo").append(case5.replace('{0}', marginPrice));
    }
};

var changeShoppingCartAmountTrColor = function () {
    var i = 0;
    $(".amountInfo table tr:visible").each(function () {
        if (i % 2 == 0) {
            $(this).addClass("double");
        }
        else {
            $(this).removeClass("double");
        }
        i++;
    });
};

var changeCustomerTrColor = function () {
    var i = 0;
    $("#shippingAddressContainer table tr:visible").each(function () {
        if (i % 2 == 1) {
            $(this).addClass("double");
        }
        else {
            $(this).removeClass("double");
        }
        i++;
    });
}

var CheckBeforeCheckout = function () {
    var sUrl = $("#BeforeCheckOutUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        success: function (result) {
            if (result == 9) {
                sessionTimeoutMsg();
            }
            else if (result == 1) {
                //alert("產品數量不能少於1");
            }
            else if (result == 2) {
                // 商品不能超過100件
                //alert("產品數量不能超過100件");
                $("#checkOutBeforeSpan").text("單一訂單只接受100件或以下產品。不便之處，敬請原諒。").addClass("red");
            }
            else if (result == 0) {
                var sUrl = $("#CheckOutUrl").val();
                window.location.href = sUrl;
            }

        }
    });
};
var CheckBeforeCheckout2 = function () {
    var sUrl = $("#BeforeCheckOutUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        success: function (result) {
            if (result == 1) {
                //alert("產品數量不能少於1");
            }
            else if (result == 2) {
                // 商品不能超過100件
                //alert("產品數量不能超過100件");
                $("#checkOutBeforeSpan").text("產品數量不能超過100件").addClass("red");
            }
            else if (result == 0) {
                $("#checkOutBeforeSpan").text("").removeClass("red");
            }
        }
    });
};

var confirm = function () {
    var sUrl = $("input[name=orderConfirmedUrl]").attr("value");
    if ($("#agreeChk")[0].checked) {
        $("#confirmBtnOnShoppingCart").attr("disabled", "disabled");
        $.ajax({
            url: sUrl,
            type: "POST",
            data: { "check": $("#agreeChk")[0].checked },
            success: function (result) {
                if (result == "faile") {
                    sessionTimeoutMsg();
                }
                else {
                    //alert(result);
                    //window.location.href = result;
                    document.write(result);
                }
            },
            failure: function (error) {
                alert(error);
            }
        });
    }
    else {
        $("#article").focus();
        //alert("請閱讀網站購物使用條款");
        $("#agreeableSpan").text("請閱讀及確認所有網購細則及使用條款").addClass("red").show();
    }
};

var useDiscountOnShoppingCart = function () {
    var num = $("#txtDiscountOnShoppingCart").val();
    getAndShowDiscount(num);
};

var onkeyup_useDiscountOnShoppingCart = function () {
    var num = $("#txtDiscountOnShoppingCart").val();
    if (num.length == 8) {
        getAndShowDiscount(num);
    }
    else {
        getAndShowDiscount("");
        $("#discountSpan").hide();
    }

}
var getAndShowDiscount = function (num) {
    var sUrl = $("#DiscountUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        data: { "discountNum": num },
        success: function (result) {
            if (result[0] == "-1") {//折扣券不存在
                $("#discountSpan").text("電子禮券無效").addClass("red").show();
                hideGiftOnShoppingCart();
            }
            else if (result[0] == "-3") { // 沒有使用折扣券
                $("#discountSpan").hide();
                hideGiftOnShoppingCart();
            }
            else {
                $("#discountSpan").text("電子禮券有效").removeClass("red").show();
                showGiftOnShoppingCart(result[1].Discount.Gifts);
            }
            bindShoppingCartAmount(result[1]);
        }
    });
}

var showGiftOnShoppingCart = function (gift) {
    if (gift && gift != "") {
        var giftContainer = $("#giftContainer tbody");
        giftContainer.empty();
        var i = 0;
        $.each(gift, function () {
            var g = this;
            if (i % 2 == 0) {
                giftContainer.append($("<tr>").append($("<td>"))
                                          .append($("<td>"))
                                          .append($("<td>").addClass("fontOnNumOrEnglish").text(g.ItemNum))
                                          .append($("<td>").append($("<img>").width("100").height("92").attr("src", g.showShoppingCartImage)))
                                          .append($("<td>").attr("valign", "middle").append($("<p>").addClass("title").addClass("marginTop10").append($("<strong>").text(g.Name))))
                                          .append($("<td>").attr("align", "right").addClass("fontOnNumOrEnglish").text(setCurrency(g.Price)))
                                          .append($("<td>"))
                                          .append($("<td>").attr("align", "right").addClass("fontOnNumOrEnglish").text(setCurrency(g.TotalPrice)))
                                          .append($("<td>"))
                                          .append($("<td>").attr("align", "right").text(g.Number))
                                          .append($("<td>").attr("align", "right").addClass("fontOnNumOrEnglish").text(setCurrency(g.TotalPrice)))
                                          .append($("<td>"))
                                );
            }
            else {
                giftContainer.append($("<tr>").addClass("double").append($("<td>"))
                                          .append($("<td>"))
                                          .append($("<td>").addClass("fontOnNumOrEnglish").text(g.ItemNum))
                                          .append($("<td>").append($("<img>").width("100").height("92").attr("src", g.showShoppingCartImage)))
                                          .append($("<td>").attr("valign", "middle").append($("<p>").addClass("title").addClass("marginTop10").append($("<strong>").text(g.Name))))
                                          .append($("<td>").attr("align", "right").addClass("fontOnNumOrEnglish").text(setCurrency(g.Price)))
                                          .append($("<td>"))
                                          .append($("<td>").attr("align", "right").addClass("fontOnNumOrEnglish").text(setCurrency(g.TotalPrice)))
                                          .append($("<td>"))
                                          .append($("<td>").attr("align", "right").text(g.Number))
                                          .append($("<td>").attr("align", "right").addClass("fontOnNumOrEnglish").text(setCurrency(g.TotalPrice)))
                                          .append($("<td>"))
                                );
            }
            i++;
        });
        $("#giftTitle").show();
        $("#giftContainer").show();
    }
    else {
        hideGiftOnShoppingCart();
    }
}
var hideGiftOnShoppingCart = function () {
    $("#giftTitle").hide();
    $("#giftContainer").hide();
}

var continueShopping = function () {
    var sUrl = $("#continueShoppingUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        data: {},
        success: function (result) {
            if (result[0] == 1) {
                window.location.href = result[1];
            }
            else {
                alert("系統限定時間已過，請重新選購貨品及輸入訂單資料。");
                window.location.href = result[1];
            }
        }
    });
}

var cancelShopping = function () {
    var sUrl = $("#cancelShoppingUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        data: {},
        success: function (result) {
            if (result[0] == 1) {
                window.location.href = result[1];
            }
            else {
                alert("系統限定時間已過，請重新選購貨品及輸入訂單資料。");
                window.location.href = result[1];
            }
        }
    });
};

var prevToShoppingCart = function () {
    var sUrl = $("#CheckSessionIsTimeoutUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        data: {},
        success: function (result) {
            if (result[0] == 1) {
                var sUrl = $("#prevToShoppingCartUrl").val();
                window.location.href = sUrl;
            }
            else {
                alert("系統限定時間已過，請重新選購貨品及輸入訂單資料。");
                window.location.href = result[1];
            }
        }
    });
}

var prevGoToDelivery = function () {
    var sUrl = $("#CheckSessionIsTimeoutUrl").val();
    $.ajax({
        url: sUrl,
        type: "POST",
        data: {},
        success: function (result) {
            if (result[0] == 1) {
                var sUrl = $("#prevGoToDeliveryUrl").val();
                window.location.href = sUrl;
            }
            else {
                alert("系統限定時間已過，請重新選購貨品及輸入訂單資料。");
                window.location.href = result[1];
            }
        }
    });
}
var isAddOnHomeShippingAddress;
var changeShippingAddressByHome = function () {
    var chk = $("#ShippingAddress_IsHomeAddress")[0].checked;
    if (chk) {
        if (!isAddOnHomeShippingAddress) {
            var shippingCost = parseFloat($("#orderShippingCost").text());
            var totalPrice = parseFloat($("#orderTotalPrice").text());
            shippingCost += 25;
            totalPrice += 25;
            isAddOnHomeShippingAddress = true;
            $("#orderShippingCost").text(setCurrency(shippingCost)).parent().show();
            $("#orderTotalPrice").text(setCurrency(totalPrice));

            checkIsShipToHomeAddr();
        }
    }
    else {
        if (isAddOnHomeShippingAddress) {
            var shippingCost = parseFloat($("#orderShippingCost").text());
            var totalPrice = parseFloat($("#orderTotalPrice").text());
            shippingCost -= 25;
            totalPrice -= 25;
            isAddOnHomeShippingAddress = false;
            $("#orderShippingCost").text(setCurrency(shippingCost)).parent().show();
            if (shippingCost == 0) {
                $("#orderShippingCost").parent().hide();
            }
            $("#orderTotalPrice").text(setCurrency(totalPrice));

            checkIsShipToHomeAddr();
        }
    }
    changeShoppingCartAmountTrColor();
}

var sessionTimeoutMsg = function () {
    alert("系統限定時間已過，請重新選購貨品及輸入訂單資料。");
    var sUrl = $("#productIndexUrl").val();
    window.location.href = sUrl;
}


$(document).ready(function () {
    $("#txtDiscountOnShoppingCart").bind("blur", useDiscountOnShoppingCart).bind("keyup", onkeyup_useDiscountOnShoppingCart);
    $("#cancelBtnOnShoppingCart").bind("click", cancelShopping);
    $("#continueShoppingOnBtnList").bind("click", continueShopping);
    $("#prevToShoppingCart").bind("click", prevToShoppingCart);
    $("#prevGoToDelivery").bind("click", prevGoToDelivery);
    $("#checkOutPro").bind("click", CheckBeforeCheckout);
    $("#ShippingAddress_IsHomeAddress").bind("click", changeShippingAddressByHome);


    initBindShoppingCartAmountWithHideZero();
});





/* delivery begin */


var saveDelivery = function () {
    if (checkDelivery()) {
        $("#ShippingAddress_Name").attr("disabled", false);
        $("#ShippingAddress_MobilePhone").attr("disabled", false);

        $("form[action$='SaveDelivery']").submit();
    }
};

var checkFirstName = function () {
    if ($("#Customer_FirstName").val().replace(/^\s+|\s+$/g, "") == "") {
        $("#firstNameSpan").text("請輸入姓名").addClass("red");
        return false;
    }
    $("#firstNameSpan").text("").removeClass("red");
    return true;
};
var checkSex = function () {
    if ($("input[type=radio][name=Customer.Sex]")[0].checked == false &&
        $("input[type=radio][name=Customer.Sex]")[1].checked == false) {
        $("#sexSpan").text("請輸入性別").addClass("red");
        return false;
    }
    $("#sexSpan").text("").removeClass("red");
    return true;
};
var checkBirthday = function () {
    if ($("#Customer_BirthdayMonth").val() == "0") {
        $("#birthdaySpan").text("請選擇生日月份").addClass("red");
        return false;
    }
    $("#birthdaySpan").text("").removeClass("red");
    return true;
};
var checkAge = function () {
    if ($("#Customer_Age").val() == "0") {
        $("#ageSpan").text("請選擇年齡").addClass("red");
        return false;
    }
    $("#ageSpan").text("").removeClass("red");
    return true;
};
var checkEmail = function () {
    if ($("#Customer_Email").val() == "") {
        $("#emailSpan").text("請輸入電郵地址").addClass("red");
        return false;
    }
    if ($("#Customer_Email").val().search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) {
        $("#emailSpan").text("格式不正確").addClass("red");
        return false;
    }
    $("#emailSpan").text("").removeClass("red");
    return true;
};
var checkEmail2 = function () {
    if ($("#Customer_Email").val() != "") {
        if ($("#Customer_Email2").val() == "") {
            $("#emailSpan2").text("請輸入電郵地址").addClass("red");
            return false;
        }
        if ($("#Customer_Email2").val().search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) {
            $("#emailSpan2").text("格式不正確").addClass("red");
            return false;
        }
        if ($("#Customer_Email").val() != $("#Customer_Email2").val()) {
            $("#emailSpan2").text("確認錯誤").addClass("red");
            return false;
        }
        $("#emailSpan2").text("").removeClass("red");
        return true;
    }
    return false;
};
var checkMobilePhone = function () {
    if ($("#Customer_MobilePhone").val() == "") {
        $("#mobilePhoneSpan").text("請輸入手提電話").addClass("red");
        return false;
    }
    if ($("#Customer_MobilePhone").val() != "") {
        var reg = /^[2-9][0-9]{7}$/;
        if (!reg.test($("#Customer_MobilePhone").val())) {
            $("#mobilePhoneSpan").text("格式不正確").addClass("red");
            return false;
        }
    }
    $("#mobilePhoneSpan").text("").removeClass("red");
    return true;
};

var checkShippingName = function () {
    if ($("#ShippingAddress_Name").val().replace(/^\s+|\s+$/g, "") == "") {
        $("#addressNameSpan").text("請輸入收貨人姓名").addClass("red");
        return false;
    }
    $("#addressNameSpan").text("").removeClass("red");
    return true;
};

var checkShippingMobilePhone = function () {
    if ($("#ShippingAddress_MobilePhone").val() == "") {
        $("#addressMobilePhoneSpan").text("請輸入收貨人電話").addClass("red");
        return false;
    }
    if ($("#ShippingAddress_MobilePhone").val() != "") {
        var reg = /^[2-9][0-9]{7}$/;
        if (!reg.test($("#ShippingAddress_MobilePhone").val())) {
            $("#addressMobilePhoneSpan").text("收貨人電話格式不正確").addClass("red");
            return false;
        }
    }
    $("#addressMobilePhoneSpan").text("").removeClass("red");
    return true;
};

var checkAddress = function () {
    if ($("#ShippingAddress_Address").val().replace(/^\s+|\s+$/g, "") == "") {
        $("#addressSpan").text("請輸入收貨地址").addClass("red");
        return false;
    }
    $("#addressSpan").text("").removeClass("red");
    return true;
};

var checkShipDate = function () {
    if ($("#ShippingAddress_ShipDate").val() == "0") {
        $("#ShipDateSpan").text("請選擇收貨日期").addClass("red");
        return false;
    }
    $("#ShipDateSpan").text("").removeClass("red");
    return true;
};

var checkShipTime = function () {
    if ($("#ShippingAddress_ShipTime").val() == "") {
        $("#ShipTimeSpan").text("請選擇收貨時間").addClass("red");
        return false;
    }
    $("#ShipTimeSpan").text("").removeClass("red");
    return true;
    
};

var checkDelivery = function () {
    if (!checkFirstName()) {
        $("#Customer_FirstName").focus();
        return false;
    }
    if (!checkSex()) {
        $("input[type=radio][name=Customer.Sex]")[0].focus();
        return false;
    }
    if (!checkBirthday()) {
        $("#Customer_BirthdayMonth").focus();
        return false;
    }
    if (!checkAge()) {
        $("#Customer_Age").focus();
        return false;
    }
    if (!checkMobilePhone()) {
        $("#Customer_MobilePhone").focus();
        return false;
    }
    if (!checkEmail()) {
        $("#Customer_Email").focus();
        return false;
    }
    if (!checkEmail2()) {
        $("#Customer_Email2").focus();
        return false;
    }
    if (!checkShippingName()) {
        $("#ShippingAddress_Name").focus();
        return false;
    }
    if (!checkShippingMobilePhone()) {
        $("#ShippingAddress_MobilePhone").focus();
        return false;
    }
    if (!checkShipDate()) {
        $("#ShippingAddress_ShipDate").focus();
        return false;
    }
    if (!checkShipTime()) {
        $("#ShippingAddress_ShipTime").focus();
        return false;
    }
    if (!checkAddress()) {
        $("#ShippingAddress_Address").focus();
        return false;
    }
    return true;
};

var deliverySameName = function () {
    if ($("#theSameName")[0].checked) {
        $("#ShippingAddress_Name").val($("#Customer_FirstName").val()).attr("disabled", true);
        checkShippingName();
    }
    else {
        $("#ShippingAddress_Name").attr("disabled", false);
    }

};

var deliverySameMobilePhone = function () {
    if ($("#theSameMobilePhone")[0].checked) {
        $("#ShippingAddress_MobilePhone").val($("#Customer_MobilePhone").val()).attr("disabled", true);
        checkShippingMobilePhone();
    }
    else {
        $("#ShippingAddress_MobilePhone").attr("disabled", false);
    }
};


var checkIsShipToHomeAddr = function () {
    if (typeof (enbaleShipToHomeAddr) && enbaleShipToHomeAddr) {
        var chk = $("#ShippingAddress_IsHomeAddress")[0].checked;
        $("#shipTimeTitle").empty();
        $("#shipTimeContainer").empty();
        if (chk) {
            $("#shipTimeTitle").text("收貨時間：");

            var slt = $('<select>', { name: "ShippingAddress.ShipTime", id: "ShippingAddress_ShipTime" });
            $('<option>', { val: "", text: "請選擇", selected: "selected" }).appendTo(slt);
            $('<option>', { val: "全日均可", text: "全日均可" }).appendTo(slt);
            $('<option>', { val: "8am - 12nn", text: "8am - 12nn" }).appendTo(slt);
            $('<option>', { val: "12nn - 2pm", text: "12nn - 2pm" }).appendTo(slt);
            $('<option>', { val: "2pm - 4pm", text: "2pm - 4pm" }).appendTo(slt);
            $('<option>', { val: "4pm - 6pm", text: "4pm - 6pm" }).appendTo(slt);
            $('<option>', { val: "6pm - 8pm", text: "6pm - 8pm" }).appendTo(slt);
            $('<option>', { val: "8pm - 10pm", text: "8pm - 10pm" }).appendTo(slt);

            $("#shipTimeContainer").append(slt)
                                    .append($("<span>").addClass("red").text("*"))
                                    .append($("<span>", { id: "ShipTimeSpan" }));
            $("#ShippingAddress_ShipTime").bind("blur", checkShipTime);

            var value = $("#shippingAddressShipTimeValue").val();
            if (value != "") {
                $("#ShippingAddress_ShipTime").val(value);
            }
        }
    }
}

$(document).ready(function () {
    $("form[action$='SaveDelivery']").submit(function () {
        $.post($(this).attr("action"), $(this).serialize(), function (response) {
            if (response == "faile") {
                sessionTimeoutMsg();
            }
            else {
                window.location.href = response;
            }
        });

        return false;
    });

    $("#Customer_FirstName").bind("blur", checkFirstName);
    $("#rdoMan").bind("blur", checkSex);
    $("#rdoWoman").bind("blur", checkSex);
    $("#Customer_BirthdayMonth").bind("blur", checkBirthday);
    $("#Customer_Age").bind("blur", checkAge);
    $("#Customer_Email").bind("blur", checkEmail);
    $("#Customer_Email2").bind("blur", checkEmail2);
    $("#Customer_MobilePhone").bind("blur", function () { checkMobilePhone(); });
    $("#ShippingAddress_Name").bind("blur", checkShippingName);
    $("#ShippingAddress_MobilePhone").bind("blur", checkShippingMobilePhone);
    $("#ShippingAddress_Address").bind("blur", checkAddress);
    $("#ShippingAddress_ShipDate").bind("blur", checkShipDate);
    $("#ShippingAddress_ShipTime").bind("blur", checkShipTime);

    $("#theSameName").bind("click", deliverySameName);
    $("#theSameMobilePhone").bind("click", deliverySameMobilePhone);

    
});



/* delivery end */








var showdisclaimer = function () {
    var sUrl = $("#DisclaimerUrl").val();
    $.open({
        id: 'win01',
        url: sUrl,
        title: 'Mane \'n Tail 免責聲明',
        width: 750,
        height: 490
    });
}
var showprivacyPolicy = function () {
    var sUrl = $("#PrivacyPolicyUrl").val();
    $.open({
        id: 'win02',
        url: sUrl,
        title: 'Mane \'n Tail 私隱政策',
        width: 750,
        height: 490
    });

}
var showorderTips = function () {
    var sUrl = $("#OrderTipsUrl").val();
    $.open({
        id: 'win03',
        url: sUrl,
        title: 'Mane \'n Tail 訂購貼士',
        width: 750,
        height: 490
    });
}

// pic hover change
function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}
function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
    }
}

function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }


}


// utility
function setCurrency(s) {
    s = Math.round(s * 10) / 10;
    s = String(s);
    if (s.indexOf('-') == 0) {
        //计算负数
        s = s.substring(1, s.lenght);
        if (/[^0-9\.\-]/.test(s)) return "invalid value";
        s = s.replace(/^(\d*)$/, "$1.");

        s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1"); //取小数点后两位
        s = s.replace(".", ",");
        var re = /(\d)(\d{3},)/;
        while (re.test(s))
            s = s.replace(re, "$1,$2");
        s = s.replace(/,(\d\d)$/, ".$1"); //取小数点后两位

        return '-' + s.replace(/^\./, "0.");
    } else {
        //计算正数
        if (/[^0-9\.\-]/.test(s)) return "invalid value";
        s = s.replace(/^(\d*)$/, "$1.");

        //s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1"); //取小数点后两位
        s = (s + "0").replace(/(\d*\.\d)\d*/, "$1"); //取小数点后1位
        s = s.replace(".", ",");
        var re = /(\d)(\d{3},)/;
        while (re.test(s))
            s = s.replace(re, "$1,$2");
        //s = s.replace(/,(\d\d)$/, ".$1"); //取小数点后两位
        s = s.replace(/,(\d)$/, ".$1"); //取小数点后1位

        return s.replace(/^\./, "0.") + "0";
    }
}
