function MM_goToURL() { //v2.0
  for (var i=0; i< (MM_goToURL.arguments.length - 1); i+=2) //with arg pairs
    eval("parent.frames["+MM_goToURL.arguments[i]+"].location='"+MM_goToURL.arguments[i+1]+"'");
  document.MM_returnValue = false;
  return document.MM_returnValue;
}

function MM_preloadImages() { //v2.0
  if (document.images) {
    var imgFiles = MM_preloadImages.arguments;
    if (document.preloadArray==null) document.preloadArray = new Array();
    var i = document.preloadArray.length;
    with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
      preloadArray[i] = new Image;
      preloadArray[i++].src = imgFiles[j];
  } }
}

function MM_swapImgRestore() { //v2.0
  if (document.MM_swapImgData != null)
    for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
      document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}

function MM_swapImage() { //v2.0
  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
  for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
    objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj = eval(objStr);
    if (obj != null) {
      swapArray[j++] = obj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
      obj.src = MM_swapImage.arguments[i+2];
  } }
  document.MM_swapImgData = swapArray; //used for restore
}

function MENU_setfiller() {
	if (!MENU_setfiller.arguments[0]) { TheFillerBefore="" } else TheFillerBefore=MENU_setfiller.arguments[0];
	if (!MENU_setfiller.arguments[1]) { TheFillerAfter="" } else TheFillerAfter=MENU_setfiller.arguments[1];
}

function MENU_init() {
	Tasten = new Array( (MENU_init.arguments.length / 5) );
	for (i=0; i < MENU_init.arguments.length / 5; i+=1) { 
		Tasten [i] = new Array (7);
		Tasten [i] [1] = MENU_init.arguments [i*5];		// Image für normalen Status
		Tasten [i] [2] = MENU_init.arguments [i*5 + 1];		// Image für Rollover Status

		if (MENU_init.arguments [i*5 + 2] == "--unused--") { Tasten [i] [3] = Tasten [i] [2] } else 
		Tasten [i] [3] = MENU_init.arguments [i*5 + 2];		// Image für aktiven Status

		Tasten [i] [4] = MENU_init.arguments [i*5 + 3];		// 'framenr','URL'
		Tasten [i] [5] = MENU_init.arguments [i*5 + 4];		// Status: 0/1 (aus/an)
	} // rof
	for (i=0; i < (Tasten.length); i+=1) {

		// Added for cosmetic purposes only
		document.write(TheFillerBefore);

		// Create a rollover which uses proprietary "cover" - functions to control rollover behaviour etc.
		document.write("<a href=\"#\" onMouseOut=\"MENU_onMouseOut(" + String(i) + ")\" onMouseOver=\"MENU_onMouseOver(" + String(i) + ")\" onClick=\"MENU_onClick(" + String(i) + ")\">");

		switch (Tasten [i] [5]) {
			case "0": MM_swapImage("document.taste" + String(i), "document.taste" + String(i), Tasten [i] [2])	
			break;
			case "1": // RollOver bei aktivem Button bewirkt nix. Könnte man aber so einstellen
			break;
		} // hctiws
		document.write("<img name=\"taste" + String(i) + "\" src=\"" + Tasten [i] [1]  + "\" border=\"0\">");
		document.write("</a>");

		// Added for cosmetic purposes only
		document.write(TheFillerAfter);

	} // fi
 
}

function MENU_activate() {
	// update array according to parameter
	for (i=0; i < Tasten.length; i+=1) { 
	Tasten [i] [5] = "0";
	MM_swapImage("document.taste" + String(i), "document.taste" + String(i), Tasten [i] [1]);
	} //rof

	i= Number (MENU_activate.arguments [0] );
	Tasten [ i ] [5] = "1";
	MM_swapImage("document.taste" + String(i), "document.taste" + String(i), Tasten [i] [3]);

}

function MENU_onClick() {
	i=MENU_onClick.arguments [0];
	eval("MM_goToURL(" + Tasten [ i ] [4] + ");");
	MENU_activate( i );
	
}

function MENU_onMouseOver() {
	i = MENU_onMouseOver.arguments[0];
	switch (Tasten [i] [5]) {
		case "0": MM_swapImage("document.taste" + String(i), "document.taste" + String(i), Tasten [i] [2])	
		break;
		case "1": // RollOver bei aktivem Button bewirkt nix. Könnte man aber so einstellen
		break;
	} //hctiws
}

function MENU_onMouseOut() {
	i = MENU_onMouseOut.arguments[0];
	switch (Tasten [i] [5]) {
		case "0": MM_swapImage("document.taste" + String(i), "document.taste" + String(i), Tasten [i] [1])	
		break;
		case "1": // RollOver bei aktivem Button bewirkt nix. Könnte man aber so einstellen
		break;
	} // hctiws

}