function getModels(defaultValue, isAdvanced, commercial) {
	var marqueSelectId = 'marqueDetailId';
	var modelSelectId = 'model';
	if (commercial === undefined) {
		commercial = '0';
	} else if (commercial) {
		commercial = '1';
		var marqueSelectId = 'van_marqueDetailId';
		modelSelectId = 'van_'+modelSelectId;
	}
	
	if (isAdvanced === undefined) {
		isAdvanced = false;
	}

	
	
	if (isAdvanced) {
		marqueSelectId += '_adv';
		modelSelectId += '_adv';
	}

	var target = baseHref + 'ajax.php';
	var params = 'type=getMarqueModels&id=' + $F(marqueSelectId) +'&commercial='+commercial;

	var myAjax = new Ajax.Request(target,
	{
		method: 'post',
		parameters: params,
		onSuccess: function (request) {

			var i;
			for(i = $(modelSelectId).options.length - 1 ; i >= 0 ; i-- ) {
				$(modelSelectId).remove(i);
			}

			var outText = request.responseText;
			outText = outText.split(',');

			if ( outText.length > 0 ) {
				for (i = 0 ; i < outText.length ; i++) {

					var selected = false;
					if ((defaultValue != undefined) && (defaultValue != '')) {
						if (defaultValue == outText[i]) {
							selected = true;
						}
					}
					$(modelSelectId).options[ $(modelSelectId).options.length ] = new Option( capitaliseMe(outText[i]), outText[i], selected, selected );

				}
			}

		},

		onFailure: function(request) {
			alert( 'request failed, please try again' );
		}
	});
}

function searchFormInit() {
	// Used cars
	if (typeof(lastSearch_used) == 'undefined') {
		$('minPrice').selectedIndex = 0;
		$('maxPrice').selectedIndex = 0;
	} else {
		if (lastSearch_used.minPrice.length < 1) {
			$('minPrice').selectedIndex = 0;
		}
		if (lastSearch_used.maxPrice.length < 1) {
			$('maxPrice').selectedIndex = 0;
		}

		if ((lastSearch_used.marqueId != '') && (lastSearch_used.marqueId != 'ANY')) {
			getModels(lastSearch_used.model);
		}
	}

	// New cars
	if ($('new_minPrice') != undefined) {
		if ((typeof(lastSearch_new) == 'undefined') || (lastSearch_new.minPrice == '')) {
			$('new_minPrice').selectedIndex = 0;
		}
		if ((typeof(lastSearch_new) == 'undefined') || (lastSearch_new.maxPrice == '')) {
			$('new_maxPrice').selectedIndex = 0;
		}
	}

	// Vans
	if ($('van_minPrice') != undefined) {
		if ((typeof(lastSearch_new) == 'undefined') || (lastSearch_vans.minPrice == '')) {
			$('van_minPrice').selectedIndex = 0;
		}
		if ((typeof(lastSearch_new) == 'undefined') || (lastSearch_vans.maxPrice == '')) {
			$('van_maxPrice').selectedIndex = 0;
		}
	}

}

function setActiveCarSearch(type) {
	var indicatorNew = null;
	var indicatorUsed = null;
	if ((controllerName == 'home') && (isGroup == '1')) {
		// Group home (sharedTop)
		indicatorNew = $('newSearch');
		indicatorUsed = $('usedSearch');
	} else {
		// Everywhere else
		indicatorNew = $('searchIndicatorNew');
		indicatorUsed = $('searchIndicatorUsed');
	}

	if (type == 'new') {
		// Show new car search
		indicatorUsed.removeClassName('active');
		indicatorNew.addClassName('active');

		$('carSearchUsed').style.display = 'none';
		$('carSearchNew').style.display  = 'block';
		
		
	} else {
		// Show used car search
		indicatorNew.removeClassName('active');
		indicatorUsed.addClassName('active');

		$('carSearchNew').style.display  = 'none';
		$('carSearchUsed').style.display = 'block';
		
	}

}

function setActiveVanSearch(type) {
	var indicatorNew = null;
	var indicatorUsed = null;
	if ((controllerName == 'home') && (isGroup == '1')) {
		// Group home (sharedTop)
		indicatorNew = $('newSearchVan');
		indicatorUsed = $('usedSearchVan');
	} else {
		// Everywhere else
		indicatorNew = $('searchIndicatorNewVan');
		indicatorUsed = $('searchIndicatorUsedVan');
	}

	if (type == 'new') {
		// Show new car search
		indicatorUsed.removeClassName('active');
		indicatorNew.addClassName('active');
		
		$('vanSearchUsed').style.display = 'none';
		$('vanSearchNew').style.display  = 'block';
		
	} else {
		// Show used car search
		indicatorNew.removeClassName('active');
		indicatorUsed.addClassName('active');
		
		$('vanSearchNew').style.display  = 'none';
		$('vanSearchUsed').style.display = 'block';
	}

}

