var comparePrev = "/lib/yhst-17116217969881/comparePrev.png";
var printImage = "<img border=0 src=/lib/yhst-17116217969881/comparePrint.png align=absmiddle>";
var viewItem = "<img border=0 src=/lib/yhst-17116217969881/viewItemImage.png>";
var spacerGif = "/lib/yhst-17116217969881/spacer.gif";

var compareItemCount = 0;
var compareItemLoaded = 0;

jQuery(document).ready( function() {
    var compare;
    
    if (queryString("compare"))
        compare = queryString("compare");
    else
        compare = GetCookie("compare");
    if (compare == null)
    {
        jQuery("#compareTableDiv").append("Please select one or more items to compare first.");
/*        
        compareAddItem(jsonItemDetails);
        compareAddItem(jsonItemDetails1);
        compareAddItem(jsonItemDetails2);
*/
    }
    else
    {
        jQuery("#compareTableDiv").html("<div style='height: 2in; margin-top: 1in; text-align: center'><b>Please wait...</b></div>");
        compare = compare.split(";");
        compareItemCount = compare.length;
        for (var i = 0; i < compare.length; i++)
        {
            compareLoadItem(compare[i]);
        }
    }
});

document.write ( "<a id=comparePrev href=javascript:void(0) onclick='history.go(-1)'><img border=0 src=" + comparePrev + "></a>" );

// create div to hold the comparison table.
document.write("<div id=compareTableDiv></div>");
if (!document.getElementById("jsonReceive"))
{
    document.write("<div id=jsonReceive></div>");
}
    
function compareLoadItem(id)
{
    jQuery("#jsonReceive").load( id + ".html #jsonItemDetails", 
        function() { 
            eval(jQuery(this).find("div").get()[0].innerHTML.replace(/\r\n/g,'')); 
            compareAddItem(jsonItemDetails); 
            });
}

