﻿
RemoveMinShoppingcartItems = function (id) {
    $("#remove_minshoppingcart_items_" + id).css("display", "none");
    $("#remove_minshoppingcart_items_load" + id).css("display", "block");
    $("#minshoppingcart_items_" + id).fadeOut("normal"); 
}

$(document).ready(function () {
    $("#txtSearch").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: HomeUrl + "/Ajax/SearchCaches.ashx",
                dataType: "json",
                type: "GET",
                data: {
                    JqueryTime: (new Date()).getTime(),
                    Keywords: request.term
                },
                success: function (data) {
                    response($.map(data.Scl, function (item) {
                        return {
                            label: item,
                            value: item
                        }
                    }));
                },
                error: function () {
                    alert("error");
                }
            });
        },
        minLength: 1,
        select: function (event, ui) {
            alert(ui.item.label);
            //            log(ui.item ?
            //					"Selected: " + ui.item.label :
            //					"Nothing selected, input was " + this.value);
        },
        open: function () {
            $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
        },
        close: function () {
            $(this).removeClass("ui-corner-top").addClass("ui-corner-all");
        },
        appendTo:"#Search"
    });
});


function getAbsolutePosition(element) {
    var point = { x: element.offsetLeft, y: element.offsetTop };
    //Recursion
    if (element.offsetParent) {
        var parentPoint = this.getAbsolutePosition(element.offsetParent);
        point.x += parentPoint.x;
        point.y += parentPoint.y;
    }
    return point;
};

$(function () {

});

//禁用其他按钮
function DisableOtherSubmit() {
    var objs = document.getElementsByTagName('INPUT');
    var btns = document.getElementsByTagName('button');
    for (var i = 0; i < objs.length; i++) {
        if (objs[i].type.toLowerCase() == 'submit' || objs[i].type.toLowerCase() == 'button') {
            objs[i].disabled = true;
        }
    }
    for (var i = 0; i < btns.length; i++) {
        btns[i].disabled = true;
    }
}

//启用其他按钮
function EnableOtherSubmit() {
    var objs = document.getElementsByTagName('INPUT');
    var btns = document.getElementsByTagName('button');
    for (var i = 0; i < objs.length; i++) {
        if (objs[i].type.toLowerCase() == 'submit' || objs[i].type.toLowerCase() == 'button') {
            objs[i].disabled = false;
        }
    }
    for (var i = 0; i < btns.length; i++) {
        btns[i].disabled = false;
    }
}

//验证是否数字
function CheckIsNumber(number) {
    var reg = /^-?\d+$/;
    if (number != "") {
        if (reg.test(number)) {
            return true;
        } else {
            return false;
        }
    } else {
        return true;
    }
}

function FilterUserInputNum(Object) {
    if (Object) {
        if (window.event.keyCode == 13) {
            document.getElementById(Object).click();
        }
    }
    if (!((window.event.keyCode >= 48) && (window.event.keyCode <= 57))) {
        window.event.keyCode = 0;
    }
}

