// hvz_base.js
// Funktionen:
// - ShowHeader(WebPath)
// - ShowPic(PicName,PicTitle)
// - PageInit(WebPath,Mode)
// - GetCookie(Name)
// - SaveUrl(Url)
// - hsi_nav(objAkt)
// - hsi_close_all_nav()
// - hsi_toggle_open_close(strElmId)
// - tst_me()
// - hsi_legend_img(strPegeltyp)
// 
// Stand: 11.01.2006
// lr: fh, 06-NOV-2007, 
// lr: fh, 26-NOV-2007, hsi_legend_img.
// lr: fh, 30-NOV-2007, hsi_close_all_nav.
// lr: fh, 06-DEC-2007, hsi_legend_img angepasst.
// lr: fh, 08-JAN-2009.
// lr: fh, 20-JAN-2010, hsi_toggle_open_close.


// ------------------------------------------------------
function ShowHeader(WebPath)
{
 document.writeln('    <table border="0" cellspacing="0" cellpadding="5" style="width:100%;">\n     <tr>');
 document.write('      <td style="text-align:left; width:100px;"><a href="http://web.lanu.landsh.de"');
 document.write(' target="_top"><img \n       src="');
 document.writeln(WebPath+'\/lanu.gif" alt="Logo" title="Pegeldaten Schleswig-Holstein"><\/a><\/td>');
 document.write('      <td style="text-align:center"><span class="InfoBold">Pegeldaten Schleswig-Holstein<br>');
 document.writeln('Landesamt f&uuml;r Natur und Umwelt<br>\n       Schleswig-Holstein<\/span><\/td>');
 document.write('      <td style="text-align:right; width:100px;"><a href="http://web.lanu.landsh.de" target="_top">');
 document.write('<img \n       src="'+WebPath+'\/munl.gif" alt="Logo" ');
 document.writeln(' title="Landesamt f&uuml;r Landwirtschaft, Umwelt und l&auml;ndlic he R&auml;ume"><\/a><\/td>\n     <\/tr>\n    <\/table>\n    <hr>\n');
}

// ------------------------------------------------------
function ShowPic(PicName,PicTitle)
{
 var Pic,Title;
 if (document.all && navigator.appVersion.substring(22,23) == 4)
  Pic = document.all['BILD'];
 else
  Pic = document.getElementById('BILD');
 if (Pic)
 {
  Pic.src = PicName;
  Pic.title = PicTitle;
 }
 return false;
}

// ------------------------------------------------------
function PageInit(WebPath,Mode)
{
 if (top.HVZWIN)
 {
  if (Mode == 0)
   top.HVZWIN.Off();
  else
   top.HVZWIN.On(Mode,window.location.href);
  document.writeln('   <div id="printHeader">');
 }
 // ShowHeader(WebPath);
 if (top.HVZWIN)
 {
  document.writeln('   <\/div>');
  top.HVZWIN.SaveUrl(window.location.href);
 }
}

// ------------------------------------------------------
function GetCookie(Name)
{
 var Prefix = Name + "=";
 var CookieStartIndex = document.cookie.indexOf(Prefix);
 if (CookieStartIndex == -1) return null;
 var CookieEndIndex = document.cookie.indexOf(";",CookieStartIndex+Prefix.length);
 if (CookieEndIndex == -1) CookieEndIndex = document.cookie.length;
 var CookieText = document.cookie.substring(CookieStartIndex+Prefix.length,CookieEndIndex);
 return unescape(CookieText);
}

// ------------------------------------------------------
function SetCookie(Name,Value,LifeTime)
{
 if (Name && Value)
 {
  var MSec,GMT=new Date(),NewCookie;
  NewCookie = Name+"="+escape(Value);
  if (LifeTime && LifeTime != 0)
  {
   if (LifeTime < 0) LifeTime = 0;         // Cookie löschen
   MSec = GMT.getTime()+(LifeTime*60000);  // LifeTime in Minuten
   GMT.setTime(MSec);
   GMT = GMT.toGMTString();
   NewCookie = NewCookie+"; expires="+GMT;
  }
  document.cookie = NewCookie;
 }
}

// ------------------------------------------------------
function SaveUrl(Url)
{
 SetCookie('url',Url,0);
}

// ------------------------------------------------------
function PushUrl(Url)
{
 if (top.HVZNAV) top.HVZNAV.SaveUrl(Url);
}


// --------------------------------
function hsi_navX(objAkt)
{
  // Erstmal eine Dummy-Funktion.
  return true;
}  

