/*
 * QaX(R)NavLibV1.0.js: Version 1.0.026 (14.03.2001)  (C) Copyright 2001 by www.QaX-Software.de
 */
if (QaX == null) var QaX = new Array ();

var QaXNav = new Array ();

QaXNav.ImgObjList     = new Array ();
QaXNav.Version        = "1.0";
QaXNav.Default        = "*";
QaXNav.ModulName      = "";
QaXNav.Lang           = "De";
QaXNav.CheckLang      = "1";
QaXNav.WithImgOn      = "1";
QaXNav.AccessKey      = "1";
QaXNav.ImgDir         = "Img/";
QaXNav.ImgPrefix      = "ImgBut";
QaXNav.ImgNamePrefix  = "";
QaXNav.ImgSuffix      = ".gif";
QaXNav.HtmlSuffix     = ".html";
QaXNav.TargetFrm      = "_self";
QaXNav.WithTxt        = "1";
QaXNav.TxtStyleOff    = "font-size: 14pt; font-weight: normal; font-family: Trebuchet MS, Arial, Helvetica;";
QaXNav.TxtStyleOn     = "font-size: 14pt; font-weight: bold;   font-family: Trebuchet MS, Arial, Helvetica;";
QaXNav.CurrTxtStyleOff= QaXNav.Default;
QaXNav.CurrTxtStyleOn = QaXNav.Default;
QaXNav.CurrImgPrefix  = QaXNav.Default;
QaXNav.LangChange            = new Array ();
QaXNav.LangChange.LangDir    = "";
QaXNav.LangChange.ModulName  = QaXNav.Default;
QaXNav.LangChange.ImgPrefix  = QaXNav.Default;
QaXNav.LangChange.HtmlSuffix = QaXNav.Default;
QaXNav.GoTo                  = new Array ();
QaXNav.GoTo.NextImgPrefix    = QaXNav.Default;
QaXNav.GoTo.PrevImgPrefix    = QaXNav.Default;
QaXNav.Curr                  = new Array ();

