
NN=false;
MS=false;
NN6=false;
menuHist=new Array();
markerHist=new Array();
orgMouseMove="";
topPos=0;
leftPos=0;
rightPos=0;
downPos=0;
menuName="";
orientation="";
sprache="de";
first=0;
showCnt=0;
actParentAndSubMenu="";

//mainDir="/ballisticprotection";
mainDir="";
cgiDir="/cgi-bin";
images=mainDir + "../images";

myMainDir="/GenericSeal/GenericSealServer/de";
CassDir="/GenericSeal/CassInet";
var InternalName="";
var ProductClass="";

initNavigator();

function setMenus(){
var str;

otherLang=getOtherLangPath(self.Main.document.URL) +'" onClick="parent.toggleLang()';

// Note: Use absolute path for links !!!
// entryTextEnglish,entryTextDeutsch,link,target,subMenu

str=setBegin("divIndex",100);
//str+=addItem("Home","Home","../home.htm","Main");
str+=addItem("<b>Index</b>","<b>Index</b>","","Main");
str+=addSeperator();
//str+=addItem("Suche","Suche","ind_search.htm","Main");
str+=addItem("Site-Map","Site-Map","sitemap.htm","Main");
str+=addItem("Home","Home","main.htm","Main");
str+=setEnd();

str+=setBegin("divCompany",130);
str+=addItem("<b>Gruppe</b>","<b>Gruppe</b>","","Main");
str+=addSeperator();
//str+=addItem("PEIN CONSULTING BALLISTIC PROTECTION","PEIN CONSULTING BALLISTIC PROTECTION","ballisticprotection_ru.htm","Main");
str+=addItem("PEIN CONSULTING BALLISTIC PROTECTION &reg; ","PEIN CONSULTING BALLISTIC PROTECTION","con_anschrift.htm","Main");
str+=addItem("PEIN CONSULTING BALLISTIC PROTECTION &reg;","PEIN CONSULTING BALLISTIC PROTECTION","gr_pein_sec.htm","Main");
//str+=addSeperator();
//str+=addItem("Deutsch","English",russian,"Main");
str+=setEnd();

//str+=setBegin("divHistory",90);
//str+=addItem("1884 ... 1939","1884 ... 1939","geschichte1.htm","Main");
//str+=addItem("1945 ... yesterday","1945 ... Gestern","geschichte2.htm","Main");
//str+=setEnd();

str+=setBegin("divNews",100);
str+=addItem("<b>News</b>","<b>News</b>","","Main");
str+=addSeperator();
str+=addItem("Unternehmen","Unternehmen","news_untern.htm","Main");
str+=addItem("Aktuelles","Aktuelles","news_aktuell.htm","Main");
str+=setEnd();

str+=setBegin("divProducts",230);
//str+=addItem("<b>Product index</b>","<b>Produkt-Index</b>",myMainDir + "/ProductIndex.asp?InternalName=" + InternalName + "&ProductClass=" + ProductClass + "&" + getLangStrForILP() + "&ProdApp=-1","Main");
str+=addItem("<b>Produkte</b>","<b>Produkte</b>","pr_default.htm","Main");
str+=addSeperator();
str+=addItem("Personenschutz","Personenschutz","#","Main","PSubpersonal1");
str+=addItem("Schutz für Luftfahrzeuge","Schutz für Luftfahrzeuge","pr_heli_default.htm","Main","PSubheli1");
str+=addItem("Schutz für Wasserfahrzeuge","Schutz für Wasserfahrzeuge","pr_navy_default.htm","Main");
str+=addItem("Schutz für Landfahrzeuge","Schutz für Landfahrzeuge","pr_land_default.htm","Main");
str+=addItem("Schutz für Armor Cars","Schutz für Armor Cars","pr_land_amor_cars_protect.htm","Main");
str+=addItem("EOD / IED","EOD / IED","pr_eod_default.htm","Main","PSubeod1");
//str+=addSeperator();
//str+=addItem("Deutsch","English",russian,"Main");
str+=setEnd();

str+=setBegin("PSubpersonal1",200);
str+=addItem("<b>Personenschutz</b>","<b>Personenschutz</b>","","Main");
str+=addSeperator();
str+=addItem("Schutzwesten","Schutzwesten","#","Main","PSubwesten1");
str+=addItem("Körperschutz","Körperschutz","pr_per_body.htm","Main");
str+=addItem("Mienenräumung","Mienenräumung","#","Main","PSubmienen1");
str+=addItem("Schutzklassen nach TR","Schutzklassen nach TR","pr_per_klasse_tr.htm","Main");
str+=addItem("Schutzoptionen","Schutzoptionen","#","Main","PSuboption1");
str+=setEnd();

str+=setBegin("PSuboption1",210);
str+=addItem("<b>Schutzoptionen</b>","<b>Schutzoptionen</b>","","Main");
str+=addSeperator();
str+=addItem("Schutzklassenerhöhung","Schutzklassenerhöhung","pr_per_klasse_erhoe.htm","Main");
str+=addItem("Einschübe zur Schutzklassenerhöhung","Einschübe zur Schutzklassenerhöhung","pr_per_klasse_einsch.htm","Main");
str+=addItem("Stichschutz","Stichschutz","pr_per_stichschutz.htm","Main");
str+=addItem("Stichschutz","Stichschutz AS 700","pr_per_stich_as700.htm","Main");
str+=addItem("Stichschutz Protexa&#8482","Stichschutz Protexa&#8482","pr_per_protexa.htm","Main");
str+=addItem("Schockabsorber","Schockabsorber","pr_per_shockabsorber.htm","Main");
str+=setEnd();

str+=setBegin("PSubheli1",200);
str+=addItem("<b>Hubschrauber</b>","<b>Hubschrauber</b>","pr_heli_default.htm","Main");
str+=addSeperator();
str+=addItem("Hubschraubertypen","Hubschraubertypen","pr_heli_types.htm","Main");
str+=addItem("Info Hubschrauberpanzerung","Info Hubschrauberpanzerung","pr_heli_panzerung.htm","Main");
str+=addItem("Hubschrauberweste","Hubschrauberweste","pr_per_uberwesteHubschr.htm","Main");
str+=setEnd();

str+=setBegin("PSubeod1",200);
str+=addItem("<b>EOD / IED</b>","<b>EOD / IED</b>","pr_eod_default.htm","Main");
str+=addSeperator();
str+=addItem("Splitterschutzdecke","Splitterschutzdecke","pr_eod_blanket.htm","Main");
str+=addItem("Bombentrailer","Bombentrailer","pr_eod_trailer.htm","Main");
str+=addItem("Splitterschutzanzug","Splitterschutzanzug","pr_eod_splinter.htm","Main");
str+=addItem("Briefbombentasche","Briefbombentasche","pr_eod_letter.htm","Main");
str+=setEnd();

str+=setBegin("PSubwesten1",230);
str+=addItem("<b>Schutzwesten</b>","<b>Schutzwesten</b>","","Main");
str+=addSeperator();
str+=addItem("Unterziehwesten","Unterziehwesten","#","Main","PSubunterwesten1");
str+=addItem("Überziehwesten","Überziehwesten","#","Main","PSubueberwesten1");
str+=addItem("Schutzwestentechnik","Schutzwestentechnik","#","Main","PSubwestentechnik1");
str+=setEnd();

str+=setBegin("PSubunterwesten1",230);
str+=addItem("<b>Unterziehwesten</b>","<b>Unterziehwesten</b>","","Main");
str+=addSeperator();
str+=addItem("Unterziehweste Typ 409  -Herren","Unterziehweste Typ 409  -Herren  (Typ Save Mex®)","pr_per_unterweste409.htm","Main");
str+=addItem("Unterziehweste Typ 900A  -Herren","Unterziehweste Typ 900A  -Herren","pr_per_unterweste900a.htm","Main");
str+=addItem("Unterziehweste Typ 410/411-Damen","Unterziehweste Typ 410/411-Damen","pr_per_unterweste410.htm","Main");
str+=addItem("Unterziehweste Typ CB   -Damen","Unterziehweste Typ CB   -Damen","pr_per_unterwesteCB.htm","Main");
str+=addItem("Unterziehweste Save Mex Female  -Damen","Unterziehweste Save Mex Female  -Damen",
"pr_per_SaveMexFemale.htm","Main");
str+=addItem("Unterziehweste Save Mex Plus  -Herren","Unterziehweste Save Mex Plus  -Herren",
"pr_per_SaveMexPlus.htm","Main");
str+=addItem("Unterziehweste PROTEXA&#8482  ","Unterziehweste PROTEXA&#8482",
"pr_per_protexa.htm","Main");
str+=addItem("VIP Smoking","VIP - Smoking","pr_per_smoking.htm","Main");
str+=setEnd();

str+=setBegin("PSubueberwesten1",230);
str+=addItem("<b>Überziehwesten</b>","<b>Überziehwesten</b>","","Main");
str+=addSeperator();
str+=addItem("Überziehweste SW 3000","Überziehweste SW 3000","pr_per_uberwesteSW3000.htm","Main");
str+=addItem("Überziehweste SW 2000 / SW 4000","Überziehweste SW SW 2000 / SW 4000","pr_per_uberzieh.htm","Main");
str+=addItem("Hubschrauberweste","Hubschrauberweste","pr_per_uberwesteHubschr.htm","Main");
str+=addItem("Taktische Weste","Taktische Weste","pr_per_uberwesteTaktik.htm","Main");
str+=addItem("Taktische Weste mit Schwimmkragen","Taktische Weste mit Schwimmkragen","pr_per_uberwesteTaktiksw.htm","Main");
str+=addItem("Undercover","Undercover","pr_per_uberwesteundercover.htm","Main");
str+=addItem("VIP","VIP","pr_per_uberwesteVIP.htm","Main");
str+=addItem("VIP Smoking","VIP - Smoking","pr_per_smoking.htm","Main");
str+=addItem("Unterziehweste Save Mex","Unterziehweste Save Mex",
"pr_per_savemex.htm","Main");
str+=addItem("PROTEXA&#8482","PROTEXA&#8482","pr_per_protexa.htm","Main");
str+=setEnd();

str+=setBegin("PSubwestentechnik1",230);
str+=addItem("<b>Schutzwestentechnik</b>","<b>Schutzwestentechnik</b>","","Main");
str+=addSeperator();
str+=addItem("Megaflex&#174;","Megaflex&#174;","pr_per_westtechMega.htm","Main");
str+=addItem("MTG - System","MTG - System","pr_per_westtechMGT.htm","Main");
str+=setEnd();

str+=setBegin("PSubmienen1",230);
str+=addItem("<b>Mienenräumung</b>","<b>Mienenräumung</b>","","Main");
str+=addSeperator();
str+=addItem("Mienensuchanzug","Mienensuchanzug","pr_per_mine_such.htm","Main");
str+=addItem("Splitterschutzanzug'Splinter Protector'","Splitterschutzanzug'Splinter Protector'","pr_per_mine_splitter.htm","Main");
str+=setEnd();

str+=setBegin("divServices",115);
str+=addItem("<b>Kontakt</b>","<b>Kontakt</b>","","Main");
str+=addSeperator();
str+=addItem("Adresse","Adresse","con_anschrift.htm","Main");
str+=addItem("Kontakt","Kontakt","formular.htm","Main");
//str+=addItem("Formular","Formular","con_formular.htm","Main");
//str+=addSeperator();
//str+=addItem("Deutsch","English",russian,"Main");
str+=setEnd();

//str+=setBegin("divServiceleistungen",140);
//str+=addItem("Technical Support","Technische Unterst&uuml;tzung","serviceTech.htm","Main");
//str+=addItem("Technical Customer Service","Technischer Kundendienst","serviceKund.htm","Main");
//str+=addItem("Engineering","Engineering","serviceEngi.htm","Main");
//str+=addItem("Service Contracts","Servicekontrakte","serviceKontr.htm","Main");
//str+=setEnd();

str+=setBegin("divLocations",150);
str+=addItem("<b>Standpunkte</b>","<b>Standpunkte</b>","","Main");
str+=addSeperator();
str+=addItem("PEIN CONSULTING BALLISTIC PROTECTION RUSSIA","PEIN CONSULTING BALLISTIC PROTECTION","loc_pein_pro_ru.htm","Main");
//disablet 10.06.04 str+=addItem("PEIN CONSULTING BALLISTIC PROTECTION","PEIN CONSULTING BALLISTIC PROTECTION","loc_pein_secu.htm","Main");
//str+=addSeperator();
//str+=addItem("Deutsch","English",russian,"Main");
str+=setEnd();

return str;
}

