﻿/* vars */
var compCookieName = "GN_Comp";
var maxComp = 4;

function ValidateCompare() {
    /* get cookie value */
    var selectedValues = readCookie(compCookieName);
    var selected = [];
    if (selectedValues) selected = selectedValues.split(",");

    var result = (selected.length > 1);

    if (!result) {
        alert("You must select more than one property to compare.");
    }

    return result;
}

/* wire up check boxes */
function ManageCompareCbxs() {

    /* get cookie value */
    var selectedValues = readCookie(compCookieName);
    var selected = [];
    if (selectedValues) selected = selectedValues.split(",");

    if ($(this).is(":checkbox")) {
        /* check box click - sync with cookie */
        if (this.checked === true) {
            /* add to array */
            selected.push(this.value);
        } else {
            var idx = $.inArray(this.value, selected);
            if (idx > -1) {
                /* remove from array */
                selected.remove(idx);
            }
        }
        /* write selected back to cookie */
        writeCookie(compCookieName, selected.join(","));
    } else {
        /* page load - set checked */
        if (selected.length > 0) {
            /* get check boxes */
            var cbxs = $(":checkbox.compare");
            cbxs.each(function(idx) {
                this.checked = ($.inArray(this.value, selected) > -1);
            });
        }
    }
    /* display current count */
    $("span.comp_selected").html(selected.length.toString());
    /* set disabled */
    if (selected.length == maxComp) {
        /* disable the rest */
        $(":checkbox.compare:not(:checked)").attr("disabled", "disabled");
    } else {
        /* enable them all */
        $(":checkbox.compare").removeAttr("disabled");
    }
}

$(function() {
    $("input[type=checkbox].compare").click(ManageCompareCbxs);
    ManageCompareCbxs();
});