function QaXNavButDef (WinName, StatusTxt, PopUpTxt, TargetUrl, Txt) {
  var NavObj, Name = QaXTransWinUml (WinName, 0);

  if (!QaXSetBrowser() || QaXNav[Name] != null)
    return (0);
  NavObj = QaXNav[Name] = new Array ();

  QaXNav.Curr.DefaultTxt = QaXTransWinUml(WinName, 1);
  QaXNav.Curr.ImgName    = (QaXNav.WithTxt == "1") ? "" : Name;
  QaXNav.Curr.ImgPrefix  = QaXNav.ImgPrefix
  QaXNav.Curr.DefaultUrl = QaXNav.ModulName+Name+QaXNav.HtmlSuffix;
  QaXNav.Curr.TxtStyleOff= QaXNav.TxtStyleOff;
  QaXNav.Curr.TxtStyleOn = QaXNav.TxtStyleOn;
  QaXNav.Curr.StatusTxt  = StatusTxt;
  QaXNav.Curr.PopUpTxt   = PopUpTxt;
  QaXNavButSpecial (Name); /* Handle QaX Special Buttons */
  NavObj.TargetUrl = QaXNavGetVal(TargetUrl, QaXNav.Curr.DefaultUrl);
  NavObj.TargetFrm = QaXNav.TargetFrm;
  NavObj.StatusTxt = QaXNavGetVal(QaXNav.Curr.StatusTxt, NavObj.TargetUrl);
  NavObj.PopUpTxt  = QaXTransWinUml(QaXNavGetVal(QaXNav.Curr.PopUpTxt, NavObj.StatusTxt),1);
  NavObj.ImgURLOff = QaXNav.ImgDir+QaXNav.ModulName+QaXNav.Curr.ImgPrefix+QaXNav.Curr.ImgName+"Off"+QaXNav.ImgSuffix; 
  NavObj.ImgObjOff = QaXImgPreload(NavObj.ImgURLOff); 
  if (QaXNav.WithImgOn == "1") {
    NavObj.ImgURLOn = QaXNav.ImgDir+QaXNav.ModulName+QaXNav.Curr.ImgPrefix+QaXNav.Curr.ImgName+"On"+QaXNav.ImgSuffix;
    NavObj.ImgObjOn = QaXImgPreload(NavObj.ImgURLOn);
  }
  NavObj.ButImgName = QaXNav.ImgNamePrefix+Name;
  NavObj.DefOnMouse = ' onmouseover="return QaXNavButFlash(\'On\',\''+Name+'\');"'+
                      ' onmouseout="return QaXNavButFlash(\'Off\',\''+Name+'\');"';
  if (QaXNav.WithTxt == "1") {
    NavObj.Txt         = QaXNavGetVal(Txt, QaXNav.Curr.DefaultTxt);
    NavObj.TxtStyleOff = QaXNav.Curr.TxtStyleOff;
    NavObj.TxtStyleOn  = QaXNav.Curr.TxtStyleOn;
    NavObj.ImgURLClick = QaXNav.ImgDir+QaXNav.ModulName+QaXNav.Curr.ImgPrefix+"Click"+QaXNav.ImgSuffix;
    NavObj.ImgObjClick = QaXImgPreload(NavObj.ImgURLClick);
    NavObj.ButTxtID    = "QaXButTxt"+Name;
    NavObj.IsCreated   = 0;
  } else {
    x = "<a href='"+NavObj.TargetUrl+"' target='"+NavObj.TargetFrm+"' "
      + NavObj.DefOnMouse+" accesskey='"+(QaXNav.AccessKey++)+"'>"
      + "<img src='"+NavObj.ImgURLOff+"' border=0 title='"+NavObj.PopUpTxt+"' "
      + "name='"+NavObj.ButImgName+"' alt='"+Name+"></a>"+QaXNavGetVal(Txt/* =HTML-Code */, "");
    document.write (x);
    NavObj.IsCreated   = 1;
  }
  return (NavObj.IsCreated);
}

function QaXNavButSpecial (Name) {
  var LangModulName, LangHtmlSuffix, i;

  switch (Name.toLowerCase()) {
  case "QaXLangChange".toLowerCase():
    QaXNav.Curr.ImgPrefix  = QaXNavGetVal (QaXNav.LangChange.ImgPrefix, QaXNav.ImgPrefix+QaXNav.Lang);
    LangModulName          = QaXNavGetVal (QaXNav.LangChange.ModulName, QaXNav.ModulName);
    LangHtmlSuffix         = QaXNavGetVal (QaXNav.LangChange.HtmlSuffix, QaXNav.HtmlSuffix);
    QaXNav.Curr.DefaultTxt = QaXNav.Curr.ImgName = "";
    for (i in QaXNav.LangChange)
      if (QaXCurrTarget (QaXNav.ModulName+i+QaXNav.HtmlSuffix))
        QaXNav.Curr.DefaultUrl = QaXNav.LangChange.LangDir+LangModulName+QaXNav.LangChange[i]+LangHtmlSuffix;
    break;
  case "QaXGoToNext".toLowerCase():
    QaXNav.Curr.ImgPrefix  = QaXNavGetVal (QaXNav.GoTo.NextImgPrefix, QaXNav.ImgPrefix+"Next");
    QaXNav.Curr.DefaultTxt = QaXNav.Curr.ImgName = "";
    for (i in QaXNav.GoTo)
      if (QaXCurrTarget (QaXNav.ModulName+i+QaXNav.HtmlSuffix))
        QaXNav.Curr.DefaultUrl = QaXNav.ModulName+QaXNav.GoTo[i]+QaXNav.HtmlSuffix;
    break;
  case "QaXGoToPrev".toLowerCase():
    QaXNav.Curr.ImgPrefix  = QaXNavGetVal (QaXNav.GoTo.PrevImgPrefix, QaXNav.ImgPrefix+"Prev");
    QaXNav.Curr.DefaultTxt = QaXNav.Curr.ImgName = "";
    for (i in QaXNav.GoTo)
      if (QaXCurrTarget (QaXNav.ModulName+QaXNav.GoTo[i]+QaXNav.HtmlSuffix))
        QaXNav.Curr.DefaultUrl = QaXNav.ModulName+i+QaXNav.HtmlSuffix;
    break;
  case "QaXGoToBack".toLowerCase():
    QaXNav.Curr.ImgPrefix  = QaXNavGetVal (QaXNav.GoTo.PrevImgPrefix, QaXNav.ImgPrefix+"Prev");
    QaXNav.Curr.ImgName    = QaXNav.Curr.DefaultTxt = "";
    QaXNav.Curr.DefaultUrl = "javascript:history.go(-1);";
  }
  if (QaXCurrTarget (QaXNav.Curr.DefaultUrl)) {
    QaXNav.Curr.ImgPrefix  = QaXNavGetVal(QaXNav.CurrImgPrefix,   QaXNav.Curr.ImgPrefix);
    QaXNav.Curr.TxtStyleOff= QaXNavGetVal(QaXNav.CurrTxtStyleOff, QaXNav.TxtStyleOff);
    QaXNav.Curr.TxtStyleOn = QaXNavGetVal(QaXNav.CurrTxtStyleOn,  QaXNav.TxtStyleOn);
    QaXNav.Curr.StatusTxt  = QaXNav.Curr.PopUpTxt = "";
  }
}