function setBegin(in_menuName,menuWidth,in_orientation){
  var baseDiv;

  menuName=in_menuName;
  orientation=in_orientation;
  first=1;
  if(NN){
   menuWidth+=3;

   baseDiv='<div ID="'+ menuName +'" style="position : absolute; left : 0; top : 0; width : 120; VISIBILITY: hide">'+
       '<table border="0" cellpadding="0" cellspacing="0" class="baseMenuNN"><tr><td>'+
       '<table border="0" cellpadding="0" cellspacing="0" width="'+ menuWidth +'">';
  }
  else if(MS){
   baseDiv='<div ID="'+ menuName +'" style="position : absolute; left : 0; top : 0; width :'+ menuWidth +'; VISIBILITY: hidden";>'+
       '<table border="0" cellpadding="0" cellspacing="0" width="'+ menuWidth +'">';
  }
  return baseDiv;
}

function addItem(entryStringEn,entyStringDe,entryLink,entryTarget,subMenu){
  var str="";
  var entryString;

  if(entryLink){
   if(entryLink.charAt(0) == "/" ||
       entryLink.charAt(1) == ":" ||
     entryLink.indexOf('http://') > -1 ||
     entryLink.indexOf('file:/') > -1 ||
     entryLink.indexOf('javascript:') > -1)
     docPath=entryLink;
   else
     docPath=entryLink;
  }
  if(sprache == "de")
   entryString=entyStringDe;
  else
   entryString=entryStringEn;
  if(first == 0){
   str='<tr bgcolor="#FFFFFF"><td colspan="3" height="1"><img border="0" src="'+ images +'/10x1.gif" width="1" height="1"></td></tr>';
  }
  first=0;
  if(subMenu){
   spike=images + "/spike2.gif";
   if(NN){
     str +='<tr bgcolor="#CBCED0">'+
       '<td class="menuTxt" width="4">&nbsp;</td><td class="menuTxt" height="18">'+
       '<a href="'+ docPath +'" onmouseOver="parent.cC(this);parent.showSubMenu(this,'+ "'" + menuName + "','" + subMenu + "',event)" +'" onmouseOut="parent.cB(this)" target="'+ entryTarget +'">'+ entryString +'</a>'+
       '</td><td align="right"><img src="'+ spike +'"></td>';
   }
   else{
     str +='<tr onClick="parent.itemClick('+ "'" + docPath + "','" + entryTarget + "'" +')" bgcolor="#CBCED0" onmouseOver="parent.cC(this,'+ "'" + menuName + "'" +');parent.showSubMenu(this,'+ "'" + menuName + "','" + subMenu + "',event)" +'">'+
       '<td class="menuTxt" width="4">&nbsp;</td></td><td class="menuTxt" height="18">'+
       '<a href="'+ docPath +'" target="'+ entryTarget +'" onClick="parent.canB()">'+ entryString +'</a>'+
       '</td><td align="right"><img src="'+ spike +'"></td>';
   }
  }
  else{ // kein subMenue
   if(entryLink)
   {
     str +='<tr onClick="parent.itemClick('+ "'" + docPath + "','" + entryTarget + "'" +')" bgcolor="#CBCED0" onmouseOver="parent.cC(this,'+ "'" + menuName + "'" +');parent.hideSubMenu('+ "'" + menuName + "'" +')">'+
       '<td class="menuTxt" width="4">&nbsp;</td></td><td class="menuTxt" height="18">'+
       '<a href="'+ docPath +'" target="'+ entryTarget +'" onClick="parent.canB()">'+ entryString +'</a></td><td class="menuTxt">&nbsp;</td>';
   }
   else{
     str +='<tr bgcolor="#CBCED0" onmouseOver="parent.hideSubMenu('+ "'" + menuName + "'" +')">'+
       '<td class="menuTxt" width="4">&nbsp;</td></td><td class="menuTxt" height="18">'+
        entryString +'</td><td class="menuTxt">&nbsp;</td>';
   }
  }
  return str +'</tr>\n';
}

