﻿var arrColor = new Array();
var arrAllBigImages = new Array();
var colorParentControl = "ulColor";
var sizeParentControl = "ulSize";
var colorDisplayControl = "spanColor";
var sizeDisplayControl = "spanSize";
var sizeSectionControl = "spanSizeSection";
var colorCodeControl = "hidColorCode";
var colorDescControl = "hidColorDesc";
var sizeCodeControl = "hidSizeCode";
var sizeDescControl = "hidSizeDesc";
var bigImagesControl = "divBigPic";
var smallImagesControl = "ulSmallPic";
var recommendedPriceControl = "LitRecommended_rprice";
var basePriceControl = "LitBasePrice";
var webPriceControl = "price_label";
var staffPriceControl = "employee_label";
var basePointControl = "lblPoint";
var litPointSingle = "litPointSingle";

var firstLoadFlag = true;
Array.prototype.contain = function(o) {
    var result = false;
    for (var obj in this) {
        if (o == obj) {
            result = true;
            break;
        }
    }
    return result;
}

Array.prototype.outersect = function(arr) {
    var arrOutersect = new Array();
    for (var i = 0; i < this.length; i++) {
        var intersectFlag = false;
        for (var j = 0; j < arr.length; j++) {
            if (this[i] == arr[j]) {
                intersectFlag = true;
                break;
            }
        }
        if (!intersectFlag) {
            arrOutersect.push(this[i]);
        }
    }
    return arrOutersect;
}

var GenerateColor = function() {
    if (arrColor.length > 0) {

        $(arrColor).each(function() {
            CreateSingleColor(this);
        });
        ColorChange(arrColor[0].Code);
    }
}

var CreateSingleColor = function(colorItem) {
    var colorItemHTML = "<li id=\"color" + colorItem.Code + "\" onclick=\"ColorChange('" + colorItem.Code + "')\">";
    colorItemHTML += "<img alt=\"\" src=\"../images/prds_detail_24.png\" class=\"okimg\" />";
    if (ColorImgCount > 0) {
        colorItemHTML += "<img src=\"../product/prodimg/color/" + colorItem.SKN + "_" + colorItem.Code + ".jpg\" />";
    }
    else {
        colorItemHTML += "<img src=\"../product/prodimg/color/000000_00.jpg\" />";
    }
    colorItemHTML += "</li>";
    $("#" + colorParentControl).append(colorItemHTML)
}
var ColorChange = function(colorCode) {
    ColorReset();
    $("#color" + colorCode).addClass("ok");
    var colorItem = GetColorItemByCode(colorCode);
    if (colorItem != null && typeof (colorItem) != "undefined") {
        $("#" + colorCodeControl).val(colorItem.Code);
        $("#" + colorDescControl).val(colorItem.Desc);
        $("#" + colorDisplayControl).empty();
        $("#" + colorDisplayControl).append(colorItem.Desc);

        GenerateSize(colorItem);
        GenerateImages(colorItem);
        $('.infiniteCarousel').infiniteCarousel();
    }
}

var ColorReset = function() {
    $(arrColor).each(function() {
        $("#color" + this.Code).removeClass("ok");
    });
}

var GetColorItemByCode = function(colorCode) {
    var colorItem;
    $(arrColor).each(function() {
        if (this.Code == colorCode) {
            colorItem = this;
            return false;
        }
    });
    return colorItem;
}

var GenerateSize = function(colorItem) {
    $("#" + sizeParentControl).empty();
    var sizeList = colorItem.SizeList;
    if (sizeList.length == 1 && sizeList[0].Desc.length == 0) {
        $("#" + sizeSectionControl).hide();
    }
    else {
        $("#" + sizeSectionControl).show();
        $(sizeList).each(function(i) {
        CreateSingleSize(colorItem.Code, this, colorItem.Desc, sizeList[i].Desc);
        });
    }

    SizeChange(colorItem.Code, sizeList[0].Code, colorItem.Desc, sizeList[0].Desc);
    
}

var CreateSingleSize = function(colorCode, sizeItem,colorDesc, sizeDesc) {
var sizeItemHTML = "<li id=\"size" + sizeItem.Code + "\" onclick=\"SizeChange('" + colorCode + "', '" + sizeItem.Code + "','" + colorDesc + "', '" + sizeDesc + "')\">";
    sizeItemHTML += "<img alt=\"\" src=\"../images/prds_detail_24.png\" class=\"okimg\" />";
    sizeItemHTML += sizeItem.Desc;
    sizeItemHTML += "</li>";
    $("#" + sizeParentControl).append(sizeItemHTML)
}