// ------------------------------------------------------
function hsi_nav_url(strDocURL)
{
  // HSI-Navigation.
  // lr: fh, 16-DEC-2008.
  // lr: fh, 18-DEC-2008, für IE \ durch / ersetzen (besser zum lokalen Testen).
  // lr: fh, 20-JAN-2010, Umbau des Menüs.
  // lr: fh, 21-JAN-2010.
  // lr: fh, 26-JAN-2010.
  // lr: fh, 29-APR-2010.


  var strURL = strDocURL.replace(/\\/g,"/");
  var arrPfad = strURL.split("/");
  var strDatei= arrPfad[(arrPfad.length -1)];
  var strObermenu = 'men_hsi';    // Standardmäßig das 1. Menü als Obermenü einstellen.
  // DEBUG: alert(strDocURL + " test " + strDatei);
  
  // Workaround zum Aufklappen der übergeordneten Links:
  switch (strDatei)
  {
    case "ezg_nordseemap.html":
    case "ezg_ostseemap.html":
    case "ezg_elbemap.html":
    case "pegellistekueste.html":
    case "pegellistebinnen.html":
    case "pegelmapkueste.html":
    case "pegelmapbinnen.html":
    case "elbekarte_sh.html":
    case "elbe_uebersicht.html":
      hsi_nav_id("pegelmap.html");
      break;
    case "kuestevorher.html":
    case "wstvorher.html":
    case "elbevorhersage.html":
      hsi_nav_id("vorhersage_ws.html");
      break;
    case "seegang.html":
    case "stroemung.html":
    case "kuestegezeiten.html":
      hsi_nav_id("weitere_infos.html");
      break;
    case "elbekarte.html":
    case "elbeliste.html":
      hsi_nav_id("elbekarte_main.html");
      break;
    case "nmap.html":
    case "nliste.html":
      hsi_nav_id("wetter.html");
      break;
    case "nmap1.html":
    case "nmap3.html":
    case "nmap7.html":
    case "nmap28.html":
      hsi_nav_id("nmap.html");
      hsi_nav_id("wetter.html");
      break;
    case "hwkp_ueberschwemm.html":
    case "hwkp_detailuesg.html":
    case "hwkp_lvo.html":
      hsi_nav_id("hwkp_ueberschwemm.html");
      strObermenu="men_karten";
      break;
    case "uesg_stoer.html":
    case "uesg_alster.html":
    case "uesg_bille.html":
    case "uesg_pinnau.html":
    case "uesg_trave.html":
    case "uesg_krueckau.html":
      hsi_nav_id("hwkp_detailfge.html");
      strObermenu="men_karten";
      break;
    case "hwkp_gefgebiete.html":
      hsi_nav_id("hwkp_gefgebiete.html");
      strObermenu="men_karten";
      break;
    case "hsk_kontakt.html":
    case "katastrophenschutz.html":
    case "kat_behoerden.html":
    case "hsk_kreise.html":
    case "hsk_leitstellen.html":
    case "lkn.html":
      hsi_nav_id("hsk_kontakt.html");
      strObermenu="men_abwehr";
      break;
    case "hwp_plaene.html":
    case "hwk_elbe.html":
    case "hwk_eider.html":
    case "hwk_nok.html":
    case "hwk_nordsee.html":
    case "hwk_ostsee.html":
      hsi_nav_id("hwp_plaene.html");
      strObermenu="men_abwehr";
      break;
  }    
  
  // Die anderen Obermenues schließen:
  switch (strObermenu)
  {
    case "men_hsi":
      hsi_set_id_class('men_karten.html','close');
      hsi_set_id_class('men_abwehr.html','close');
      break;
    case "men_karten":
      hsi_set_id_class('men_abwehr.html','close');
      break;
    case "men_abwehr":
      hsi_set_id_class('men_karten.html','close');
      break;
  }    

  hsi_nav_id(strDatei);
} 

// ------------------------------------------------------
function hsi_nav_id(strObjID)
{
  // HSI-Navigation.
  // lr: fh, 16-DEC-2008.
  var objAkt=document.getElementById(strObjID);
  hsi_nav(objAkt);
} 


// --------------------------------
function hsi_nav(objAkt)
{
  // HSI-Navigation.
  // lr: fh, 06-NOV-2007.
  
  var intAnzLi = document.getElementsByTagName("li").length;
  var strClass="";
  for (intIdx=0;intIdx<intAnzLi;intIdx++)
  {
    if (document.getElementsByTagName("li")[intIdx] == objAkt)
    {
      document.getElementsByTagName("li")[intIdx].className="open active";
      document.getElementsByTagName("li")[intIdx].style.color="#555555";
    }
    else
    {
      strClass=document.getElementsByTagName("li")[intIdx].className;
      if ((strClass == "open") || (strClass == "open active"))
      {
        // document.getElementsByTagName("li")[intIdx].className="close";
      } // IF: auf "offen" gesetzt?  
    } // IF: Aktuelles Objekt?  
  } // FOR-Schleife durch alle LI-Tags.  
  //  document.getElementsByTagName("li")[0].firstChild.data = "neuer erster";
  
} // Ende hsi_nav.