function itemClick(doc,target){

  if(target != "Main" && target != "_Main" && target != "_main")
   window.open(doc,'_blank',"");
  else
   parent.Main.document.location=doc;
}

function canB(){
  if(document.all)
   self.Main.event.cancelBubble=true;
}

function cC(obj,menuName){
  if(!MS)
   return;

  if(markerHist[menuName]){ // set back
   markerHist[menuName].style.backgroundColor="#CBCED0";
   self.Main.document.all[markerHist[menuName].sourceIndex+4].style.color="black";
  }

  obj.style.backgroundColor="#3450A0"; //mousover color
  self.Main.document.all[obj.sourceIndex+4].style.color="#FFFFFF";

//  self.Main.document.all[obj.sourceIndex+1].style.borderTopStyle="solid";
//  self.Main.document.all[obj.sourceIndex+1].style.borderTopColor="black";
//  self.Main.document.all[obj.sourceIndex+1].style.borderTopWidth=1;

  markerHist[menuName]=obj;
}

function cB(menuName){

  if(!MS || !markerHist[menuName])
   return;
  markerHist[menuName].style.backgroundColor="#CBCED0";
  self.Main.document.all[markerHist[menuName].sourceIndex+4].style.color="black";
}

function changeDoc(obj){
  alert(obj.sourceIndex);
}