var SizeChange = function(colorCode, sizeCode, colorDesc, sizeDesc) {
    var color="";
    var size="";
    if (colorDesc != "") {
        color = colorDesc + "";
    }
    
    if (sizeDesc != "") {
        if (color != "") {
            size = "/" + sizeDesc + "码";
        } else {
            size = "" + sizeDesc + "码";
        }
    }
    
    if (colorDesc == "" && sizeDesc == "") {
        $("#itemcolorsize").html("");
    } else {
        $("#itemcolorsize").html(" 已选择 " + color + size + "");
    }

    //alert(colorDesc + "" + sizeDesc);
    SizeReset(colorCode);
    $("#size" + sizeCode).addClass("ok");
    var sizeItem = GetSizeItemByCode(colorCode, sizeCode);
    if (sizeItem != null && typeof (sizeItem) != "undefined") {
        $("#" + sizeCodeControl).val(sizeItem.Code);
        $("#" + sizeDescControl).val(sizeItem.Desc);
        $("#" + sizeDisplayControl).empty();
        $("#" + sizeDisplayControl).append(sizeItem.Desc);

        if (document.getElementById(recommendedPriceControl) != null) {
            document.getElementById(recommendedPriceControl).innerHTML = "<div class='price'>市　场　价：<font >" + sizeItem.RecommendedPrice + "</font> 元</div>";
        }
        if (document.getElementById(basePriceControl) != null) {
            document.getElementById(basePriceControl).innerHTML = "<div class=\"original\">原　　　价：<font style=\"font-family:'Times New Roman', Times, serif; \">" + sizeItem.BasePrice + "</font> 元</div>";
        }
        if (document.getElementById(webPriceControl) != null) {
            document.getElementById(webPriceControl).innerHTML = sizeItem.WebPrice;
        }
        if (document.getElementById(staffPriceControl) != null) {
            document.getElementById(staffPriceControl).innerHTML = "员工特价：<span>" + sizeItem.StaffPrice + "</span> 元";
        }
        if (document.getElementById(basePointControl) != null) {
            document.getElementById(litPointSingle).innerHTML = "=（" + sizeItem.Point + "元购物积分+" + sizeItem.Point + "元网购积分）";
            document.getElementById(basePointControl).innerHTML = sizeItem.BasePoint;
        }

        var price = document.getElementById("price_label").innerHTML;

        if (price > 0) {
            if (document.getElementById(addtocartButton) != null)
                document.getElementById(addtocartButton).style.display = "";
        }
        else {
            if (document.getElementById("hfProductType").value == "PWP") {
                document.getElementById(addtocartButton).style.display = "";
            }
            else {
                if (document.getElementById(addtocartButton) != null) {
                    document.getElementById(addtocartButton).style.display = "none";
                }
            }
        }

        //FitemID
        document.getElementById("hdshop_item_code").value = sizeItem.shop_item_code;
        document.getElementById("hdshop_id").value = sizeItem.shop_id;

        //停售
        if (sizeItem.web_flag == "K") {
            document.getElementById("UpdatePanel6").style.display = "none";
            document.getElementById("inventoryDiv").style.display = "none";
            document.getElementById("ImabStopSell").style.display = "block";
            document.getElementById("ImabStopSell").disabled = true;
            if (document.getElementById("Button1") != null) {
                document.getElementById("Button1").style.display = "none";
            }
            if (document.getElementById("ibtnQH") != null) {
                document.getElementById("ibtnQH").style.display = "none";
            }
            return;
        } else {
            document.getElementById("UpdatePanel6").style.display = "block";
            document.getElementById("inventoryDiv").style.display = "block";
            document.getElementById("ImabStopSell").style.display = "none";
            document.getElementById("ImabStopSell").disabled = false;
        }

        if (sizeItem.AvailQty <= 0 && sizeItem.OvsFlag == "Y") {
            if (document.getElementById("ibtnQH") != null) {
                document.getElementById("ibtnQH").style.display = "inline";
            }
            if (document.getElementById("Button1") != null) {
                document.getElementById("Button1").style.display = "";
            }
            document.getElementById("lbl_OVS").style.display = "block";
            document.getElementById("spProduct").style.display = "none"; //需要补货
            document.getElementById("lbl_noproduct").style.display = "none";
            if (document.getElementById(addtocartButton) != null) {
                document.getElementById(addtocartButton).src = "../images/prds_detail_30.png";
                document.getElementById(addtocartButton).disabled = false;
                document.getElementById(addtocartButton).style.display = "";
            }

        }
        else if (sizeItem.AvailQty <= 0 && sizeItem.OvsFlag == "N") {//没货
            if (document.getElementById(addtocartButton) != null) {
                document.getElementById(addtocartButton).src = "../images/prds_detail_30_01.png";
                document.getElementById(addtocartButton).disabled = true;
                document.getElementById(addtocartButton).style.display = "";
                if (document.getElementById("Button1") != null) {
                    document.getElementById("Button1").style.display = "none";
                }

            }
            if (document.getElementById("ibtnQH") != null) {
                document.getElementById("ibtnQH").style.display = "none";
            }
            document.getElementById("lbl_OVS").style.display = "none";
            document.getElementById("spProduct").style.display = "none";
            document.getElementById("lbl_noproduct").style.display = "block";
        }
        else {
            //现货
            if (document.getElementById(addtocartButton) != null) {
                document.getElementById(addtocartButton).src = "../images/prds_detail_30.png";
                document.getElementById(addtocartButton).disabled = false;
            }
            document.getElementById("lbl_OVS").style.display = "none";
            if (document.getElementById("Button1") != null) {
                document.getElementById("Button1").style.display = "";
            }
            document.getElementById("spProduct").style.display = "block";
            document.getElementById("lbl_noproduct").style.display = "none";
            if (document.getElementById("ibtnQH") != null) {
                document.getElementById("ibtnQH").style.display = "none";
            }
            if (document.getElementById(addtocartButton) != null) {
                document.getElementById(addtocartButton).style.display = "";
            }
        }

        if (sizeItem.WebPrice <= 0) {

            if (document.getElementById(addtocartButton) != null) {
                document.getElementById(addtocartButton).src = "../images/prds_detail_30_01.png";
                document.getElementById(addtocartButton).disabled = true;
                document.getElementById(addtocartButton).style.display = "none";
            }
        }
    }
}

