
function showBrowse(){
	var browse = document.getElementById("browseContainer");
	var searchForm = document.getElementById("searchFormContainer");
	var footer = document.getElementById("footerWrapper");
	searchForm.style.visibility = "hidden";
	browse.style.top = getAbsOffsetTop(searchForm) + "px";
	browse.style.left = getAbsOffsetLeft(searchForm) + "px";
	var vertSpaceAvail = document.body.clientHeight - footer.offsetHeight - parseInt(browse.style.top) - 10;
	if (vertSpaceAvail > 240) browse.style.height = vertSpaceAvail;
	browse.style.display = "block";
}
function showSearchForm(){
	if (document.getElementById("browseContainer") != null){
		var browse = document.getElementById("browseContainer");
		var searchForm = document.getElementById("searchFormContainer");
		searchForm.style.visibility = "visible";
		browse.style.display = "none";
	}
}

/** Show the drop down menu containing 'Take Action' buttons  over the Browse table */
function showMenu(srcElement, e, make, model, trim) {
	e.cancelBubble = true;
	takeActionMake = (make) ? make : "";
	takeActionModel = (model) ? model : "";
	takeActionTrim = (trim) ? trim : "";
	var container = parent.document.getElementById("browseContainer");
	var menu = document.getElementById("invBrowseActionMenu");
	menu.style.left = getAbsOffsetLeft(srcElement) + "px";
	menu.style.top = getAbsOffsetTop(srcElement) + "px";
	menu.style.display = "block";
	// unfortunately has to be done after display=block, as offsetHeight is 0 when display=none.
	var topBoundary = document.body.scrollTop;
	var bottomBoundary = topBoundary + container.offsetHeight - menu.offsetHeight - 2;
	if (menu.offsetTop < topBoundary) menu.style.top = topBoundary;
	else if (menu.offsetTop > bottomBoundary) menu.style.top = bottomBoundary;
	if (navigator.appName.indexOf("Microsoft") > -1) document.attachEvent("onmouseover", hideMenu);
	else document.addEventListener("mouseover", hideMenu, false);
}
/** Hide the drop down menu containing 'Take Action' buttons */
function hideMenu() {
	if (window.event) event.cancelBubble = true;
	var menu = document.getElementById("invBrowseActionMenu");
	menu.style.display = "none";
	if (navigator.appName.indexOf("Microsoft") > -1) document.detachEvent("onmouseover", hideMenu);
	else document.removeEventListener("mouseover", hideMenu, false);
}


function AdvSearchDisplayer(){
	this.advSearchDisplayed = false;
}
AdvSearchDisplayer.prototype = new BtnStateManager();

AdvSearchDisplayer.prototype.toggleAdvancedSearch = function(vehicleType){
	if (this.advSearchDisplayed){
		this.hideAdvancedSearch(vehicleType);
	} else {
		this.showAdvancedSearch(vehicleType);
	}
}
// content height variables used to adjust some firefox layout quirks
var defaultLayoutHeight=false,defaultNavHeight,newLayoutHeight=false,newNavHeight,poSearchLayoutAdjust;
AdvSearchDisplayer.prototype.showAdvancedSearch = function(vehicleType){
	// set default content height variables prior to opening advanced search widget
	if (poSearchLayoutAdjust==true && !defaultLayoutHeight) {
		defaultLayoutHeight = document.getElementById('layoutWrapper').offsetHeight;
		defaultNavHeight = document.getElementById('navWrapper').offsetHeight;
	}
	// open advanced search widget
	this.itemOn("advancedSearchHead");
	document.getElementById(vehicleType + "AdvancedSearchContainer").style.display = "block";
	document.getElementById(vehicleType + "AdvancedSearchHeadIcon").style.visibility = "hidden";
	this.positionSubmitBtn("advanced",vehicleType);
	this.advSearchDisplayed = true;
	// set new content height variables after opening advanced search widget
	if (poSearchLayoutAdjust==true && !newLayoutHeight) {
		newLayoutHeight = document.getElementById('layoutWrapper').offsetHeight;
		newNavHeight = document.getElementById('navWrapper').offsetHeight;
	}
	// force content height if layout variable present
	if (poSearchLayoutAdjust==true) {
		document.getElementById('layoutWrapper').style.height = newLayoutHeight;
		document.getElementById('navWrapper').style.height = newNavHeight;
	}
}
AdvSearchDisplayer.prototype.hideAdvancedSearch = function(vehicleType){
	// close advanced search widget
	this.itemOn("advancedSearchClose");
	document.getElementById(vehicleType + "AdvancedSearchContainer").style.display = "none";
	document.getElementById(vehicleType + "AdvancedSearchHeadIcon").style.visibility = "visible";
	this.positionSubmitBtn("basic",vehicleType);
	this.advSearchDisplayed = false;
	// set content height to default if layout variable present
	if (poSearchLayoutAdjust==true) {
		document.getElementById('layoutWrapper').style.height = defaultLayoutHeight;
		document.getElementById('navWrapper').style.height = defaultNavHeight;
	}
}
/** Show/Hide the submit button based on whether or not the 
	advanced search options are displayed. 
	@param	type	(String) Either 'basic' or 'advanced'
*/
AdvSearchDisplayer.prototype.positionSubmitBtn = function(type,vehicleType){
	var submitBtn = document.getElementById(vehicleType + "BasicSearchSubmit");
	if (type == "basic"){
		submitBtn.style.visibility = "visible";
	} else if (type == "advanced"){
		submitBtn.style.visibility = "hidden";
	}
}