function addSeperator(){
return "";
  separator=images + "/separator.gif";
  blank=images + "/blank.gif";
  blankW=images + "/blankW.gif";

   return'<tr> \
  <td background="'+ separator +'" align="right"><img border="0" src="'+ separator +'" width="4" height="5"></td> \
  <td background="'+ blank +'"><img border="0" src="'+ blank +'" width="2" height="5"></td> \
 </tr>';
//  return'<tr><td colspan="2"><hr></td></tr>'
}

function setEnd(){
  if(NN)
   return'</table></td></tr></table></div>';
  else if(MS)
   return'</table></div>';
}

function toggleLang(){
  if(sprache == "de")
   sprache="en";
  else
   sprache="de";
}

function getLangStrForILP(){
  if(sprache == "de")
   return("Language=d");
  else
   return("Language=e");
}

function getLang(){
  return(sprache);
}

function getOtherLang(_lang){
  if(_lang == "de")
   return("en");
  else
   return("de");
}

function getOtherLangILP(_lang){
  if(_lang == "de")
   return("Language=e");
  else
   return("Language=d");
}

function getOtherLangPath(urlPath){

  if(urlPath.indexOf("Language=d") > -1)
   return(urlPath.replace("Language=d","Language=e"));
  if(urlPath.indexOf("Language=e") > -1)
   return(urlPath.replace("Language=e","Language=d"));
  if(urlPath.indexOf("lang=de") > -1)
   return(urlPath.replace("lang=de","lang=en"));
  if(urlPath.indexOf("lang=en") > -1)
   return(urlPath.replace("lang=en","lang=de"));
  return(urlPath.replace("/" + sprache + "/","/" + getOtherLang(sprache) + "/"));
}

function getLangOfPage(urlPath){
  // attention: ILP has a sprache directory /de/ which does not
  // show the real sprache !! only sprache=d/e is the sign !
  if(urlPath.indexOf("Language=d") > -1)
   return("de");
  if(urlPath.indexOf("Language=e") > -1)
   return("en");

  if(urlPath.indexOf("lang=de") > -1 ||
    urlPath.indexOf("index.html") > -1)
   return("de");
  return("en");
}