var ShoppingCartDetailBox = {
    detailList: $("#shoppingcart_menu_data"),
    pageList: $("#shoppingcart_page"),
    currentPageIndex: 1,
    loadHtml: "<img src=\"/Images/ShoppingCart_Loading.gif\" alt=\"Loading...\" />",
    timeOutHtml: "<h4 class=\"red\">Time out! Please try again later!</h4>",
    emptyHtml: "<h4 class=\"red\">There is no product in your shopping cart.</h4>",
    errorHtml: "<h4 class=\"red\">Sorry.We have encountered a problem while processing the page you requested.</h4>",
    getData: function () {
        $.ajax({
            type: "GET",
            url: "/Ajax/GetShoppingcartJson.ashx",
            data: { PageIndex: ShoppingCartDetailBox.currentPageIndex, JqueryTime: (new Date()).getTime() },
            dataType: "html",
            cache: false,
            timeout: 60000,
            success: function (html) {
                ShoppingCartDetailBox.setContent(html);
            },
            error: function (msg) {
                ShoppingCartDetailBox.setContent(ShoppingCartDetailBox.timeOutHtml);
                return false;
            }
        });
    },
    setContent: function (html) {
        $("#shoppingcart_menu_data").html(html);
    },
    removeItem: function (ShoppingCartID) {
        ShoppingCartDetailBox.addLoadBox(ShoppingCartID);
        $.ajax({
            type: "GET",
            url: "/Ajax/RemoveCart.ashx",
            data: { ShoppingCartID: ShoppingCartID },
            dataType: "json",
            cache: false,
            timeout: 15000,
            success: function (json) {
                var result = json.Code;
                if (result == "success") {
                    var TotalCount = json.TotalCount;
                    var TotalMoney = json.TotalMoney;
                    if (TotalCount > 0) {
                        $("#minshoppingcart_items_" + ShoppingCartID).slideUp(150, function () {
                            $(this).remove();
                            ShoppingCartDetailBox.getData();
                        });
                    } else {
                        ShoppingCartDetailBox.setContent(ShoppingCartDetailBox.emptyHtml);
                    }
                    $("#minShoppingCartTotalCount").html(TotalCount);
                    $("#minShoppingCartTotal").html(TotalMoney);
                } else if (result == "error") {
                    alert("Failed to delete! Please refresh the shopping cart and try again later.");
                }
            },
            error: function () {
                alert('Time out! Please try again later.');
                ShoppingCartDetailBox.removeLoadBox();
            }
        });
    },
    page: function (pageIndex) {
        if (pageIndex < 1) pageIndex = 1;
        ShoppingCartDetailBox.currentPageIndex = pageIndex;
        ShoppingCartDetailBox.getData();
    },
    addLoadBox: function (ShoppingCartID) {
        $("#remove_minshoppingcart_" + ShoppingCartID).css("display", "block");
        $("#remove_minshoppingcart_items_" + ShoppingCartID).css("display", "none");
    },
    removeLoadBox: function (ShoppingCartID) {
        $("#remove_minshoppingcart_" + ShoppingCartID).css("display", "none");
        $("#remove_minshoppingcart_items_" + ShoppingCartID).css("display", "block");
    },
    cartItemCount: function (itemCount) {
        var $o = $("#shoppingCart_itemCount");
        if (itemCount) {
            $o.text(itemCount);
            return itemCount;
        } else {
            return parseInt($o.text());
        }
    }
};


var NewArrivalsDetailBox = {
    self: null,
    content: null,
    sender: null,
    loadHtml: "",

    show: function (sender, productId) {
        if (sender) {
            NewArrivalsDetailBox.sender = sender;
        }

        if (NewArrivalsDetailBox.self == null) {
            var boxDiv = document.createElement("DIV");
            boxDiv.style.position = "absolute";
            boxDiv.style.backgroundColor = "transparent";
            boxDiv.style.zIndex = 999;
            boxDiv.style.display = "none";
            boxDiv.style.height = "auto";
            boxDiv.style.width = "auto";
            document.body.appendChild(boxDiv);
            var contentDiv = document.createElement("DIV");
            contentDiv.style.background = "#ddd";
            boxDiv.appendChild(contentDiv);

            NewArrivalsDetailBox.self = $(boxDiv);
            NewArrivalsDetailBox.content = $(contentDiv);
            NewArrivalsDetailBox.content.attr("class", "NewArrivalsDetailBox");

            NewArrivalsDetailBox.loadHtml = "<div style=\"width:100%;background-color: #ffffff;height:100%;background-image:url('/Images/ShoppingCart_Loading.gif');background-repeat:no-repeat;background-position:center;\"></div>";

            NewArrivalsDetailBox.self.hover(null, function () {
                NewArrivalsDetailBox.hide();
            });
        }

        NewArrivalsDetailBox.content.height(NewArrivalsDetailBox.sender.height() - 22);
        NewArrivalsDetailBox.content.width(NewArrivalsDetailBox.sender.width() - 26);
        NewArrivalsDetailBox.setContent(NewArrivalsDetailBox.loadHtml);
        NewArrivalsDetailBox.self.show();
        NewArrivalsDetailBox.setPosition();

        $.ajax({
            type: "GET",
            url: "/Ajax/NewArrivalsDetail.ashx",
            data: { productId: productId, JqueryTime: (new Date()).getTime() },
            dataType: "html",
            cache: false,
            timeout: 60000,
            success: function (html) {
                NewArrivalsDetailBox.content.css("height", "auto");
                NewArrivalsDetailBox.content.css("width", "226px");
                NewArrivalsDetailBox.setContent(html);
                NewArrivalsDetailBox.setPosition();
            },
            error: function (msg) {
                NewArrivalsDetailBox.setContent("Time out! Please try again later.");
                return false;
            }
        });
    },
    hide: function () {
        if (NewArrivalsDetailBox.self) {
            NewArrivalsDetailBox.self.hide();
        }
    },
    setPosition: function (isLoad) {
        var p = NewArrivalsDetailBox.sender.position();
        var sWidth = parseInt(NewArrivalsDetailBox.content.css("width"));
        var nLeft = p.left + (NewArrivalsDetailBox.sender.width() / 2) - (sWidth / 2) - 13;
        var nTop = p.top + NewArrivalsDetailBox.sender.height() / 2 - NewArrivalsDetailBox.content.height() / 2 - 11;
        //如果是最右边的图片，则靠右对齐
        var mr = NewArrivalsDetailBox.sender.css("margin-right");
        if (mr == "" || parseInt(mr) < 1) {
            nLeft = nLeft - (sWidth - NewArrivalsDetailBox.sender.width()) / 2 - 13;
        }
        NewArrivalsDetailBox.self.css("top", nTop + "px");
        NewArrivalsDetailBox.self.css("left", nLeft + "px");
    },
    setContent: function (html) {
        NewArrivalsDetailBox.content.html(html);
    }
};
//乘法
function accMul(arg1, arg2) {
    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
    try { m += s1.split(".")[1].length } catch (e) { }
    try { m += s2.split(".")[1].length } catch (e) { }
    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
}
//除法
function accDiv(arg1, arg2) {
    var t1 = 0, t2 = 0, r1, r2;
    try { t1 = arg1.toString().split(".")[1].length } catch (e) { }
    try { t2 = arg2.toString().split(".")[1].length } catch (e) { }
    with (Math) {
        r1 = Number(arg1.toString().replace(".", ""))
        r2 = Number(arg2.toString().replace(".", ""))
        return (r1 / r2) * pow(10, t2 - t1);
    }
}
//加法
function accAdd(arg1, arg2) {
    var r1, r2, m;
    try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
    try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
    m = Math.pow(10, Math.max(r1, r2))
    return (arg1 * m + arg2 * m) / m;
}
//减法
function accSub(arg1, arg2) {
    var r1, r2, m, n;
    try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
    try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
    m = Math.pow(10, Math.max(r1, r2));
    //动态控制精度长度   
    n = (r1 >= r2) ? r1 : r2;
    return ((arg1 * m - arg2 * m) / m).toFixed(n);
}

