/*
*对比框JS。zhoujm
*2007年6月25日10:52:44
*
*/

document.write("<style>\n" +
               ".comparebilitybox{ background:url(http://image.yesky.com/TLimages/product/productimg/com_6.jpg) no-repeat top;\n" +
               "width:164px; line-height:24px;position:absolute; top:100px; right:20px;font-size:12px;\n" +
               "padding-top:20px;height:31px;}\n" +
               ".com_pboxz{width:130px;float:left;font-size:12px;color:#fff;font-weight:bold;text-align:right;}\n" +
               ".com_pboxr{width:34px;float:right;text-align:right;text-align:center;padding-top:3px;color:#19A319;}\n" +
               ".com_pbox{background:url(http://image.yesky.com/TLimages/product/productimg/com_6_1.gif) repeat-y;width:164px;clear:both;}\n" +
               ".com_pbox li{list-style-position:outside;list-style-type:none;width:164px;clear:both;line-height:21px;float:left;padding-top:3px;text-align:center;}\n" +
               ".com_pbox li div{width:120px;float:left;padding-left:14px;overflow:hidden;white-space:nowrap;text-overflow:clip;color:#8C8D95;text-align:left;}\n" +
               ".com_pbox li span{width:30px;float:right;color:#19A319;cursor:pointer;}\n" +
               ".com_pclear { clear: both; font-size: 1px; visibility: hidden; width: 1px; line-height:1px!important;}\n" +
               ".com_pbott{ background:url(http://img.yesky.com/TLimages/product/productimg/com_9.gif) no-repeat; width:164px;height:6px;}\n" +
               ".com_pbox font{width:164px;clear:both;display:block;text-align:center;height:40px;}\n" +
               ".com_pbtn7 {font-size:12px;height:30px;cursor:pointer;background:#D8D5CD; border-bottom:1px #8C8C8C solid;border-right:1px #8C8C8C solid;margin-top:5px;}\n" +
               ".com_pbox li a:link,.com_pbox li a:visited { text-decoration:none;color:#000;}\n" +
               ".com_pbox li a:active,.com_pbox li a:hover { text-decoration:underline;color:red;}\n" +
               "</style>" +
               "<div class=\"comparebilitybox\" style=\"display:none;\" id=\"flowComparabilityDiv\">\n" +
               "<div class=\"com_pboxz\">产品比较框</div>\n" +
               "<div class=\"com_pboxr\"><img onclick=\"showHiddenComparabilityDiv();\" style=\"cursor:pointer;\" src=\"http://image.yesky.com/TLimages/product/productimg/com_7.gif\"/></div>\n" +
               "<div class=\"com_pbox\">\n" +
               "<li><div>点击型号删除产品</div><span onclick=\"deleteAllComparability()\">清除</span></li>\n" +
               "<li id=\"comparabilityProductSpan\">\n" +
               "</li>\n" +
               "<li><input type=\"button\" class=\"com_pbtn7\" onclick=\"comparabilityProduc();\" value=\"比较选中产品\"></li>" +
               "<li><a href=\"#\" onclick=\"window.open('http://q.yesky.com/atten/product/list.do');return false;\">管理收藏</a></li>\n" +
               "<div class=\"com_pclear\"></div>\n" +
               "</div>\n" +
               "<div class=\"com_pbott\"></div>\n" +
               "</div>");

function stringTrim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, "");
}
//定义cookie的属性。
var opteionObj = new Object();
opteionObj.path = "/";
opteionObj.domain = "";
opteionObj.expire = (new Date((new Date()).getTime() + 24 * 365 * 3600000)).toGMTString();
var initComare = true;
var comparabilityProductSpan = null;
//显示对比产品的HTML元素

function startComparability() { //一个新页面开始显示.
    comparabilityProductSpan = document.getElementById("comparabilityProductSpan");
    viewComparabilityProduct();
    window.setInterval("flowComparability()", 5);
}