function writeLayer(navName,addHTML){

  if(!NN && !MS)
   initNavigator();

  sprache=getLangOfPage(self.Main.document.URL);

  if(NN || MS){
   str='<div ID="dummy" style="position : absolute; width : 120;"></div>';
   if(addHTML)
     str+=addHTML;
   str+=setMenus();

   self.Main.document.write(str);
   setNav(navName);
  }
}

function getDocuName(docName){
  for(i=docName.length; docName.charAt(i-1) !='/'&& docName.charAt(i-1) !='\\'&& i != 1; i--);

  return(docName.substr(i));
}

function initNavigator(){
  if (parseInt(navigator.appVersion)<5 && navigator.appName=="Netscape")
  {
   NN=true;
   sichtbar ="show";
   unsichtbar="hide";
  }
  else if (navigator.appName.indexOf("Microsoft")!=-1){
   MS=true;
   sichtbar ="visible";
   unsichtbar="hidden";
  }
  else if (parseInt(navigator.appVersion)>=5 && navigator.appName=="Netscape"){
   NN6=true;
   sichtbar ="visible";
   unsichtbar="hidden";
  }
}

function showMenu(menuName,state,x,y,ankerBeginY){
  // hide open menus
  setVisible(self.Main.document.activeMenu,unsichtbar);
  setMenuUp(self.Main.document.activeMenu);
  hideSubMenu(self.Main.document.activeMenu);
  showOverlaying();

  if(state == "sichtbar"){
   setPos(menuName,x,y)
   setVisible(menuName,sichtbar);

   setActiveMenu(menuName,ankerBeginY);
  }
  else{ // unsichtbar
   setVisible(menuName,unsichtbar);
   setMenuUp(menuName);

   setActiveMenu("invisible");
  }
  calculateDim(ankerBeginY);
}

function setMenuUp(menuName){
  if(menuName == "invisible")
    return;

  setPos(menuName,0,0);
}


function checkEnvironment(menuName){
  if(!NN && !MS){
    // try it again to initialze,because of a bug in netscape !
    initNavigator()

    if(!NN)
      return false;
  }

  if(!self.Main)
    return false;

  if(!self.Main.document)
    return false;

  if(NN){
    if(!self.Main.document.layers[menuName] && !self.Nav.document.layers[menuName]){
      return false;
    }
  }
  else if(MS){
    if(!self.Main.document.all[menuName] && !self.Nav.document.all[menuName])
      return false;
  }

  if(NN){
    self.Main.document.onmousemove=myMouseMove;
    self.Main.document.captureEvents(Event.MOUSEMOVE);
  }

  if(!self.Main.document.activeMenu){
    // init of menus

    setActiveMenu("invisible");
  }
  return true;
}


function on_resize(){
  if(NN){
    self.Main.window.location.reload();
    self.Nav.window.location.reload();
  }
}

function popMainMenu(ankerLayer,menuName,direction){

  if(checkEnvironment(menuName) != true)
    return true;

  if(self.Main.document.activeMenu == menuName)
    return true; // menu is already shown

  var offset=0;
  if(NN)
    offset=4;
  else if(MS)
    offset=4;

  if(direction == "top"){
   var yPos=getTop(ankerLayer) - offset - getHeight(menuName);
   if(yPos < 0)
     yPos=3;
   showMenu(menuName,"sichtbar",getLeft(ankerLayer),
        yPos,
        getDown(ankerLayer));
  }
  else{
   showMenu(menuName,"sichtbar",getLeft(ankerLayer),
        getDown(ankerLayer) + offset,
        getTop(ankerLayer));
  }

  hideOverlaying(menuName);
  setTimeout("setMouseMove()",200);
  return true;
}

function popMenu(ankerLayer,menuName){

  if(checkEnvironment(menuName) != true)
    return true;


  if(self.Main.document.activeMenu == menuName)
    return true; // menu is already shown

  lPos=getLeft(ankerLayer,"Nav");
  if(lPos + getWidth(menuName) + 10 > getMainWidth())
   lPos=getMainWidth() - getWidth(menuName) - 14;

  showMenu(menuName,"sichtbar",lPos,getMainHeight() - getHeight(menuName) - getHorScrollHeigth() +5);
  setMouseMove();
  hideOverlaying(menuName);
  return true;
}

function getHorScrollHeigth(){
  return 4;
}

function hideMenu(e,myLay){

  if(checkEnvironment(myLay) != true)
    return;

  if(self.Main.document.activeMenu == "invisible")
    return;

  if(NN){
    if(self.Nav.document.layers[myLay]){
      if(getEventX(e) <= self.Nav.document.layers[myLay].left || getEventX(e) >= (self.Nav.document.layers[myLay].left + self.Nav.document.layers[myLay].clip.width)){
       showMenu(self.Main.document.activeMenu,"unsichtbar");
       setMouseMoveBack();
      }
    }
  }
  else if(MS){
    if(self.Nav.document.all[myLay]){
      if((getEventX(e) <= self.Nav.document.all[myLay].style.pixelLeft && e.clientX > 0)||      (getEventX(e) >= (self.Nav.document.all[myLay].style.pixelLeft + self.Nav.document.all[myLay].style.pixelWidth) && e.clientX > 0)){
       showMenu(self.Main.document.activeMenu,"unsichtbar");
       setMouseMoveBack();
     }
    }
  }
}

