function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function scrollList()
{
	if (!document.getElementById) return false;
	if (!document.getElementById("scroll")) return false;
	var scroller = document.getElementById("scroll");
	var listItems = scroller.getElementsByTagName("DIV");
	myrandom = "scrollelement"+(Math.floor(Math.random()*1000));
	listItems[0].id = myrandom;
	listItems[0].setAttribute("ID",myrandom);
	if (listItems[0].clientHeight > 0)
	{
		var listItemHeight = listItems[0].clientHeight;
	}
	else
	{
		var listItem = document.getElementById(myrandom);
		var listItemHeight = listItem.offsetHeight;
		//alert (listItem.offsetHeight);
	}
	//alert ("listItemHeight is "+listItemHeight);
	listItems[0].style.marginTop = "0px";
	repeat = "moveListItem("+myrandom+","+listItemHeight+")";
	intervalID = setInterval(function() { moveListItem(myrandom,listItemHeight); }, 50)
}

addLoadEvent(scrollList);

function moveListItem(elementid, height)
{
	myelem = document.getElementById(elementid);
	newMargin = Math.abs(parseInt(myelem.style.marginTop))+1;
	if (newMargin == height)
	{
		clearInterval(intervalID);
		mylist = myelem.parentNode;
		newelem = document.createElement("div");
		newelem.innerHTML = myelem.innerHTML;
		mylist.removeChild(myelem);
		scrollList(mylist);
		mylist.appendChild(newelem);
	}
	else
	{
		myelem.style.marginTop = "-"+newMargin+"px";
	}
}

function ieFixes()
{
	// To add a final LI on the main menu
	var mainMenu = document.getElementById("mainmenu");
	menuEnd = document.createElement("LI");
	menuEnd.innerHTML = "&nbsp;";
	menuEnd.className = "menuend";
	mainMenu.appendChild(menuEnd);

	// To add the pipes onto the submenu and sitemap
	var menuItems =  mainMenu.getElementsByTagName("LI");
	for (k=0;k<menuItems.length-2;k++)
	{
		menuItems[k].innerHTML+= "<span style=\"font-weight:bold; color:#fff; padding:0.1em 0 9px; display:inline-block;\">|</span>";
	}
	var lists = document.getElementsByTagName("UL");
	for (i=0;i<=lists.length;i++)
	{
		if (lists[i].className == "sitemap")
		{
			//lists[i].style.backgroundColor = "#f00";
			var siteMapItems = lists[i].getElementsByTagName("LI");
			for (j=0;j<siteMapItems.length-1;j++)
			{
				siteMapItems[j].innerHTML+= "  |  ";
			}
		}
	}
}

if (navigator.appName == "Microsoft Internet Explorer")
{
	addLoadEvent(ieFixes);
}