var timeout	= 500;
var closetimer = 0;
var oldSubMenu = 0;
var oldMenuLink = 0;

// open hidden layer
function showMenu ( id ) {
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if ( oldSubMenu ) {
		oldSubMenu.style.visibility = 'hidden';
	}
	
	// get new layer and show it
	oldSubMenu = document.getElementById('sub-menu-item-' + id);
	if ( oldSubMenu ) {
		oldSubMenu.style.visibility = 'visible';
	}
	
	oldMenuLink = document.getElementById('menu-link-' + id);
	if ( oldMenuLink ) {
		oldMenuLink.className = 'menu-link-over';
	}
}

// close showed layer
function hideMenu ( ) {
	if ( oldSubMenu ) {
		oldSubMenu.style.visibility = 'hidden';
	}
	if ( oldMenuLink ) {
		oldMenuLink.className = 'menu-over';
	}
}

// go close timer
function mclosetime ( ) {
	closetimer = window.setTimeout(hideMenu, timeout);
}

// cancel close timer
function mcancelclosetime ( ) {
	if ( closetimer ) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = hideMenu; 


function darkenAndRemove ( elem ) {
	if ( elem.style.color != 'rgb(0, 0, 0)' ) {
		elem.value = '';
		elem.style.color = '#000';
	}
}


function showHide ( elem ) {
	if ( elem.style.display == 'block' ) {
		elem.style.display = 'none';
	} else {
		elem.style.display = 'block';
	}
}


function hideAllInElementID ( elemID ) {
	if ( elem = document.getElementById(elemId) ) {
	
	}
}


function vehicleMakeSelected ( elem ) {
	document.getElementById('tyre_search_button').style.display = 'none';

	document.getElementById('vehicle_model_id').value = 0;
	document.getElementById('tyre_sizes_original_id').value = 0;
	
	hideAllVehicleModels();
	hideAllVehicleTyres();
	
	if ( elem.selectedIndex ) {
		document.getElementById('vehicle_model_title').style.display = 'block';
		document.getElementById('vehicle_make_id_' + elem.options[elem.selectedIndex].value).style.display = 'block';
	} else {
		document.getElementById('vehicle_model_title').style.display = 'none';
	}
	document.getElementById('vehicle_tyre_title').style.display = 'none';
}


function vehicleModelSelected ( elem ) {
	hideAllVehicleTyres();
	document.getElementById('tyre_search_button').style.display = 'none';
	
	
	document.getElementById('tyre_sizes_original_id').value = 0;
	
	
	if ( elem.selectedIndex ) {
		document.getElementById('vehicle_tyre_title').style.display = 'block';
		document.getElementById('vehicle_model_id_' + elem.options[elem.selectedIndex].value).style.display = 'block';
	} else {
		document.getElementById('vehicle_tyre_title').style.display = 'none';
	}
	document.getElementById('vehicle_model_id').value = elem.options[elem.selectedIndex].value;
}


function vehicleTyreSizeSelected ( elem ) {
	if ( elem.selectedIndex ) {
	document.getElementById('tyre_search_button').style.display = 'block';
	document.getElementById('tyre_sizes_original_id').value = elem.options[elem.selectedIndex].value;
	} else {
		document.getElementById('tyre_search_button').style.display = 'none';
	}
}


function hideAllVehicleModels ( ) {
	document.getElementById('vehicle_model_id').value = 0;
	elems = getDivsByName('vehicle_models');
	for ( var i = 0; i < elems.length; i++ ) {
		elems[i].style.display = 'none';
	}
	elems = document.getElementById('vehicle_model_selections').getElementsByTagName('select');
	for ( var i = 0; i < elems.length; i++ ) {
		elems[i].selectedIndex = 0;
	}
	elems = document.getElementById('vehicle_model_selections').getElementsByTagName('div');
	for ( var i = 0; i < elems.length; i++ ) {
		elems[i].style.display = 'none';
	}
}

function hideAllVehicleTyres ( ) {
	elems = getDivsByName('vehicle_tyres');
	document.getElementById('tyre_sizes_original_id').value = 0;
	for ( var i = 0; i < elems.length; i++ ) {
		elems[i].style.display = 'none';
	}
	elems = document.getElementById('vehicle_tyre_selections').getElementsByTagName('select');
	for ( var i = 0; i < elems.length; i++ ) {
		elems[i].selectedIndex = 0;
	}
	elems = document.getElementById('vehicle_tyre_selections').getElementsByTagName('div');
	for ( var i = 0; i < elems.length; i++ ) {
		elems[i].style.display = 'none';
	}
}



function getDivsByName ( divName ) {
	var allDivs = document.getElementsByTagName('div');
	var matchingDivs = new Array();
	var currentDiv;
	for ( var i = 0; i < allDivs.length; i++ ) {
		if ( allDivs[i].name ) {
			if ( (currentDiv = allDivs[i]).name.search(divName ) > -1 ) {
				matchingDivs.push(currentDiv);
			}
		}
	}
	return matchingDivs;
}


function selectComboBoxItem ( elemID, item ) {
	
}