function QaXNavGetVal (Val, Default) {

  return ((Val != null && Val != QaXNav.Default) ? Val : Default);
}

function QaXNavButCreate () {
  var i, p, Pos, HtmlClick, HtmlTxtAndClick="", HtmlStyle="";
  var ImgObj, ImgName, ImgLeft, ImgTop, ImgWidth, ImgHeight, ImgList = document.images;

  QaXCheckUserLang ();
  if (!QaX.BrowserOk)
    return (0);
  for (i = 0; i <ImgList.length; ++i) {
    ImgObj = ImgList[i]; ImgName = ImgObj.name;
    if ((NavObj = QaXNav[ImgName]) != null && !NavObj.IsCreated) {
      NavObj.IsCreated = 1; ImgWidth = ImgObj.width; ImgHeight = ImgObj.height;
      if (QaX.IsNS) {
        ImgLeft = ImgObj.x; ImgTop = ImgObj.y;
      } else {
        ImgLeft = 0; ImgTop = 0; ButID = 'id="'+NavObj.ButTxtID+'" ';
        for (p=ImgObj; p.tagName != "BODY"; p=p.offsetParent) {
          ImgLeft += p.offsetLeft; ImgTop  += p.offsetTop;
        }
      }
//      alert ("2. QaXNavButCreate("+ImgName+"): ImgLeft="+ImgLeft+", ImgTop="+ImgTop+", ImgWidth="+ImgWidth+", ImgHeight="+ImgHeight);
      QaXGetImgObj(NavObj.ButImgName).src = NavObj.ImgObjOff.src;
      HtmlStyle+='.QaX'+ImgName+'Off{'+NavObj.TxtStyleOff+'}\n.QaX'+ImgName+'On{'+NavObj.TxtStyleOn+'}\n';
      if (NavObj.Txt != "") {
        if (QaX.IsNS) {
		  NavObj.HtmlTxt = NavObj.HtmlTxtOff = NavObj.HtmlTxtOn = ''
		    + '<table align=center height='+ImgHeight+'px width='+ImgWidth+'px>\n'
            + '<tr style="vertical-align: middle;" align=center>\n'
            + '<td style="vertical-align: middle;" align=center><font style="';
          NavObj.HtmlTxtOff += NavObj.TxtStyleOff+'">'+NavObj.Txt+'</font></td>\n</tr></table>\n';
          NavObj.HtmlTxtOn  += NavObj.TxtStyleOn+'">'+NavObj.Txt+'</font></td>\n</tr></table>\n';
        } else {
          NavObj.HtmlTxt = ' <table align=center height='+ImgHeight+'px width='+ImgWidth+'px>\n'
            + '  <tr style="vertical-align: middle;" align=center>\n'
            + '   <td id="'+NavObj.ButTxtID+'" class="QaX'+ImgName+'Off" style="vertical-align: middle;"'
            + ' align=center>'+NavObj.Txt+'</td>\n  </tr>\n </table>\n';
        }
      } else {
        NavObj.HtmlTxt = NavObj.HtmlTxtOff = NavObj.HtmlTxtOn = "";
      }
      HtmlClick = ' <a href="'+NavObj.TargetUrl+'" target="'+NavObj.TargetFrm+'" '
        +    NavObj.DefOnMouse+' accesskey="'+(QaXNav.AccessKey++)+'">\n'
        + '  <img src="'+NavObj.ImgURLClick+'" title="'+NavObj.PopUpTxt+'" border=0>\n'
        + ' </a>\n';
      if (QaX.IsNS) {
        NavObj.LayerID='QaXLayer'+ImgName;
        Pos = ' LEFT='+ImgLeft+' TOP='+ImgTop+' HEIGHT='+ImgHeight+' WIDTH='+ImgWidth+' VISIBILITY="INHERIT"';
        HtmlTxtAndClick +='<LAYER ID="'+NavObj.LayerID+'" '+Pos+'>\n'+NavObj.HtmlTxtOff+'</LAYER>\n'
                        + '<LAYER '+Pos+'>\n'+HtmlClick+'</LAYER>\n';
      } else {
        Pos='style="position: absolute; left:'+ImgLeft+'px; top:'+ImgTop+'px; width:'+ImgWidth+'px; height:'+ImgHeight+'px;"';
        HtmlTxtAndClick+='<div '+Pos+'>\n'+NavObj.HtmlTxt+'</div>\n'+'<div '+Pos+'>\n'+HtmlClick+'</div>\n';
      }
    }
  }
  if (QaX.IsNS) {
    QaXDocumentWrite (HtmlTxtAndClick);
  } else
    QaXDocumentWrite ('<style>\n'+HtmlStyle+'</style>\n'+HtmlTxtAndClick);
  return (1);
}