var moveCnt=0;
function myMouseMove(e){
  if(moveCnt > 0){
   moveCnt=0;
   return;
  }
  moveCnt++; // performance !

  if(self.Main.document.activeMenu == "invisible")
   return;

  var x=getMainEventX(e);
  var y=getMainEventY(e);

  if(y <= topPos || x <= leftPos || x >= rightPos ||(downPos != 0 && y > downPos)){
     showMenu(self.Main.document.activeMenu,"unsichtbar");
     setMouseMoveBack();
     self.Nav.cB(); // menu Marker back
  }
}

function calculateDim(ankerBeginY){
  var i;

  if(self.Main.document.activeMenu == "invisible")
   return;

  if(self.Main.document.isFreeMenu){
   if(getTop(self.Main.document.activeMenu) > self.Main.document.isFreeMenu){ // menu under anker
     topPos=self.Main.document.isFreeMenu;
     downPos=getDown(self.Main.document.activeMenu);
   }
   else{ // menu over anker
     topPos=getTop(self.Main.document.activeMenu);
     downPos=self.Main.document.isFreeMenu;
   }
  }
  else{
   topPos=getTop(self.Main.document.activeMenu);
   downPos=0;
  }

  leftPos=getLeft(self.Main.document.activeMenu);
  rightPos=getRight(self.Main.document.activeMenu);

  if(getSonMenu(self.Main.document.activeMenu) != ""){
   for(i=0; i < menuHist.length; i++){
     if(topPos > getTop(menuHist[i]))
        topPos=getTop(menuHist[i]);

     if(rightPos < getRight(menuHist[i]))
      rightPos=getRight(menuHist[i]);

     if(leftPos > getLeft(menuHist[i]))
      leftPos=getLeft(menuHist[i]);

     if(self.Main.document.isFreeMenu)
     {
      if(downPos < getDown(menuHist[i]))
      downPos=getDown(menuHist[i]);
     }
   }
  }
}

function showSubMenu(obj,parentMenu,subMenu,e){
  if(!document.layers){
   if(actParentAndSubMenu == (obj.sourceIndex + subMenu) ||
     self.Main.document.activeMenu == "invisible")
     return;
  actParentAndSubMenu=obj.sourceIndex + subMenu;
  }

  var ePos;

  if(NN)
   ePos=e.pageY;
  else
   ePos=e.clientY+self.Main.document.body.scrollTop;

  var x=calcBestXPos(parentMenu,subMenu);

  showCnt++;

  setTimeout("_showSubMenu('" + parentMenu + "','" + subMenu + "','" + x + "','" + ePos + "','" + showCnt + "')",10);
}

function _showSubMenu(parentMenu,subMenu,x,ePos,cnt){
  if(cnt != showCnt)
   return;

  var parentIdx=getHistIndex(parentMenu);

  hideSubMenuIdx(parentIdx,0);

  // show the new menu
  setPos(subMenu,x,calcBestPos(parentMenu,subMenu,ePos));

  setVisible(subMenu,sichtbar);
  setSonMenuIdx(parentIdx,parentMenu,subMenu);
  setTimeout("calculateDim()",1); // performance !
  hideOverlaying(subMenu);

  // closed again ?
  if(self.Main.document.activeMenu == "invisible")
   setVisible(subMenu,unsichtbar);

  if(self.Main.document.activeMenu != menuHist[0])
   setVisible(subMenu,unsichtbar);
}

function calcBestXPos(parentMenu,subMenu){
  var subMenuWidth=getWidth(subMenu);
  var parentMenuRight=getRight(parentMenu);

  if((parentMenuRight + subMenuWidth) < getMainInnerWidth())
   return(parentMenuRight - 3);

  return(getLeft(parentMenu) - subMenuWidth + 3);
}

function calcBestPos(parentMenu,subMenu,eventPosY){
  pos=eventPosY - getHeight(subMenu) + 10;

  if(pos < 0)
   pos=4;

  return(pos);
}


function hideSubMenu(menuName,doCalc){
  var i=getHistIndex(menuName);
  var x=i;

  actParentAndSubMenu="";

  if(i == -1)
   return;

  for(i++; i < menuHist.length; i++){
   setVisible(menuHist[i],unsichtbar);
   setPos(menuHist[i],0,0);
  }
  menuHist.length=x+1;

  if(doCalc)
   calculateDim();
}

function hideSubMenuIdx(idx,doCalc){
  if(idx == -1)
   return;

  var x=idx;

  for(idx++; idx < menuHist.length; idx++){
   setVisible(menuHist[idx],unsichtbar);
   setPos(menuHist[idx],0,0);
  }
  menuHist.length=x+1;

  if(doCalc)
   calculateDim();
}

function setSonMenu(parentMenu,subMenu){
  var i=getHistIndex(parentMenu);

  if(i == -1){
   menuHist.length=0;
   menuHist[0]=parentMenu;
   menuHist[1]=subMenu;
   return;
  }

  menuHist[i+1]=subMenu;
  menuHist.length=i + 2;
}

