/*
	Author: Matt Johnson
	Company: Bullhorn.co.uk
	Last Mod: 25/01/2008
*/
var dynamicSelect = null;
function dynamicCall() {
	adjustStyle('ajaxLoad_carReg', 'display', 'block');
	window['isloading'] = true;

	var secondaryUrl = null;

	var url = '/services/vehiclesearch.aspx?dynamic=true';
	window['carwebinit'] = false;
	var element = dGetById('carDynamic_selection_make');
	if (element) {
		if ((element.value != '') && (element.value != '0')) {
			url += '&make=' + String(element.value);
			updateInput('UiHidden_Make',String(element.value));
		}
		if (window['param_Make']) {
			secondaryUrl = '/services/vehiclesearch.aspx?dynamic=true&preselectmake=' + window['param_Make'];
			url += '&make=' + window['param_Make'];
			window['param_Make'] = null;
		}

		element = dGetById('carDynamic_selection_model');
		if ((element.value != '') && (element.value != '0')) {
			url += '&model=' + String(element.value);
			updateInput('UiHidden_Model',String(element.value));
		}
		if (window['param_Model']) {
			url += '&model=' + window['param_Model'];
			window['param_Model'] = null;
		}

		element = dGetById('carDynamic_selection_year');
		if (element) {
			if ((element.value != '') && (element.value != '0')) {
				url += '&year=' + String(element.value);
				updateInput('UiHidden_YearOfManufacture',String(element.value));
			}
		}
		if (window['param_Year']) {
			url += '&year=' + window['param_Year'];
			window['param_Year'] = null;
		}

		element = dGetById('carDynamic_selection_doors');
		if (element) {
			if ((element.value != '') && (element.value != '0')) {
				url += '&doors=' + String(element.value);
				updateInput('UiHidden_Doors',String(element.value));
			}
		}

		element = dGetById('carDynamic_selection_engine');
		if (element) {
			if ((element.value != '') && (element.value != '0')) {
				url += '&engine=' + String(element.value);
				updateInput('UiHidden_EngineSize',String(element.value));
			}
		}
		if (window['param_Engine']) {
			url += '&engine=' + window['param_Engine'];
			window['param_Engine'] = null;
		}

		element = dGetById('carDynamic_selection_model_type');
		if (element) {
			if ((element.value != '') && (element.value != '0'))
				url += '&modeltype=' + String(element.value);
		}

		if (url.indexOf('&make=') < 0) {
			var dynamicSuggestionFrame = dGetById('dynamicSuggestionFrame')
			if (dynamicSuggestionFrame)
				dynamicSuggestionFrame.innerHTML = 'Loading please wait...';
			window['carwebinit'] = true;
		}

		if (secondaryUrl)
			dynamicExecute(secondaryUrl);

		var dateTime = new Date();
		url += '&iewa=' + String(dateTime.getMilliseconds());

		selectionAction(null);
		dynamicSelect = element;
		dynamicExecute(url);

	}
}

function dynamicCarReg(selectionElement) {
	if (selectionElement) {
		var url = '/services/vehiclesearch.aspx?dynamic=true&carno=' + String(selectionElement.value);
		dynamicSelect = dGetById('carDynamic_confirm');
		dynamicExecute(url);
	}
}

function clearSelection(selectionElement) {
	if (selectionElement) {
		selectionElement.innerHTML = '';

		var oOption = document.createElement('OPTION');
		if (selectionElement.id == 'carDynamic_confirm') {
			oOption.innerHTML = '-- Please enter registration or manually select vehicle --';
		} else {
			oOption.innerHTML = '-- Please Select --';
		}
		oOption.value = '0';
		selectionElement.appendChild(oOption);

		selectionElement.disabled = false;
	}
}

