function LoadPage()
{
	InitializeMenu();
	//SearchFieldClear(document.getElementById('q'), false);
	//InitHighlightText();
}

function ShowMenuItem()
{
	var oObject = this;
	for(var i = 0; i  < oObject.childNodes.length; i++)
	{
		if(oObject.childNodes[i].nodeName == "UL")
		{
			oObject.childNodes[i].parentNode.firstChild.className += " menuactive";
			oObject.childNodes[i].style.display = "block";
		}
	}
}

function HideMenuItem()
{
	var oObject = this;
	for(var i = 0; i  < oObject.childNodes.length; i++)
	{
		if(oObject.childNodes[i].nodeName == "UL")
		{
			oObject.childNodes[i].parentNode.firstChild.className = oObject.childNodes[i].parentNode.firstChild.className.replace("menuactive", "");
			oObject.childNodes[i].style.display = "none";
			return;
		}
	}
}

function InitializeMenu()
{
	var oObjects = document.body.getElementsByTagName("LI");
	for(var i = 0; i < oObjects.length; i++)
	{
		var oObject = oObjects[i];
		for(var j = 0; j  < oObject.childNodes.length; j++)
		{
			if(oObject.childNodes.item(j).nodeName == "UL")
			{
				oObject.onmouseover=ShowMenuItem;
				oObject.onmouseout=HideMenuItem;

				for(var j = 0; j  < oObject.childNodes.length; j++) if(oObject.childNodes.item(j).nodeName == "A") oObject.childNodes.item(j).className = "menuparent";
			}
		}
	}
}

function SearchFieldClear(oField, bClear)
{
	if (bClear && oField.value == "Search this website") oField.value = "";
	if (!bClear) oField.value = "Search this website";
}

function SearchFieldKeyUp(oField, oEvent)
{
	var sQuery = oField.value;
	if (oEvent.keyCode == 13 && oField.value != '') {window.location.href = 'http://www.captaincaveman.nl/?id=search&q=' + sQuery;}
	else
	{
		var oSearchButton = document.getElementById('search_button');
		oSearchButton.href = '?id=search&q=' + sQuery;
	}
}

function InitHighlightText()
{
	var sQueryString = window.location.search.substring(1);
	var sHighlight = "";
		if (sQueryString.length > 0)
	{
		var aParams = sQueryString.split("&");
		var aParam;
		var iIndex, iLen = aParams.length;
		
		for (iIndex = 0; iIndex < iLen; iIndex ++)
		{
			aParam = aParams[iIndex].split("=");
			if (aParam && aParam.length == 2)
			{
				if (aParam[0] == "highlight") sHighlight = aParam[1];
			}
		}
	}
	if (sHighlight != "")
	{
		var oContent = document.getElementById('content');
		var sHTML = oContent.innerHTML;
		sHighlight = sHighlight.replace(/\+/g, ' ');
		sHTML = HighlightText(sHTML, sHighlight, "<span class='highlight'>", "</span>");
		oContent.innerHTML = sHTML;
	}
}

function HighlightText(sHTML, sHighlight, sHStart, sHEnd) 
{
	var sResult = "";
	var iIndex = -1;
	var sLHighlight = sHighlight.toLowerCase();
	var sLHTML = sHTML.toLowerCase();

	while (sHTML.length > 0)
	{
		iIndex = sLHTML.indexOf(sLHighlight, iIndex+1);
		if (iIndex < 0)
		{
			sResult += sHTML;
			sHTML = "";
		}
		else
		{
			if (sHTML.lastIndexOf(">", iIndex) >= sHTML.lastIndexOf("<", iIndex))
			{
				if (sLHTML.lastIndexOf("/script>", iIndex) >= sLHTML.lastIndexOf("<script", iIndex))
				{
					sResult += sHTML.substring(0, iIndex) + sHStart + sHTML.substr(iIndex, sHighlight.length) + sHEnd;
					sHTML = sHTML.substr(iIndex + sHighlight.length);
					sLHTML = sHTML.toLowerCase();
					iIndex = -1;
				}
			}
		}
	}
	return sResult;
}