function QaXNavButFlash (OnFlag, Name) {
  var NavObj = QaXNav[Name];

  if (NavObj.ImgObjOn != null)
    QaXGetImgObj(NavObj.ButImgName).src = NavObj["ImgObj"+OnFlag].src;
  if (NavObj.ButTxtID != null && NavObj.HtmlTxt != "" && NavObj.TxtStyleOn != NavObj.TxtStyleOff) {
    if (QaX.IsNS) {
/* Note: No style change due to a BUG in the Navigator
	  document.layers[NavObj.LayerID].document.open  ();
      document.layers[NavObj.LayerID].document.write (NavObj["HtmlTxt"+OnFlag]);
      document.layers[NavObj.LayerID].document.close ();
*/
    } else {
      document.all[NavObj.ButTxtID].className = "QaX"+Name+OnFlag;
	}
  }
  window.status = (OnFlag == "On") ? NavObj.StatusTxt : "";
  return (true);
}

function QaXImgPreload(ImgURL) {
  var ImgObj=QaXNav.ImgObjList[ImgURL];

  if (ImgObj == null) {
    ImgObj = new Image();
    ImgObj.src = ImgURL;
    QaXNav.ImgObjList[ImgURL] = ImgObj;
  }
  return (ImgObj);
}

function QaXCurrTarget (TargetUrl) {
  var CurrPath = location.pathname;

  return (CurrPath.substr(CurrPath.length-TargetUrl.length) == TargetUrl);
}

