/* Base AJAX Request function */
function ajaxRequest(url) {
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		var request = new XMLHttpRequest();
		if (request.overrideMimeType) {
			request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			var request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				var request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (eq) {
//				alert("Your browser does not support Asynchronous Javascript.\nAs a result, elements of this site may not function as expected");
			}
		}
	}
	if (request) {
		request.open('GET', url, false);
		request.send(null);
		if (request.responseText) {
			return request.responseText;
		}
		return false;
	}
	return false;
}


// Search-based functions

var searchVehicleType = 'used'

function searchType(search, element) {
	searchVehicleType = search.value;
	if (search.value == 'new') {
		var url			= 'ajax.php?action=getmakes&type=new'
	} else {
		var url			= 'ajax.php?action=getmakes&type=used';
	}
	var content		= ajaxRequest(url);
	document.getElementById(element).innerHTML = content;
}


function carMakes(manu, element) {
	var manuval		= manu.options[manu.selectedIndex].value;
		
	if (manuval == '') {
		var url			= 'ajax.php?action=getmakes&type='+searchVehicleType+'&dealercode=%'
	} else {
		var url			= 'ajax.php?action=getmakes&type='+searchVehicleType+'&dealercode='+manuval;
	}
	var content		= ajaxRequest(url);
	document.getElementById(element).innerHTML = content;
	
//	alert(content);
}

function carModels(manu, element) {
	var manuval		= manu.options[manu.selectedIndex].value;
	
	if (document.getElementById('HiddenManufacturer')) {
		document.getElementById('HiddenManufacturer').value = manuval;
	}
	if (document.getElementById('HiddenManufacturer2')) {
		document.getElementById('HiddenManufacturer2').value = manuval;
	}
	
	var url			= 'ajax.php?action=getmodels&Manufacturer='+manuval+'&type='+searchVehicleType;
	var content		= ajaxRequest(url);
	
	if (!document.getElementById(element)) {
	    element = 'Quick_Model';
	}
		
	document.getElementById(element).innerHTML = content;
//	alert(content);
}

function carBodyTypes(model, element) {
	var modelval	= model.options[model.selectedIndex].value;
	
	if (document.getElementById('HiddenModel')) {
		document.getElementById('HiddenModel').value = modelval;
	}
	if (document.getElementById('HiddenModel2')) {
		document.getElementById('HiddenModel2').value = modelval;
	}
	
	if (document.getElementById(element)) {
		if (modelval == '') {
			var url			= 'ajax.php?action=getbodytype&model=%';
		} else {
			var url			= 'ajax.php?action=getbodytype&model='+modelval;
		}
		var content 	= ajaxRequest(url);
		
		document.getElementById(element).innerHTML = content;
	}
}

function bodyTypeFix(element) {
	if (document.getElementById('HiddenBody')) {
		document.getElementById('HiddenBody').value = element.options[element.selectedIndex].value;
	}
}

// 'My List' functions
function addToList(ListingID) {
	ajaxRequest('ajax.php?action=addtolist&ListingID='+ListingID);
	
	if (document.getElementById('listbutton_'+ListingID)) {
		var button = document.getElementById('listbutton_'+ListingID);
		button.setAttribute('src', 'images/btn_remove_off.gif');
		button.setAttribute('srcover', 'images/btn_remove_on.gif');
	}
	if (document.getElementById('listbtnaction_'+ListingID)) {
		document.getElementById('listbtnaction_'+ListingID).setAttribute('href', 'javascript:removeFromList('+ListingID+')');
	}
	updateMyList();
}
function removeFromList(ListingID) {
	ajaxRequest('ajax.php?action=removefromlist&ListingID='+ListingID);
	if (document.getElementById('listbutton_'+ListingID)) {
		var button = document.getElementById('listbutton_'+ListingID);
		button.setAttribute('src', 'images/btn_save_off.gif');
		button.setAttribute('srcover', 'images/btn_save_on.gif');
	}
	if (document.getElementById('listbtnaction_'+ListingID)) {
		document.getElementById('listbtnaction_'+ListingID).setAttribute('href', 'javascript:addToList('+ListingID+')');
	}
	updateMyList();
}

function updateMyList() {
	window.location.reload();
	/*
	if (window.ActiveXObject) {
		window.location.reload();
	} else {
		document.getElementById('mylistbox').innerHTML = ajaxRequest('ajax.php?action=getmylist');
	}
	*/
}

function myList(ListingID) {
	ajaxRequest('ajax.php?action=updatelist&ListingID='+ListingID);	
}



// Display status message
function statusMessage(message, element) {
	document.getElementById(element).innerHTML = message;	
}

function changeImage(filename) {
	var image = document.getElementById('mainimage');
	image.src = filename;
}

