    var search_column;  
    
    function CloseCompare(element) {
        var vin = $(element).parents('.column').find('div.vin').html();
        
        $.post('/ajax/compare.php', {action: 'remove_return_search', vin: vin}, function(data) {
            
            var column = $(element).parents('.column');
            column.html(data);
            
            column.find('select.make').change(function(){
                SetCommonUsedCarModelOptionsByJquery(
                    $(this).parents('form').children('select.model'),
                    $(this).val(),
                    'Select Model'
                );
            });
        });
    }
	
	function VastCloseCompare(element) {
        var vin = $(element).parents('.column').find('div.vin').html();
        
        $.post('/ajax/compare.php', {action: 'vast_remove_return_search', vin: vin}, function(data) {
            
            var column = $(element).parents('.column');
            column.html(data);
            
            column.find('select.make').change(function(){
                SetVastCarModelOptionsByJquery(
                    $(this).parents('form').children('select.model'),
                    $(this).val(),
                    'Select Model'
                );
            });
        });
    }
    
    function CompareSearch(form) {
        // LETS MAKE SURE THAT THEY HAVE A ZIPCODE ENTERED
        if ( $(form).find(':input[name="make"]').val() == '' ) {
            alert('Please select a make.');
            return false;
        }
		if ( $(form).find(':input[name="model"]').val() == '' ) {
            alert('Please select a model.');
            return false;
        }
		if ( $(form).find(':input[name="year_to"]').val() == '' ) {
            alert('Please select a year.');
            return false;
        }
        if ( !is_valid_zipcode($(form).find(':input[name="zipcode"]').val()) ) {
            alert('Please enter a valid US zipcode.');
            return false;
        }
        
        
        
        // FIGURE OUT THE COLUMN
        search_column = $(form).parents('div.column');
        
        DisplayModalBoxFromUrlPost(
            '/ajax/search.php', 
            { 
                template: 'compare',
                make: $(form).find(':input[name="make"]').val(),
                model: $(form).find(':input[name="model"]').val(),
                zipcode: $(form).find(':input[name="zipcode"]').val(),
                year_to: $(form).find(':input[name="year_to"]').val(),
				per_page: 10, 
                sort_column: 'year',
                sort_direction: 'desc'                
            }, 
            '#modal'            
        );
        
        return false;
    }
	
    function VastCompareSearch(form) {
        // LETS MAKE SURE THAT THEY HAVE A ZIPCODE ENTERED
        if ( $(form).find(':input[name="make"]').val() == '' ) {
            alert('Please select a make.');
            return false;
        }
		if ( $(form).find(':input[name="model"]').val() == '' ) {
            alert('Please select a model.');
            return false;
        }
		if ( $(form).find(':input[name="year"]').val() == '' ) {
            alert('Please select a year.');
            return false;
        }
        if ( !is_valid_zipcode($(form).find(':input[name="zipcode"]').val()) ) {
            alert('Please enter a valid US zipcode.');
            return false;
        }
        
        
        
        // FIGURE OUT THE COLUMN
        search_column = $(form).parents('div.column');
        
        DisplayModalBoxFromUrlPost(
            '/ajax/search.php', 
            { 
                vast: true,
				template: 'vast-compare',
                make: $(form).find(':input[name="make"]').val(),
                model: $(form).find(':input[name="model"]').val(),
                zipcode: $(form).find(':input[name="zipcode"]').val(),
                year: $(form).find(':input[name="year"]').val(),
				per_page: 10
            }, 
            '#modal'            
        );
        
        return false;
    }
    
    function PopupCompareList() {
			DisplayModalBoxFromUrlPost(
            '/ajax/compare.php', 
            { 
                action: 'popup_window'
            }, 
            '#modal'            
        );        
    }
	
	function VastPopupCompareList() {
			DisplayModalBoxFromUrlPost(
            '/ajax/compare.php', 
            { 
                action: 'vast_popup_window'
            }, 
            '#modal'            
        );        
    }
    
    function RefreshComparePopup() {
        $.post(
            '/ajax/compare.php', 
            { 
                action: 'popup'
            },
            function(data) {
                $('#modal .window').html(data);
            }
        );
    }
	
	function VastRefreshComparePopup() {
        $.post(
            '/ajax/compare.php', 
            { 
                action: 'vast_popup'
            },
            function(data) {
                $('#modal .window').html(data);
            }
        );
    }
    
    function UpdateCompareListing(element) {
        $.post(
            '/ajax/compare.php', 
            { 
                action: 'listing'
            },
            function(data) {
                element.html(data);
            }
        );    
    }
    
    function VastUpdateVSR(element) {
        $.post(
            '/ajax/compare.php', 
            { 
                action: 'vastvsr'
            },
            function(data) {
                element.html(data);
            }
        );    
    }
	
	function VastUpdateCompareListing(element) {
        $.post(
            '/ajax/compare.php', 
            { 
                action: 'vast_listing'
            },
            function(data) {
                element.html(data);
            }
        );    
    }
    
    function CloseSearchSelectVin(vin, zipcode) {
        if ( typeof zipcode != 'undefined' ) {
            $('.zipcode[value="Zip Code"]').val(zipcode);
        }
        
        // LOAD UP THE COMPARE TO THE SEARCH COLUMN        
        CloseModalBox('#modal');
        LoadCompare(search_column, vin);
    }
    
    function LoadCompare(column, vin) {
        // GET THE POSITION
        var position = $('div.column').index(column) - 1;
        
        $.post(
            '/ajax/compare.php',
            {
                action: 'add',
                position: position,
                vin: vin
            },
            function(data) {
                column.html(data);
            }
        );
    }
    
    function ContactDealer(vin) {
        DisplayModalBoxFromUrlPost(
            '/ajax/leadform.php', 
            { 
                template: 'modal',
                vin: vin
            },                                                                                             
            '#modal',
            function(){
                FormHelper('#modal');                
            }
        );
        
    }
    
    function ClearAllVehicles() {
        // CLEAR THE SESSION DATA
        $.post('/ajax/compare.php', { action: 'clear_all' }, function(data) {
            $('div.column:not(.first)').html(data);
            
            $('select.make').change(function(){
                SetCommonUsedCarModelOptionsByJquery(
                    $(this).parents('form').children('select.model'),
                    $(this).val(),
                    'Select Model'
                );
            });
        });
    }
	
	function VastClearAllVehicles() {
        // CLEAR THE SESSION DATA
        $.post('/ajax/compare.php', { action: 'vast_clear_all' }, function(data) {
            $('div.column:not(.first)').html(data);
            
            $('select.make').change(function(){
                SetVastCarModelOptionsByJquery(
                    $(this).parents('form').children('select.model'),
                    $(this).val(),
                    'Select Model'
                );
            });
        });
    }
    
    function QuickAddToCompare(vin) {
        $.ajax(
            {
                url: '/ajax/compare.php',
                async: false,
                data: { action: 'quick_add', vin: vin },
                type: 'POST'                
            }
        );
    }
    
    function QuickRemoveFromCompare(vin) {
        $.ajax(
            {
                url: '/ajax/compare.php',
                async: false,
                data: { action: 'quick_remove', vin: vin },
                type: 'POST'
            }
        );
    }
    
    function SellerContacted(vin) {
        $('.comparison-contact-dealer[rel="'+vin+'"]').html(
            'Thank you for contacting!'
        );
    }
    
    function UpdateListingCompareButton() {
        var vin = $('#vin').html();
        
        $.post('/ajax/compare.php', { action: 'update_listing_compare_button', vin: vin }, function(data) {
            $('#comparetogglebutton').html(data);
        });
    }
	
	function VastUpdateListingCompareButton() {
        var item_id = $('#item_id').html();
			
        $.post('/ajax/compare.php', { action: 'vast_update_listing_compare_button', vin: item_id }, function(data) {
            $('#comparetogglebutton').html(data);
        });
    }
