/*-----------------------------------------------------------------------------*/
/* Author:  (c) André Mantz                               erstellt: 17.10.2007 */
/* Sprache: javascript 1.5                                geändert: 30.07.2007 */
/* Datei:   w44.js                                         Version: 2.02       */
/* Projekt: Website www.w44.de                                                 */
/*                                                                             */
/* Beschreibung:                                                               */
/* Definition zentraler Scripts für das Projekt                                */
/*-----------------------------------------------------------------------------*/

// Variablen deklarieren
var chap = new Array(6);
var SE = 0;
var SKE = 0;
var gps_map = 0;
var counter = 0;
var aufloesung = '1024';
var showWidth = '1041';
var showHeight = '789';

/* -------------------------------------------------------*/
/* Startfunktion, wird von Kopfframe/IFrames aufgerufen   */
/* -------------------------------------------------------*/
function start(bereich)
 {
  // Definieren der Standardbilder für die einzelnen Bereichsfelder
  for(var i=1; i<=6 ; i++)
      chap[i] = bereich == i ? "chap"+i+".gif" : "chap"+i+"g.gif";
  if(SE)
    mapEdit(SE, '', '', '', '', '', 0)
  if(SKE)
    mapKapEdit(SKE, '', '', '', 0);
  // Workarounds für IE6
  if(document.documentElement.clientHeight)
   {
    workAroundIE6ext();
    // window.onresize = workAroundIE6();
   }
 }

/* -------------------------------------------------------*/
/* Workaround für IE6 (IFRAME für externe Seiten)         */
/* -------------------------------------------------------*/
function workAroundIE6ext()
 {
  if(document.getElementById('IE6WA').offsetHeight < 20) // ist nur bei IE6 der Fall
   {
    // Linkicon in externframe positionieren
    if(document.getElementById('siteicons'))
       document.getElementById('siteicons').style.right = 20;
   }
 }

/* -------------------------------------------------------*/
/* Workaround für IE6                                     */
/* -------------------------------------------------------*/
function workAroundIE6()
 {
  if(document.getElementById('IE6WA').offsetHeight < 20) // ist nur bei IE6 der Fall
   {
    // IFRAME für externe Inhalte auf Fensterhöhe bringen
    if(document.getElementById('extern'))
       if(document.getElementById('extern').offsetHeight == 0)
          document.getElementById('extern').style.height = document.documentElement.clientHeight+'px';
    // Linkicon positionieren
    if(document.getElementById('siteicons'))
       if(document.getElementById('iblock'))
          document.getElementById('siteicons').style.right = 20;
       else
          document.getElementById('siteicons').style.right = 20;

    // Linkicon in externframe positionieren
    if(document.getElementById('exticons'))
       document.getElementById('siteicons').style.right = 60;

    // Navigationspfeile auf Seitenbreite bringen
    if(document.getElementById('arrows'))
       document.getElementById('arrows').style.width = document.documentElement.clientWidth-180;
   }
 }

/* -------------------------------------------------------*/
/* Startfunktion, wird vom Hauptframe aufgerufen          */
/* -------------------------------------------------------*/
function startmain(bereich, fuss, farbe)
 {
  // Bildschirmparameter für Diashow initialisieren
  selectScreen();

  // Workarounds für IE6
  if(document.documentElement.clientHeight)
   {
    workAroundIE6();
    // window.onresize = workAroundIE6();
   }
  // Definieren der Standardbilder für die einzelnen Bereichsfelder (Falls Kopfframe schon geladen)
  if(top.kopf.document.getElementById("chap6"))
    for(var i=1; i<=6 ; i++)
      top.kopf.chap[i] = bereich == i ? "chap"+i+".gif" : "chap"+i+"g.gif";
  norm('alle');
  high(bereich);
  if(top.fuss.document.getElementById("body"))
    top.fuss.document.getElementById("body").style.backgroundColor = farbe;
  if(top.fuss.document.getElementById("links"))
    top.fuss.document.getElementById("links").style.backgroundImage = 'url(elemente/fussl'+fuss+'.gif)';
  // Anzeige von google-maps initialisieren
  if(gps_map)
    showMap();
  if(counter)
   {
    startUhr();
    setInterval("startUhr()",1000);
   }
 }

/* -------------------------------------------------------*/
/* Uhr im Counter laufend stellen                         */
/* -------------------------------------------------------*/
function startUhr()
 {
  var jetzt = new Date();
  var Std = jetzt.getHours()+""; if (Std.length == 1) Std = "0"+Std;
  var Min = jetzt.getMinutes()+""; if (Min.length == 1) Min = "0"+Min;
  document.getElementById("s1").style.backgroundImage = "url(elemente/counter/BC_"+Std.charAt(0)+"g.gif)";
  document.getElementById("s2").style.backgroundImage = "url(elemente/counter/BC_"+Std.charAt(1)+"g.gif)";
  document.getElementById("m1").style.backgroundImage = "url(elemente/counter/BC_"+Min.charAt(0)+"g.gif)";
  document.getElementById("m2").style.backgroundImage = "url(elemente/counter/BC_"+Min.charAt(1)+"g.gif)";
 }

/* -------------------------------------------------------*/
/* Bereichsbild eines Bereiches hervorheben               */
/* -------------------------------------------------------*/
function high(bereich)
 {
  // Parameter: bereich - Nummer des hervorzuhebenden Bereiches (1-6)
  if(top.kopf.document.getElementById("chap"+bereich))
    top.kopf.document.getElementById("chap"+bereich).style.backgroundImage = "url(elemente/chap"+bereich+".gif)";
 }

