var MenuContainer = null;
var MenuSubsValue = new Array()
var MenuHighlighted = new Array()
var Browser = navigator.appName;
var Version = parseInt(navigator.appVersion);
var System = navigator.platform;
function LoadMenu()
{
setupArrays();
MenuContainer = getElementByID("menuContainer");
LoadMenuChildren(MenuContainer, 0);
return;
}
function LoadMenuChildren(menu, level)
{
var CurrentChild = null;
var CurrentText = null;
CurrentChild = menu.firstChild;
while(CurrentChild)
{
if(CurrentChild.nodeType==1)
{
CurrentChild.parentMenu = menu;
CurrentChild.menuLevel = level + 1;
CurrentChild.onmouseout = setInactive;
if(CurrentChild.getAttribute("object")=="menu")
{
CurrentChild.hasChildren = true;
if(CurrentChild.getAttribute("StartMenu")!="true")
{
CurrentChild.menuText = MenuSubsValue[CurrentChild.id];
if(!CurrentChild.menuText)
{
alert("the submenu " + CurrentChild.id + " can't be linked");
} else {
MenuSubsValue[CurrentChild.id].subMenu=CurrentChild;
}
}
if(CurrentChild.menuText)
{
addMenuSign(CurrentChild.menuText);
}
CurrentChild.className = CurrentChild.getAttribute("hidclass");
CurrentChild.style.top = 0;
CurrentChild.style.left = 0;
LoadMenuChildren(CurrentChild, level + 1);
} else if(CurrentChild.getAttribute("object")=="menuItem")
{
if(menu.offsetWidth > CurrentChild.offsetWidth + 6)
{
if(menu.offsetWidth)
{
CurrentChild.style.pixelWidth = menu.offsetWidth - 6;
}
}
if(CurrentChild.getAttribute("submenu"))
{
MenuSubsValue[CurrentChild.getAttribute("submenu")] = CurrentChild;
}
CurrentChild.hasChildren = false;
if(Browser == "Microsoft Internet Explorer")
{
if(CurrentChild.parentNode.className == "ankerMenu"){
CurrentChild.style.width = 158 + "px";
} else {
CurrentChild.style.width = 150 + "px";
}
}
CurrentChild.onmouseover = Highlight;
CurrentChild.onclick = LoadURL;
CurrentChild.className = CurrentChild.getAttribute("llclass");
}
}
CurrentChild = CurrentChild.nextSibling;
}
return;
}
function showMenu(menu)
{
var Popup = menu.subMenu;
Popup.className = Popup.getAttribute("VisClass");
var iLeft = DL_GetElementLeft(menu);
var iTop = DL_GetElementTop(menu);
Popup.style.position = "absolute";
if(menu.parentNode.className == "ankerMenu")
{
Popup.style.left = iLeft + menu.offsetWidth - 2;
Popup.style.top = iTop - 3;
} else {
Popup.style.left = menu.offsetWidth;
Popup.style.top = menu.offsetTop - 3;
}
CurrentChild = Popup.firstChild;
while(CurrentChild)
{
if(CurrentChild)
{
if(CurrentChild.nodeType == 1)
{
if(CurrentChild.menuSign)
{
CurrentChild.menuSign.style.position = "absolute";
CurrentChild.menuSign.style.left = CurrentChild.offsetWidth - CurrentChild.menuSign.offsetWidth - 6;
CurrentChild.menuSign.style.top = 0;
}
}
}
CurrentChild = CurrentChild.nextSibling;
}
menu.popped = true;
}
function ListAll(Object)
{
document.getElementById("Debugging").innerHTML = "<B>" + Object.id + "</B><BR>";
for(var i in Object)
{
document.getElementById("Debugging").innerHTML = document.getElementById("Debugging").innerHTML + i + " = " + Object[i] + "<BR>";
}
}
function hideMenu(menu)
{
var Popup = menu.subMenu
Popup.className = Popup.getAttribute("HidClass");
if(Browser == "Konqueror"){ RefreshObject(Popup); }
}
function RefreshObject(Object)
{
var oldStyle = Object.style.position;
Object.style.position = "relative";
Object.style.position = "absolute";
Object.style.position = oldStyle;
}
function addMenuSign(menu)
{
if(menu){
var menuSign = document.createElement('span')
if(menu.parentNode.className == "ankerMenu")
{
menuSign.style.visibility = menu.style.visibility
menuSign.style.position = "absolute";
menuSign.style.top = 0;
if(menu.offsetWidth == 0)
{
menuSign.style.left = 200 - 18;
} else {
menuSign.style.left = menu.offsetWidth - menuSign.offsetWidth - 8;
}
}
var tContents = document.createElement('img');
tContents.src = '../images/more.png';
menuSign.appendChild(tContents);
menu.appendChild(menuSign);
menuSign.id = menu.id + '_more';
menuSign.setAttribute('class', 'more');
menuSign.setAttribute('object','more');
menu.menuSign = menuSign;
}
}
function posMenuSign(menu)
{
var CurrentChild = null;
var CurrentSign = null;
}
function Highlight()
{
var cHLMenu = MenuHighlighted.pop();
if(cHLMenu)
{
}
if(this)
{
}
if(cHLMenu&&this)
{
if(this==cHLMenu)
{
MenuHighlighted.push(cHLMenu);
return;
} else {
if(this.parentMenu.menuText)
{
var Test = (cHLMenu!=this.parentMenu.menuText);
} else {
var Test = true;
}
if(Test)
{
if(!cHLMenu.menuLevel){alert("failed menuLevel: " + cHLMenu.id);}
if(!this.menuLevel){alert("failed menuLevel: " + this.id);}
if(cHLMenu.menuLevel!=this.menuLevel)
{
ClearStack(cHLMenu, this);
} else {
Unhighlight(cHLMenu);
}
} else {
if(cHLMenu!=MenuHighlighted[MenuHighlighted.length-1])
{
MenuHighlighted.push(cHLMenu);
}
}
}
}
this.className = this.getAttribute("HLClass");
if(Browser == "Konqueror"){ RefreshObject(this); }
MenuHighlighted.push(this);
if(this.subMenu)
{
showMenu(this);
}
}
function ClearStack(cHLMenu, thismenu)
{
for(i=0;i=((cHLMenu.menuLevel+1)-thismenu.menuLevel);i++)
{
if(cHLMenu!=thismenu)
{
Unhighlight(cHLMenu);
if(MenuHighlighted.length>0)
{
cHLMenu = MenuHighlighted.pop();
} else {
return;
}
} else {
return;
}
}
if(MenuHighlighted.length==0){
MenuHighlighted.push(cHLMenu);
}
}
function Unhighlight(menu)
{
if(menu){
menu.className = menu.getAttribute("LLClass");
if(Browser == "Konqueror"){ RefreshObject(menu); }
if(menu.subMenu)
{
hideMenu(menu);
if(menu.popped)
{
for(i = 0; i <= menu.childNodes.length; i++)
{
if(menu.childNodes.item)
{
var CurrentNode = menu.childNodes.item[i];
if(CurrentNode)
{
if(CurrentNode.nodeType == 1)
{
Unhighlight(CurrentNode);
}
}
}
}
}
}
}
}
function Unhighlightthis()
{
Unhighlight(this);
}
function closeAll(Event)
{
for(var i in MenuHighlighted)
{
Unhighlight(MenuHighlighted.pop());
}
}
function setInactive(Event){
if(Browser=="Microsoft Internet Explorer")
{
toElement = event.toElement;
} else {
toElement = Event.relatedTarget;
}
if(toElement){
if(toElement.getAttribute){
if(toElement.getAttribute("Object")!="menu"){
if(toElement.getAttribute("Object")!="menuItem"){
if(toElement.getAttribute("Object")!="more"){
if(toElement.parentNode.getAttribute){
if(toElement.parentNode.getAttribute("Object")!="more"){
closeAll();
}
}
}
}
}
} else {
if(toElement.nodeType == 3)
{
if(toElement.parentNode)
{
if(toElement.parentNode.getAttribute)
{
if(toElement.parentNode.getAttribute("Object")!="menuItem")
{
closeAll();
}
} else {
closeAll();
}
}
}
}
}
}
function LoadURL()
{
if(this.getAttribute("href"))
{
document.location = this.getAttribute("href");
closeAll();
}
}
function setupArrays()
{
if ((Browser == "Microsoft Internet Explorer") && (Version < 5.5))
{
Array.prototype.push = push;
Array.prototype.pop = pop;
Array.prototype.shift = shift;
Array.prototype.unshift = unshift;
}
}
function push() {
var sub = this.length;
for (var i = 0; i < push.arguments.length; ++i) {
this[sub] = push.arguments[i];
sub++;
}
}
function pop() {
var lastElement = this[this.length - 1];
if(this.length>0){this.length--};
return lastElement;
}
function shift(str) {
var val = this[0];
for (var i = 1; i < this.length; ++i) {
this[i-1] = this[i];
}
this.length--;
return val;
}
function unshift() {
var i = unshift.arguments.length;
for (var j = this.length - 1; j >= 0; --j) {
this[j + i] = this[j];
}
for (j = 0; j < i; ++j) {
this[j] = unshift.arguments[j];
}
}
function getElementByID(idName)
{
if(document.layers)
{
return document.layers[idName];
}
else if(document.all)
{
return document.all[idName];
}
else
{
return document.getElementById(idName);
}
}
function WindowResize()
{
posMenuSign(MenuContainer);
}
function DL_GetElementLeft(eElement)
{
if (!eElement && this)
{
eElement = this;
}
var DL_bIE = document.all ? true : false;
var nLeftPos = eElement.offsetLeft;
var eParElement = eElement.offsetParent;
while (eParElement != null)
{
if(DL_bIE)
{
if(eParElement.tagName == "TD")
{
nLeftPos += eParElement.clientLeft;
}
}
else
{
if(eParElement.tagName == "TABLE")
{
var nParBorder = parseInt(eParElement.border);
if(isNaN(nParBorder))
{
var nParFrame = eParElement.getAttribute('frame');
if(nParFrame != null)
{
nLeftPos += 1;
}
}
else if(nParBorder > 0)
{
nLeftPos += nParBorder;
}
}
}
nLeftPos += eParElement.offsetLeft;
eParElement = eParElement.offsetParent;
}
return nLeftPos;
}
function DL_GetElementTop(eElement)
{
if (!eElement && this)
{
eElement = this;
}
var DL_bIE = document.all ? true : false;
var nTopPos = eElement.offsetTop;
var eParElement = eElement.offsetParent;
while (eParElement != null)
{
if(DL_bIE)
{
if(eParElement.tagName == "TD")
{
nTopPos += eParElement.clientTop;
}
}
else
{
if(eParElement.tagName == "TABLE")
{
var nParBorder = parseInt(eParElement.border);
if(isNaN(nParBorder))
{
var nParFrame = eParElement.getAttribute('frame');
if(nParFrame != null)
{
nTopPos += 1;
}
}
else if(nParBorder > 0)
{
nTopPos += nParBorder;
}
}
}
nTopPos += eParElement.offsetTop;
eParElement = eParElement.offsetParent;
}
return nTopPos;
}

