var topSect = new Array('NFSBC', 'NFB', 'D', 'FB', 'O', 'P', 'C', 'F', 'H', 'I', 'S');
var menuOpen = 0;
var menuTimer = 0;

$(document).ready(function(){
    for (x in topSect) {
	document.getElementById("mm"+topSect[x]).style.zIndex = -10;
	document.getElementById("mm"+topSect[x]).style.display = "block";
	document.getElementById("mm"+topSect[x]).style.left = "0px";
	$("#mm"+topSect[x]).load("/m/"+topSect[x], function() {
	    var menuid = this.id;
	    menuid = "#"+menuid.substring(1);
	    var offset = $(menuid).offset();
	    var bwidth = $(menuid).width();
	    var mwidth = this.offsetWidth;
	    this.style.top = offset.top + $(menuid).height() + 4 + 'px';
	    var pos = offset.left + (bwidth / 2) - (mwidth / 2);
	    if (pos < 0) {
		pos = 0;
	    }
	    if ((pos + this.offsetWidth) > document.getElementById('menu').offsetWidth) {
		this.style.left = document.getElementById('menu').offsetWidth - this.offsetWidth + 'px';
	    } else {
		this.style.left = pos + 'px';
	    }
	    this.style.display = "none";
	    this.style.zIndex = 10;
	    });
	$("#mm"+topSect[x]).mouseout(function(){
	    $("#mm"+topSect[x]).hide();
	    });    
	$("#m"+topSect[x]).mouseover(function(){
	    clearTimeout(menuTimer);
	    if (menuOpen == 1) {
		showMenu(this.id);
	    } else {
		menuTimer = setTimeout("showMenu('"+this.id+"')", 200);
	    }
	    });
    }
    $("#menu").mouseout(function(){
	clearTimeout(menuTimer);
	menuTimer = setTimeout('hideMenus()', 200);
	});
    });

function showMenu(menuId) {
    for (y in topSect) {
	if ("m"+topSect[y] == menuId) {
	    $("#mm"+topSect[y]).show();
	    var menuid = "#"+menuId;
	    var mm = document.getElementById('m'+menuId);
	    var offset = $(menuid).offset();
	    var bwidth = $(menuid).width();
	    var mwidth = mm.offsetWidth;
	    mm.style.top = $(menuid).height() + 4 + 'px';
	    var pos = offset.left + (bwidth / 2) - (mwidth / 2);
	    if (pos < 0) {
		pos = 0;
	    }
	    if ((pos + mm.offsetWidth) > document.getElementById('menu').offsetWidth) {
		mm.style.left = document.getElementById('menu').offsetWidth - mm.offsetWidth + 'px';
	    } else {
		mm.style.left = pos + 'px';
	    }
	    menuOpen = 1;
	} else {
	    $("#mm"+topSect[y]).hide();
	}
    }
}

function hideMenus() {
    for (x in topSect) {
	$("#mm"+topSect[x]).hide();
    }
    menuOpen = 0;
}

function showBrand() {
    document.getElementById('sectdiv').style.display='none';
    document.getElementById('nosectdiv').style.display='block';
    document.getElementById('shelfdiv').style.display='none';
    document.getElementById('noshelfdiv').style.display='block';
    if (document.getElementById('branddiv').innerHTML=='') {
	$("#branddiv").load("/cgi-local/brands", function(){document.getElementById('nobranddiv').style.display='none'; $("#branddiv").show('fast');});
    } else {
	document.getElementById('nobranddiv').style.display='none';
	$("#branddiv").show('fast');
    }
}

function showSect() {
    document.getElementById('branddiv').style.display='none';
    document.getElementById('nobranddiv').style.display='block';
    document.getElementById('shelfdiv').style.display='none';
    document.getElementById('noshelfdiv').style.display='block';
    if (document.getElementById('sectdiv').innerHTML=='') {
	$("#sectdiv").load("/cgi-local/sects?url="+escape(document.location), function(){document.getElementById('nosectdiv').style.display='none'; $("#sectdiv").show('fast');});
    } else {
	document.getElementById('nosectdiv').style.display='none';
	$("#sectdiv").show('fast');
    }
}