function GetQueryStringRegExp(name) {
    var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
    if (reg.test(location.href))
        return unescape(RegExp.$2.replace(/\+/g, " ")); return "";
}

function FilterUserInputFloat(Object) {
    if (Object) {
        if (window.event.keyCode == 13) {
            document.getElementById(Object).click();
        }
    }
    if (!((window.event.keyCode >= 48) && (window.event.keyCode <= 57) || (window.event.keyCode == 46) || (window.event.keyCode == 45))) {
        window.event.keyCode = 0;
    }
}


GoCheckOut = function () {
    location.href = "/Secure/CheckOut.aspx";
}
GoShoppingCart = function () {
    location.href = "/Shopping/ShoppingCart.aspx";
}

SearchKeyword = function () {
    if ($("#SearchKeyWord").val() != "") {
        $("#searchForm").submit();
    } else {
        alert("Please enter keyword!");
    }
}


SubmitQuestion = function (ItemsID,Email, FirstName, LastName, Question) {
    CancleQuestion();
    jShowLoading();
    $.ajax({
        url: '/Ajax/AddItemsQuestion.ashx',
        type: 'POST',
        data: { ItemsID: ItemsID, Email: escape(Email), FirstName: escape(FirstName), LastName: escape(LastName), Question: escape(Question), time: (new Date()).getTime() },
        error: function () {
            jHideLoading();
            alert('Error!');
        },
        success: function (data) {
            jHideLoading();
            if (data == "ok") {
                alert("Succeed!A Customer Service Representative will be in touch with you in about 2-3 business days!");
            } else {
                alert('Error!');
            }
        }
    });
}

CancleQuestion = function () {
    $.fancybox.close();
}

GotoListPage = function () {
    var txtPage = document.getElementById("pagination-bottom-input");

    if (txtPage.value != "") {
        if (!CheckIsNumber(txtPage.value)) {
            jAlert("Please enter must be number.", "Alert", function () {
                txtPage.focus();
            });
            return;
        }
        location.href = GotoListPageLink.replace("$Page$", txtPage.value);
    }
}

function filterUserInputIsNumber(object) {
    object.value = object.value.replace(/\D/g, '');
}
