﻿var comparisonUrl = '/car-gps-devices/comparison/';
var comparisonTooManyErrorString = 'You can only compare at most 3 products at a time.';
var comparisonTooLittleErrorString = 'Please select 2 to 3 products to compare.';
var comparisonCookieName = 'productComparisonList';
var comparisonListArray = new Array();

$(document).ready(function() {
    if (($.cookie(comparisonCookieName) != null) && ($.cookie(comparisonCookieName).length > 0)) {
        comparisonListArray = $.cookie(comparisonCookieName).split(',');
    }

    $('.comparison-checkbox').each(function() {
        if (comparisonListArray.length > 0) {
            for (i = 0; i < comparisonListArray.length; i++) {
                if (comparisonListArray[i] == $(this).val()) {
                    $(this).attr('checked', true);
                }
            }
        }
        $(this).click(function() {
            return ManageComparisonCheckbox(this);
        });
    });

    $('.compareproductdropdown select').change(function() {
        return ManageComparisonDropDown(this);
    });
});

function ManageComparisonDropDown(dropdown) {
    if ($(dropdown).children(' option:selected').val() > 0) {
        if (($.cookie(comparisonCookieName) != null) && ($.cookie(comparisonCookieName).length > 0)) {
            comparisonListArray = $.cookie(comparisonCookieName).split(',');
        }

        if (comparisonListArray.length > 0) {
            for (i = 0; i < comparisonListArray.length; i++) {
                if (comparisonListArray[i] == $(dropdown).siblings('input[type*=hidden]').val()) {
                    comparisonListArray[i] = $(dropdown).children(' option:selected').val();
                    $.cookie(comparisonCookieName, comparisonListArray.toString(), { path: '/' });
                    top.location.href = comparisonUrl;
                }
            }
        }
    }
    return false;
}

function AddToComparison() {
    if ($('.addproductdropdownlist option:selected').val() > 0) {
        if (($.cookie(comparisonCookieName) != null) && ($.cookie(comparisonCookieName).length > 0)) {
            comparisonListArray = $.cookie(comparisonCookieName).split(',');
        }

        if (comparisonListArray.length < 3) {
            comparisonListArray.push($('.addproductdropdownlist option:selected').val());
            $.cookie(comparisonCookieName, comparisonListArray.toString(), { path: '/'});
        }

        top.location.reload();
    }
    return false;
}

function ManageComparisonCheckbox(checkbox) {
    if (($.cookie(comparisonCookieName) != null) && ($.cookie(comparisonCookieName).length > 0)) {
        comparisonListArray = $.cookie(comparisonCookieName).split(',');
    }

    if (comparisonListArray.length > 0) {
        for (i = 0; i < comparisonListArray.length; i++) {
            if (comparisonListArray[i] == $(checkbox).val()) {
                comparisonListArray.splice(i, 1);
                $.cookie(comparisonCookieName, comparisonListArray.toString(), { path: '/'});
                return true;
            }
        }
    }

    if (comparisonListArray.length < 3) {
        comparisonListArray.push($(checkbox).val());
        $.cookie(comparisonCookieName, comparisonListArray.toString(), { path: '/' });
        return true;
    }
    else {
        alert(comparisonTooManyErrorString);
        return false;
    }
}
