var advancedSearchLoaded   = false;
var newVehicleSearchLoaded = false;
var offerTypesSearchLoaded = false;
var advancedSearchCarCount = 0;
var advancedSearchVanCount = 0;

var resultDisplayKeyboardHighlight = 0;
var currentISearch = '';
var totalResults   = 0;
var favouritesLimit  = 6;
var quickSearchResults = new Array();

// Remembers the value for when moving away from the quick search and coming back
var rememberQuickVehicleSearchValue = '';

// Remembers results from quick search to show them again without ajax call
var rememberedDisplayText = '';

var possibleVehicleTypes   = ['car', 'van', 'bike'];

document.onkeydown = detectkeyPress;

function showEamonnHolmes () {
	// Open the dialog box
	$('#dialogEamonHolmes' ).dialog('open');

}

function showVideo(item){

	$('#eamonVideo1').hide();
	$('#eamonVideo2').hide();
	$('#eamonVideo3').hide();
	$('#eamonVideo4').hide();
	$('#eamonVideo5').hide();
	$('#eamonVideo' + item).show();
}

$(document).ready(function() {

	// Create tabs and start them working
	$("#tabVehicleSearch").tabs();
	$("#tabSaveCompare").tabs();
	$("#tabNewVehicleDetails").tabs();
	$("#tabUsedVehicleDetails").tabs();

	$('input[name=addToCompare]').change( function( event ) {
		if ( event.target.checked ) {
			addToCompare( event.target.value );
		} else {
			removeFromCompare( event.target.value );
		}
	});

	$('#frmQuickSearchUsedCars').submit(function(event){
		event.preventDefault();
	});

	initialiseAdvancedSearch();

	// Generate Price
	showMyFavourites()

	$('#layout_stockUpdates_email').click(
		function(event) {
			if ($('#layout_stockUpdates_email').val() == '- Enter Email Here -') {
				$('#layout_stockUpdates_email').val('');
			}
		}
		);

	/**
	* @ desc This is the pop up dialog box for Retrieving Favourites
	*/
	$("#dialogRetrieveFavourites").dialog({
		autoOpen: false,
		width: 600,
		modal: true,
		resizable: false,
		buttons: {
			'Submit': function() {
				retrieveFavourites();
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		close: function() {
		}
	});


	/**
	* @ desc This is the pop up dialog box for Saving Favourites
	*/
	$("#dialogSaveFavourites").dialog({
		autoOpen: false,
		width: 600,
		modal: true,
		resizable: false,
		buttons: {
			'Submit': function() {
				saveFavourites();
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		close: function() {
		}
	});

    /**
	* @ desc This is the pop up dialog box for Test Drive
	*/
	$("#dialogGlobalValueMyVehicle").dialog({
		autoOpen: false,
		width: 600,
		modal: true,
		resizable: false,
		buttons: {
			'Submit': function() {
				submitGlobalForm('GlobalValueMyVehicle');
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		close: function() {
		}
	});

    /**
	* @ desc This is the pop up dialog box for Test Drive
	*/
	$("#dialogGlobalTestDrive").dialog({
		autoOpen: false,
		width: 600,
		modal: true,
		resizable: false,
		buttons: {
			'Submit': function() {
				submitGlobalForm('GlobalTestDrive');
			},
			Cancel: function() {
				$(this).dialog('close');
			}
		},
		close: function() {
		}
	});

	// populate the title
	$('.prePopulateTitleList').each( function (item){
		// remove items
		$(this).removeOption(/./);

		// add titles
		$(this).addOption('', 'Please Select');
		$(this).addOption('mr', 'Mr');
		$(this).addOption('mrs', 'Mrs');
		$(this).addOption('miss', 'Miss');
		$(this).addOption('ms', 'Ms');
		$(this).addOption('dr', 'Dr');
		$(this).addOption('prof', 'Prof');
        
        $('.prePopulateTitleList').attr( "selectedIndex", 0);
	});


	// Add event listener to home baner make select and form submit.
	$('#homeBanner .selectMarque form').submit
	(
		function ()
		{
			var value = $(this).find('select').val();

			if (value !== '0')
			{
				window.location = $(this).find('select').val();
			}

			return false;
		}
		);

	$('#homeBanner .selectMarque form select').change
	(
		function ()
		{
			$(this).parent().parent().submit();
		}
		);


	$('.ui-dialog-buttonpane button').each( function () {

		var html = $(this).html();
		$(this).addClass('btn' + html);
		$(this).html('<span class="ui-button-text">' + html + '</span');
	});

	var buttons = $('.ui-dialog-buttonpane').children('button');
	buttons.removeClass('ui-button-text-only').addClass('ui-button-text-icon').addClass('ui-button');

	// Main nav hover.
	var removeActiveClass;
	$('#primaryNav #nav a.active').data('isActive', true);

	$('#primaryNav #nav ul a').mouseover(function (){
		clearTimeout(removeActiveClass);
		$(this).parent().parent().parent().find('>a').addClass('active');
	});

	$('#primaryNav #nav ul a').mouseout(function (){
		var parentA = $(this).parent().parent().parent().find('a');

		if (parentA.data('isActive')){
			return;
		}

		removeActiveClass = setTimeout(function () {
			parentA.removeClass('active');
		}, 10);
	});
	
	// Stock updates.
	/*if (!netdirector.franchiseUrl.length)
	{
		$('#stockupdate_marqueList option').bind
		(
			'click', 
			function ()
			{
				checkSelectedStockMarques();
			}
		);
	}*/
	
	
	setTimeout
	(
		function ()
		{
			var checked = document.getElementsByName('signup_to_mailing_list');
			for (i = 0; i < checked.length; i++)
			{
			    checked[i].checked = true;
			}
		},
		10
	);

    $('#approvedVans #approvedVansScroller').cycle({
        fx: 'scrollHorz',
        timeout: 4000,
        next: '.vanNext',
        prev: '.vanPrev',
        manualTrump: true,
        slideExpr: '.vanItem',
        pause: 1
    });

        $('#approvedVans #approvedVansScroller').css({
        width: '185px',
        height: '212px'
    });

});

function checkFranchiseModels() {

    if ( $( "#stockUpdates_form" ).valid() && netdirector.franchiseUrl.length ) {
        var selected = $('#stockUpdates_models option:selected').length;
        if(selected < 1) {
            $('#stockUpdates_models option').each( function () {
                $(this).attr("selected","selected");
            });
        }
	}

    return true;
}

function checkMaxItemsSelect(max) {

    var count = $('#stockupdate_marqueList option:selected').length;

    if(count == max ) {
        $('#stockupdate_marqueList option:selected').each(function(){
            $(this).addClass('keepMe');
        });
    } else if (count < max) {
        $('.keepMe').removeClass('keepMe');
    } else {
        $('#stockupdate_marqueList option:selected:not(.keepMe)').removeAttr('selected');
        return false;
    }

    checkSelectedStockMarques();

}


function checkSelectedStockMarques()
{

        $('#stockupdate_marqueList option').each
        (
            function ()
            {
                var ele = $('#marque' + $(this).attr('value'));

                //$('#marque' + $(this).attr('value') + ' > select').removeClass("required");

                if ($(this).is('option:selected'))
                {
                    ele.slideDown(400);
                    $('#marque' + $(this).attr('value') + ' > select > option:first').attr("selected", true);
                    $('#marque' + $(this).attr('value') + ' > select').addClass("required");
                }

                else
                {
                    ele.slideUp(400);
                    $('#marque' + $(this).attr('value') + ' > select > option').each(function() {
                        $(this).attr("selected", false);
                    });
                    $('#marque' + $(this).attr('value') + ' > select').removeClass("required");
                }

            }
        );

        //$('#stockUpdates_form').validate();
}

function submitValueMyVehicleForm(){

	// Check if form is valid before proceeding
	if ($('#formValueMyVehicle').valid())
	{
		$('body').css('cursor', 'progress');

		$.ajax
		({
			url : '/frontend-operations/submit-form/',
			dataType : 'json',
			data : $('#formValueMyVehicle').serialize(),
			success: function (data)
			{
				if (data.status === true)
				{
					itForm(data.intellitracker);
					// Submitted ok.
					updateTips('Enquiry sent', 'Thank you for your enquiry. We will respond as soon as possible', 'highlight', '', 'alertBoxValueMyVehicle');
					clearFormElements('#formValueMyVehicle');
					setTimeout
					(
						function ()
						{
							autoCloseDialog('dialogValueMyVehicle');
						}, 4000);
				}

				else
				{
					// Show generic message
					updateTips('Request Failed', 'The form submit request failed, please try again.', 'error', '', 'alertBoxValueMyVehicle');
				}
			},
			error : function (objRequest)
			{
				updateTips('Request Failed', 'The request to submit failed, please try again.', 'error', '', 'alertBoxValueMyVehicle');
			}
		});

		$('body').css('cursor', 'default');
	}
}


function doPostcodeLookup( prefix ) {

	if ( $('#' + prefix + '_postcode').val() ) {

		$('body').css('cursor', 'progress');
		$('.loadingIcon').show();

		$.ajax({
			url: '/frontend-operations/postcode-lookup-custom/',
			dataType: 'json',
			data: "postcode=" + $('#' + prefix + '_postcode').val(),
			success: function(data){
				if ( data.addresses.length > 0 && typeof data.addresses[0].error_number == 'undefined' ) {
					if( data.addresses != null ){
						$('#' + prefix + '_postcode_results').show();
						$('#' + prefix + '_postcode_addresses').attr("disabled", "disabled");
						$('#' + prefix + '_postcode_addresses').removeOption(/./);

						$.each(data.addresses, function(i,item){

							$('#' + prefix + '_postcode_addresses').addOption(item.id, item.description);

						});

						$('#' + prefix + '_postcode_addresses').removeAttr('disabled').attr( "selectedIndex", 0);
					}
				} else {
					alert("Please enter a valid postcode, or manually supply your address.");
				}

				$('body').css('cursor', 'default');
				$('.loadingIcon').hide();

			},
			error: function(objRequest){
				$('body').css('cursor', 'default');
				$('.loadingIcon').hide();
			}
		});

	}
}


function selectPostcode( prefix ) {
	if ( $('#' + prefix + '_postcode_addresses').val() ) {
		$.ajax({
			url: '/frontend-operations/postcode-address-custom/',
			dataType: 'json',
			data: "address=" + $('#' + prefix + '_postcode_addresses').val(),
			success: function(data){
				if( data.address[0] != null ){
					$('#' + prefix + '_postcode_results').hide();
					$('#' + prefix +'_addressline1').val(data.address[0].line1);

					if ( typeof data.address[0].line2 != 'undefined' ) {
						$('#' + prefix +'_addressline2').val(data.address[0].line2);
					} else {
						$('#' + prefix +'_addressline2').val("");
					}

					if ( typeof data.address[0].line3 != 'undefined' ) {
						$('#' + prefix +'_addressline2').val( $('#' + prefix +'_addressline2').val() + ", " + data.address[0].line3);
					}

					$('#' + prefix +'_town').val(data.address[0].post_town);

					if ( typeof data.address[0].county != 'undefined' ) {

						if ( $('#' + prefix +'_county').length > 0 ) {
							$('#' + prefix +'_county').val(data.address[0].county);
						} else {
							$('#' + prefix +'_town').val($('#' + prefix +'_town').val() + ", " + data.address[0].county);
						}

					}

					$('#' + prefix +'_postcode').val(data.address[0].postcode);

				}
			},
			error: function(objRequest){

			}
		});
	}
}

/**
* @ desc This will collect All Models under a particular Make
*/
function collectAllModels(elementId, marqueId, isVan, selectedId){

	var modelId = $( elementId );
	modelId.attr('disabled', 'disabled');

	$.ajax({
		url: '/frontend-operations/all-model-list/',
		dataType: 'json',
		data: 'marque_id=' + marqueId + '&is_van=' + isVan,
		success: function(data){

			// Remove all options
			modelId.removeOption(/./).addOption('', '- Select Model -');

			// Add Options
			$.each(data, function(i,item){

				modelId.addOption(item.id, item.modelName);
			});

			// If previously selected..
			if( selectedId != null && selectedId > 0){
				modelId.selectOptions(selectedId);
			}else{
				// select 1st one if only one available
				var preSelect = ( data.length == 1 ) ? 1: 0;
				modelId.attr( "selectedIndex", preSelect);
			}
			modelId.removeAttr('disabled');
		},
		error: function(objRequest){

			modelId.removeAttr('disabled').removeOption(/./).addOption('', '- Select Model -');
		}
	});
}


/**
* @ desc This will collect All Makes under a particular Vehicle Type
*/
function collectAllMakes(elementId, isVan, selectedId){

	var marqueId = $( elementId );
	marqueId.attr('disabled', 'disabled');

	$.ajax({
		url: '/frontend-operations/all-marque-list/',
		dataType: 'json',
		data: 'is_van=' + isVan,
		success: function(data){

			// Remove all options
			marqueId.removeOption(/./).addOption('', '- Select Marque -');

			// Add Options
			$.each(data, function(i,item){

				marqueId.addOption(item.id, item.marqueName);
			});

			// If previously selected..
			if( selectedId != null && selectedId > 0){
				marqueId.selectOptions(selectedId);
			}else{
				// select 1st one if only one available
				var preSelect = ( data.length == 1 ) ? 1: 0;
				marqueId.attr( "selectedIndex", preSelect);
			}
			marqueId.removeAttr('disabled');
		},
		error: function(objRequest){

			marqueId.removeAttr('disabled').removeOption(/./).addOption('', '- Select Marque -');
		}
	});
}


function updateUsedMarques () {

	$('#motorcycle_auto_marque_detail_id').attr('disabled', 'disabled');
	$('#makeOfferMotorcycle').attr('disabled', 'disabled');

	var is_van = 0;

	if ( isVanSearch() ) {
		is_van = 1;
		$('#van_auto_marque_detail_id').attr('disabled', 'disabled');
	} else {
		if ( isBikeSearch() ) {
			is_van = 2;
		}
		$('#auto_marque_detail_id').attr('disabled', 'disabled');
	}
	$.ajax({
		url: '/frontend-operations/used-vehicle-marques-custom/',
		dataType: 'json',
		data: 'is_van=' + is_van,
		success: function(data){

			// Add Options
			if( data.marques != null ){
				if ( is_van == 0 ) {
					$("#auto_marque_detail_id").removeOption(/./);
				} else {
					$("#van_auto_marque_detail_id").removeOption(/./);
				}
				$("#motorcycle_auto_marque_detail_id").removeOption(/./);
				$("#makeOfferMotorcycle").removeOption(/./);
				$.each(data.marques, function(i,item){
					if ( is_van == 0 ) {
						$("#auto_marque_detail_id").addOption(item.id, item.marqueName);
					} else {
						$("#van_auto_marque_detail_id").addOption(item.id, item.marqueName);
					}
					$("#motorcycle_auto_marque_detail_id").addOption(item.id, item.marqueName);
					$("#makeOfferMotorcycle").addOption(item.id, item.marqueName);
				});
			}

			$("#auto_marque_detail_id").attr( "selectedIndex", 0);
			$("#van_auto_marque_detail_id").attr( "selectedIndex", 0);
			$("#motorcycle_auto_marque_detail_id").attr( "selectedIndex", 0);

			if ( searchParams.makeId ) {
				if ( is_van == 0 ) {
					$('#auto_marque_detail_id').removeAttr('disabled').selectOptions(searchParams.makeId);
				} else {
					$('#van_auto_marque_detail_id').removeAttr('disabled').selectOptions(searchParams.makeId);
				}
				$('#motorcycle_auto_marque_detail_id').removeAttr('disabled').selectOptions(searchParams.makeId);
				$('#makeOfferMotorcycle').removeAttr('disabled').selectOptions(searchParams.makeId);
			} else {
				if ( is_van == 0 ) {
					$('#auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
				} else {
					$('#van_auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
				}
				$('#motorcycle_auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
				$('#makeOfferMotorcycle').removeAttr('disabled').attr( "selectedIndex", 0);
			}

			collectAvailableModelsBike(0);
		},
		error: function(objRequest){

			if ( is_van == 0 ) {
				$('#auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
			} else {
				$('#van_auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
			}
			$('#motorcycle_auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
			$('#makeOfferMotorcycle').removeAttr('disabled').attr( "selectedIndex", 0);
		}
	});
}


function updateNearlyNewMarques ( ) {
	$('#auto_marque_detail_id').attr('disabled', 'disabled');
	$('#van_auto_marque_detail_id').attr('disabled', 'disabled');

	var is_van = 0;

	if ( isVanSearch() ) {
		is_van = 1;
	}

	$.ajax({
		url: '/frontend-operations/nearly-new-vehicle-marques-custom/',
		dataType: 'json',
		data: 'is_van=' +  is_van,
		success: function(data){
			// Add Options
			if( data.marques != null ){
				$("#auto_marque_detail_id").removeOption(/./);
				$("#van_auto_marque_detail_id").removeOption(/./);

				$.each(data.marques, function(i,item){
					$("#auto_marque_detail_id").addOption(item.id, item.marque_name);
					$("#van_auto_marque_detail_id").addOption(item.id, item.marque_name);

				});
			}

			if ( searchParams.makeId ) {
				$('#auto_marque_detail_id').removeAttr('disabled').selectOptions(searchParams.makeId);
				$('#van_auto_marque_detail_id').removeAttr('disabled').selectOptions(searchParams.makeId);
			} else {
				$('#auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
				$('#van_auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
			}
		},
		error: function(objRequest){

			$('#auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
			$('#van_auto_marque_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
		}
	});
}


/**
* @ desc This will attempt to open a dialog form via passed in ids
*/
function openDialogForm( dialogName, formName, alertBoxName ){

	if( dialogName != '' && formName != '' ){

		// Clear the form values
		clearFormElements('#' + formName);

		// Removes validation messages
		var validator = $('#' + formName).validate();
		validator.resetForm();

		if( alertBoxName != '' ){

			// Clear Alert Box Text
			resetTips( alertBoxName );
		}

		// Open the dialog box
		$('#' + dialogName ).dialog('open');

		// highlight first input
		$('#' + dialogName + ' :input:text:first').focus();
	}
}


/**
* @ desc This will attempt to reset any options selected in the search
*/
function rememberSearchSettings(){

	// Remember Search Params
	if( parseInt( searchParams.makeId ) > 0 ){
		if ( searchParams.is_motorcycle || netdirector.franchiseUrl.indexOf('bmw') > -1 || netdirector.franchiseUrl.indexOf('yamaha') > -1 ) {
			$("#motorcycle_auto_marque_detail_id").selectOptions( searchParams.makeId );
			$("#makeOfferMotorcycle").selectOptions( searchParams.makeId );
			collectAvailableOfferModels( searchParams.modelId, 2);
			collectAvailableModelsBike(searchParams.makeId);
		} else {
			$("#auto_marque_detail_id").selectOptions( searchParams.makeId );
			$("#makeOfferCar").selectOptions( searchParams.makeId );
			collectAvailableModels( searchParams.makeId, 0);
			//collectAvailableOfferModels( searchParams.modelId, 0);
			collectAvailableModelsBike(searchParams.makeId);
		}

	}else{

		$("#auto_marque_detail_id").selectOptions( netdirector.defaultAutoMarqueDetailId );
		collectAvailableModels( searchParams.makeId, 0);
	//collectAvailableOfferModels( searchParams.modelId, 0);
	}

	if( parseInt( searchParams.offerType ) > 0 ){
		$("#offerTypeCar").selectOptions( searchParams.offerType );
		$("#offerTypeVan").selectOptions( searchParams.offerType );
	}

	if( parseInt( searchParams.vanMakeId ) > 0 ){
		$("#van_auto_marque_detail_id").selectOptions( searchParams.vanMakeId );
		$("#makeOfferVan").selectOptions( searchParams.makeId );
		collectAvailableModels( searchParams.vanModelId, 1);
	//collectAvailableOfferModels( searchParams.vanModelId, 1);
	}

	if ( parseInt( searchParams.price ) > 0 ) {
		$("#price").selectOptions( searchParams.price );
	}

	if ( searchParams.postcode != '' ) {
		$("#postcode").val( searchParams.postcode );
	}

	if ( searchParams.advancedSearchDoors != '' ) {
		$("#advancedSearchDoors").val( searchParams.advancedSearchDoors );
	}

	if ( searchParams.advancedSearchPreviousOwners != '' ) {
		$("#advancedSearchPreviousOwners").val( searchParams.advancedSearchPreviousOwners );
	}

	if ( searchParams.advancedSearchEngineSize != '' ) {
		$("#advancedSearchEngineSize").val( searchParams.advancedSearchEngineSize );
	}

	if ( searchParams.advancedSearchTaxBand != '' ) {
		$("#advancedSearchTaxBand").val( searchParams.advancedSearchTaxBand );
	}

	if ( searchParams.advancedSearchMPG != '' ) {
		$("#advancedSearchMPG").val( searchParams.advancedSearchMPG );
	}

	if ( searchParams.advancedSearchMileage != '' ) {
		$("#advancedSearchMileage").val( searchParams.advancedSearchMileage );
	}

	if ( searchParams.advancedRegistrationDate != '' ) {
		$("#advancedRegistrationDate").val( searchParams.advancedRegistrationDate );
	}

	if ( searchParams.advancedInsuranceGroup != '' ) {
		$("#advancedInsuranceGroup").val( searchParams.advancedInsuranceGroup );
	}

	if ( searchParams.advancedNCap != '' ) {
		$("#advancedNCap").val( searchParams.advancedNCap );
	}

	if ( searchParams.category != '' ) {
		if ( searchParams.category == 'small' ) {
			selectCategory('box1', searchParams.category);
		}
		if ( searchParams.category == 'eco' ) {
			selectCategory('box2', searchParams.category);
		}

		if ( searchParams.category == 'family' ) {
			selectCategory('box3', searchParams.category);
		}

		if ( searchParams.category == 'cabriolet' ) {
			selectCategory('box4', searchParams.category);
		}

		if ( searchParams.category == 'automatic' ) {
			selectCategory('box5', searchParams.category);
		}
		if ( searchParams.category == '4x4' ) {
			selectCategory('box6', searchParams.category);
		}
		if ( searchParams.category == 'mpv' ) {
			selectCategory('box7', searchParams.category);
		}
		if ( searchParams.category == 'prestige' ) {
			selectCategory('box8', searchParams.category);
		}
	}
}


/**
* @ desc This will show/hide advanced search options
*/
function toggleCarAdvancedSearch( el ){

    $( el ).animate({
        opacity: 'toggle',
        height: 'toggle'
    }, function() {
        updateAdvancedCarFlag()
    });
}

function toggleNearlyNewCarAdvancedSearch( el ){

    $( el ).animate({
        opacity: 'toggle',
        height: 'toggle'
    }, function() {
        updateNearlyNewAdvancedCarFlag()
    });
}
function updateNearlyNewAdvancedCarFlag ()  {
    if ( $('#moreNearlyNewCarSearchOptions').is(':hidden') ) {
        $('#nearly_new_car_is_advanced_search').val(0);
    } else {
        $('#nearly_new_car_is_advanced_search').val(1);
    }
}



function toggleNearlyNewBikeAdvancedSearch( el ){

    $( el ).animate({
        opacity: 'toggle',
        height: 'toggle'
    }, function() {
        updateNearlyNewAdvancedBikeFlag()
    });
}
function updateNearlyNewAdvancedBikeFlag ()  {
    if ( $('#moreNearlyNewBikeSearchOptions').is(':hidden') ) {
        $('#nearly_new_bike_is_advanced_search').val(0);
    } else {
        $('#nearly_new_bike_is_advanced_search').val(1);
    }
}

function toggleNearlyNewVanAdvancedSearch( el ){

    $( el ).animate({
        opacity: 'toggle',
        height: 'toggle'
    }, function() {
        updateNearlyNewAdvancedVanFlag()
    });
}
function updateNearlyNewAdvancedVanFlag ()  {
    if ( $('#moreNearlyNewVanSearchOptions').is(':hidden') ) {
        $('#nearly_new_van_is_advanced_search').val(0);
    } else {
        $('#nearly_new_van_is_advanced_search').val(1);
    }
}


function toggleVanAdvancedSearch( el ){

    $( el ).animate({
        opacity: 'toggle',
        height: 'toggle'
    }, function() {
        updateAdvancedVanFlag()
    });
}

function updateAdvancedVanFlag ()  {
    if ( $('#moreVanSearchOptions').is(':hidden') ) {
        $('#van_is_advanced_search').val(0);
    } else {
        $('#van_is_advanced_search').val(1);
    }
}

function toggleBikeAdvancedSearch( el ){

    $( el ).animate({
        opacity: 'toggle',
        height: 'toggle'
    }, function() {
        updateAdvancedBikeFlag()
    });
}

function updateAdvancedBikeFlag ()  {
    if ( $('#moreBikeSearchOptions').is(':hidden') ) {
        $('#bike_is_advanced_search').val(0);
    } else {
        $('#bike_is_advanced_search').val(1);
    }
}


function updateAdvancedCarFlag ()  {
	if ( $('#moreCarSearchOptions').is(':hidden') ) {
		$('#car_is_advanced_search').val(0);
	} else {
		$('#car_is_advanced_search').val(1);
	}
}


function showCarSearchOptions ( ) {

	$('#new_car_is_van').val(0);
	$('#van_auto_marque_detail_id').hide();
	$('#van_auto_model_detail_id').hide();
	$('#motorcycle_auto_marque_detail_id').hide();
	$('#motorcycle_auto_model_detail_id').hide();
	$('#auto_marque_detail_id').show();
	$('#auto_model_detail_id').show();

	//collectNewVehicleMarqueLists(searchParams.newMarque, searchParams.newModel);
	if ( $('input[name=vehicleCondition][checked]:radio').val() == 'nearlyNew' ) {
		updateNearlyNewMarques();
	} else {
		updateUsedMarques();
	}

	if ( $('#carType').length  == 1 ) {
		$('#carType').show();
	}
}


function showVanSearchOptions ( ) {
	$('#new_car_is_van').val(1);

	$('#van_auto_marque_detail_id').show();
	$('#van_auto_model_detail_id').show();
	$('#auto_marque_detail_id').hide();
	$('#auto_model_detail_id').hide();
	$('#motorcycle_auto_marque_detail_id').hide();
	$('#motorcycle_auto_model_detail_id').hide();
	//collectNewVehicleMarqueLists(searchParams.newMarque, searchParams.newModel);
	if ( $('input[name=vehicleCondition][checked]:radio').val() == 'nearlyNew' ) {
		updateNearlyNewMarques();
	} else {
		updateUsedMarques();
	}

	if ( $('#carType').length  == 1 ) {
		$('#carType').hide();
		$('#category_search').val('');
	}

}


function showMotorcycleSearchOptions ( ) {
	$('#van_auto_marque_detail_id').hide();
	$('#van_auto_model_detail_id').hide();
	$('#motorcycle_auto_marque_detail_id').show();
	$('#motorcycle_auto_model_detail_id').show();
	$('#auto_marque_detail_id').hide();
	$('#auto_model_detail_id').hide();
	//collectNewVehicleMetaBikeMarqueList();
	collectAvailableModelsBike(0);
	updateUsedMarques();
}


function showVanOfferSearchOptions ( ) {
	$('#offerCarsDetails').hide();
	$('#offerMotorcycleDetails').hide();
	$('#offerVansDetails').show();
}


function showCarOfferSearchOptions ( ) {
	$('#offerCarsDetails').show();
	$('#offerVansDetails').hide();
	$('#offerMotorcycleDetails').hide();
}


function showMotorcycleOfferSearchOptions ( ) {
	$('#offerCarsDetails').hide();
	$('#offerVansDetails').hide();
	$('#offerMotorcycleDetails').show();
}


/**
* @ desc This updates the dialog alert box, passes in a header, text, type of msg, and optional input to highlight
*/
function updateTips(header,text,msgType,highlightInput,alertBoxId) {

	// Clear Alert Box Text
	resetTips(alertBoxId);
	var alertBox = ( alertBoxId != null && alertBoxId != '' ) ? $('#'+alertBoxId) : $('#dialogAlertBox');

	txt = '<strong>'+header+':</strong> '+ text;
	switch( msgType ){
		case 'error':
			msg = "<p><span class=\"ui-icon ui-icon-alert\" style=\"float: left; margin: 0px 5px;\"></span>"+txt+"</p>";
			alertBox.addClass('ui-state-error').html(msg);
			break;

		case 'highlight':
			msg = "<p><span class=\"ui-icon ui-icon-info\" style=\"float: left; margin: 0px 5px;\"></span>"+txt+"</p>";
			alertBox.addClass('ui-state-highlight').html(msg);
			break;

		default:
			break;
	}

	if( highlightInput != '' ){
		$('#'+highlightInput).addClass('ui-state-error');
	}
}


/**
* @ desc This Resets the dialog alert box
*/
function resetTips(alertBoxId){

	alertBox = ( alertBoxId != null && alertBoxId != '' ) ? $('#'+alertBoxId) : $('#dialogAlertBox');
	alertBox.removeClass('ui-state-error ui-state-highlight').html('');
}


/**
* @ desc This will close the dialog box
*/
function autoCloseDialog(dialogFormType){

	$( "#" + dialogFormType ).dialog('close');
}


/**
* @ desc This will empty all form elements
*/
function clearFormElements(el) {

	$(el).find(':input').each(function() {
		switch(this.type) {
			case 'password':
			case 'select-multiple':
			case 'select-one':
			case 'text':
			case 'textarea':
				$(this).val('');
				break;
			case 'checkbox':
			case 'radio':
				this.checked = false;
		}
		$(this).removeClass('ui-state-error');
	});
}


/**
* @ desc This is a generic ajax request function
*/
function ndCollector( target, params, successFunction, errorFunction ){

	$.ajax({
		url: target,
		dataType: 'json',
		data: params,
		success: successFunction,
		error: errorFunction
	});
}


function collectOfferTypes(){

	// Only load lists once
	if( offerTypesSearchLoaded != true ){

		// Remove all options and disable
		$('#offerTypeVan').attr('disabled', 'disabled');
		$('#offerTypeCar').attr('disabled', 'disabled');

		$.ajax({
			url: '/frontend-operations/used-vehicle-offers-custom/',
			dataType: 'json',
			data: '',
			success: function(data){

				offerTypesSearchLoaded = true;

				// Remove loading and show default select option
				$('#offerTypeVan').removeOption(/./).addOption('', 'Offer Type');
				$('#offerTypeCar').removeOption(/./).addOption('', 'Offer Type');

				// Add Options
				if( data.offerTypes != null ){
					$.each(data.offerTypes, function(i,item){
						$("#offerTypeVan").addOption(item.id, item.marqueName);
						$( '#offerTypeVan option:last' ).data('url',item.franchiseUrl);

						$("#offerTypeCar").addOption(item.id, item.id);
						$( '#offerTypeCar option:last' ).data('url',item.name);

					});
				}

				$('#offerTypeVan').removeAttr('disabled').attr( "selectedIndex", 0);
				$('#offerTypeCar').removeAttr('disabled').attr( "selectedIndex", 0);
			},
			error: function(objRequest){

				$('#offerTypeVan').removeAttr('disabled').removeOption(/./).addOption('', 'Offer Type');
				$('#offerTypeCar').removeAttr('disabled').removeOption(/./).addOption('', 'Offer Type');
			}
		});
	}
}



/**
* @ desc This will collect Available Models
*/
function collectAvailableOfferModels(selectedId, isVan){
    var isBike = 0;

    if( isVan == 1 ){
        var marqueId = $("#offervans_auto_marque_detail_id");
        var modelId = $("#offervans_auto_model_detail_id");
    }else{
        if ( isVan == 2 ) {
            isVan = 0;
            isBike = 1;
            var marqueId = $("#offerbikes_auto_marque_detail_id");
            var modelId = $("#offerbikes_auto_model_detail_id");
        } else {
            var marqueId = $("#offercars_auto_marque_detail_id");
            var modelId = $("#offercars_auto_model_detail_id");
        }
    }
    
    if ( marqueId.val() == 0 || marqueId.val() == '' ) {
        modelId.attr('disabled', 'disabled');
        modelId.removeOption(/./);
        updateOfferLists(0, isVan + isBike);
        return 0;
    }
    modelId.attr('disabled', 'disabled');

    $.ajax({
        url: '/frontend-operations/available-model-list-custom/',
        dataType: 'json',
        data: 'marque_id=' + marqueId.val() + '&is_van=' + isVan + '&is_bike=' + isBike,
        success: function(data){

            // Remove all options
            modelId.removeOption(/./);

            // Add Options
            $.each(data, function(i,item){

                modelId.addOption(item.id, item.modelName.toUpperCase());
            });

            // If previously selected..
            if( selectedId > 0){
                modelId.selectOptions(selectedId);
            }else{
                // select 1st one if only one available
                var preSelect = 0;//( data.length == 1 ) ? 1: 0;
                modelId.attr( "selectedIndex", preSelect);
            }
            modelId.removeAttr('disabled');
            
            updateOfferLists(0, isVan + isBike);
        },
        error: function(objRequest){

            modelId.removeAttr('disabled');
        }
    });
}




function updateOfferLists(selectedId, isVan){
    var isBike = 0;

    if( isVan == 1 ){
        var marqueId = $("#offervans_auto_marque_detail_id");
        var modelId = $("#offervans_auto_model_detail_id");
        var offerId = $("#offerTypeVan");
    }else{
        if ( isVan == 2 ) {
            isVan = 0;
            isBike = 1;
            var marqueId = $("#offerbikes_auto_marque_detail_id");
            var modelId = $("#offerbikes_auto_model_detail_id");
            var offerId = $("#offerTypeBike");
        } else {
            var marqueId = $("#offercars_auto_marque_detail_id");
            var modelId = $("#offercars_auto_model_detail_id");
            var offerId = $("#offerTypeCar");
        }
    }
    
    offerId.attr('disabled', 'disabled');

    $.ajax({
        url: '/frontend-operations/available-offer-list-custom/',
        dataType: 'json',
        data: 'marque_id=' + marqueId.val() + '&model_id=' + modelId.val() + '&is_van=' + isVan + '&is_bike=' + isBike,
        success: function(data){

            // Remove all options
            offerId.removeOption(/./);

            // Add Options
            $.each(data, function(i,item){

                offerId.addOption(item.id, item.offerTitle);
            });

            // If previously selected..
            if( selectedId > 0){
                offerId.selectOptions(selectedId);
            }else{
                // select 1st one if only one available
                var preSelect = 0;//( data.length == 1 ) ? 1: 0;
                offerId.attr( "selectedIndex", preSelect);
            }
            offerId.removeAttr('disabled');
        },
        error: function(objRequest){

            offerId.removeAttr('disabled');
        }
    });
}


/**
* @ desc This will collect Available Models
*/
function collectAvailableModels(selectedId, isVan, isNearlyNew){
    var isBike = 0;

    if ( typeof isNearlyNew == 'undefined' || isNearlyNew == 0  ) {
        
	    if( isVan == 1 ){
		    var marqueId = $("#van_auto_marque_detail_id");
		    var modelId = $("#van_auto_model_detail_id");
	    }else{
		    if ( isVan == 2 ) {
			    isVan = 0;
                isBike = 1;
			    var marqueId = $("#bike_auto_marque_detail_id");
			    var modelId = $("#bike_auto_model_detail_id");
		    } else {
			    var marqueId = $("#car_auto_marque_detail_id");
			    var modelId = $("#car_auto_model_detail_id");
		    }
	    }
        
    } else if ( isNearlyNew == 1 ) {
        if( isVan == 1 ){
            var marqueId = $("#nearly_new_van_auto_marque_detail_id");
            var modelId = $("#nearly_new_van_auto_model_detail_id");
        }else{
            if ( isVan == 2 ) {
                isVan = 0;
                isBike = 1;
                var marqueId = $("#nearly_new_bike_auto_marque_detail_id");
                var modelId = $("#nearly_new_bike_auto_model_detail_id");
            } else {
                var marqueId = $("#nearly_new_car_auto_marque_detail_id");
                var modelId = $("#nearly_new_car_auto_model_detail_id");
            }
        }        
    }

	if ( marqueId.val() == 0 || marqueId.val() == '' ) {
        modelId.attr('disabled', 'disabled');
        modelId.removeOption(/./);
		updateAdvancedSearchCount();
		return 0;
	}
	modelId.attr('disabled', 'disabled');

	$.ajax({
		url: '/frontend-operations/available-model-list-custom/',
		dataType: 'json',
		data: 'marque_id=' + marqueId.val() + '&is_van=' + isVan + '&is_bike=' + isBike + '&nearly_new=' + isNearlyNew,
		success: function(data){

			// Remove all options
			modelId.removeOption(/./);

			// Add Options
			$.each(data, function(i,item){

				modelId.addOption(item.id, item.modelName.toUpperCase());
			});

			// If previously selected..
			//if( selectedId > 0){ << this is wrong, selectedId is the selected marque ID, we need the selected model ID.
			if (typeof searchParams !== 'undefined' && searchParams.modelId.length) {
				modelId.selectOptions(searchParams.modelId);
			}else{
				// select 1st one if only one available
				var preSelect = 0;//( data.length == 1 ) ? 1: 0;
				modelId.attr( "selectedIndex", preSelect);
			}
			modelId.removeAttr('disabled');
			updateAdvancedSearchCount();
		},
		error: function(objRequest){

			modelId.removeAttr('disabled');
		}
	});
}

function collectAvailableModelsBike(selectedId){

	var marqueId = $("#motorcycle_auto_marque_detail_id");
	var modelId = $("#motorcycle_auto_model_detail_id");

	modelId.attr('disabled', 'disabled');

	if(!marqueId.val()) return; //Not ready for this yet


	$.ajax({
		url: '/frontend-operations/available-model-list/',
		dataType: 'json',
		data: 'marque_id=' + marqueId.val() + '&is_bike=1',
		success: function(data){

			// Remove all options
			modelId.removeOption(/./);

			// Add Options
			$.each(data, function(i,item){

				modelId.addOption(item.id, item.modelName);
			});

			// If previously selected..
			if( selectedId > 0){
				modelId.selectOptions(selectedId);
			}else{
				// select 1st one if only one available
				var preSelect = ( data.length == 1 ) ? 1: 0;
				modelId.attr( "selectedIndex", preSelect);
			}
			modelId.removeAttr('disabled');

			updateAdvancedSearchCount();
		},
		error: function(objRequest){

			modelId.removeAttr('disabled');
		}
	});


}




/**
* @ desc This will collect New Vehicle Marque Lists
*/
function collectNewVehicleMarqueLists(marqueId, selectedId){

	// Hidden in new bike view.
	$('#new_car_variant').show();

	// Only load lists once

	//if( newVehicleSearchLoaded != true )
	{

		// Remove all options and disable
		$('#new_car_franchise_detail_id').attr('disabled', 'disabled');
		$('#new_van_franchise_detail_id').attr('disabled', 'disabled');

		$.ajax({
			url: '/frontend-operations/new-vehicle-marque-list/',
			dataType: 'json',
			data: '',
			success: function(data){

				newVehicleSearchLoaded = true;

				// Remove model list
				$('#new_car_model_name').removeOption(/./).addOption('', '- Select Model -');

				// Remove loading and show default select option
				if ( isGroup ) {
					$('#new_car_franchise_detail_id').removeOption(/./).addOption('', '-  Select Make  -');
					$('#new_van_franchise_detail_id').removeOption(/./).addOption('', '-  Select Make  -');
				} else {
					$('#new_car_franchise_detail_id').removeOption(/./);
					$('#new_van_franchise_detail_id').removeOption(/./);
				}

				// Add Options
				if( data.newMarque != null ){
					$.each(data.newMarque, function(i,item){
						$("#new_car_franchise_detail_id").addOption(item.id, item.marqueName);
						$( '#new_car_franchise_detail_id option:last' ).data('url',item.franchiseUrl);
					});
				}

				if( data.newVanMarque != null ){
					$.each(data.newVanMarque, function(i,item){
						$("#new_van_franchise_detail_id").addOption(item.id, item.marqueName);
						$( '#new_van_franchise_detail_id option:last' ).data('url',item.franchiseUrl);
					});
				}

				$('#new_car_franchise_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);
				$('#new_van_franchise_detail_id').removeAttr('disabled').attr( "selectedIndex", 0);

				if ( !isGroup ) {
					$('#new_car_franchise_detail_id').selectOptions(marqueId);
					$('#new_van_franchise_detail_id').selectOptions(marqueId);
					collectNewModels(selectedId);
				}
			},
			error: function(objRequest){

				$('#new_car_franchise_detail_id').removeAttr('disabled').removeOption(/./).addOption('', '-  Select Make  -');
				$('#new_van_franchise_detail_id').removeAttr('disabled').removeOption(/./).addOption('', '-  Select Make  -');
			}
		});
	}
}


/**
* @ desc This will collect Available Models
*/
function collectNewModels(selectedId, van, bike){

	if ( typeof selectedId == 'undefined' ) {
		selectedId = '';
	}

	// Select which Marque Selector to choose dependant on car/van
	if( van == 1 ){

		var marqueId = $("#new_van_franchise_detail_id");
		var modelId   = $("#new_van_model_name");
		var variantId = $("#new_van_variant");
	} else if ( bike == 1 ) {
		var marqueId = $("#new_bike_franchise_detail_id");
		var modelId   = $("#new_bike_model_name");
		var variantId = $("#new_bike_variant");
	} else {
        var marqueId = $("#new_car_franchise_detail_id");
        var modelId   = $("#new_car_model_name");
        var variantId = $("#new_car_variant");
    }

	modelId.attr('disabled', 'disabled');

    var detailparts = marqueId.val();
    var detailids = detailparts.split('||');
    var franchiseid = detailids[0];
    var urlpath = '/frontend-operations/new-model-list/';
    if ( bike == 1 ) {
        urlpath = '/frontend-operations/new-model-list-custom/';
    }
    
	$.ajax({
		url: urlpath,
		dataType: 'json',
		data: 'franchise_detail_id=' + franchiseid + '&is_van=' + van + '&is_bike=' + bike,
		success: function(data){

			// Remove all options
			modelId.removeOption(/./);
			variantId.removeOption(/./);

			// Add Options
			$.each(data, function(i,item){
				modelId.addOption(item.id + "||" + item.url, item.references.heading);
			});

			// If previously selected..
			if( selectedId != '' && selectedId != 'index' ){
				$.each($("#new_car_model_name option"), function(i,item){
					if ( $(this).data('url') == selectedId ) {
						$(this).attr('selected', 'selected')
					}
				});
			}else{
				// select 1st one if only one available
				var preSelect = ( data.length == 1 ) ? 1: 0;
				modelId.attr( "selectedIndex", preSelect);
			}
			modelId.removeAttr('disabled');
			if( modelId.attr( "selectedIndex") > 0 ){
				collectNewVariants(0,van,bike);
			}
		},
		error: function(objRequest){

			modelId.removeAttr('disabled');
		}
	});
}


/**
* @ desc This will collect Available Variants
*/
function collectNewVariants(selectedId, vans){

	if ( typeof selectedId == 'undefined' ) {
		selectedId = 0;
	}

	// Select which Marque Selector to choose dependant on car/van
	if( vans == 1 ){

		var marqueId = $("#new_van_franchise_detail_id");
		var modelId   = $("#new_van_model_name");
		var variantId = $("#new_van_variant");
	}else{

		var marqueId = $("#new_car_franchise_detail_id");
		var modelId   = $("#new_car_model_name");
		var variantId = $("#new_car_variant");
	}

	variantId.attr('disabled', 'disabled');

    var detailparts = marqueId.val();
    var detailids = detailparts.split('||');
    var itemid = detailids[0];
    
    var modelparts = modelId.val();
    var modelids = modelparts.split('||');
    var modelid = modelids[0];
	$.ajax({
		url: '/frontend-operations/new-variant-list/',
		dataType: 'json',
		data: 'franchise_detail_id=' + itemid + '&cms_page_area_link_id=' + modelid,
		success: function(data){

			// Remove all options
			variantId.removeOption(/./);

			// Add Options
			$.each(data, function(i,item){

				variantId.addOption(item.id, item.variant);
			});

			// If previously selected..
			if( selectedId > 0){
				variantId.selectOptions(selectedId);
			}else{
				// select 1st one if only one available
				var preSelect = ( data.length == 1 ) ? 1: 0;
				variantId.attr( "selectedIndex", preSelect);
			}
			variantId.removeAttr('disabled');
		},
		error: function(objRequest){

			variantId.removeAttr('disabled');
		}
	});
}


function addPrice ( value, text ) {

	$("#lower_price").addOption(value, text);
	$("#price").addOption(value, text);

}




/**
* @ desc This will collect Count of stock available
*/
function collectAdvancedSearchCount(nearlynew){
    var formitem = '#frmSearchUsedCars';
        
    if ( nearlynew == 1 || nearlynew === true ) {
      formitem = '#frmSearchNearlyNewCars';
    }
        
	$.ajax({
		url : '/frontend-operations/advanced-search-count-custom/',
		dataType : 'json',
		data : $(formitem).serialize(),
		success : function (data){
        
            if ( typeof data != 'undefined' ) {

				advancedSearchCarCount = data;
                if ( nearlynew == 1 || nearlynew === true ) {
                    $('#carNearlyNewVehicleCountDisplay').html(data + (data === 1 ? ' Car' : ' Cars') + ' Available');
                } else {
                     $('#carVehicleCountDisplay').html(data + (data === 1 ? ' Car' : ' Cars') + ' Available');
                }
            
            }
		}
	});
};

/**
* @ desc This will collect Count of stock available
*/
function collectAdvancedSearchCountVan(nearlynew){

    var formitem = '#frmSearchUsedVans';
        
    if ( nearlynew == 1 || nearlynew === true ) {
      formitem = '#frmSearchNearlyNewVans';
    }
    $.ajax({

        url : '/frontend-operations/advanced-search-count-custom/',
        dataType : 'json',
        data : $(formitem).serialize(),
        success : function (data){
        
            if ( typeof data != 'undefined' ) {

                if ( nearlynew == 1 || nearlynew === true ) {
                    $('#vanNearlyNewVehicleCountDisplay').html(data + (data === 1 ? ' Van' : ' Vans') + ' Available');
                } else {
                     $('#vanVehicleCountDisplay').html(data + (data === 1 ? ' Van' : ' Vans') + ' Available');
                }
                
            }
        }
    });
};


/**
* @ desc This will collect Count of stock available
*/
function collectAdvancedSearchCountBike(nearlynew){
    var formitem = '#frmSearchUsedBikes';
        
    if ( nearlynew == 1 || nearlynew === true ) {
      formitem = '#frmSearchNearlyNewBikes';
    }
    $.ajax({

        url : '/frontend-operations/advanced-search-count-custom/',
        dataType : 'json',
        data : $(formitem).serialize(),
        success : function (data){
        
            if ( typeof data != 'undefined' ) {
            
            
                if ( nearlynew == 1 || nearlynew === true ) {
                    $('#bikeNearlyNewVehicleCountDisplay').html(data + ' Bike(s) Available');
                } else {
                     $('#bikeVehicleCountDisplay').html(data + ' Bike(s) Available');
                }
            }
        }
    });
};

/*
* @ desc Used cars selector between cars and vans
*/
function showCarSearch ( showCars ){

	if( showCars == true ){
		// Show car tab
		$('#vehicleType').show();
		$('#tabContentVanSearch').hide();
		$('#tabVansSearch').removeClass('active');
		$('#tabContentCarSearch').show();
		$('#tabCarsSearch').addClass('active');
		$('#advancedSearchDoors').show();
		$('#advancedSearchTaxBand').show();
		$('#search_url').val('used-cars');
		$('#is_van').val(0);
		$('#is_van2').val(0);
		$('#vehicleCountDisplay').html(advancedSearchCarCount + (advancedSearchCarCount === 1 ? ' Car' : ' Cars') + ' Available');

	}else{
		// Show van tab
		$('#vehicleType').hide();
		$('#tabContentCarSearch').hide();
		$('#tabCarsSearch').removeClass('active');
		$('#tabContentVanSearch').show();
		$('#tabVansSearch').addClass('active');
		$('#advancedSearchDoors').hide();
		$('#advancedSearchTaxBand').hide();
		$('#search_url').val('vans');
		$('#is_van').val(1);
		$('#is_van2').val(1);
		$('#vehicleCountDisplay').html(advancedSearchVanCount + (advancedSearchVanCount === 1 ? ' Van' : 'Vans') + ' Available');
	}
}


/*
* @ desc New cars selector between cars and vans
*/
function showNewCarSearch ( showCars ){

	if( showCars == true ){
		// Show car tab
		$('#new_van_franchise_detail_id').hide(); //hide the select object
		$('#tabContentNewVanSearch').hide(); // hide the tab
		$('#tabNewVansSearch').removeClass('active'); // deactivate the tab

		$('#new_car_franchise_detail_id').show();
		$('#tabContentNewCarSearch').show();
		$('#tabNewCarsSearch').addClass('active');

		$('#new_car_search_url').val('new-cars');
		$('#new_car_is_van').val(0);

	}else{
		// Show van tab
		$('#new_car_franchise_detail_id').hide(); //hide the select object
		$('#tabContentNewCarSearch').hide();  // hide the tab
		$('#tabNewCarsSearch').removeClass('active'); // deactivate the tab

		$('#new_van_franchise_detail_id').show();
		$('#tabContentNewVanSearch').show();
		$('#tabNewVansSearch').addClass('active');

		$('#new_car_search_url').val('new-cars');
		$('#new_car_is_van').val(1);
	}
}


/**
* @ desc sets and submits New Vehicles Search form
*/
function intelliQuickSearch(){

	if( currentISearch != $('#quick_search_value').val() ){

		rememberQuickVehicleSearchValue = $('#quick_search_value').val();

		if ( $('#quick_search_value').val() != '' && $('#quick_search_value').val() != 'Quick Vehicle Search' && $('#quick_search_value').val() != 'Search by Reg or Model' && $('#quick_search_value').val().length > 1 ) {

			var searchArray = $('#quick_search_value').val().toLowerCase().split(' ');

			$.ajax({
				url: '/frontend-operations/intelli-quick-search/',
				dataType: 'json',
				data: 'quick_search_value=' + $('#quick_search_value').val(),
				success: function(data){

					var text = ''; // per row
					var displayText = ''; // whole html for search results

					var names = ''; // per row collect
					var textNames = ''; // to stop similar results showing twice

					var searchItemArray = new Array();

					if (data != null) {

						displayText = '<table border="0" style="width: 100%;" cellpadding="0" cellspacing="0"><tr><th style="width: 100%; text-transform:uppercase;" colspan="2"><center>Used Stock Search</center></th></tr>';

						$.each(data, function(i,item){

							text  = '';
							names = '';
							text += '<tr id="result_row_' + ++i + '" onmouseover="this.className = \'trOver\';" onmouseout="this.className=\'\';"><td style="width:60px;">';
							text += '<a href="javascript: submitQuickSearch(' + item.id + ');" title="' + item.marque_name + '" style="text-decoration:none; color:#666;" id="result_row_link_' + i + '">';
							text += '<img src="' + netdirector.baseUrl + (( item.image_src != null && item.image_src != '' ) ? '/upload/images/stock/small/' + item.image_src : '/local/images/noImage100x72.jpg' ) + '" alt="" class="float_left" style="width:60px;" /></a></td>';
							text += '<td class="hand" onclick="submitQuickSearch(' + item.id + ');">';
							text += '<a href="javascript: submitQuickSearch(' + item.id + ');" title="' + item.marque_name + '" style="text-decoration:none; color:#666;" id="result_row_link_' + i + '">';

							searchItemArray[item.id] = item;

							//if( wordExists(searchArray,item.marque_name.toLowerCase()) == true  ){

							text += ' '  + item.marque_name;
							names += ' '  + item.marque_name;
							//}

							//if( wordExists(searchArray,item.model_name.toLowerCase()) == true  ){

							text += ' '  + item.model_name;
							names += ' '  + item.model_name;
							//}

							if( wordExists(searchArray,item.variant.toLowerCase()) == true  ){

								text += ' '  + item.variant;
								names += ' '  + item.variant;
							}

							//if( wordExists(searchArray,item.body_style_name.toLowerCase()) == true  ){

							text += ' '  + item.body_style_name;
							names += ' '  + item.body_style_name;
							//}

							if( wordExists(searchArray,item.fuel_type_name.toLowerCase()) == true  ){

								text += ' '  + item.fuel_type_name;
								names += ' '  + item.fuel_type_name;
							}

							if( wordExists(searchArray,item.transmission_type_name.toLowerCase()) == true  ){

								text += ' '  + item.transmission_type_name;
								names += ' '  + item.transmission_type_name;
							}

							if( wordExists(searchArray,item.registration_year.toLowerCase()) == true  ){

								text += ' '  + item.registration_year;
								names += ' '  + item.registration_year;
							}

							if( wordExists(searchArray,item.engine_size.toLowerCase()) == true  ){

								text += ' '  + item.engine_size + 'cc';
								names += ' '  + item.engine_size + 'cc';
							}

							if( wordExists(searchArray,item.full_registration.toLowerCase()) == true  ){

								text += ' '  + item.full_registration;
								names += ' '  + item.full_registration;
							}
							text += '</a></td>';

							//alert( displayTextNames.search(text) );
							if( textNames.search(names) < 0 ){
								textNames += names;
								displayText += text;
							}
						});

						if ( data.length == 0 ) {
							displayText += '<tr id="noResultsRow' + '"><td style="width:60px;" colspan="2">';
							displayText += '<center>Sorry no results found</center>';
							displayText += '</td></tr>';
						}

						displayText += '<tr id="allStockSearchRow' + '" onmouseover="this.className = \'trOver\';" onmouseout="this.className=\'\';"><td style="width:60px;" colspan="2">';
						displayText += '<center><a href="/'+netdirector.franchiseUrl+'used-cars/search/?new_search=true">View All Stock<a/></center>';
						displayText += '</td></tr>';

						displayText += '</table>';
						quickSearchResults = searchItemArray;
						totalResults = data.length;
						resultDisplayKeyboardHighlight = 0;
					}
					$('#searchResults').html(displayText);
					$('#searchResults').addClass('results');

					currentISearch = $('#quick_search_value').val(); // set the current value for remembrance
				},
				error: function(objRequest){

				}
			});
		} else {

			$('#searchResults').html('');
			$('#searchResults').removeClass('results');
			$('#searchResults').addClass('noResults');
		}
	}
}


/**
* @ desc sets and submits New Vehicles Search form
*/
function submitNewVehicleSearch(){

	if (isVanSearch()) {

		var franchiseUrl = $('#new_car_franchise_detail_id option:selected').data('url');
		var modelUrl = $('#new_car_model_name option:selected').data('url');
		var variantId = $("#new_car_variant").val();
		var areaUrl = 'new-vans';

	} else if (isBikeSearch()) {

		var option = $('#new_car_model_name option:selected');
		var franchiseUrl = '/' + (option.val().length > 0 ? $('#new_car_model_name option:selected').data('url') : $('#new_car_franchise_detail_id option:selected').html().toLowerCase());

		if (franchiseUrl === '/-  select make  -'){
			franchiseUrl = '';
		}

		$('#frmSearchNewCars').attr('action', franchiseUrl + '/motorcycles').attr('type', 'post').unbind().submit();
		return false;

	} else {

		var franchiseUrl  = $( '#new_car_franchise_detail_id option:selected').data('url');
		var modelUrl   = $( '#new_car_model_name option:selected').data('url');
		var variantId = $("#new_car_variant").val();
		var areaUrl = 'new-cars';

	}

	locationurl = netdirector.baseUrl + '/' + ( ( franchiseUrl != '' && franchiseUrl != 'group' && franchiseUrl != null ) ? franchiseUrl + '/' : '' );

	if ( areaUrl != null ) {
		locationurl += areaUrl + '/';

	}

	if ( variantId != null && modelUrl != null ) {
		locationurl += modelUrl + '/' + variantId;
	} else if ( modelUrl != null ) {
		locationurl += modelUrl;
	}

	var postcode = $('#postcode').val();
	if ( postcode != null && postcode != 'Enter Your Postcode' && postcode != '' ) {
		locationurl += '?postcode=' + postcode;
	}

	window.location = locationurl;
}


/**
* @ desc sets category and submits form
*/
function submitCategorySearch( category ){

	$('#category_search').val( category );
	$('#frmSearchUsedCars').submit();
}


/**
* @ desc submits quick search form
*/
function submitQuickSearch(id){


	var searchArray = $('#quick_search_value').val().toLowerCase().split(' ');
	var item = quickSearchResults[id];

	//if( wordExists(searchArray,item.marque_name.toLowerCase()) == true  ){

	$('#quick_search_marque_id').val( item.auto_marque_detail_id );
	//}

	//if( wordExists(searchArray,item.model_name.toLowerCase()) == true  ){

	$('#quick_search_model_id').val( item.auto_model_detail_id );
	//}

	if( wordExists(searchArray,item.variant.toLowerCase()) == true  ){

		$('#quick_variant').val( item.variant );
	}

	//if( wordExists(searchArray,item.body_style_name.toLowerCase()) == true  ){

	$('#quick_auto_body_style_detail_id').val( item.auto_body_style_detail_id );
	//}

	if( wordExists(searchArray,item.fuel_type_name.toLowerCase()) == true  ){

		$('#quick_auto_fuel_type_detail_id').val( item.auto_fuel_type_detail_id );
	}

	if( wordExists(searchArray,item.transmission_type_name.toLowerCase()) == true  ){

		$('#quick_auto_transmission_detail_id').val( item.auto_transmission_detail_id );
	}

	if( wordExists(searchArray,item.registration_year.toLowerCase()) == true  ){

		$('#quick_registration_year').val( item.registration_year );
	}

	if( wordExists(searchArray,item.engine_size.toLowerCase()) == true  ){

		$('#quick_engine_size').val( item.engine_size );
	}

	if( wordExists(searchArray,item.full_registration.toLowerCase()) == true  ){

		$('#quick_full_registration').val( item.full_registration );
	}
	$('#frmQuickSearchUsedCars').unbind('submit');
	$('#frmQuickSearchUsedCars').submit();
}


function quickSearchFocus(){

	if( $('#quick_search_value').val() == 'Quick Vehicle Search' || $('#quick_search_value').val() == 'Search by Reg or Model' ){

		if( rememberQuickVehicleSearchValue != '' ){
			$('#quick_search_value').val(rememberQuickVehicleSearchValue)
			$('#searchResults').html(rememberedDisplayText);
			$('#searchResults').addClass('results');
		}else{
			$('#quick_search_value').val('')
		}
	}
}


function quickSearchBlur(){

	$('#quick_search_value').val('Search by Reg or Model');
	rememberedDisplayText = $('#searchResults').html();
	setTimeout( "hideQuickSearchResults()",300);
}


function hideQuickSearchResults(){

	if( rememberedDisplayText != '' ){
		$('#searchResults').animate({
			height: "toggle"
		}, 200, function(){

			$('#searchResults').html('');
			$('#searchResults').removeClass('results');
			$('#searchResults').addClass('noResults');
		});
	}
}


// determines if van radio button is selected
function isVanSearch() {

	return ( $('input[name=vehicleType][checked]:radio').val() == 'vans' );

}


function isVanSearch2() {

	return ( $('input[name=vehicleTypeOffer][checked]:radio').val() == 'vans' );

}


function isBikeSearch() {

	return ( $('input[name=vehicleType][checked]:radio').val() == 'bikes' );

}


function isBikeSearch2() {

	return ( $('input[name=vehicleTypeOffer][checked]:radio').val() == 'bikes' );

}

function hideSearchEverything () {
    $('#frmSearchNewCars').hide();
    $('#frmSearchNewVans').hide();
    $('#frmSearchNewBikes').hide();
    $('#frmSearchUsedCars').hide();
    $('#frmSearchUsedVans').hide();
    $('#frmSearchUsedBikes').hide();
    $('#frmSearchNearlyNewCars').hide();
    $('#frmSearchNearlyNewVans').hide();
    $('#frmSearchNearlyNewBikes').hide();
}

function hideSearchEverythingOffers () {
    $('#frmSearchCarOffers').hide();
    $('#frmSearchVanOffers').hide();
    $('#frmSearchBikeOffers').hide();
}


// need this function accessable from anywhere
// This should be reimplemented using jquery tabs
function updateAdvancedSearch() {
	hideSearchEverything();

	switch ( $('input[name=vehicleCondition][checked]:radio').val() ) {

		case 'new':
			switch( $('input[name=vehicleType][checked]:radio').val() ) {
					case 'cars':
						$('#frmSearchNewCars').show();
					break;

					case 'vans':
						$('#frmSearchNewVans').show();
					break;

					case 'bikes':
						$('#frmSearchNewBikes').show();
					break;
				}
			break;

		case 'nearlyNew':
			switch( $('input[name=vehicleType][checked]:radio').val() ) {
					case 'cars':
						$('#frmSearchNearlyNewCars').show();
					break;

					case 'vans':
						$('#frmSearchNearlyNewVans').show();
					break;

					case 'bikes':
						$('#frmSearchNearlyNewBikes').show();
					break;
				}
			break;

		case 'used':

			switch( $('input[name=vehicleType][checked]:radio').val() ) {
					case 'cars':
						$('#frmSearchUsedCars').show();
					break;

					case 'vans':
						$('#frmSearchUsedVans').show();
					break;

					case 'bikes':
						$('#frmSearchUsedBikes').show();
					break;
				}
			break;

		default:
			break;

	}

	$('#tabCarVan a').removeClass('active');

	switch( $('input[name=vehicleType][checked]:radio').val() ) {
		case 'cars':
			$('#tabLinkUsedCars').addClass('active');
		break;

		case 'vans':
			$('#tabLinkUsedVans').addClass('active');
		break;

		case 'bikes':
			$('#tabLinkUsedBikes').addClass('active');
		break;
	}


}

function initialiseAdvancedSearch() {


	$('#frmSearchOffers').submit(function(event) {

		submitAdvancedSearchOffer();

	});

	$('#vehicleTypeSelectionForm,#vehicleTypeSelectionForm').change(function(event) {
		updateAdvancedSearch(event);
	});
    
    
    
    $('#offerVehicleTypeSelectionForm').change(function(event) {
        hideSearchEverythingOffers();

        switch ( $('input[name=vehicleTypeOffer][checked]:radio').val() ) {
                case 'cars':
                    $('#frmSearchCarOffers').show();
                break;
                
                case 'vans':
                    $('#frmSearchVanOffers').show();
                break;
                
                case 'bikes':
                    $('#frmSearchBikeOffers').show();
                break;

        }

    });
    
    
    $('#car_auto_marque_detail_id').change(function(event) {
        collectAvailableModels(0, 0);
    });
    
    $('#van_auto_marque_detail_id').change(function(event) {
        collectAvailableModels(0, 1);
    });
    
    $('#bike_auto_marque_detail_id').change(function(event) {
        collectAvailableModels(0, 2);
    });
    
    
    
    $('#nearly_new_car_auto_marque_detail_id').change(function(event) {
        collectAvailableModels(0, 0, 1);
    });
    
    $('#nearly_new_van_auto_marque_detail_id').change(function(event) {
        collectAvailableModels(0, 1, 1);
    });
    
    $('#nearly_new_bike_auto_marque_detail_id').change(function(event) {
        collectAvailableModels(0, 2, 1);
    });
    
    
    $('#offercars_auto_marque_detail_id').change(function(event) {
        collectAvailableOfferModels(0, 0);
    });
    
    $('#offervans_auto_marque_detail_id').change(function(event) {
        collectAvailableOfferModels(0, 1);
    });
    
    $('#offerbikes_auto_marque_detail_id').change(function(event) {
        collectAvailableOfferModels(0, 2);
    });
    
    
    $('#offercars_auto_model_detail_id').change(function(event) {
        updateOfferLists(0, 0);
    });
    
    $('#car_auto_model_detail_id,#car_price,#car_lower_price,#car_advancedSearchDoors,#car_advancedSearchPreviousOwners,#car_auto_colour_detail_id,#car_advancedSearchPreviousOwners,#car_auto_body_style_detail_id,#car_auto_fuel_type_detail_id,#car_auto_transmission_detail_id,#car_advancedSearchEngineSize,#car_advancedSearchTaxBand,#car_advancedSearchMPG,#car_advancedSearchMileage,#car_advancedRegistrationDate,#car_advancedInsuranceGroup').change(function(event) {
        collectAdvancedSearchCount();
    });
  
    $('#offervans_auto_model_detail_id').change(function(event) {
        updateOfferLists(0, 1);
    });
    
    $('#offerbikes_auto_model_detail_id').change(function(event) {
        updateOfferLists(0, 2);
    });
    
    $('#offervans_auto_marque_detail_id').change(function(event) {
        collectAvailableOfferModels(0, 1);
    });
    
    $('#offerbikes_auto_marque_detail_id').change(function(event) {
        collectAvailableOfferModels(0, 2);
    });
  
    $('#van_auto_model_detail_id,#van_price,#van_advancedSearchDoors,#van_advancedSearchPreviousOwners,#van_advancedSearchPreviousOwners,#van_auto_body_style_detail_id,#van_auto_fuel_type_detail_id,#van_auto_transmission_detail_id,#van_advancedSearchEngineSize,#van_advancedSearchTaxBand,#van_advancedSearchMPG,#van_advancedSearchMileage,#van_advancedRegistrationDate,#van_advancedInsuranceGroup').change(function(event) {
        collectAdvancedSearchCountVan();
    });
    
    $('#bike_auto_model_detail_id,#bike_price,#bike_advancedSearchDoors,#bike_advancedSearchPreviousOwners,#bike_advancedSearchPreviousOwners,#bike_auto_body_style_detail_id,#bike_auto_fuel_type_detail_id,#bike_auto_transmission_detail_id,#bike_advancedSearchEngineSize,#bike_advancedSearchTaxBand,#bike_advancedSearchMPG,#bike_advancedSearchMileage,#bike_advancedRegistrationDate,#bike_advancedInsuranceGroup').change(function(event) {
        collectAdvancedSearchCountBike();
    });
    
    
    $('#nearly_new_car_auto_model_detail_id,#nearly_new_car_price,#nearly_new_car_advancedSearchDoors,#nearly_new_car_advancedSearchPreviousOwners,#nearly_new_car_advancedSearchPreviousOwners,#nearly_new_car_auto_body_style_detail_id,#nearly_new_car_auto_fuel_type_detail_id,#nearly_new_car_auto_transmission_detail_id,#nearly_new_car_advancedSearchEngineSize,#nearly_new_car_advancedSearchTaxBand,#nearly_new_car_advancedSearchMPG,#nearly_new_car_advancedSearchMileage,#nearly_new_car_advancedRegistrationDate,#nearly_new_car_advancedInsuranceGroup').change(function(event) {
        collectAdvancedSearchCount(1);
    });
    
    $('#nearly_new_van_auto_model_detail_id,#nearly_new_van_price,#nearly_new_van_advancedSearchDoors,#nearly_new_van_advancedSearchPreviousOwners,#nearly_new_van_advancedSearchPreviousOwners,#nearly_new_van_auto_body_style_detail_id,#nearly_new_van_auto_fuel_type_detail_id,#nearly_new_van_auto_transmission_detail_id,#nearly_new_van_advancedSearchEngineSize,#nearly_new_van_advancedSearchTaxBand,#nearly_new_van_advancedSearchMPG,#nearly_new_van_advancedSearchMileage,#nearly_new_van_advancedRegistrationDate,#nearly_new_van_advancedInsuranceGroup').change(function(event) {
        collectAdvancedSearchCountVan(1);
    });
    
    $('#nearly_new_bike_auto_model_detail_id,#nearly_new_bike_price,#nearly_new_bike_advancedSearchDoors,#nearly_new_bike_advancedSearchPreviousOwners,#nearly_new_bike_advancedSearchPreviousOwners,#nearly_new_bike_auto_body_style_detail_id,#nearly_new_bike_auto_fuel_type_detail_id,#nearly_new_bike_auto_transmission_detail_id,#nearly_new_bike_advancedSearchEngineSize,#nearly_new_bike_advancedSearchTaxBand,#nearly_new_bike_advancedSearchMPG,#nearly_new_bike_advancedSearchMileage,#nearly_new_bike_advancedRegistrationDate,#nearly_new_bike_advancedInsuranceGroup').change(function(event) {
        collectAdvancedSearchCountBike(1);
    });
}

function updateAdvancedSearchCount() {
	if ($('#newConditionRadio').attr('checled')) {
		return;
	}

	if ($('#carSelectionRadio').attr('checked')) {
		var isNearlyNew = $('#nearlyNewConditionRadio').attr('checked');
		collectAdvancedSearchCount(isNearlyNew);
	} else if ($('#vanSelectionRadio').attr('checked')) {
		var isNearlyNew = $('#nearlyNewConditionRadio').attr('checked');
		collectAdvancedSearchCountVan(isNearlyNew);
	} else if ($('#bikeSelectionRadio').attr('checked')) {
		var isNearlyNew = $('#nearlyNewConditionRadio').attr('checked');
		collectAdvancedSearchCountBike(isNearlyNew);
	}
	return;
}

function submitNewCars() {

    var detailparts = $('#new_car_franchise_detail_id').val();
    var detailids = detailparts.split('||');
    var franchisename = detailids[1];
    
    

    detailparts = $('#new_car_model_name').val();
    detailids = detailparts.split('||');
    var model = detailids[1];
    
    if ( typeof model == 'undefined' ) {
        model = "";
    }
    
    var item = netdirector.baseUrl + "/" + franchisename + '/new-cars/' + model + '/' + $('#new_car_variant').val();
    window.location.href = item;
    return false;
}


function submitNewVans() {

    var detailparts = $('#new_van_franchise_detail_id').val();
    var detailids = detailparts.split('||');
    var franchisename = detailids[1];
    
    detailparts = $('#new_van_model_name').val();
    detailids = detailparts.split('||');
    var model = detailids[1];
    
    if ( typeof model == 'undefined' ) {
        model = "";
    }
    
    var item = netdirector.baseUrl + "/" + franchisename + '/new-vans/' + model + '/' + $('#new_van_variant').val();
    window.location.href = item;
    return false;
}


function submitNewBikes() {

    var detailparts = $('#new_bike_franchise_detail_id').val();
    var detailids = detailparts.split('||');
    var franchisename = detailids[1];
    
    detailparts = $('#new_bike_model_name').val();
    detailids = detailparts.split('||');
    var model = detailids[1];
    
    if ( typeof model == 'undefined' ) {
        model = "";
    }
    
    var item = netdirector.baseUrl + "/" + franchisename + '/motorcycles/' + model;
    window.location.href = item;
    return false;
}

/**
* @ desc sets category and submits form
*/
function submitAdvancedSearch(){

	if( isVanSearch() ){

		$('#search_marque_id').val( $('#van_auto_marque_detail_id').val() );
		$('#search_model_id').val( $('#van_auto_model_detail_id').val() );
		$('#is_van').val( 1 );
		$('#is_van2').val( 1 );
		$('#is_motorcycle').val( 0 );
		$('#is_motorcycle2').val( 0 );
	}else{
		if ( isBikeSearch() ) {
			$('#search_marque_id').val( $('#motorcycle_auto_marque_detail_id').val() );
			$('#search_model_id').val( $('#motorcycle_auto_model_detail_id').val() );
			$('#is_van').val( 0 );
			$('#is_van2').val( 0 );
			$('#is_motorcycle').val( 1 );
			$('#is_motorcycle2').val( 1 );
		} else {
			$('#search_marque_id').val( $('#auto_marque_detail_id').val() );
			$('#search_model_id').val( $('#auto_model_detail_id').val() );
			$('#is_van').val( 0 );
			$('#is_van2').val( 0 );
			$('#is_motorcycle').val( 0 );
			$('#is_motorcycle2').val( 0 );
		}
	}
//$('#frmSearchUsedCars').submit();
}


function submitAdvancedSearchOffer(){

	if( isVanSearch2() ){

		$('#search_marque_id_offer').val( $('#makeOfferVan').val() );
		$('#search_model_id_offer').val( $('#modelOfferVan').val() );
		$('#search_offer_id').val( $('#offerTypeVan').val() );
		$('#is_van').val( 1 );
		$('#is_van2').val( 1 );
		$('#is_motorcycle').val( 0 );
		$('#is_motorcycle2').val( 0 );
	}else{
		if ( isBikeSearch2() ) {
			$('#search_marque_id_offer').val( $('#makeOfferMotorcycle').val() );
			$('#search_model_id_offer').val( $('#modelOfferMotorcycle').val() );
			$('#search_offer_id').val( $('#offerTypeMotorcycle').val() );
			$('#is_van').val( 0 );
			$('#is_van2').val( 0 );
			$('#is_motorcycle').val( 1 );
			$('#is_motorcycle2').val( 1 );
		} else {
			$('#search_marque_id_offer').val( $('#makeOfferCar').val() );
			$('#search_model_id_offer').val( $('#modelOfferCar').val() );
			$('#search_offer_id').val( $('#offerTypeCar').val() );
			$('#is_van').val( 0 );
			$('#is_van2').val( 0 );
			$('#is_motorcycle').val( 0 );
			$('#is_motorcycle2').val( 0 );
		}
	}
//$('#frmSearchUsedCars').submit();
}

/**
* @ desc Adds commas in the right places to make long prices presentable
*/
function addCommas(nStr){

	nStr += '';
	var x = nStr.split('.');
	var x1 = x[0];
	var x2 = ( x.length > 1 ) ? '.' + ( ( x[1].length == 1 )? x[1] + '0' : x[1] ) : '';
	var rgx = /(\d+)(\d{3})/;

	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}


function wordExists(arr, obj) {
	for(var i=0; i<arr.length; i++) {
		if( arr[i] != '' ){
			if (obj.search(arr[i]) >= 0) return true;
		}
	}
}


function detectkeyPress(e){

	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;

	if( keycode == 40 ){
		keyboardDown();
	}else if( keycode == 38 ){
		keyboardUp();
	}else if( keycode == 13 ){
		keyboardReturn();
	}
}


function keyboardDown(){

	if( resultDisplayKeyboardHighlight < totalResults ){
		if( resultDisplayKeyboardHighlight > 0 ){
			$( '#result_row_' + resultDisplayKeyboardHighlight ).removeClass('trOver');
		}
		resultDisplayKeyboardHighlight += 1;
		$( '#result_row_' + resultDisplayKeyboardHighlight ).addClass('trOver');
	}
}


function keyboardUp(){

	if( resultDisplayKeyboardHighlight > 1 ){
		$( '#result_row_' + resultDisplayKeyboardHighlight ).removeClass('trOver');
		resultDisplayKeyboardHighlight -= 1;
		$( '#result_row_' + resultDisplayKeyboardHighlight ).addClass('trOver');
	}
}


function keyboardReturn(){

	if( resultDisplayKeyboardHighlight > 0 ){
		$( '#result_row_link_' + resultDisplayKeyboardHighlight ).focus();
		window.location = $( '#result_row_link_' + resultDisplayKeyboardHighlight ).attr( 'href' );
		return false;
	}
}

/**
* @ desc This will open the dialog and show the correct form
*/
function showGlobalForm( formType ){

	var dialogName = '';
	var formName   = '';

	// Using switch will stop JS errors from passing incorrect dialog names
	switch( formType ){

		case 'globalvaluemyvehicle':
			dialogName  = 'dialogGlobalValueMyVehicle';
			formName    = 'formGlobalValueMyVehicle';
			alertBoxName = 'alertBoxGlobalValueMyVehicle';

            collectAllMakes('#globalvaluemyvehicle_my_make_id', 0);
			break;

        case 'globaltestdrive':
			dialogName  = 'dialogGlobalTestDrive';
			formName    = 'formGlobalTestDrive';
			alertBoxName = 'alertBoxGlobalTestDrive';


			break;
	}

	if( dialogName != '' ){

		// Clear the form values
		//clearFormElements('#' + formName);

		// Removes validation messages
		var validator = $('#' + formName).validate();
		validator.resetForm();

		// Clear Alert Box Text
		resetTips( alertBoxName );

		// Open the dialog box
		$('#' + dialogName ).dialog('open');

		// highlight first input
		$('#' + dialogName + ' :input:text:first').focus();
	}
}


/**
* @ desc This will save the selected areas for this franchise via Ajax
*/
function submitGlobalForm( formType ){

    if( formType != '' ){

		// Check if form is valid before proceeding
		if( $( "#form" + formType ).valid() && !$( "#form" + formType ).data('disable') ){

			var params = $( '#form' + formType ).serialize();

			formStatus(formType, true);
			updateTips('<img src="/local/images/loading.gif" width="15" style="position:relative; display:inline; top:4px; margin:0 5px" />Submiting Form', 'Please wait whilst we process your request', 'highlight', '', 'alertBox' + formType);

			var formData = '';

            if( formType == 'GlobalValueMyVehicle' || formType == 'GlobalTestDrive' ){

                formData += '&custom_vehicle_make=' + $('#form' + formType + ' .customVehicleMake > option:selected').text() + '&custom_vehicle_model=' + $('#form' + formType + ' .customVehicleModel > option:selected').text() + '&';
            }

			$.ajax({
				url: '/frontend-operations/submit-form/',
				dataType: 'json',
				data: formData + params,
				success: function(data){

					if( data.status == true ){

                        if ( typeof itForm == 'function' ) {
						    itForm(data.intellitracker);
                        }

						updateTips('Enquiry sent','Thank you for your enquiry. We will respond as soon as possible','highlight','','alertBox' + formType);

						clearFormElements("#form" + formType);

						//Google analytics tracking
						window._gaq = window._gaq || [];
						window._gaq.push(['_trackPageview',  netdirector.baseUrl + "/" + netdirector.franchiseUrl + 'submit-form/' + encodeURIComponent( formType ) ]);

						setTimeout(function () {
							formStatus(formType, false);
							autoCloseDialog('dialog' + formType);
						}, 4000);

					}else{

						if( data.error != null ){
							updateTips('Request Failed',data.error,'error','','alertBox' + formType);
						}else{
							updateTips('Request Failed','The request to submit failed, please try again.','error','','alertBox' + formType);
						}

						formStatus(formType, false);
					}
				},
				error: function( objRequest ){
					updateTips('Request Failed','The submission request failed, please try again.','error','','alertBox' + formType);
					formStatus(formType, false);
				}
			});
		}
	}

}

function formStatus(formType, disable) {

	var id = '#form' + formType, height = 400;

	if (typeof formType === 'undefined') {
		return false;
	}

	if (disable) {

		// Store the form's original height.

		// Loading cursor and disabled submit button.
		$('body').css('cursor', 'progress');
		$(id + ' input, ' + id + ' textarea, ' + id + ' select').attr('disabled', true);

		$(id)
			.data('disable', true)
			.data('originalHeight', $(id).innerHeight())
			.animate({
				height : 0,
				opacity : 0
			}, 400, function () {
				$(this).css('display', 'none')
			})
			.parent()
			.next()
			.slideUp(300);

        return true;

	} else {

		if (typeof $(id).data('originalHeight') !== 'undefined') {
			height = $(id).data('originalHeight');
		}

		$(id)

		// Enable submit button and default cursor.
		$(id + ' input, ' + id + ' textarea, ' + id + ' select').removeAttr('disabled');
		$('body').css('cursor', 'default');

		$(id)
			.css('display', 'block')
			.data('disable', false)
			.animate({
				height : height + 'px',
				opacity : 100
			}, 400)
			.parent()
			.next()
			.slideDown(300);

        return true;
	}
}

/**
* @ desc This will post the (custom cms) form via Ajax
*/
function submitCustomForm( formType ){

	if( formType == '' ){
		return;
	}

	// Check if form is valid before proceeding
	if( $( "#form" + formType ).valid() ){

        var formData = '';
        var inputName = '';
        var inputValue = '';

        formData += $( '#form' + formType ).serialize();

        if( formType == 'CustomCarFinder' || formType == 'CustomSellYourVehicle' ){

            formData += '&custom_vehicle_make=' + $('#form' + formType + ' .customVehicleMake > option:selected').text() + '&custom_vehicle_model=' + $('#form' + formType + ' .customVehicleModel > option:selected').text() + '&';
        }

		$('body').css('cursor', 'progress');
        //$( "#form" + formType + ' .btnSubmit:first').attr("disabled",true);
        formStatus(formType, true);
        updateTips('<img src="/local/images/loading.gif" width="15" style="position:relative; display:inline; top:4px; margin:0 5px" />Submiting Form', 'Please wait whilst we process your request', 'highlight', '', 'alertBox' + formType);

		$.ajax({
			url: '/frontend-operations/submit-form/',
			dataType: 'json',
			data: formData,
			success: function(data){

				if( data != 0 ){
                    // submit to intellitracker
                    itForm(data.intellitracker);

					// Submitted ok.
					clearFormElements("#form" + formType);
					updateTips('Thank You','Your details have been submitted successfully','highlight','','alertBox' + formType);

                    //Google analytics tracking
					window._gaq = window._gaq || [];
					window._gaq.push(['_trackPageview',  netdirector.baseUrl + "/" + netdirector.franchiseUrl + 'submit-form/' + encodeURIComponent( formType ) ]);
				}else{

					// Show generic message
					updateTips('Request Failed','The request to submit failed, please try again.','error','','alertBox' + formType);
				}
				$('body').css('cursor', 'default');
                //$( "#form" + formType + ' .btnSubmit:first').attr("disabled",false);
                formStatus(formType, false);
			},
			error: function( objRequest ){
				updateTips('Request Failed','The request failed to submit, please try again.','error','','alertBox' + formType);
				$('body').css('cursor', 'default');
                //$( "#form" + formType + ' .btnSubmit:first').attr("disabled",false);
			}
		});
	}
}

/**
* @ desc This will setup form
*/
function setupCustomForm(formType){

	// Clear the form values
	//clearFormElements('#form' + formType);

	// Removes validation messages
	var validator = $('#form' + formType).validate();
	validator.resetForm();

	// Clear Alert Box Text
	$('#alertBox' + formType).html('');

	// highlight first input
	//$('#form' + formType + ' :input:text:first').focus();
}

/**
* @ desc This will setup form
*/
function setupSearchForm(formType){

	// Removes validation messages
	var validator = $('#frm' + formType).validate();
	validator.resetForm();

}


/**
* @ desc This save a vehicle to favourites via Ajax
*/
function addToMyFavourites( vehicleId ){

    $('body').css('cursor', 'progress');

    $.ajax({
      url: '/frontend-operations/view-my-favourites/',
      dataType: 'json',
      data: 'limit=9999',
      success: function(data){

            if (data.length>=6){

                alert('Your favourite list is full. Please remove vehicles before adding more');
                $('body').css('cursor', 'default');

            }else{

                $('body').css('cursor', 'progress');

                $.ajax({
                    url: '/frontend-operations/save-vehicle-to-favourites-custom/',
                    dataType: 'json',
                    data: 'auto_car_detail_id=' + vehicleId,
                    success: function(data){

                        if( data == true ){

                            itEvent( 'saveToFavourites', 'id='+ vehicleId );

                            // Favourite has been added successfully
                            alert( 'Vehicle has been saved' );
                            showMyFavourites();
                        }else{

                            // Favourite failed to save
                            alert( 'This vehicle has already been saved previously' );
                        }
                        $('body').css('cursor', 'default');
                    },
                    error: function( objRequest ){
                        // Could not save favourite
                        $('body').css('cursor', 'default');
                    }
                });

            }
        },
        error: function( objRequest ){
                // Could not retrieve favourites
                $('body').css('cursor', 'default');
        }
    });
}


/**
* @ desc remove this vehicle to favourites via Ajax
*/
function removeFavourite( vehicleId, noRedirect ){

	$('body').css('cursor', 'progress');

	$.ajax({
		url: '/frontend-operations/remove-vehicle-from-favourites/',
		dataType: 'json',
		data: 'auto_car_detail_id=' + vehicleId,
		success: function(data){

			if( data == true ){
				if ( noRedirect == 1 )  {
					alert( 'This vehicle has been removed' );
					showMyFavourites();
				} else {
					// Favourite has been removed successfully
					window.location = netdirector.baseUrl + '/' + netdirector.franchiseUrl + 'used-cars/favourites';
				}
			}else{

			// Favourite failed to remove
			}
			$('body').css('cursor', 'default');
		},
		error: function( objRequest ){
			// Could not save favourite
			$('body').css('cursor', 'default');
		}
	});
}


function showMyFavourites(){
	if ( $('#tabSaveAndCompare').length == 0 ) {
		return 0;
	}

	$('body').css('cursor', 'progress');

	$.ajax({
		url: '/frontend-operations/view-my-favourites/',
		dataType: 'json',
		data: 'limit=' + favouritesLimit,
		success: function(data){

			// reset all cars on page to compare button
			$("a[class^=compareLink]").each(  function (item){
				var classname = $(this).attr('class');
				var id = classname.replace('compareLink', '');
				$(this).html('<img src="/local/images/btnAddFavourites.jpg" alt="Compare">');
				$(this).attr('href', 'javascript: addToMyFavourites(' + id + ');');
                $(this).attr('title', 'Save to Favourites');
			} );


			$('div[id^=favouriteItem]').each(function(i,item) {
				$(this).html('');
			});

			if( data != 0 ){

				var vehicleTitle, text;


				// Add Options
				$.each(data, function(i,item){

                    if(!item.imageSrc || item.imageSrc == "null") {
                        vehicleImgSrc = netdirector.baseUrl + '/local/images/noImage85x63.jpg';
                    } else {
                        vehicleImgSrc = netdirector.baseUrl + '/upload/images/stock/small/' + item.imageSrc;
                    }

					vehicleTitle = item.references.marque_name + ' ' + item.references.model_name + ' ' + item.variant;
                    text = '<a href="' + netdirector.baseUrl + '/' + netdirector.franchiseUrl + 'used-cars/' + item.id + '/' + vehicleTitle.toLowerCase().replace( ' ', '-' ) + '" title="' + vehicleTitle + '"><img src="' + vehicleImgSrc + '" alt="' + vehicleTitle + '" style="width:85px;" /></a>';

					// add remove button
					$('#list .listItem .btns .compareLink' + item.id).html('<img src="/local/images/btnRemoveFavourites.jpg" alt="Remove">');
					$('#list .listItem .btns .compareLink' + item.id).attr('href', 'javascript: removeFavourite(' + item.id + ', 1);');
                    $('#list .listItem .btns .compareLink' + item.id).attr('title', 'Remove From Favourites');
                    
                    $('#favouriteItem_' + ( i + 1 ) ).css( 'display', '' );
					$('#favouriteItem_' + ( i + 1 ) ).html( text );
				});


				$('#favouritesSave').show();
				$('#favouritesCompare').show();
				$('#favouritesRetrieve').hide();
			}else{

				// Could not retrieve favourites
				$('#favouritesSave').hide();
				$('#favouritesCompare').hide();
				$('#favouritesRetrieve').show();
			}
			$('body').css('cursor', 'default');
		},
		error: function( objRequest ){
			// Could not retrieve favourites
			$('#favouritesSave').hide();
			$('#favouritesCompare').hide();
			$('#favouritesRetrieve').show();
			$('body').css('cursor', 'default');
		}
	});
}



/**
* @ desc This will save the temporary stored favourites to the database
*/
function saveFavourites(){

	// Check if form is valid before proceeding
	if( $( "#formSaveFavourites" ).valid() ){

		$('body').css('cursor', 'progress');

		$.ajax({
			url: '/frontend-operations/save-favourites/',
			dataType: 'json',
			data: $( '#formSaveFavourites' ).serialize(),
			success: function(data){

				if( data != 0 ){

					// Submitted ok.

					updateTips('Saved','You can now come back and view your saved vehicles anytime.','highlight','','alertBoxSaveFavourites');

					clearFormElements("#formSaveFavourites");
					setTimeout( "autoCloseDialog('dialogSaveFavourites');",4000);

				}else{

					// Show generic message
					updateTips('Request Failed','The form submit request failed, please try again.','error','','alertBoxSaveFavourites');
				}
				$('body').css('cursor', 'default');
			},
			error: function( objRequest ){
				updateTips('Request Failed','The request to submit failed, please try again.','error','','alertBoxSaveFavourites');
				$('body').css('cursor', 'default');
			}
		});
	}
}



/**
* @ desc This will retrieve previously stored favourites
*/
function retrieveFavourites(){

	// Check if form is valid before proceeding
	if( $( "#formRetrieveFavourites" ).valid() ){

		$('body').css('cursor', 'progress');

		$.ajax({
			url: '/frontend-operations/retrieve-favourites/',
			dataType: 'json',
			data: $( '#formRetrieveFavourites' ).serialize(),
			success: function(data){

				if( data == true ){

					// Submitted ok.
					updateTips('Retrieved','Redirecting..','highlight','','alertBoxRetrieveFavourites' );

					setTimeout( "window.location = netdirector.baseUrl + '/' + netdirector.franchiseUrl + 'used-cars/favourites';", 500);

				}else{

					// Show generic message
					updateTips('Request Failed','The email you have provided was not found in our system','error','','alertBoxRetrieveFavourites' );
				}
				$('body').css('cursor', 'default');
			},
			error: function( objRequest ){
				updateTips('Request Failed','The request to submit failed, please try again.','error','','alertBoxRetrieveFavourites' );
				$('body').css('cursor', 'default');
			}
		});
	}
}


/**
* @ desc This adds a vehicle to compare via Ajax
*/
function addToCompare( vehicleId ){

    var href = 'javascript: removeFromCompare(' + vehicleId + ');';
    var removeid = 'myComparisonYes' + vehicleId;
    var removeLinkid = 'myComparisonYesLink' + vehicleId;

    $("#myComparison" + vehicleId).attr("src", "/local/images/btnRemoveCompare.jpg");
    $("#myComparisonLink" + vehicleId).attr("href", href);

    $("#myComparison" + vehicleId).attr("id", removeid);
    $("#myComparisonLink" + vehicleId).attr("id", removeLinkid);

    //change id's
    $("#myComparison" + vehicleId).attr("id", "myComparisonYes");

	$('body').css('cursor', 'progress');

	$.ajax({
		url: '/frontend-operations/add-vehicle-to-compare/',
		dataType: 'json',
		data: 'auto_car_detail_id=' + vehicleId,
		success: function(data){

			if( data['error'] != null && data['error'] != '' ){

				$('input[value='+vehicleId+']').attr('checked', false);
				alert( data['error'] );

			}
			$('body').css('cursor', 'default');
		},
		error: function( objRequest ){

			$('body').css('cursor', 'default');
		}
	});
}


/**
* @ desc This removes vehicle from compare via Ajax
*/
function removeFromCompare( vehicleId ){
    var href = 'javascript: addToCompare(' + vehicleId + ');';
    var removeid = 'myComparison' + vehicleId;
    var removeLinkid = 'myComparisonLink' + vehicleId;

    $("#myComparisonYes" + vehicleId).attr("src", "/local/images/btnAddCompare.jpg");
    $("#myComparisonYesLink" + vehicleId).attr("href", href);

    $("#myComparisonYes" + vehicleId).attr("id", removeid);
    $("#myComparisonYesLink" + vehicleId).attr("id", removeLinkid);

	$('body').css('cursor', 'progress');

	$.ajax({
		url: '/frontend-operations/remove-vehicle-from-compare/',
		dataType: 'json',
		data: 'auto_car_detail_id=' + vehicleId,
		success: function(data){

			$('body').css('cursor', 'default');

			if ( $('#saveCompareTbl tbody tr:first td:visible').length <= 2 ) {
				$('#saveCompareTbl').html("");
				$('#compareNoVehiclesSelected').show();
			} else {
				$('.compare_'+vehicleId).fadeOut();
			}

		},
		error: function( objRequest ){

			$('body').css('cursor', 'default');
		}
	});
}

/**
* @desc Removes all vehicles stored for compare via Ajax
*/
function removeAllFromCompare() {

	$('body').css('cursor', 'progress');

	$.ajax({
		url: '/frontend-operations/remove-all-from-compare/',
		dataType: 'json',
		data: '',
		success: function(data){

			$('body').css('cursor', 'default');
			$('#CompareTbl').html("");
			$('#compareNoVehiclesSelected').show();
		},
		error: function( objRequest ){

			$('body').css('cursor', 'default');
		}
	});
}

function selectCategory( item, value ) {

	$("#box1").parent().removeClass("active");
	$("#box2").parent().removeClass("active");
	$("#box3").parent().removeClass("active");
	$("#box4").parent().removeClass("active");
	$("#box5").parent().removeClass("active");
	$("#box6").parent().removeClass("active");
	$("#box7").parent().removeClass("active");
	$("#box8").parent().removeClass("active");


	$('#category_search').val(value);
	$("#" + item).parent().addClass("active");

    updateAdvancedSearchCount();
}


var featuredCars = {

	imageView: 0,
	imageViewWidth: 219,
	imageViewMax: 2,
	currentSelectedImageId: 0,


	/**
	* @ desc This will set the max number of views
	*/
	setMaxImageViews: function( max ){

		if( max > 0 ){

			this.imageViewMax = max;
		}
	},


	/**
	* @ desc This will set the current Selected Image Id
	*/
	setCurrentSelectedImageId: function( id ){

		if( id > 0 ){

			this.currentSelectedImageId = id;
		}
	},


	/**
	* @ desc This will slide along the images right
	*/
	slideImagesAlong : function( direction ){

        this.imageViewMax = $("#featuredCarsScroller div").length-2;

		if( direction == 'left' ){

			// Don't scroll beyond 0
			this.imageView = ( this.imageView > 0 ) ? this.imageView-1 : 0;
		}else{

			// Don't scroll beyond max number of views ( a view being 1 x imageViewWidth )
			this.imageView = ( this.imageView < this.imageViewMax ) ? this.imageView + 1 : this.imageView;
		}
		// Slide the view along
		var divWidth = this.imageViewWidth * this.imageView;
        $("#featuredCarsScroller").animate({left: "-" + divWidth},500,"swing");

	}
}



var featuredVans = {

	imageView: 0,
	imageViewWidth: 219,
	imageViewMax: 5,
	currentSelectedImageId: 0,


	/**
	 * @ desc This will set the max number of views
	 */
	setMaxImageViews: function( max ){
		if( max > 0 ){
			this.imageViewMax = max;
		}
	},


	/**
	 * @ desc This will set the current Selected Image Id
	 */
	setCurrentSelectedImageId: function( id ){
		if( id > 0 ){
			this.currentSelectedImageId = id;
		}
	},


	/**
	 * @ desc This will slide along the images right
	 */
	slideImagesAlong : function( direction ){

        this.imageViewMax = $("#approvedVansScroller div").length-2;

		if( direction == 'left' ){

			// Don't scroll beyond 0
			this.imageView = ( this.imageView > 0 ) ? this.imageView-1 : 0;
		}else{

			// Don't scroll beyond max number of views ( a view being 1 x imageViewWidth )
			this.imageView = ( this.imageView < this.imageViewMax ) ? this.imageView + 1 : this.imageView;
		}
		// Slide the view along
		var divWidth = this.imageViewWidth * this.imageView;
        $("#approvedVansScroller").animate({left: "-" + divWidth},500,"swing");

	}
}

/**
* @ desc This will populate the Marque List select box
*/
function setupMarqueData( elementId, vehicleType ){

	var $element = $( '#' + elementId );

	// Remove all options
	$element.attr('disabled', 'disabled').removeOption(/./).addOption('', '- Select Marque -');

	// Add Options
	if( $.inArray(vehicleType, possibleVehicleTypes) > -1 ){
		$.each(selectMarqueList[vehicleType], function(i,item){

			if( parseInt( item.count ) > 0 ){
				$element.addOption(item.id, item.marqueName.toUpperCase());
			}
		});
	}
	$element.removeAttr('disabled').attr( "selectedIndex", 0);

	// Remember Search Params
	if( searchParams.makeId > 0 ){

		$element.selectOptions( searchParams.makeId );

		collectAvailableModels( searchParams.modelId, true);

	}else{

		// If no previous search data, use defaults
		$element.selectOptions( netdirector.defaultAutoMarqueDetailId );
		collectAvailableModels( searchParams.modelId, true);
	}
}

function checkPostcode ( item ) {
    if ( item.val() == 'Postcode' || item.val() == '' ) {
        alert("Please supply a postcode before you can perform a search.");
        return false;
    } else {
        return true;
    }
    
}

/**
* @ desc This will open the dialog and show the correct form
*/
function showHomeForm( formType ){

	var dialogName = '';
	var formName   = '';

	// Using switch will stop JS errors from passing incorrect dialog names
	switch( formType ){

		case 'hometestdrive':
			dialogName  = 'dialogHomeTestDrive';
			formName    = 'formHomeTestDrive';
			alertBoxName = 'alertBoxHomeTestDrive';
			break;
	}

	if( dialogName != '' ){

		// Clear the form values
		clearFormElements('#' + formName);

		// Removes validation messages
		var validator = $('#' + formName).validate();
		validator.resetForm();

		// Clear Alert Box Text
		resetTips( alertBoxName );

		// Open the dialog box
		$('#' + dialogName ).dialog('open');

		// highlight first input
		$('#' + dialogName + ' :input:text:first').focus();
	}
}

/**
* @ desc This will collect Available Models
*/
function collectTestDriveModels(){

    var marqueId = $("#my_make_id");
    var modelId = $("#my_model_id");

	$.ajax({
		url: '/frontend-operations/available-model-list-custom/',
		dataType: 'json',
		data: 'marque_id=' + marqueId.val() + '&is_van=' + 0 + '&is_bike=' + 0 + '&nearly_new=' + 0,
		success: function(data){

			// Remove all options
			modelId.removeOption(/./);

			// Add Options
			$.each(data, function(i,item){

				modelId.addOption(item.id, item.modelName.toUpperCase());
			});

			modelId.removeAttr('disabled');
			// calculate vehicle count


		},
		error: function(objRequest){

			modelId.removeAttr('disabled');
		}
	});
}