function setActiveEcoSearch(type) {
	var indicatorNew = null;
	var indicatorUsed = null;
	if ((controllerName == 'home') && (isGroup == '1')) {
		// Group home (sharedTop)
		indicatorNew = $('newSearchEco');
		indicatorUsed = $('usedSearchEco');
	} else {
		// Everywhere else
		indicatorNew = $('ecoSearchIndicatorNew');
		indicatorUsed = $('ecoSearchIndicatorUsed');
	}

	if (type == 'new') {
		// Show new car search
		indicatorUsed.removeClassName('active');
		indicatorNew.addClassName('active');

		$('ecoSearchUsed').style.display = 'none';
		$('ecoSearchNew').style.display  = 'block';
	} else {
		// Show used car search
		indicatorNew.removeClassName('active');
		indicatorUsed.addClassName('active');

		$('ecoSearchNew').style.display  = 'none';
		$('ecoSearchUsed').style.display = 'block';
	}

}

var search_advanced = false;

function showAdvSearch() {
	search_advanced = true;
	$$('div.advSearchHidden').each(
		function (div) {
			div.style.display = 'block';
		}
	);
	$('isAdvancedSearch').value = '1';
	$('advSearchBtnImage').src = advancedSearchButtonImage.minus;
//	$('advSearchButton').style.display = 'none';
//	$('advSearchButtonHide').style.display = 'inline';
}

function hideAdvSearch() {
	search_advanced = false;
	$$('div.advSearchHidden').each(
		function (div) {
			div.style.display = 'none';
		}
	);
	$('isAdvancedSearch').value = '0';
	$('advSearchBtnImage').src = advancedSearchButtonImage.plus;
//	$('advSearchButton').style.display = 'inline';
//	$('advSearchButtonHide').style.display = 'none';
}

function toggleAdvSearch() {
	if (search_advanced) {
		hideAdvSearch();
	} else {
		showAdvSearch();
	}
}

if (typeof clearSelect != 'function') {
	function clearSelect(objId) {
		var i;
		var element = document.getElementById(objId);
		if ((element == null) || (element == undefined)) {
			return;
		}
		for(i = element.options.length - 1 ; i >= 0 ; i-- ) {
			element.remove(i);
		}
	}
}

// IDS based new cars / vans
function getNewModels(commercial) {
	var marqueSelectId = 'new_marque';
	if (commercial === undefined) {
		commercial = '0';
	} else if (commercial) {
		commercial = '1';
		marqueSelectId = 'new_van_marque';
	}

	if ($F(marqueSelectId) == '') {
		return;
	}

	var target = baseHref + 'ajax.php';
	var params = 'type=idsGetModelList&commercial='+ commercial +'&marque='+ $F(marqueSelectId);

	var myAjax = new Ajax.Request(target,
	{
		method: 'post',
		parameters: params,
		onSuccess: function (request) {
			var modelSelectId = 'new_model';
			if (commercial == '1') {
				modelSelectId = 'new_van_model';
			}
			clearSelect(modelSelectId);
			$(modelSelectId).options[ $(modelSelectId).options.length ] = new Option ( "- Select Model -", "ANY", true, true );

			var outText = request.responseText;
			outText = outText.split('|');

			if ( outText.length > 0 ) {
				for (i = 0 ; i < outText.length ; i++) {
					if( outText[i] == '' ){
						continue;
					}
					
					if ( commercial  == '1' ) {
						$(modelSelectId).options[ $(modelSelectId).options.length ] = new Option( outText[i], outText[i], lastSearch_vans['model']==outText[i] );
					} else {
						$(modelSelectId).options[ $(modelSelectId).options.length ] = new Option( outText[i], outText[i], lastSearch_new['model']==outText[i] );
					}
				}
			}
		},
		onFailure: function(request) {
			alert( 'request failed, please try again' );
		}
	});

}

function capitaliseMe(value) {
	val = value.toLowerCase();
	newVal = '';
	val = val.split(' ');
	for(var c=0; c < val.length; c++) {
	    newVal += val[c].substring(0,1).toUpperCase() + val[c].substring(1,val[c].length) + ' ';
	}
	return newVal;
}