var SizeReset = function(colorCode) {
    var colorItem = GetColorItemByCode(colorCode);
    if (colorItem != null && typeof (colorItem) != "undefined") {
        var sizeList = colorItem.SizeList;
        $(sizeList).each(function() {
            $("#size" + this.Code).removeClass("ok");
        });
    }
}

var GetSizeItemByCode = function(colorCode, sizeCode) {
    var sizeItem;
    var colorItem = GetColorItemByCode(colorCode);
    if (colorItem != null && typeof (colorItem) != "undefined") {
        var sizeList = colorItem.SizeList;
        $(sizeList).each(function() {
            if (this.Code == sizeCode) {
                sizeItem = this;
                return false;
            }
        });
    }
    return sizeItem;
}

var GenerateImages = function(colorItem) {
    if (firstLoadFlag) {
        GenerateBigImages(colorItem);
    }
    GenerateSmallImages(colorItem);
    firstLoadFlag = false;
}

var GenerateBigImages = function(colorItem) {
    $("#" + bigImagesControl).empty();
    var bigImageList = colorItem.BigImageList;
    var desc = colorItem.SknDesc;
    if (bigImageList.length > 0) {
        for (var i = 0; i < bigImageList.length; i++) {
            CreateSingleBigImage(bigImageList[i], true, i,desc);
        }
        var arrOutersect = arrAllBigImages.outersect(bigImageList);
        for (var i = 0; i < arrOutersect.length; i++) {
            CreateSingleBigImage(arrOutersect[i], false, i,desc);
        }
    }
    else {
        CreateDefaultBigImage(desc);
    }
}

var CreateSingleBigImage = function(imageName, shouldDisplay, index,desc) {
    var imageItemHTML = "";
    imageItemHTML += "<a rel=\"clearbox[product]\" title=\"\" href=\"http://image.ssgo.com/xxxl/" + imageName + "\">";
    imageItemHTML += "<img id=\"bigImage" + imageName + "\" src=\"http://image.ssgo.com/xxl/" + imageName + "\"" + (shouldDisplay && index == 0 ? "" : " style=\"display:none;\"") + "  alt='" + desc + "'/>";
    imageItemHTML += "</a>";
    $("#" + bigImagesControl).append(imageItemHTML)
}

var CreateDefaultBigImage = function(desc) {
    var imageItemHTML = "<img src=\"http://image.ssgo.com/xxl/000000_00_00.jpg\" alt='"+desc+"' />";
    $("#" + bigImagesControl).append(imageItemHTML)
}

var GenerateSmallImages = function(colorItem) {
    $("#" + smallImagesControl).empty();
    var smallImageList = colorItem.SmallImageList;
    if (smallImageList.length > 0) {
        for (var i = 0; i < smallImageList.length; i++) {
            CreateSingleSmallImage(smallImageList[i]);
        }
        ChangeImage(smallImageList[0]);
    }
    else {
        CreateDefaultSmallImage();
    }
}

var CreateSingleSmallImage = function(imageName) {
    var imageItemHTML = "<li>";
    imageItemHTML += "<a onclick=\"ChangeImage('" + imageName + "');\">";
    imageItemHTML += "<img src=\"http://image.ssgo.com/s/" + imageName + "\">";
    imageItemHTML += "</a></li>";
    $("#" + smallImagesControl).append(imageItemHTML)
}

var CreateDefaultSmallImage = function() {
    var imageItemHTML = "<li><img src=\"http://image.ssgo.com/s/000000_00_00.jpg\" /></li>";
    $("#" + smallImagesControl).append(imageItemHTML)
}

var ChangeImage = function(imageName) {
    var bigImages = document.getElementById(bigImagesControl).getElementsByTagName("IMG");
    for (var i = 0; i < bigImages.length; i++) {
        if (bigImages[i].id == "bigImage" + imageName) {
            bigImages[i].style.display = '';
        }
        else {
            bigImages[i].style.display = 'none';
        }
    }
}

var GenerateAllBigImages = function() {
    $(arrColor).each(function() {
        var bigImageList = this.BigImageList;
        for (var i = 0; i < bigImageList.length; i++) {
            if (!arrAllBigImages.contain(bigImageList[i])) {
                arrAllBigImages.push(bigImageList[i]);
            }
        }
    });
}

$(document).ready(function() { GenerateAllBigImages(); GenerateColor();});
