function validateSearchPhrase() {
	
	var validity = false;
	var tbSearchPhrase = e("tbSearchPhrase");
	
	if (tbSearchPhrase) {
		tbSearchPhrase.value = trim(tbSearchPhrase.value);
		
		if (tbSearchPhrase.value != "") {
			validity = true;
		}
		else {
			showUserMessage("Please enter a word or phrase to search for.", 3000);
		}
		
		tbSearchPhrase.focus();
	}

	return validity;
}

function gotoBookSearch(isbn, searchPhrase, executeSearch, element) {

	var hdISBN = e("hdISBN");
	var hdSearchPhrase = e("hdSearchPhrase");
	var searchBookForm = e("searchBookForm");
	
	hdISBN.value = isbn;
	
	if (executeSearch) {
		hdSearchPhrase.value = searchPhrase;
	}
	else {
		hdSearchPhrase.value = "";
	}

	document.body.cursor = "wait";
	element.cursor = "wait";
	searchBookForm.submit();
}

function collapseNavbar() {

	var navbar = e("navbar");
	//var navScrollDiv = e("navScrollDiv");
	var navbarTable = e("navbarTable");
	var navbarTableCollapsed = e("navbarTableCollapsed");
	
	navbarTable.style.display = "none";
	navbarTableCollapsed.style.display = "block";
	//navScrollDiv.style.width = "18px";
	navbar.style.width = "18px";
	navbar.style.minWidth = "18px";
	navbar.style.backgroundColor = "#ddd";
	
	try {
		resizeContent();
	}
	catch (exception) {
		// ignore
	}
}

function expandNavbar() {

	var navbar = e("navbar");
	//var navScrollDiv = e("navScrollDiv");
	var navbarTable = e("navbarTable");
	var navbarTableCollapsed = e("navbarTableCollapsed");
	
	navbar.style.backgroundColor = "#fff";
	navbar.style.minWidth = null;
	navbar.style.width = null;
	//navScrollDiv.style.width = null;
	navbarTableCollapsed.style.display = "none";
	navbarTable.style.display = "block";
	
	try {
		resizeContent();
	}
	catch (exception) {
		// ignore
	}
}


var userMessageCounter = 0;
var cursorX = null;
var cursorY = null;

function showUserMessage(message, delay) {

	var userMessage = e("userMessageDiv");
	var content = e("content");
	var pageImageDiv = e("viewerScrollableImageDiv");
	
	if (userMessage) {
		userMessage.innerHTML = message;

		var left = 15;
		var top = 15;
		
		if (cursorX) {
			left = cursorX - 10;
			top = cursorY - 10;
		}
		
		if (pageImageDiv) {
			left += getOffsetLeft(pageImageDiv);
			top += getOffsetTop(pageImageDiv);
		}
		else if (content) {
			left += getOffsetLeft(content);
			top += getOffsetTop(content);
		}
		
		var scrollOffset = document.documentElement.scrollTop;
		
		if (document.body.scrollTop > scrollOffset) { // IE6  hack
			scrollOffset = document.body.scrollTop; 
		}
		
		if (top < (scrollOffset + 15)) {
			top = scrollOffset + 15;
		}
		
		userMessage.style.left = left + "px";
		userMessage.style.top = top + "px";

		userMessage.style.visibility = "visible";

		userMessageCounter++;

		if (delay) {
			setTimeout("hideUserMessage(" + userMessageCounter + ")", delay);
		}
	}
}

function getOffsetLeft(element) {
	
	var offsetLeft = element.offsetLeft;
	var oParent = element.offsetParent;
	
	while (oParent) {
		offsetLeft += oParent.offsetLeft;
		oParent = oParent.offsetParent;
	}
	
	return offsetLeft;
}

function getOffsetTop(element) {
	
	var offsetTop = element.offsetTop;
	var oParent = element.offsetParent;
	
	while (oParent) {
		offsetTop += oParent.offsetTop;
		oParent = oParent.offsetParent;
	}
	
	return offsetTop;
}

function hideUserMessage(messageNumber) {

	var userMessage = e("userMessageDiv");
	
	if (userMessage && (userMessageCounter == messageNumber)) {
		userMessage.style.visibility = "hidden";
		userMessage.innerHTML = "";
	}
}

function openSiteInfo(page) {

	var siteInfoDiv = e("siteInfoDiv");
	var siteInfoFrame = e("siteInfoFrame");

	var top = (document.body.offsetHeight / 2) - (siteInfoDiv.offsetHeight / 2);
	var left = (document.body.offsetWidth / 2) - (siteInfoDiv.offsetWidth / 2);
	
	if (siteInfoDiv && siteInfoFrame) {
		siteInfoFrame.src = page;

		siteInfoDiv.style.top = top + "px";
		siteInfoDiv.style.left = left + "px";
				
		siteInfoDiv.style.visibility = "visible";
	}
}

function closeSiteInfo() {

	var siteInfoDiv = e("siteInfoDiv");
	var siteInfoFrame = e("siteInfoFrame");
	
	if (siteInfoDiv && siteInfoFrame) {
		siteInfoDiv.style.visibility = "hidden";
		siteInfoDiv.style.top = "0px";
		siteInfoDiv.style.left = "0px";
		siteInfoFrame.src = "";
	}
}

function clickButtonOnEnter(event, buttonId) {
	
	var btButton = e(buttonId);
	
	if (btButton && event) {
		if (event.keyCode == 13) {
			btButton.click();
		}
	}	
}

function stopSubmitOnEnter() {

	if (window.event) {
		return !(window.event.keyCode == 13);
	}
}

document.onkeypress = stopSubmitOnEnter;