function setSonMenuIdx(idx,parentMenu,subMenu){
  if(idx == -1){
   menuHist.length=0;
   menuHist[0]=parentMenu;
   menuHist[1]=subMenu;
   return;
  }

  menuHist[idx+1]=subMenu;
  menuHist.length=idx + 2;
}

function getSonMenu(parentMenu){
  var i=getHistIndex(parentMenu);

  if(i == -1)
   return "";

  if(i+1 < menuHist.length)
   return(menuHist[i+1]);

  return "";
}


function getHistIndex(menuName){
  for(i=0; i < menuHist.length; i++)
   if(menuName == menuHist[i])
     return i;
  return -1;
}

function setMouseMove(){

  if(NN){
   self.Main.document.onmousemove=myMouseMove;
   self.Main.document.captureEvents(Event.MOUSEMOVE);
  }
  if (MS)
   self.Main.document.onmousemove=myMouseMove;
}

function getMouseMove(){

  if(self.Main.document.onmousemove)
   return self.Main.document.onmousemove;
  else
   return "";
}

function setMouseMoveBack(){
  if(NN){
   self.Main.document.onmousemove=orgMouseMove;
   self.Main.document.captureEvents(Event.MOUSEMOVE);
  }
  if (MS)
   self.Main.document.onmousemove=orgMouseMove;
}

function getMainInnerWidth(){
  if (NN)
   return self.Main.window.innerWidth;
  else if (MS)
   return self.Main.document.body.offsetWidth;
}

function getMainHeight(){
  if (NN)
   return self.Main.window.innerHeight + self.Main.window.pageYOffset;
  else if (MS)
   return self.Main.document.body.offsetHeight - 4 + self.Main.document.body.scrollTop;
}

function getMainWidth(){
  if (NN)
   return self.Main.window.innerWidth + self.Main.window.pageXOffset;
  else if (MS)
   return self.Main.document.body.offsetWidth - 4 + self.Main.document.body.scrollLeft;
}

function getScrollOffsetY(){
  if (NN)
   return self.Main.window.pageYOffset;
  else if (MS)
   return self.Main.document.body.scrollTop;
}

function getScrollOffsetX(){
  if (NN)
   return self.Main.window.pageXOffset;
  else if (MS)
   return self.Main.document.body.scrollLeft;
}

function getTop(menuName){
  if (NN)
   return self.Main.document.layers[menuName].top;// + self.Main.window.pageYOffset;
  else if (MS)
   return self.Main.document.all[menuName].style.pixelTop;// + self.Main.document.body.scrollTop;
}

function getDown(menuName){
  return(getTop(menuName) + getHeight(menuName));
}

function getLeft(menuName,usedFrame){
  if(usedFrame == "Nav"){
   if (NN)
     return self.Nav.document.layers[menuName].left;// + self.Main.window.pageXOffset;
   else if (MS)
     return self.Nav.document.all[menuName].style.pixelLeft;// + self.Main.document.body.scrollLeft;
  }
  else{
   if (NN)
     return self.Main.document.layers[menuName].left;// + self.Main.window.pageXOffset;
   else if (MS)
     return self.Main.document.all[menuName].style.pixelLeft;// + self.Main.document.body.scrollLeft;
  }
}

function getRight(menuName){
  if (NN)
   return getLeft(menuName) + self.Main.document.layers[menuName].clip.width;
  else if (MS)
   return getLeft(menuName) + self.Main.document.all[menuName].scrollWidth;
}

function getWidth(menuName){
  if (NN)
   return self.Main.document.layers[menuName].clip.width;
  else if (MS)
   return self.Main.document.all[menuName].scrollWidth;
}

function getHeight(menuName){
  if (NN)
   return self.Main.document.layers[menuName].clip.height;
  else if (MS)
   return self.Main.document.all[menuName].scrollHeight;
}

function getMainEventX(e){
  if (NN)
   return e.pageX;// + getScrollOffsetX();
  else if (MS)
   return self.Main.event.clientX + getScrollOffsetX();
}

function getMainEventY(e){
  if (NN)
   return e.pageY;// + getScrollOffsetY();
  else if (MS)
   return self.Main.event.clientY + getScrollOffsetY();
}

function getEventX(e){
  if (NN)
   return e.pageX;
  else if (MS)
   return e.clientX
}

function getEventY(e){
  if (NN)
   return e.pageY;
  else if (MS)
   return e.clientY;
}

function setPos(menuName,x,y){
  if (NN){
   self.Main.document.layers[menuName].left=x;
   self.Main.document.layers[menuName].top=y;
   self.Main.document.layers[menuName].zIndex=1;
  }
  else if(MS){
   self.Main.document.all[menuName].style.pixelLeft=x;
   self.Main.document.all[menuName].style.pixelTop=y;
   self.Main.document.all[menuName].style.zIndex=1;
  }
}