function selectionAction(elementAlpha) {
	adjustStyle('carDynamic_confirm', 'display', 'block');
	adjustStyle('UiPanelCarSelected', 'display', 'none');
	if (elementAlpha) {
		if (String(elementAlpha.value) == '0') {
			// Invalid selection
			carWebInitialise();

			var checkElement = dGetById('UiRegistrationKnown_No');
			if (checkElement) {
				checkElement.checked = true;
				showManualSelection();
			}
		} else if (elementAlpha == dGetById('carDynamic_confirm')) {
			var isManualSelection = ((evaluateObject('carDynamic_selection_model') != '0') && (evaluateObject('carDynamic_selection_model') != ''));
			if (isManualSelection) {
				if (!dGetById('UiRegistrationKnown_Yes').checked) {
					updateInput('ctl00_ContentPlaceHolder1_UiRegNumber','');
				}
			}

			updateInput('ctl00_ContentPlaceHolder1_UiHidden_AbiCode',String(elementAlpha.value));
			adjustStyle('carDynamic_confirm', 'display', 'none');
			adjustStyle('UiPanelCarSelected', 'display', 'block');
			var eleTemp = dGetById('UiPanelCarSelected');
			eleTemp.innerHTML = elementAlpha.options[elementAlpha.selectedIndex].innerHTML;
		}
	}
}

function carWebInitialise() {
	clearSelection(dGetById('carDynamic_selection_make'));
	clearSelection(dGetById('carDynamic_selection_model'));
	clearSelection(dGetById('carDynamic_selection_year'));
	clearSelection(dGetById('carDynamic_selection_doors'));
	clearSelection(dGetById('carDynamic_selection_engine'));
	clearSelection(dGetById('carDynamic_selection_model_type'));
	if (window['regError']) {
		window['regError'] = false;
	} else {
		clearSelection(dGetById('carDynamic_confirm'));
	}
	var elementXX = dGetById('carDynamic_selection_make');
	var shouldRefresh = true;
	if (elementXX) {
		shouldRefresh = (!(elementXX.childNodes.count > 2));
	}
	if (shouldRefresh)
		dynamicCall();
	showManualSelection();
}

function showManualSelection() {
	var yesCheck = dGetById('UiRegistrationKnown_Yes');
	var noCheck = dGetById('UiRegistrationKnown_No');
	var divElement = dGetById('carDynamic_selection_container');
	var hasBeenAChange = false;
	if (yesCheck && noCheck && divElement) {
		if (divElement.style)
			divElement = divElement.style;
		if (noCheck.checked) {
			hasBeenAChange = (divElement.display == 'none');
			divElement.display = 'block';
			dGetById('ctl00_ContentPlaceHolder1_UiRegNumber').value = '';
			adjustStyle('regNumberContainer', 'display', 'none');
		} else {
			hasBeenAChange = (divElement.display == 'block');
			divElement.display = 'none';
			adjustStyle('regNumberContainer', 'display', 'block');
		}
	}

	if (hasBeenAChange) {
		updateInput('UiMonthBought','');
		updateInput('UiYearBought','');
		updateInput('ctl00_ContentPlaceHolder1_UiDateBought','');
		updateInput('UiNotBought','');
		updateInput('carDynamic_selection_seats','');
		updateInput('ctl00_ContentPlaceHolder1_UiHidden_Seats','');
	}

	if (divElement) {
		if (divElement.style)
			divElement = divElement.style;

		adjustStyle('carDynamic_selection_model', 'display', String(divElement.display));
		adjustStyle('carDynamic_selection_model', 'float', 'left');
		adjustStyle('carDynamic_selection_model_type', 'display', String(divElement.display));
		adjustStyle('carDynamic_selection_model_type', 'float', 'left');
		adjustStyle('carDynamic_selection_series', 'display', String(divElement.display));
		adjustStyle('carDynamic_selection_series', 'float', 'left');
		adjustStyle('carDynamic_selection_variant', 'display', String(divElement.display));
		adjustStyle('carDynamic_selection_variant', 'float', 'left');
		adjustStyle('carDynamic_selection_cubicCapacity', 'display', String(divElement.display));
		adjustStyle('carDynamic_selection_numberOfDoors', 'display', String(divElement.display));
	}
}