function QaXGetImgObj (ImgName) {

  return (QaX.IsNS ? document.images[ImgName] : document.images(ImgName));
}

function QaXDocumentWrite (HtmlCode) {

  if (HtmlCode != null && HtmlCode != "") {
    if (QaX.IsNS) {
      document.open  ();
      document.write (HtmlCode);
      document.close ();
    } else {
      document.write (HtmlCode);
    }
  }
}

function QaXSetBrowser () {

  if (QaX.BrowserOk != null)
    return (QaX.BrowserOk);
  if (navigator.appName == 'Netscape') {
    QaX.Browser  = 'NS';
    QaX.BVersion = parseFloat(navigator.appVersion.match(/\d*\.\d+/));
    QaX.IsIE4    = false;
    QaX.IsNS4    = (QaX.BVersion >= 4) && (QaX.BVersion < 5);
    QaX.IsNS6    = (QaX.BVersion >= 5);
    QaX.IsNS     = true;
  } else {
    QaX.Browser  = 'IE';
    QaX.BVersion = parseFloat(navigator.appVersion.replace(/.*MSIE (\d*\.\d*).*.?/, '$1'));
    QaX.IsIE4    = (QaX.BVersion > 4);
    QaX.IsNS4    = false;
    QaX.IsNS6    = false;
    QaX.IsNS     = false;
  }
  QaX.BrowserOk = (QaX.IsNS4 || QaX.IsIE4);
//  alert ("Browser="+QaX.Browser+", BVersion="+QaX.BVersion+"\nIsNS="+QaX.IsNS+", IsNS4="+QaX.IsNS4+", IsNS6="+QaX.IsNS6+"\nIsIE4="+QaX.IsIE4+", BrowserOk="+QaX.BrowserOk);
  return (QaX.BrowserOk);
}

function QaXCheckUserLang () {
  var UserLang, i;
  var Prefix = QaXNav.LangChange.LangDir + QaXNavGetVal(QaXNav.LangChange.ModulName, QaXNav.ModulName);
  var Suffix = QaXNavGetVal(QaXNav.LangChange.HtmlSuffix, QaXNav.HtmlSuffix);

  if (QaX.IsIE4 && typeof(navigator.userLanguage) == "string" && QaXNav.CheckLang) {
    QaXSetCookie ("QaXNav.Cookies", "On");
    if (QaXGetCookie("QaXNav.Cookies") == "On" && QaXGetCookie("QaXNav.CheckLang") != "No") {
      QaXSetCookie ("QaXNav.CheckLang", "No");
      UserLang = (navigator.userLanguage.substr(0,2) == "de") ? "De" : "En";
      if (UserLang != QaXNav.Lang) {
        for (i in QaXNav.LangChange)
          if(QaXCurrTarget (QaXNav.ModulName+i+QaXNav.HtmlSuffix))
            location = Prefix+QaXNav.LangChange[i]+Suffix;
      }
    }
  }
}

function QaXGetCookie (cName) {
  var dc = document.cookie, clength = dc.length, cStart = 0, vStart, cEnd;

  cName = cName + "=";
  while (cStart < clength) {
    vStart = cStart + cName.length;
    if (dc.substring (cStart, vStart) == cName) {
      if ((cEnd = dc.indexOf (";", vStart)) == -1)
        cEnd = clength;
      return (unescape (dc.substring(vStart, cEnd)));
    }
    if ((cStart = dc.indexOf (" ", cStart) + 1) == 0)
      cStart = clength;
  }
  return ("");
}

function QaXSetCookie (cName, cValue, cExpires) {

  if (!cExpires) {
    cExpires = new Date(); cExpires.setTime (cExpires.getTime() + 1000 * 60 * 60 * 24 * 361);
  }
  document.cookie = cName+"="+escape(cValue)+"; expires="+cExpires.toGMTString()+"; path=/";
  return (cValue);
}

