function webClient() {
  var i;

  this.IE    = false;
  this.NS    = false;
  this.OP    = false; 
  this.release = null;
  
  if ((i = navigator.userAgent.indexOf("Opera")) >= 0) {
    this.OP = true;
    this.version = parseFloat(navigator.userAgent.substr(i + 5));
    return;
  }
  
  if ((i = navigator.userAgent.indexOf("MSIE")) >= 0) {
    this.IE = true;
    this.release = parseFloat(navigator.userAgent.substr(i + 4));
    return;
  }

  if ((i = navigator.userAgent.indexOf("Netscape6/index.html")) >= 0) {
    this.NS = true;
    this.release = parseFloat(navigator.userAgent.substr(i + 10));
    return;
  }

  if ((i = navigator.userAgent.indexOf("Netscape7/index.html")) >= 0) {
    this.NS = true;
    this.release = parseFloat(navigator.userAgent.substr(i + 10));
    return;
  }

  if ((i = navigator.userAgent.indexOf("Gecko")) >= 0) {
    this.NS = true;
    this.release = 6.1;
    return;
  }
}


var webClient = new webClient();

var activeButton = null;
var activeSubButton = null;
var activeMenu = null;

//if (webClient.IE) {
//	document.onmousedown = pageMouseDown;
//} else {
//	document.addEventListener("mousedown", pageMouseDown, true);
//}

//function pageMouseDown(event) {
//    return;
//  var el;
//  
//  /*
//  if (activeButton == null) {
//    return;
//  }
//  */

//  if (webClient.IE) {
//    el = window.event.srcElement;
//    //alert("el - 1: " + el);
//  } else {
//    el = (event.target.tagName ? event.target : event.target.parentNode);
//  }

//  if (el == activeButton || el == activeSubButton) {
//  	//alert("el: " + el);
//    return;
//  }

//  if (el.className != "menuButton"  && el.className != "menuItem" && el.className != "menuItemSep" && el.className != "menu") {
//	    if (activeButton) closeMenu(activeButton);
//    	if (activeSubButton) closeSubMenu(activeSubButton);
//	}
//}

function CloseAllMenues() {
	//alert("Jetzt bin ich in der closaAlleMenues");
	if (activeButton) {
		if (activeButton.imageid) {
			MM_swapImage(activeButton.imageid, '', activeButton.startimage, 1);
			//activeButton.className = "menuButton";
		}
		closeMenu(activeButton);
		InitMenu();
	}
//	if (activeSubButton) {
//		if (activeSubButton.imageid) {
//			MM_swapImage(activeSubButton.imageid, '', activeSubButton.startimage, 1);
//		}
//		tdelem = document.getElementById(activeSubButton.tdelem);
//		tdelem.className = "menuItem";
//		activeSubButton.className = "menuItem";
//		closeSubMenu(activeSubButton);
//	}
}

function menuTouch(event, menuName, id, counter, image, imageid, startimage) {
    var button;
    if (webClient.IE) {
        button = window.event.srcElement;
    } else {
        button = (event.target.tagName ? event.target : event.target.parentNode);
    }
	
    // fuer die 2. Navigationsebene
    if (!button.menu && menuName) {
        button.menu = document.getElementById(menuName);
    }

    // vorheriges angezeigtes Menue zuruecksetzen
    if (activeButton && activeButton != button) {
        if (activeButton.imageid) {
            MM_swapImage(activeButton.imageid, '', activeButton.startimage, 1);
        }
        closeMenu(activeButton);
    }

    // Falls Button nocht ncht aktiv, dann aktiv setzen
    if (!button.isactive) {
        button.id = id;
        button.image = image;
        button.imageid = imageid;
        button.startimage = startimage;
        //alert(button.id + " | " + button.image + " | " + button.imageid + " | " + button.startimage);
	}
	
  	if (menuName) {
		// neuen navpunkt setzen
        if (imageid) {
	        MM_swapImage(imageid, '', image, 1);
	        //button.className = "menuButtonActive";
        }
        activeButton = button;
        button.isactive = true;
        openMenu(button);
    } else {
        if (imageid) {
            MM_swapImage(imageid, '', image, 1);
            //button.className = "menuButtonActive";
        }
	    activeButton = button;
	    button.isactive = true;
    }
    return false;
}

function openMenu(button) {
    button.menu.style.visibility = "visible";
}

function closeMenu(button) {
  if (button.menu) button.menu.style.visibility = "hidden";

  button.isactive = false;
  activeButton = null;
}

function InitMenu() {
    if (activeNavigation && activeNavigation != "") {
        document.getElementById(activeNavigation).style.visibility = "visible";
        activeMenu = activeNavigation;
    }
}


function subMenuTouch(event, menuName, id, counter, image, imageid, startimage) {
  var button;

  if (webClient.IE) {
    button = window.event.srcElement;
  } else {
    button = (event.target.tagName ? event.target : event.target.parentNode);
  }

	/*
	// fuer 3. Navigationsebene gedacht
  if (!button.menu && menuName) {
    button.menu = document.getElementById(menuName);
  }
	*/
	//alert("activeSubButton: " + activeSubButton);
  // vorherigen Eintrag zuruecksetzen
  if (activeSubButton && activeSubButton != button) {
		if (activeSubButton.imageid) {
			alert("HIER bin ich weiterhin");
			MM_swapImage(activeSubButton.imageid, '', activeSubButton.startimage, 1);
		}

		a_elem = document.getElementById(activeSubButton.a_elem);
		a_elem.className = "nav02-off";

		activeSubButton.className = "nav02-off";
    closeSubMenu(activeSubButton);
  }
	
	// Aufbau der 2. Navigationsebene
	if (!button.isactive) {
		button.id = id;
		//button.image = image;
		//button.imageid = imageid;
		//button.startimage = startimage;
		//alert(id);
		
		tdelem = document.getElementById('a' + id);
		//alert(tdelem);
		tdelem.className = "nav02-on";

		button.tdelem = 'a' + id;

		button.isactive = true;
		button.className = "nav02-on";  
		if (menuName) {
			alert("menuName");
			if (imageid) {
				MM_swapImage(imageid, '', image, 1);
			}
			openSubMenu(button);
		}
		activeSubButton = button;
	}
	
  return false;
}

function openSubMenu(button) {
	alert("openSubMenu");

  var w, dw, x, y;

  if (webClient.IE && !button.menu.firstChild.style.width) {
    w = button.menu.firstChild.offsetWidth;
    button.menu.firstChild.style.width = w + "px";
    dw = button.menu.firstChild.offsetWidth - w;
    w -= dw;
    button.menu.firstChild.style.width = w + "px";
  }

  x = getPageOffsetLeft(button)+ button.offsetWidth;
  y = getPageOffsetTop(button);

  x = x;
  y = y;
  
  button.menu.style.left = x + "px";
  button.menu.style.top  = y + "px";
  button.menu.style.visibility = "visible";
}


function closeSubMenu(button) {
  if (button.menu) button.menu.style.visibility = "hidden";

  button.isactive = false;
  activeSubButton = null;
}


function getPageOffsetLeft(el) {
  return el.offsetLeft + (el.offsetParent ? getPageOffsetLeft(el.offsetParent) : 0);
}

function getPageOffsetTop(el) {
  return el.offsetTop + (el.offsetParent ? getPageOffsetTop(el.offsetParent) : 0);
}
