var isSidebarCollapsed = false;
var currentMenuDisplay = "sidebar_main";
function toggleNav() {
    var oOuterTable = document.getElementById("outertable");
    var oSidebar = document.getElementById("sidebar");
    
    if(oSidebar.style) {
		if(isSidebarCollapsed) {
			oSidebar.style.display = "block";
			oOuterTable.style.width = "100%";
			isSidebarCollapsed = false;
		}
		else{
			oSidebar.style.display = "none";
			oOuterTable.style.width = "100%";
			isSidebarCollapsed = true;
		}
    }
    else{
		if(isSidebarCollapsed) {
			oSidebar.display = "block";
			oOuterTable.width = "100%";
			isSidebarCollapsed = false;
		}
		else{
			oSidebar.display = "none";
			oOuterTable.width = "100%";
			isSidebarCollapsed = true;
		}
    }
}

var lastTargetTop = 0;
var currentPixelTop = 0;
function onScrollTabTimer() {
    var oNavTab = document.getElementById("sidetabDiv");
    var targetTop = document.pageOffsetY ? document.pageYOffset : (document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop);
    var changeAmount = 0;
    
    if(targetTop != currentPixelTop && lastTargetTop == targetTop) {
		changeAmount = (targetTop - currentPixelTop) / 10;
		if(changeAmount < 0) {
			if(changeAmount > -0.1) {
				currentPixelTop = targetTop;
				changeAmount = 0;
			}
		}
		else{
			if(changeAmount < 0.1) {
				currentPixelTop = targetTop;
				changeAmount = 0;
			}
		}
		
		currentPixelTop += changeAmount;
		oNavTab.style.top = currentPixelTop + "px";
		window.setTimeout("onScrollTabTimer();", 50);
    }
    else{
		window.setTimeout("onScrollTabTimer();", 1000);
    }
    
    lastTargetTop = targetTop;
}


var bodyLoadFunctionNames = new Array("initialLayoutCommands();");
function onBodyLoad() {
	for(var i = 0; i < bodyLoadFunctionNames.length; ++i) {
		eval(bodyLoadFunctionNames[i]);
	}
}

function initialLayoutCommands() {
    onScrollTabTimer();
    window.setInterval("randomHeaderImage();", 30000);
    try{
		document.getElementById("outertable").style.width="100%";
		document.body.style.width="100%";
		document.getElementById("loginUserName").focus();
    }
    catch(exceptionObject) { }
    try{
		document.getElementById("fictionStory").style.width = "98%";
    }
    catch(exceptionObject) { }
}

function toggleFavorites() {
    var oSidebarMain = document.getElementById("sidebar_main");
    var oSidebarFavourites = document.getElementById("sidebar_favourites");
    var oFavoritesLink = document.getElementById("favorites_link");
    
    if(currentMenuDisplay == "sidebar_main") {
		oSidebarMain.style.display = "none";
		oSidebarFavourites.style.display = "block";
		oFavoritesLink.style.backgroundColor = "#999999";
		
		currentMenuDisplay = "sidebar_favourites";
		}
    else{
		oSidebarFavourites.style.display = "none";
		oSidebarMain.style.display = "block";
		oFavoritesLink.style.backgroundColor = "transparent";
		
		currentMenuDisplay = "sidebar_main";
    }
}

function hideAds() {
	try{
		document.getElementById("ads").style.display = "none";
	}
	catch(exceptionObject) { }
}

var menuIsOpen = new Array();
var menuAwaitingClose = new Array();
var menuRollOutPosition = new Array();
var lastMenuOpened = "";
function onMenuElementOver(menuName,shouldOpen) {
	menuAwaitingClose[menuName] = false;
	if(shouldOpen && !menuIsOpen[menuName]) {
		if(lastMenuOpened) {
			testCloseMenu(lastMenuOpened);
		}
		
		var oMenuObject = document.getElementById(menuName + "_menu");
		var oMenuContainer = document.getElementById(menuName + "_container");
		var oMenuLink = document.getElementById(menuName + "_link");
		
		menuRollOutPosition[menuName] = -oMenuObject.offsetHeight * 2;
		rollOutMenu(menuName);
		
		oMenuContainer.style.left = oMenuLink.offsetLeft + "px";
		oMenuContainer.style.top = (oMenuLink.offsetTop + oMenuLink.offsetHeight + 3) + "px";
		oMenuContainer.style.visibility = "visible";
		
		menuIsOpen[menuName] = true;
		lastMenuOpened = menuName;
	}
}

function onMenuElementOut(menuName) {
	menuAwaitingClose[menuName] = true;
	window.setTimeout("testCloseMenu('" + menuName + "');", 1000);
}

function rollOutMenu(menuName) {
	var oMenuObject = document.getElementById(menuName + "_menu");
	var currentPosition = menuRollOutPosition[menuName];
	
	if(currentPosition > - 2) {
		currentPosition = 0;
	}
	else{
		currentPosition = Math.floor(currentPosition / 2);
		window.setTimeout("rollOutMenu('" + menuName + "');", 33);	
	}
	
	menuRollOutPosition[menuName] = currentPosition;
	oMenuObject.style.top = currentPosition + "px";	
}

function testCloseMenu(menuName) {
	if(menuAwaitingClose[menuName]) {
		var oMenuContainer = document.getElementById(menuName + "_container");
		oMenuContainer.style.visibility = "hidden";
		menuIsOpen[menuName] = false;
	}
}

var oLastVisibleItem = null;
function visibiliseDesc(elementName, oAlignmentElement) {
	var oElement = document.getElementById(elementName);
	oElement.style.left = "-6px";
	oElement.style.top = oAlignmentElement.offsetHeight + 3 + "px";
	
	oElement.style.display = "block";
	if(oLastVisibleItem != null) {
		oLastVisibleItem.style.display = "none";
	}
	
	oLastVisibleItem = oElement;
}
