// Don't change these parameters
var delay = 200; /////
var menuElement = new Array ();
var usedWidth = 0;
var numOfMenus = 0;
/// ----------------------------
// check browser version
isNC = (document.layers) ? 1 : 0;
isOPERA = (navigator.userAgent.indexOf('Opera') >= 0)? true : false;
isIE = (document.all && !isOPERA)? true : false;
isDOM = (document.getElementById && !isIE && !isOPERA)? true : false;
var topID = -1;
// constructor of menu elements
function menuConstructor (id, content, menuType)
{
this.ID = id;
this.parentID = content [0]*1;
this.parentItemID = content [1]*1;
this.width = content [2]*1;
this.timerID = -1;
this.isOn = false;
this.item = new Array ();
this.currItemID = -1;
this.height = 226;
this.x = content [3]*1;
if (this.x < 0 && this.parentID == -1)
{
this.x = initX + usedWidth;
usedWidth = usedWidth + this.width;
}
else if (this.x < 0 && this.parentID > -1)
{
this.x = menuElement [this.parentID].x
+ menuElement [this.parentID].width
- xOverlap;
}
this.y = content [4]*1;
if (this.y < 0 && this.parentID == -1) {
this.y = initY;
//alert(this.y);
}
else if (this.y < 0 && this.parentID > -1)
this.y = menuElement [this.parentID].y
+ itemHeight*this.parentItemID
+ yOverlap;
items = content [5];
layerBody = '
|
';
for (j = 0; j <= items.length - 2; j = j + 2)
{
controlBlock = ' onMouseOver = "enterItem (' + this.ID + ', ' + ((j + 2)/2 - 1) + ');" onMouseOut = "exitItem (' + this.ID + ', ' + ((j + 2)/2 - 1) + ');" ';
layerBody += ' | ';
if (j < items.length - 2)
layerBody = layerBody + '\n';
else
layerBody = layerBody + '\n';
}
if (!isNC)
layerHeader = '
';
if (!isNC)
layerFooter = layerFooter + '';
else
layerFooter = layerFooter + '';
document.writeln (layerHeader + layerBody + layerFooter);
return this;
}
function enterTopItem (ID)
{
if (topID != ID && topID != -1)
hideTree (topID);
releaseTree (ID);
topID = ID;
show (ID);
}
function exitTopItem (ID)
{
menuElement [ID].timerID = setTimeout ('hide (' + ID + ')', delay);
}
function enterItem (menuID, itemID)
{
var currItemID = menuElement [menuID].currItemID;
if (currItemID != i & currItemID > -1)
hide (currItemID);
for (var i = 0; i < numOfMenus; i++)
{
if (menuElement [i].parentID == menuID &&
menuElement [i].parentItemID == itemID)
{
clearTimeout (menuElement [i].timerID);
menuElement [i].timerID = -1;
show (i);
return 0;
}
}
return -1;
}
function exitItem (menuID, itemID)
{
for (var i = 0; i < numOfMenus; i++)
{
if (menuElement [i].parentID == menuID &&
menuElement [i].parentItemID == itemID)
{
menuElement [i].timerID = setTimeout ('hide (' + i + ')', delay);
return 0;
}
}
}
function enterMenu (ID)
{
var parentID = menuElement [ID].parentID;
if (parentID == -1)
{
clearTimeout (menuElement [ID].timerID);
menuElement [ID].timerID = -1;
}
else
releaseTree (ID);
}
function positionMenu (ID)
{
defaultHeight = menuElement [ID].height;
this.scrolloffset = 0;
if(window.innerHeight) {
if(isIE) { this.scrolloffset = document.body.scrollTop; }
else if(isNC) { this.scrolloffset = window.pageYOffset; }
}
else if(document.documentElement && document.documentElement.clientHeight) {
if(isIE) {this.scrolloffset = document.documentElement.scrollTop; }
else if(isNC) { this.scrolloffset = window.pageYOffset; }
}
else if(document.body) {
if(isIE) { this.scrolloffset = document.body.scrollTop; }
else if(isNC) { this.scrolloffset = window.pageYOffset; }
}
//newHeight = parseInt(defaultHeight) - parseInt(this.scrolloffset);
//document.all['table' + ID].style.height = newHeight+'px';
//alert(document.all['specialHeight'].style);
//document.all['specialHeight'].style.height = newHeight+'px';
newHeight = parseInt(this.scrolloffset);
document.all['table' + ID].style.height = newHeight+'px';
}
function exitMenu (ID)
{
timeoutTree (ID);
}
function hideTree (ID)
{
hide (ID);
for (var j = 0; j < numOfMenus; j++)
{
if (menuElement [j].parentID == ID &&
menuElement [j].isOn)
{
hideTree (j);
return 0;
}
}
}
function releaseTree (ID)
{
clearTimeout (menuElement [ID].timerID);
menuElement [ID].timerID = -1;
var parentID = menuElement [ID].parentID;
if (parentID > -1)
releaseTree (parentID);
}
function timeoutTree (ID)
{
menuElement [ID].timerID = setTimeout ('hide (' + ID + ')', delay);
var parentID = menuElement [ID].parentID;
if (parentID > -1)
timeoutTree (parentID);
}
function FadeIn (fadeNaam)
{
if (document.all[fadeNaam].filters.alpha.opacity < 100)
{
document.all[fadeNaam].filters.alpha.opacity=document.all[fadeNaam].filters.alpha.opacity+30;
setTimeout("FadeIn('" + fadeNaam + "')",20)
}
}
function show (ID)
{
if (isDOM)
document.getElementById('Menu' + ID).style.visibility = "visible";
else if (isIE)
{
document.all['Menu' + ID].style.visibility = "visible";
document.all['Menu' + ID].filters.alpha.opacity = 100;
var fadeNaam = 'Menu' + ID
}
else if (isNC)
document.layers[ID].visibility = "show";
//window.status = "height: " +document.getElementById('Menu' + ID).style.height + "Width: " +document.getElementById('Menu' + ID).style.width;
menuElement [ID].isOn = true;
if (menuElement [ID].parentID > -1)
menuElement [menuElement [ID].parentID].currItemID = ID;
}
function hide (ID)
{
if (isDOM)
document.getElementById('Menu' + ID).style.visibility = "hidden";
else if (isIE)
document.all['Menu' + ID].style.visibility = "hidden";
else if (isNC)
document.layers[ID].visibility = "hide";
menuElement [ID].isOn = false;
if (menuElement [ID].parentID > -1)
menuElement [menuElement [ID].parentID].currItemID = -1;
}
function createMenuTree ()
{
for (var i = 0; i < menuContent.length; i++)
{
var menuType = 'top';
menuElement [i] = new menuConstructor (i, menuContent [i], menuType);
numOfMenus++;
}
}
//window.onload=function() {
createMenuTree ();
//}