function compareAddItem(record)
{
    // update compareItemBag
    compareItemLoaded ++;
    
    if (!document.getElementById("compareTable"))
    {
        jQuery("#compareTableDiv").html("");
        jQuery("#compareTableDiv").append("<table id=compareTable cellspacing=4>" +
                                        "<tr id=compareTR_delete class=odd><th><img height=1 width=200 src=" + spacerGif + "></th></tr>" + 
                                        "<tr id=compareTR_image class=even><th id=thPrint><a href='javascript:self.print()'>" + printImage + " Print Page</a></th></tr>" +
                                        "<tr id=compareTR_name class=odd><th></th></tr>" +
                                        "<tr id=compareTR_price class=even><th>Price</th></tr>" +
                                     "</table>");
    }
    
    jQuery("#compareTR_delete").append("<td prodid=" + record["id"] + " class=compareTD_" + record["id"] + " align=center><a href='javascript:void(0)' onclick=compareDelete('" + record["id"] + "')>Remove Item</a></td>");
    
    var cells = document.getElementById("compareTR_delete").cells.length;
    // fill up all the cells of all prior columns
    for (var rows = 0; rows < document.getElementById("compareTable").tBodies[0].rows.length; rows++)
    {
        for (var cols = document.getElementById("compareTable").tBodies[0].rows[rows].cells.length; cols < cells; cols++)
        {
            var theId = jQuery(document.getElementById("compareTR_delete").cells[cols]).attr("prodid");
            jQuery(document.getElementById("compareTable").tBodies[0].rows[rows]).append("<td class=compareTD_" + theId + ">&nbsp;</td>");
        }
    }

    for (var key in record)
    {
        if (key != "dummy" && key != "id")
        {
            // check if a table row exists with this key as its ID
            if (!document.getElementById("compareTR_" + key))
            {
                var cls;
                if (document.getElementById("compareTable").tBodies.length == 0)
                {
                    cls = "class=even";
                }
                else
                {
                    cls = (document.getElementById("compareTable").tBodies[0].rows.length % 2 == 0 ? "class=odd" : "class=even");
                }
                
                var theId = jQuery(document.getElementById("compareTR_delete").cells[1]).attr("prodid");
                jQuery("#compareTable").append("<tr id=compareTR_" + key + " " + cls + "><th>" + record[key][0] + "</th><td class=compareTD_" + theId + "></td></tr>");
                // fill up all the cells of all prior columns
                for (var rows = 0; rows < document.getElementById("compareTable").tBodies[0].rows.length; rows++)
                {
                    for (var cols = document.getElementById("compareTable").tBodies[0].rows[rows].cells.length; cols < cells; cols++)
                    {
                        var theId = jQuery(document.getElementById("compareTR_delete").cells[cols]).attr("prodid");
                        jQuery(document.getElementById("compareTable").tBodies[0].rows[rows]).append("<td class=compareTD_" + theId + ">&nbsp;</td>");
                    }
                }
            }
            
            var cellVal = "";
            if (key == "image")
            {
                cellVal = "<center><img src=" + record[key][1] + "></center>";
            }
            else if (key == "name")
            {
                cellVal = "<a href=" + record["id"] + ".html>" + record[key][1] + "</a>";
            }
            else
            {
                cellVal = record[key][1];
            }
            jQuery("#compareTR_" + key + " td:last").html(cellVal.replace(/\`/gi,'"'));
        }
    }
    
    if (compareItemCount == compareItemLoaded)
    {
        var cls;
        if (document.getElementById("compareTable").tBodies.length == 0)
        {
            cls = "class=even";
        }
        else
        {
            cls = (document.getElementById("compareTable").tBodies[0].rows.length % 2 == 0 ? "class=odd" : "class=even");
        }
        jQuery("#compareTable").append("<tr id=compareTR_freeShipping " + cls + "><th>Shipping</th></tr>");
        var cols = document.getElementById("compareTR_delete").cells.length;
        while ( document.getElementById("compareTR_freeShipping").cells.length < cols )
        {
            var theId = jQuery(document.getElementById("compareTR_delete").cells[document.getElementById("compareTR_freeShipping").cells.length]).attr("prodid");
            jQuery("#compareTR_freeShipping").append("<td class=compareTD_" + theId + ">FREE Ground Shipping</td>");
        } 

        if (document.getElementById("compareTable").tBodies.length == 0)
        {
            cls = "class=even";
        }
        else
        {
            cls = (document.getElementById("compareTable").tBodies[0].rows.length % 2 == 0 ? "class=odd" : "class=even");
        }
        jQuery("#compareTable").append("<tr id=compareTR_viewItem " + cls + "><th>&nbsp;</th></tr>");
        var cols = document.getElementById("compareTR_delete").cells.length;
        while ( document.getElementById("compareTR_viewItem").cells.length < cols )
        {
            var theId = jQuery(document.getElementById("compareTR_delete").cells[document.getElementById("compareTR_viewItem").cells.length]).attr("prodid");
            jQuery("#compareTR_viewItem").append("<td class=compareTD_" + theId + "><a href=" + theId + ".html>" + viewItem + "</a></td>");
        } 
        
        //jQuery("#compareTableDiv").css("height", jQuery("#compareTable").height() + 40 + "px");
    }
}

function compareDelete(id)
{
    var compare = GetCookie("compare");
    if (compare == null)
        compare = "";

    if (compare == "")
        compare = new Array();
    else  
        compare = compare.split(";");

    var j = jQuery.inArray(id,compare);
    if (j > -1)
    {
        compare.splice(j,1);
    }
    if (compare.length > 0)
    {
        compare = compare.join(";");
    if (compare != "")
        SetCookie("compare",compare);
    else
        DeleteCookie("compare");
    }
    else
    {
        DeleteCookie("compare");
    }
    jQuery(".compareTD_" + id).remove();
}

function PageQuery(q) {
if(q.length > 1) this.q = q.substring(1, q.length);
else this.q = null;
this.keyValuePairs = new Array();
if(q) {
for(var i=0; i < this.q.split("&").length; i++) {
this.keyValuePairs[i] = this.q.split("&")[i];
}
}
this.getKeyValuePairs = function() { return this.keyValuePairs; }
this.getValue = function(s) {
for(var j=0; j < this.keyValuePairs.length; j++) {
if(this.keyValuePairs[j].split("=")[0] == s)
return this.keyValuePairs[j].split("=")[1];
}
return false;
}
this.getParameters = function() {
var a = new Array(this.getLength());
for(var j=0; j < this.keyValuePairs.length; j++) {
a[j] = this.keyValuePairs[j].split("=")[0];
}
return a;
}
this.getLength = function() { return this.keyValuePairs.length; } 
}
function queryString(key){
var page = new PageQuery(window.location.search); 
var ret = page.getValue(key);
if (ret)
    return unescape(page.getValue(key)); 
else
    return false;
}
