// Don't change these parameters
var delay = 500; /////
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) {
this.ID = id;
this.parentID = content [0]*1;
this.parentItemID = content [1]*1;
this.width = content [2]*1 + 50;
this.timerID = -1;
this.isOn = false;
this.item = new Array ();
this.currItemID = -1;
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;
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 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
//FadeIn (fadeNaam);
} else if (isNC)
document.layers[ID].visibility = "show";
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++) {
menuElement [i] = new menuConstructor (i, menuContent [i]);
numOfMenus++;
}
}
function menuLocation() {
alert('0');
if (window.innerWidth != null) {
alert('1');
if (window.innerWidth/2-240 < 150)
//return (150);
return window.innerWidth/2-240;
}
if (document.body.clientWidth != null) {
alert('2');
if (document.body.clientWidth/2-240 < 150)
//return (150);
return document.body.clientWidth/2-240;
}
//return(270);
return 2;
}
createMenuTree ();