function QaXDelCookie (cName) {

  document.cookie = cName+"=; expires=Thu, 01-Jan-70 00:00:00 GMT; path=/";
  return (cName);
}

function QaXTransWinUml (SrcStr, CodeAsHtml) {
  var x = "", h = CodeAsHtml, i;

  for (i=0; i < SrcStr.length; ++i) {
    switch (SrcStr.substr(i,1)) {
      case "ä": x += h ? "&auml;" : "ae"; break;
      case "ü": x += h ? "&uuml;" : "ue"; break;
      case "ö": x += h ? "&ouml;" : "oe"; break;
      case "Ä": x += h ? "&Auml;" : "Ae"; break;
      case "Ü": x += h ? "&Uuml;" : "Ue"; break;
      case "Ö": x += h ? "&Ouml;" : "Oe"; break;
      case "ß": x += h ? "&szlig;": "ss"; break;
      case "@": x += h ? "@"      : "a" ; break;
      case '"': x += h ? "&quot;" : "_" ; break;
      case "&": x += h ? "&amp;"  : "_" ; break;
      case "<": x += h ? "&lt;"   : "_" ; break;
      case ">": x += h ? "&gt;"   : "_" ; break;
      case "(": x += h ? "("      : "_" ; break;
      case ")": x += h ? ")"      : "_" ; break;
      case "=": x += h ? "="      : "_" ; break;
      case "*": x += h ? "*"      : "_" ; break;
      case "/": x += h ? "/"      : "_" ; break;
      case "?": x += h ? "?"      : "_" ; break;
      case "!": x += h ? "!"      : "_" ; break;
      case ":": x += h ? ":"      : "_" ; break;
      case ".": x += h ? "."      : "_" ; break;
      case "-": x += h ? "-"      : "_" ; break;
      case " ": x += h ? " "      : "_" ; break;
      default:  x += SrcStr.substr(i,1);
    }
  }
  return (x);
}
//alert ("'ÄÜÖäüöß (Ä)'='"+QaXTransWinUml("ÄÜÖäüöß (Ä)", 1)+"'");
//alert ("'ÄÜÖäüöß (Ä)'='"+QaXTransWinUml("ÄÜÖäüöß (Ä)", 0)+"'");

function QaXGetObj (ObjName) {

  return (QaX.IsNS ? document.layers[ObjName] : document.all[ObjName]);
}

function QaXGetStyleObj (ObjName) {

  return (QaX.IsNS ? document.layers[ObjName].document : document.all[ObjName].style);
}

function QaXshowObj (myObj, Action) {

  switch ((""+Action).toLowerCase()) {
    case "-1", "focus": myObj.focus();
                        break;
    case "0" , "hide" : if (QaX.IsNS)
                          myObj.visibility = "hide";
                        else
                          myObj.style.visibility = "hidden";
                        break;
    case "1" , "show" : if (QaX.IsNS)
                          myObj.visibility = "show";
                        else
                          myObj.style.visibility = "visible";
  }
}

function QaXOpenWin (myURL) {

  if (QaX.IsNS)
    window.open(myURL, "ST", "toolbar=no,innerWidth=550,innerHeight=350,directories=no,status=no,scrollbars=no,resize=no,menubar=yes")
  else
    window.open(myURL, "ST", "toolbar=no,width=550,height=335,directories=no,status=no,scrollbars=no,resize=no,menubar=yes")
}

/*
function QaXReload () {

// alert ("QaXReload");
  if (innerWidth != QaX.InnerWidth || innerHeight != QaX.InnerHeight)
    location.reload();
}

function QaXNetscapeInit() {

//  alert ("QaXIsNavigator == TRUE");
  QaX.InnerWidth  = innerWidth;
  QaX.InnerHeight = innerHeight;
  captureEvents(Event.RESIZE); 
  onResize = QaXReload;
}

if (QaXSetBrowser() && QaX.IsNS) QaXNetscapeInit();
*/
