﻿var checkedSkus = new Array();
var visibleChecked = new Array();

function PC_OnLoad() {
    visibleChecked = new Array();
    var cookieString = getCookie("comparisonSkus");
    if (cookieString != null && cookieString != '') {
        checkedSkus = cookieString.split(',');
    }
    
    var searchResultsGrid = document.getElementById("SearchResultsGrid1_UpdatePanel1");
    var divs = searchResultsGrid.getElementsByTagName("div");
    var loopTimes = divs.length;
    for (i = 0; i < loopTimes; i++) {
        var e = divs[i];
        if (e.id.indexOf("_divCompareApply") >= 0) {
            PC_ShowHideCompareButton(e);
        } else if (e.id.indexOf("_divCompareRow") >= 0) {
            e.style.visibility = "";
        } else if (e.id.indexOf("_divCompareBox") >= 0) {
            var chkBoxes = e.getElementsByTagName("input");
            var chkLength = chkBoxes.length;
            for (j = 0; j < chkLength; j++) {
                var chkBox = chkBoxes[j];
                if (chkBox.type == "checkbox" && chkBox.id.indexOf("_chkCompare") >= 0) {
                    var compareId = chkBox.id.replace("_chkCompare", "_lnkCompare");
                    if (chkBox.checked) {
                        document.getElementById(compareId).className = "selected";
                        visibleChecked.push(document.getElementById(chkBox.id.replace("_chkCompare", "_lblSku")).innerHTML);
                        visibleChecked.push(compareId);
                    } else {
                        document.getElementById(compareId).className = "";
                    }
                }
            }
        }
    }
}
function PC_ShowHideCompareButton(e) {
    if (checkedSkus.length > 0) {
        e.style.visibility = "";
    } else {
        e.style.visibility = "hidden";
    }
}
function PC_CompareClick(sku, sender) {
    var isSenderSelected;
    if (sender.className == "") {
        sender.className = "selected";
        visibleChecked.push(sku);
        visibleChecked.push(sender.id);
        isSenderSelected = true;
    }
    else {
        sender.className = "";
        isSenderSelected = false;
    }
    if (checkedSkus.length < 4 && isSenderSelected) {
        PC_SelectSku(sku, sender.id);
    } else if (checkedSkus.length == 4 && isSenderSelected) {
        PC_DeselectSku(checkedSkus[0]);
        checkedSkus.shift();
        PC_SelectSku(sku, sender.id);
    } else {
        PC_DeselectSku(sku);
        PC_RemoveId(sku);
    }
    writeCookie("comparisonSkus", checkedSkus.toString());

    var searchResultsGrid = document.getElementById("SearchResultsGrid1_UpdatePanel1");
    var divs = searchResultsGrid.getElementsByTagName("div");
    var loopTimes = divs.length;
    for (i = 0; i < loopTimes; i++) {
        var e = divs[i];
        if (e.id.indexOf("_divCompareApply") >= 0) {
            PC_ShowHideCompareButton(e);
        }
    }
}
function PC_RemoveId(sku) {
    for (i = 0; i <= checkedSkus.length; i++) {
        if (checkedSkus[i] == sku) {
            checkedSkus.splice(i, 1);
        }
    }
}
function PC_SelectSku(sku, compareId) {
    checkedSkus.push(sku);
    document.getElementById(compareId.replace("_lnkCompare", "_chkCompare")).checked = true;
}
function PC_DeselectSku(sku) {
    for (i = 0; i <= visibleChecked.length; i++) {
        if (visibleChecked[i] == sku) {
            var compareId = visibleChecked[i + 1];
            document.getElementById(compareId).className = "";
            document.getElementById(compareId.replace("_lnkCompare", "_chkCompare")).checked = false;
        }
    }
}