function setVisible(menuName,arg){
  if(menuName == "invisible")
   return;

  if(NN)
   self.Main.document.layers[menuName].visibility=arg;
  else if(MS){
   self.Main.document.all[menuName].style.filter="alpha(opacity=96)";
   self.Main.document.all[menuName].style.visibility=arg;
   cB(menuName); // set amnu marker back;
  }
}

function setHeight(menuName,menuHeight){
  if(NN)
   self.Main.document.layers[menuName].clip.height=menuHeight;
  else if(MS)
   self.Main.document.all[menuName].style.pixelHeight=menuHeight;
}

function layExists(menuName){
  if(NN)
   if(self.Nav.document.layers[menuName])
     return true;
  else if(MS)
   if(self.Nav.document.all[menuName])
     return true;
  return false;
}

function setActiveMenu(menuName,ankerBeginY){
  if(ankerBeginY)
   self.Main.document.isFreeMenu=ankerBeginY;
  else
   self.Main.document.isFreeMenu=0;
  self.Main.document.activeMenu=menuName;
}

function setNav(navName){
  if(!NN && !MS)
   initNavigator();

  strA=new String(self.Nav.location);
  subStrA=strA.substring(strA.lastIndexOf('../index.html') +1);

  strB=new String(navName);
  subStrB=strB.substring(strB.lastIndexOf('../index.html') +1);

  if(self.Nav.cB)
   self.Nav.cB();

  if(subStrA != subStrB){//   alert(subStrA + " " + subStrB);
   self.Nav.location.replace(navName);
  }
}

Browser="unbekannt";
function Browser_Version(showMessage){
  if ((navigator.userAgent.indexOf('StarOffice') > -1) || (navigator.appName.indexOf('StarOffice') > -1))
   Browser="SO" + navigator.appVersion.charAt(0);
  else
   if (navigator.userAgent.indexOf('Opera') > -1)
     Browser="Opera";
   else
     if (navigator.appName == "Microsoft Internet Explorer")
      if (navigator.appVersion.indexOf('Macintosh') > -1)
        Browser="MAC-MSIE" + navigator.appVersion.charAt(0);
      else
        Browser="MSIE" + navigator.appVersion.charAt(0);
   else
     if (navigator.appName == "Netscape"){
      Browser="NN" + navigator.appVersion.charAt(0);

  //     if(navigator.appVersion.indexOf('4.04') > -1)
  //      NN=false;
    }
  abbruch=false;
  if (Browser.indexOf('Opera') > -1)
    {
      Warnung='Sie benutzen Opera.\n Der ist in Bezug auf JavaScript nicht ausgereift\n Es wir also nicht alles funktionieren.'
   alert (Warnung);
    }
  else
      if (Browser.indexOf('MAC-MSIE') > -1)
     abbruch=true;

  if(showMessage && showMessage == "true" && !NN && !MS)
   alert("Sorry,Ihre Browserversion wird leider nicht unterstuetzt !");
}

function start(){
  Browser_Version();
  orgMouseMove=getMouseMove;
}

//newSearchWin=0;
function createSearchWin(loc){
  if(!loc || loc == "")
   loc="../cgi-bin/bgSearch415a.html?lang=" + sprache;

//  if(!newSearchWin)
//  {
   newSearchWin=window.open(loc,'search_win','toolbar=no,location=no,directories=no,dependent=yes,status=yrd,menubar=no,scrollbars=yes,resizable=yes,width=460,height=490');
//  }

//  newSearchWin.focus();
}

function hideOverlaying(menuName){
  if(!self.Main.overlayingLayer)
   return;

  var i;

  for(i=0; i < self.Main.overlayingLayer.length; i++){
   if(NN){
     if(!self.Main.document.layers[self.Main.overlayingLayer[i]])
      continue;
   }
   else{
     if(!self.Main.document.all[self.Main.overlayingLayer[i]])
      continue;
   }

   leftt=getLeft(self.Main.overlayingLayer[i]);
   topp=getTop(self.Main.overlayingLayer[i]);
   rightt=leftt + getWidth(self.Main.overlayingLayer[i]);
   downn=topp + getHeight(self.Main.overlayingLayer[i]);

   leftM=getLeft(menuName);
   topM=getTop(menuName);
   rightM=leftM + getWidth(menuName);
   downM=topM + getHeight(menuName);

   if(divClipping(leftM,topM,rightM,downM,leftt,topp,rightt,downn)){
     setVisible(self.Main.overlayingLayer[i],unsichtbar);
   }
  }
}

function divClipping(minX1,minY1,maxX1,maxY1,minX2,minY2,maxX2,maxY2){
  if(minX1 <= maxX2 && minX2 <= maxX1 && minY1 <= maxY2 && minY2 <= maxY1)
   return 1;
  return 0;
}

function showOverlaying(){
  if(!self.Main.overlayingLayer)
   return;

  var i;

  for(i=0; i < self.Main.overlayingLayer.length; i++){
   if(NN){
     if(!self.Main.document.layers[self.Main.overlayingLayer[i]])
      continue;
   }
   else{
     if(!self.Main.document.all[self.Main.overlayingLayer[i]])
      continue;
   }
   setVisible(self.Main.overlayingLayer[i],sichtbar);
  }
}