if (typeof self.carscom == 'undefined') self.carscom = {};

(function($) {
    $.fn.CompareManager = function(params) {
        var VALID_COMPARE_YEAR = 1997;
        if (params.year && params.year < VALID_COMPARE_YEAR) {
            $(this).find(':checkbox').add('.compare-ui', this).hide();
            return this;
        }
        
        return this.each(function() {
            var queue = [];
            var myInputs = $(this).find(':checkbox');
            var myInputContents = myInputs[myInputs.length - 1];
            var queryBase, queryMax;
            if (params && params.myid) {
                queryBase = 'modelCompare.jsp?myids='+params.myid+',';
                queryMax = 3;
            }
            else {
                queryBase = 'trimCompare.jsp?acodes=';
                queryMax = 4;
            }
            myInputs.click(function() {
                if (this.checked) {
                    queue.push(this);
                    if (queue.length > queryMax) queue.shift().checked = false;
                }
                else {
                    for (var item in queue) {
                        if (queue[item] == this) queue.splice(item, 1);
                    }
                }
            });
            $(this).find('.submitter').click(function() {
                var qs = '';
                if($('#selectGT').length) {
                var myInputsLength = myInputs.length;
                myInputs = $('#competingVehicles').find(':checkbox');
                }
                var myInputsLength2 = myInputs.length;
                myInputs.filter(':checked').each(function() { qs += (qs.length > 0? ',':'') +$(this).val() });
                if (qs.length > 0) {
                    location.href = 'http://www.cars.com/go/compare/'+queryBase+qs;
                }
            });
            $(function() {myInputs.attr('checked',false)});
        });
    }
})(jQuery);