function showShelf() {
    document.getElementById('sectdiv').style.display='none';
    document.getElementById('nosectdiv').style.display='block';
    document.getElementById('branddiv').style.display='none';
    document.getElementById('nobranddiv').style.display='block';
    if (document.getElementById('shelfdiv').innerHTML=='') {
	$("#shelfdiv").load("/cgi-local/shelves", function(){document.getElementById('noshelfdiv').style.display='none'; $("#shelfdiv").show('fast');});
    } else {
	document.getElementById('noshelfdiv').style.display='none';
	$("#shelfdiv").show('fast');
    }
}

function showRecent() {
    $("#recentdiv").load("/cgi-local/recent?d="+escape(new Date()), function(){document.getElementById('norecentdiv').style.display='none'; $("#recentdiv").show('fast');});
}

function hideRecent() {
    document.getElementById('recentdiv').style.display='none'; $("#norecentdiv").show();
}

function getNextHighestZindex(obj){  
    var highestIndex = 0;  
    var currentIndex = 0;  
    var elArray = Array();  
    if(obj){ elArray = obj.getElementsByTagName('*'); }else{ elArray = document.getElementsByTagName('*'); }  
    for(var i=0; i < elArray.length; i++){  
        if (elArray[i].currentStyle){  
            currentIndex = parseFloat(elArray[i].currentStyle['zIndex']);  
        }else if(window.getComputedStyle){  
            currentIndex = parseFloat(document.defaultView.getComputedStyle(elArray[i],null).getPropertyValue('z-index'));
        }  
        if(!isNaN(currentIndex) && currentIndex > highestIndex){ highestIndex = currentIndex; }  
    }  
    return(highestIndex+1);  
} 

function showCentre(name) {

    var bkwidth = $("body").width();
    var bkheight = $("body").height();
    if ($("window").width() > bkwidth) {bkwidth = $("window").width()}
    if ($("window").height() > bkheight) {bkheight = $("window").height()}
    if ($("#left").height() + $("#left").offset().top > bkheight) {bkheight = $("#left").height() + $("#left").offset().top}

    if (!document.getElementById(name+"blurDiv")) {
        var blurDiv = document.createElement("div");    
        blurDiv.id = name+"blurDiv";
        
        blurDiv.style.cssText = "position:absolute; top:0; right:0; width:" +bkwidth+ "px; height:" +bkheight+ "px; background-color: #AAAAFF; opacity:0.5;";    
        $("body").append(blurDiv);
    }

    if (document.getElementById(name+"Div").style.display == "none") {
        document.getElementById(name+"Div").style.display = "block";
    }

    if (document.getElementById(name+"blurDiv").style.display == "none") {
        document.getElementById(name+"blurDiv").style.display = "block";
        document.getElementById(name+"blurDiv").style.width = bkwidth+'px';
        document.getElementById(name+"blurDiv").style.height = bkheight+'px';
    }

    var winindex = getNextHighestZindex();
    document.getElementById(name+"Div").style.zIndex = winindex+1;     
    document.getElementById(name+"blurDiv").style.zIndex = winindex;


    document.getElementById(name+'Div').style.left = ((window.innerWidth/2)-(document.getElementById(name+'Div').offsetWidth)/2)+"px";
    var top = ((window.innerHeight/2)-(document.getElementById(name+'Div').offsetHeight)/2)+window.pageYOffset;
    if (top < 0) {
        top = 0;
    }
    if (top < window.pageYOffset) {
        top = window.pageYOffset;
    }

    document.getElementById(name+'Div').style.top = top+"px";

    bkheight = $("body").height;
    if ($("window").height() > bkheight) {bkheight = $("window").height()}
    if ($("#left").height() + $("#left").offset().top > bkheight) {bkheight = $("#left").height() + $("#left").offset().top}
    document.getElementById(name+"blurDiv").style.height = bkheight+'px';

    
}

function hidePopout(name, hide) {
    var blurDiv = document.getElementById(name+"blurDiv");
    if (hide == "hide") {
        if (blurDiv) {blurDiv.style.display = "none";}
    } else {
        if (blurDiv) {blurDiv.parentNode.removeChild(blurDiv);}
    }
    var newDiv = document.getElementById(name+"Div");
    if (hide == "hide") {
        if (newDiv) {newDiv.style.display = "none"; newDiv.innerHTML = '';}
    } else {
        if (newDiv) {newDiv.parentNode.removeChild(newDiv);}
    }
}