/* -------------------------------------------------------*/
/* Bereichsbild eines Bereiches auf Standard setzen       */
/* -------------------------------------------------------*/
function norm(bereich)
 {
  if(bereich == 'alle')
   {
    for(var i=1;i<=6;i++)
      if(top.kopf.document.getElementById("chap"+i))
        top.kopf.document.getElementById("chap"+i).style.backgroundImage = "url(elemente/"+top.kopf.chap[i]+")";
   }
  else
   {
    if(top.kopf.document.getElementById("chap"+bereich))
      top.kopf.document.getElementById("chap"+bereich).style.backgroundImage = "url(elemente/"+top.kopf.chap[bereich]+")";
   }
 }

/* -------------------------------------------------------*/
/* Aufruf eines Bereiches, Kapitels oder Seite            */
/* -------------------------------------------------------*/
function geheZu(bereich, kapitel, seite)
{
 if(bereich)
   top.main.location.href = "seite.php5?bereich="+bereich;
 else if(kapitel)
   top.main.location.href = "seite.php5?kapitel="+kapitel;
 else
   top.main.location.href = "seite.php5?seite="+seite;
}

/* -------------------------------------------------------*/
/* Infobereich auf-/zuklappen                             */
/* -------------------------------------------------------*/
function infoAufZu(nr)
 {
  with(document)
   {
    if(getElementById("ikopfzu"+nr).style.display == 'block')
     {
      getElementById("ikopfzu"+nr).style.display = 'none';
      getElementById("ikopfauf"+nr).style.display = 'block';
      getElementById("itextbox"+nr).style.display = 'block';
      getElementById("itextfuss"+nr).style.display = 'block';
      getElementById("info_minmax"+nr).src = 'elemente/minimize.gif';
     }
    else
     {
      getElementById("ikopfzu"+nr).style.display = 'block';
      getElementById("ikopfauf"+nr).style.display = 'none';
      getElementById("itextbox"+nr).style.display = 'none';
      getElementById("itextfuss"+nr).style.display = 'none';
      getElementById("info_minmax"+nr).src = 'elemente/maximize.gif';
     }
   }
 }

/* -------------------------------------------------------*/
/* Anzeigen des Links zur aktuellen Seite                 */
/* -------------------------------------------------------*/
function direktLink(URL)
 {
  prompt('Mit dieser URL kannst Du die aktuelle Seite direkt aufrufen:', URL);
  void(0);
 }

/* -------------------------------------------------------*/
/* Einfügen von Tags in "feld". "feld" ist Textarea       */
/* "aTag" ist Anfangs-, "eTag" Endetag                    */
/* -------------------------------------------------------*/
function insertTag(aTag, eTag, feld) {
  if(top.main.extern)
    var input = top.main.extern.document.getElementById(feld);
  else
    var input = top.main.document.getElementById(feld);


  input.focus();
  /* für Internet Explorer */
  if(typeof top.main.document.selection != 'undefined' || typeof top.main.extern.document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    if(top.main.extern)
      var range = top.main.extern.document.selection.createRange();
    else
      var range = top.main.document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    if(top.main.extern)
      range = top.main.extern.document.selection.createRange();
    else
      range = top.main.document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}

/* -------------------------------------------------------*/
/* Sitemap: auf-/zuklappen von Bereichen/Kapiteln         */
/* -------------------------------------------------------*/
function mapAufZu (ebene, id)
 {
  var tabelle = eval(document.getElementById(ebene+id));
  var icon = eval(document.getElementById(ebene+'i'+id));

  if(tabelle.style.display == 'block')
   {
    tabelle.style.display = 'none';
    icon.src = 'elemente/plus.gif';
   }
  else
   {
    tabelle.style.display = 'block';
    icon.src = 'elemente/minus.gif';
   }
 }

/* -------------------------------------------------------*/
/* Gästebuch: Springen zu Seite 'seite'                   */
/* -------------------------------------------------------*/
function gbBlaettern(seite)
 {
  document.location.href = 'gaestebuch.php5?gb_seite='+seite;
 }

/* -------------------------------------------------------*/
/* Gästebuch: Formular für neuen Eintrag auswählen        */
/* -------------------------------------------------------*/
function schreibFeld()
 {
  window.scrollTo(0,100000);
  document.getElementById('gb_username').focus();
 }


/* -------------------------------------------------------*/
/* Fenster mit Bildershow öffnen                          */
/* -------------------------------------------------------*/
 function openShow(bild)
  {
   windowName = "w44show";
   windowURL = "show.php5?bild="+bild+"&screen="+aufloesung;
   windowFeatures = "toolbar=no,location=no,directories=no,scrollbars=yes,status=yes,menubar=no,resizable=yes,width="+showWidth+",height="+showHeight;
   fenster = window.open( windowURL, windowName, windowFeatures);
  }

/* -------------------------------------------------------*/
/* aktuelle Monitorauflösung ermitteln                    */
/* -------------------------------------------------------*/
function selectScreen()
 {
  if(screen.height < 768)
   {
    aufloesung = 600;
    showWidth = 667;
    showHeight = 508;
   }
  else if (screen.height < 1024)
   {
    aufloesung = 768;
    showWidth = 890;
    showHeight = 676;
   }
 }