function addcompare(catalogid, productid, productname) {      //加入产品ID。分类ID.产品名称进cookie 同时也加进对比框.
    try {
        if (initComare) {   //显示页面。
            initComare = false;
            startComparability();
        }
        showElement(document.getElementById('flowComparabilityDiv'));
        //显示对比框

        productname = stringTrim(productname);
        var cookiecatalogid = getProductCookie("catalogid");
        if (setComparabilityProductToCookie(catalogid, productid, productname)) {
            var strHtml = "<div id='comparabilityAproduct" + productid + "_1'><a href='#' onclick='removeComparabilityProduct(" + productid + ");return false;'>" + productname + "</a></div><span id='comparabilityAproduct" + productid + "_2'><a href='#' onclick='removeComparabilityProduct(" + productid + ");return false;'><img src='http://image.yesky.com/TLimages/product/productimg/com_8.gif' align='absmiddle'/></a></span>"
            if (cookiecatalogid == catalogid) {
                comparabilityProductSpan.innerHTML += strHtml;
            } else {
                comparabilityProductSpan.innerHTML = strHtml;
            }
        }
    } catch(e) {
        return false;
    }
    return true;
}

function getComparabilityProduct() {   //把cookie中的字符串取出来组成一个以逗号分开的字符串。
    var productlist = getComparabilityProductByObject();
    var ids = "";
    if (productlist.length > 1) {
        for (var i = 0; i < productlist.length; i++) {
            if (i == 0) {
                ids += productlist[i].productid
            } else {
                ids += "," + productlist[i].productid
            }
        }
    } else {
        alert("至少选择2件以上的产品进行比较！");
    }
    return ids;
}
function viewComparabilityProduct() {   //打开新页面时。把cookie中的数据读出来显示在对比框中。
    var productlist = getComparabilityProductByObject();
    if (productlist.length > 0) {
        var strHtml = "";
        for (var i = 0; i < productlist.length; i++) {
            strHtml += "<div id='comparabilityAproduct" + productlist[i].productid + "_1'><a href='#' onclick='removeComparabilityProduct(" + productlist[i].productid + ");return false;'>" + productlist[i].productname + "</a></div><span id='comparabilityAproduct" + productlist[i].productid + "_2'><a href='#' onclick='removeComparabilityProduct(" + productlist[i].productid + ");return false;'><img src='http://image.yesky.com/TLimages/product/productimg/com_8.gif' align='absmiddle'/></a></span>"
        }
        comparabilityProductSpan.innerHTML = strHtml;
    }
}
function removeComparabilityProduct(productid, ischeck) {//从cookie中移动一个产品。同时也从对比框中移除。
    var productlist = getComparabilityProductByObject();
    if (ischeck) { //移除时检查看是否有2个。
        if (productlist.length <= 2) {
            alert("至少要有2个产品进行对比");
            return false;
        }
    }
    var removeChildDiv_1 = document.getElementById("comparabilityAproduct" + productid + "_1");
    var removeChildDiv_2 = document.getElementById("comparabilityAproduct" + productid + "_2");
    if (removeChildDiv_1 != null) {
        comparabilityProductSpan.removeChild(removeChildDiv_1);
    }
    if (removeChildDiv_2 != null) {
        comparabilityProductSpan.removeChild(removeChildDiv_2);
    }

    var productids = "";
    for (var i = 0; i < productlist.length; i++) {     //把cookie中的产品出取出来。去掉要移除的产品ID再重新组合起来。放进cookie中。
        if (productlist[i].productid != productid) {
            if (productids.length < 1) {
                productids = productlist[i].productid + "|" + productlist[i].productname;
            } else {
                productids += ("###" + productlist[i].productid + "|" + productlist[i].productname);
            }
        }
    }
    if (productids.length > 0) {
        setProductCookie("productid", productids, opteionObj);
    } else {
        setProductCookie("productid", "", opteionObj);
    }
    return true;
}
function comparabilityProduc() {    //比较。。。。。
    var ids = getComparabilityProduct();
    if (ids != null && ids != "") {
        window.open(v_mainurl+"/compare/productcompare.do?surl="+v_surl+"&productids=" + ids);
    }
}
function deleteAllComparability() {  //册除加入到cookie的分类的产品
    setProductCookie("productid", "", opteionObj);
    setProductCookie("catalogid", "", opteionObj);
    comparabilityProductSpan.innerHTML = "";
    return false;
}
function getComparabilityProductByObject() {    //把分类ID。产品名。产品ID。从cookie中了出封装成一个Ojbect对象数组。。
    var productlist = new Array();
    var cookiecatalogid = getProductCookie("catalogid");
    var productIds = getProductCookie("productid");
    if (productIds && productIds.length > 0) {
        var allProduct = productIds.split("###");
        for (var i = 0; i < allProduct.length; i++) {
            var aProduct = allProduct[i].split("|");
            var obj = new Object();
            obj.productid = aProduct[0];
            obj.productname = aProduct[1];
            obj.catalogid = cookiecatalogid;
            productlist[productlist.length] = obj;
        }
    }
    return productlist;
}
function setComparabilityProductToCookie(catalogid, productid, productname) { //写产品到cookie
    var productlist = getComparabilityProductByObject();
    if (productlist.length >= 5) {            //如果有5个产品，则 超过就不再添加进cookie
        alert("一次只能比较5个同类型的产品！")
        return false;
    }

    var cookiecatalogid = getProductCookie("catalogid");
    var isIncookie = false;
    if (cookiecatalogid != catalogid) {    //新加的产品分类是否和原来的分类相同。不相同则更新分类的cookie
        setProductCookie("catalogid", catalogid, opteionObj);
    } else {     //新加的产品是新的分类。则不用检查产品是否存在。无论存在都会更新cookie
        for (var i = 0; i < productlist.length; i++) { //查当前增加的产品是否已经存在于cookie中。
            if (productlist[i].productid == productid) {
                isIncookie = true;
                break;
            }
        }
    }
    if (!isIncookie) {     //没有在cookie中则添加进cookie
        if (cookiecatalogid != catalogid) {   //如果是不同的分类，可清除原来已经添加的产品
            setProductCookie("productid", productid + "|" + productname, opteionObj, opteionObj);
        } else {
            var cookieProductStr = getProductCookie("productid");
            if (cookieProductStr.length > 0) {    //计算出要添加进cookeis的产品字符串。
                cookieProductStr += ("###" + productid + "|" + productname);
            } else {
                cookieProductStr = productid + "|" + productname;
            }
            setProductCookie("productid", cookieProductStr, opteionObj);
        }
    } else {
        alert("[" + productname + "] 已在对比框中！")
        return false;
    }
    return true;
}
function showHiddenComparabilityDiv(isView) { //显示关闭对比框。  是不明是
    var div = document.getElementById('flowComparabilityDiv')
    if (div.style.display == "none") {
        showElement(div)
    } else {
        hiddenElement(div);
    }
}
function hiddenElement(obj) {//隐藏元素
    obj.style.display = "none";
}
function showElement(obj) { //显示元素
    obj.style.display = "inline";
}

