﻿/**********************************产品比较js**************************************************/
/*   author  :  CeilTop                                                                      **/
/*   dateTime:  2008/8/2                                                                     **/
/*   goal    :  用ajax方法提取产品信息,方便用户选择产品进行比较                              **/
/*   company :  Huaco                                                                        **/
/**********************************************************************************************/


/***************************************定义全局变量**************************************/
var productArr = new Array(); //产品数组
var imageArr = new Array(); //图像数组
var compareArr = new Array(); //比较数组
var compareImgArr = new Array(); //存放图片信息
var finallyArr = new Array(); //最终比较的产品数组
var productModel = new Array(); //存放产品型号
var compareModel = new Array(); //存放比较产品型号
var len = 0; //回调函数数据的长度;
var currentPage = 0; //翻页的页码
/******************************************************************************************/

/***************************************上div的处理函数**************************************/
function getProductByType(pageIndex) {
    var TypeID = $("#SelProductType").val();
    product_productCompare.getModelByType(TypeID, pageIndex, productModelBack);
}

//回调函数
function productModelBack(data) {
    clearUp(); //清空divup中得元素
    //添加元素
    var list = data.value;
    len = list.length;
    if (currentPage == 0) {
        $("#backPage").css("display", "none");
    } else {
        $("#backPage").css("display", "inline");
    }
    if (len < 5) {
        $("#forwardPage").css("display", "none");
    } else {
        $("#forwardPage").css("display", "inline");
    }
    if (len > 0) {
        for (i = 0; i < list.length; i++) {
            //保持选中的产品
            for (j = 0; j < productArr.length; j++) {
                if (list[i].productID == productArr[j]) {
                    $("#checkBox" + i).attr("checked", true);
                    break;
                }
            }
            //保持已经存在于比较栏中的产品的多选框看不见
            for (k = 0; k < compareArr.length; k++) {
                if (list[i].productID == compareArr[k]) {
                    $("#checkBox" + i).css("display", "none");
                    break;
                }
            }
            $("#img" + i).attr("src", "../" + list[i].middleImage).attr("alt", list[i].productModel);
            $("#checkBox" + i).attr("value", list[i].productID);
            $("#span" + i).text(list[i].productModel);
            $("#Div" + i).show();
        }
    } else {
        alert("该型号暂无产品上架!");
    }
}

//清除Updiv
function clearUp() {
    for (i = 0; i < 6; i++) {
        $("#Div" + i).hide();
        $("#img" + i).removeAttr("src");
        $("#checkBox" + i).removeAttr("value").attr("checked", false).css("display", "block");
    }
}


//把数据放入数组中.
function checkIntoArr(obj) {
    if (obj.checked) {//如果多选框选中,则放入数组中
        if (productArr.length == 4) {
            obj.checked = false;
            alert("您已经选中了4种产品了.");
        } else {
            productArr.push(obj.value);
            imageArr.push(obj.previousSibling.src);
            productModel.push(obj.nextSibling.innerText);
        }
    } else {//如果为选中,这从数组中移除
        for (i = 0; i < productArr.length; i++) {
            if (obj.value == productArr[i]) {
                productArr.splice(i, 1);
                imageArr.splice(i, 1);
                productModel.splice(i, 1);
                break;
            }
        }
    }
}
/************************************************************************************/

/***************************************中div的处理函数******************************/
//把数据放入下面的div层中
function putPToDownDiv() {
    clearDownDiv();
    compareArr = productArr.slice(0); //放入下层中后数组转移,以便下层处理
    compareImgArr = imageArr.slice(0);
    compareModel = productModel.slice(0);
    finallyArr = productArr.slice(0);
    for (i = 0; i < productArr.length; i++) {
        for (j = 0; j < len; j++) { //此处用到了全局函数len
            var value = $("#checkBox" + j).val();
            if (productArr[i] == value) {
                $("#checkBox" + j).attr("checked", false).css("display", "none"); //移除上面div选中产品下的多选框
            }
        }
        $("#imgDown" + i).attr("src", imageArr[i]).attr("alt", productModel[i]);
        $("#checkBoxDown" + i).attr("value", productArr[i]);
        $("#spanDown" + i).text(productModel[i]);
        $("#DivDown" + i).show();
    }
    if (productArr.length > 1) {
        $("#Button1").css("display", "block");
    } else {
        $("#Button1").css("display", "none");
    }
}

//清除下面div的层
function clearDownDiv() {
    for (index = 0; index < 4; index++) {
        $("#imgDown" + index).removeAttr("src");
        $("#checkDown" + index).removeAttr("value");
        $("#checkBoxDown" + index).attr("checked", false);
        $("#DivDown" + index).hide();
    }
}
/************************************************************************************/

/***************************************下div的处理函数******************************/
//把数据移除
function checkOutArr(obj) {
    if (obj.checked) {
        for (i = 0; i < compareArr.length; i++) {
            if (obj.value == compareArr[i]) {
                compareArr.splice(i, 1); //使下层移除数组中
                compareImgArr.splice(i, 1);
                compareModel.splice(i, 1);
                break;
            }
        }
    } else {
        compareArr.push(obj.value);
        compareImgArr.push(obj.previousSibling.src);
        compareModel.push(obj.nextSibling.innerText);
    }
}

//重新绑定数据
function clearCompareProduct() {
    for (i = 0; i < productArr.length; i++) {
        for (j = 0; j < len; j++) {
            var value = $("#checkBox" + j).val();
            if (productArr[i] == value) {
                $("#checkBox" + j).attr("checked", false).css("display", "block");
            }
        }
    }
    finallyArr = compareArr.slice(0);
    productArr = compareArr.slice(0);
    imageArr = compareImgArr.slice(0);
    productModel = compareModel.slice(0);
    putPToDownDiv();
}
/************************************************************************************/
function pageForward() {
    currentPage++;
    getProductByType(currentPage);
}

function pageBack() {
    currentPage--;
    getProductByType(currentPage);
}
/**********************************最后的传参****************************************/

function goAhead() {
    if (finallyArr.length > 1) {
        var params = finallyArr.join(',')
        window.open("CompareResult.aspx?Param=" + params);
    } else {
        alert("选择的产品数不能构成比较,请选择两件以上产品进行比较!");
        return false;
    }
}
/************************************************************************************/

