
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(){
	if (this.advSearchDisplayed){
		this.hideAdvancedSearch();
	} else {
		this.showAdvancedSearch();
	}
}
AdvSearchDisplayer.prototype.showAdvancedSearch = function(){
	this.itemOn("advancedSearchHead");
	document.getElementById("advancedSearchContainer").style.display = "block";
	document.getElementById("advancedSearchHeadIcon").style.visibility = "hidden";
	this.positionSubmitBtn("advanced");
	this.advSearchDisplayed = true;
}
AdvSearchDisplayer.prototype.hideAdvancedSearch = function(){
	this.itemOn("advancedSearchClose");
	document.getElementById("advancedSearchContainer").style.display = "none";
	document.getElementById("advancedSearchHeadIcon").style.visibility = "visible";
	this.positionSubmitBtn("basic");
	this.advSearchDisplayed = false;
}
/** 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){
	var submitBtn = document.getElementById("basicSearchSubmit");
	if (type == "basic"){
		submitBtn.style.visibility = "visible";
	} else if (type == "advanced"){
		submitBtn.style.visibility = "hidden";
	}
}