var oldPositionComparability = 0;
function flowComparability() { //对比框浮动程序。
    var flowComparabilityDiv = document.getElementById("flowComparabilityDiv");
    var tmp = document.documentElement.scrollTop + document.documentElement.clientHeight - flowComparabilityDiv.offsetHeight - 200;
    if (tmp != oldPositionComparability) {
        flowComparabilityDiv.style.top = tmp;
        oldPositionComparability = tmp;
    }
}


//cookie 操作
function setProductCookie(name, value, option) {
    //用于存储赋值给document.cookie的cookie格式字符串
    var str = name + "=" + escape(value);
  if (option) {
        if (option.expire)str += ";expires=" + option.expire;    //设置安全性
        if (option.domain)str += ";domain=" + option.domain; //设置访问主机
        if (option.path)str += ";path=" + option.path;   //设置访问路径
    }
    document.cookie = str;
}
function getProductCookie(name) {
    var cookieArray = document.cookie.split(";");
    //得到分割的cookie名值对
    var cookie = new Object();
    for (var i = 0; i < cookieArray.length; i++) {
        var arr = cookieArray[i].split("=");
        //将名和值分开
        var varname = arr[0].replace(/\s/, "");
        if (varname == name)return unescape(arr[1]); //如果是指定的cookie，则返回它的值
    }
    return "";
}
function deleteProductCookie(name) {
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval = getProductCookie(name);
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