// -----------------------------------------------

function hsi_close_all_nav()
{
  // HSI-Navigation: Schließt alle offenen Links
  // in der Navigationsleiste und entfernt die Markierungen.
  // lr: fh, 06-NOV-2007.
  
  var intAnzLi = document.getElementsByTagName("li").length;
  var strClass="";
  var strClass="";
  for (intIdx=0;intIdx<intAnzLi;intIdx++)
  {
    strClass=document.getElementsByTagName("li")[intIdx].className;
    if ((strClass == "open") || (strClass == "open active"))
    {
      document.getElementsByTagName("li")[intIdx].className="close";
    } // IF: auf "offen" gesetzt?  
  } // FOR-Schleife durch alle LI-Tags.  
  
} // Ende hsi_close_all_nav.

// ------------------------

function hsi_set_id_class(strElmId,strClass)
{
  // HSI-Navigation: Schließt per Id übergebenen Link
  // in der Navigationsleiste und entfernt die Markierung.
  // vormals: hsi_close_id.
  //
  // Parameter:
  //  strElmId  - Id des Objekts
  //  strClass  - neue Klasse des Objekts.
  
  // lr: fh, 18-DEC-2008.
  // lr: fh, 20-JAN-2010, geändert auf inaktiv.
  
  var objAkt = document.getElementById(strElmId);
  objAkt.className=strClass;  // z.B. "inaktiv" oder "close";
  
  // objAkt.style.background="#FFFFFF url(img/icons/arrow_right.gif) left center no-repeat;"; 
  // alert("Objekt: " + objAkt.id + ", Klasse: " + objAkt.className);
  // alert("Objekt: " + objAkt.id + ", Style: " + objAkt.style.background);
} // Ende hsi_close_all_nav.

// ------------------------

function hsi_toggle_open_close(strElmId)
{
  // HSI-Navigation: 
  // Schaltet das per ID übergebene Objekt auf open active, wenn close,
  // sonst umgekehrt.
  // lr: fh, 20-JAN-2010.
  
  var objAkt = document.getElementById(strElmId);
  if (objAkt.className=="close")
  {
    objAkt.className="open active";
  }
  else
  {
    objAkt.className="close";
  }
} // Ende hsi_toggle_open_close.

// ------------------------


function tst_me()
{
 alert ("Test!");
 alert (self.name);
} 

// ------------------------------------------------------
function hsi_navXXX(objAkt)
{
  // HSI-Navigation.
  // lr: fh, 06-NOV-2007.
  alert("Test");
  alert(objAkt.id);
  
  var intAnzLi = document.getElementsByTagName("li").length;
  var strClass="";
  alert(intAnzLi);
  for (intIdx=0;intIdx<intAnzLi;intIdx++)
  {
    if (document.getElementsByTagName("li")[intIdx].id == objAkt.id)
    {
      document.getElementsByTagName("li")[intIdx].className="open active";
    }
    else
    {
      strClass=document.getElementsByTagName("li")[intIdx].className;
      if ((strClass == "open") || (strClass == "open active"))
      {
        document.getElementsByTagName("li")[intIdx].className="close";
      } // IF: auf "offen" gesetzt?  
    } // IF: Aktuelles Objekt?  
  } // FOR-Schleife durch alle LI-Tags.  
  //  document.getElementsByTagName("li")[0].firstChild.data = "neuer erster";
  
} // Ende hsi_nav.

// ----------------------------------------------------

function hsi_legend_img(strPegeltyp)
{
  // Tauscht Legenden-Image aus, wenn nur Tiden- oder nur Binnenpegel vorhanden:
  // lr. fh, 30-NOV-2007, kleine Korrektur.
  // lr: fh, 06-DEC-2007, Prüfen, ob Bild überhaupt vorhanden.
  if ( document.getElementById("MapLegendImg"))
  {
    if (strPegeltyp=="b")
    {
      document.getElementById("MapLegendImg").src="./images/legende_shkarte_binnen.gif";
    }
    else if (strPegeltyp=="t")
    {
      document.getElementById("MapLegendImg").src="./images/legende_shkarte_tide.gif";
    } // IF: Tide oder Binnen?
 }    
} // Ende hsi_legend_img.  
  