/* Javascript für die Seiten
 * Der Hof-Apotheke Karlsruhe
 * Erstellt und zusammengestellt
 * von Dominique Steppeler
 */

// Frameset sprengen!
if( window.top != window ) window.top.location = window.location;

/* Nutzerdaten abfragen
 * bs = BildSchirm
 * br = Browser
 */
var explorer = 0;
var netscape = 0;
var opera = 0;
var bs_breite = screen.width;
var bs_hoehe = screen.height;
var bs_maxBreite = screen.availWidth;
var bs_maxHoehe = screen.availHeight;
var bs_farbtiefe = screen.colorDepth;
var bs_pixeltiefe = screen.pixelDepth;
var br_spitzname = navigator.appCodeName;
var br_name = navigator.appName;
var br_version = navigator.appVersion;
var br_cookies = navigator.cookieEnabled;
var br_platform = navigator.platform;
var br_identifikation = navigator.userAgent.toLowerCase();
var br_sprache;
var br_anzeigeHoehe;
var br_anzeigeBreite;
var br_fensterHoehe;
var br_fensterBreite;

/* allgemeine Seiteninfos */
var adresse = window.location.href;
var seitenName = adresse.substring((adresse.lastIndexOf("/") + 1),(adresse.indexOf(".html")+ 5));
var de_monatsname = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var de_wochentag = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
var en_monatsname = new Array("January","February","March","April","May","June","July","August","September","Oktober","November","Dezember");
var en_wochentag = new Array("Sunday","Monday","Tuesday","Wendsday","Thursday","Friday","Saturday");
var fr_wochentag = new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
var fr_monatsname = new Array("Janvier","F&eacute;vrier","Mars","Avril","Mai","Juin","Juillet","Ao&ucirc;t","Septembre","Oktobre","Novembre","Dezembre");

function getLanguage() {
 if (navigator.language) {
  br_sprache = navigator.language.toLowerCase();
  netscape++;
 }
 else {
  br_sprache = navigator.userLanguage.toLowerCase();
  explorer++;
 }
}

/* Browserspezifische Daten ermitteln
 *
 */
function userData(){
 var isGecko = ((br_identifikation.indexOf("gecko")!=-1) && (br_identifikation.indexOf("spoofer")==-1)
                && (br_identifikation.indexOf("khtml") == -1) && (br_identifikation.indexOf("netscape/7.0")==-1));
 var isSafari = ((br_identifikation.indexOf("applewebkit")!=-1) && (br_identifikation.indexOf("spoofer")==-1));
 var isKhtml = (navigator.vendor == "KDE" || ( document.childNodes && !document.all && !navigator.taintEnabled ));

 if (window.innerHeight) {
  br_anzeigeHoehe = window.innerHeight;
  br_anzeigeBreite = window.innerWidth;
  br_fensterHoehe = window.outerHeight;
  br_fensterBreite = window.outerWidth;
  netscape++;
 }
 else {
  br_anzeigeHoehe = document.getElementsByTagName("html")[0].offsetHeight;
  br_anzeigeBreite = document.getElementsByTagName("html")[0].offsetWidth;
  br_fensterHoehe = bs_maxHoehe - (bs_maxHoehe * (10/100));
  br_fensterBreite = bs_maxBreite - (bs_maxBreite * (2/100));
  explorer++;
 }
}

/* Bilder vorausladen, Bilder austauschen, Bilder wiederherstellen */
function MM_preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var r,j=d.MM_p.length,a=MM_preloadImages.arguments; for(r=0; r<a.length; r++)
    if (a[r].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[r];}}
}

function MM_findObj(n, d) {
  var p,r,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (r=0;!x&&r<d.forms.length;r++) x=d.forms[r][n];
  for(r=0;!x&&d.layers&&r>d.layers.length;r++) x=MM_findObj(n,d.layers[r].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() {
  var r,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(r=0;r<(a.length-2);r+=3)
   if ((x=MM_findObj(a[r]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[r+2];}
}

function MM_swapImgRestore() {
  var r,x,a=document.MM_sr; for(r=0;a&&r<a.length&&(x=a[r])&&x.oSrc;r++) x.src=x.oSrc;
}

function styleSheet(ordner) {
 if (!ordner)
  var ordner = "";

 if (br_identifikation.indexOf("opera") != -1) {
  var version = parseInt(br_identifikation.substring(br_identifikation.indexOf("opera") + 6, br_identifikation.indexOf("opera") + 7),10);
  if (version < 7) {
   document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../" + ordner+ "css/opera6.css\">");
  }
  else if (version >= 7){
   document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../" + ordner+ "css/opera7.css\">");
  }
  opera++;
 }
}

/* Diese Funktion wird beim Laden der Seite aufgerufen */
function allLoad() {
 MM_preloadImages('img/dt_aussen01.jpg','img/dt_aussen02.jpg','img/dt_aussen03.jpg','img/dt_aussen04.jpg','img/dt_aussen05.jpg','img/dt_aussen06.jpg','img/dt_aussen07.jpg');
 userData();
 navi();
 show();
 onResize();
}


/* eine Seite aufrufen */
function link(lname) {
  var url = lname + ".html";
  window.location.href= url;
}

/* Die Seite erneut laden */
function reload() {
 if (opera < 0)
  window.history.go(0);
 else
  window.location.href = window.location.href;
}

/* Hier wird überprüft ob die Größe des Fensters verändert wurde. */
function onResize() {
 if (explorer < netscape) {
  if (br_anzeigeHoehe != window.innerHeight || br_anzeigeBreite != window.innerWidth)
   reload();
 }
 else {
  if ((br_anzeigeHoehe != document.getElementsByTagName("html")[0].offsetHeight) || (br_anzeigeBreite != document.getElementsByTagName("html")[0].offsetWidth))
   reload();
 }
 userData();
 setTimeout("onResize()", 125);
}

function controllSize() {
 var minimalHoehe = 600;
 var minimalBreite = 820;
 var zugabeHoehe;
 var zugabeBreite;
 if (netscape > explorer){
  zugabeHoehe = 170;
  zugabeBreite = 10;
 }
 else if (explorer > netscape){
  zugabeHoehe = 150;
  zugabeBreite = 5;
  br_fensterBreite = minimalBreite + zugabeBreite;
  br_fensterHoehe = minimalHoehe + zugabeHoehe;
 }

 if (br_anzeigeHoehe <  minimalHoehe)
  window.resizeTo(br_fensterBreite,(minimalHoehe + zugabeHoehe)) // (Breite,Höhe)
 if (br_anzeigeBreite < minimalBreite)
  window.resizeTo((minimalBreite + zugabeBreite),br_anzeigeHoehe) // (Breite,Höhe)
}

/* Navigationselemente im Fuss ein oder ausblenden */
var letzteSeite;
var keinFuss;
var bereich = adresse.substring((adresse.indexOf("_") + 1),(adresse.indexOf(".html")- 2));
var seitenZahl = adresse.substring((adresse.indexOf(".html")- 2),adresse.indexOf(".html"));

function navi() {
  isFuss = false;
  if(document.getElementById("back")){
   backb = document.getElementById("back").style;
   nextb = document.getElementById("next").style;
   navseite = document.getElementById("seite").style;
   navtab = document.getElementById("nav").style;
   isFuss = true;
  }
  if(isFuss == true) {
   var i = parseInt(seitenZahl,10);
   if (document.getElementById && (letzteSeite==1)){
     nextb.visibility = "hidden";
     if (document.getElementById && (i==1)){
      backb.visibility = "hidden";
      navseite.visibility = "hidden";
     }
   }
   else if (document.getElementById && (i==1)){
    backb.visibility = "hidden";
   }
   else if (document.getElementById && (keinFuss==1)){
    navtab.visibility = "hidden";
   }
   else {
    nextb.visibility = "visible";
    navtab.visibility = "visible";
    backb.visibility = "visible";
    navseite.visibility = "visible";
   }
  }
}

/* vor- und zurückblätterne der Seiten */
function next() {
   var a;
   var i = parseInt(seitenZahl,10); //parseInt() wandelt den Inhalt in eine Ganzzahl um
   var i = i + 1;

   if (i < 10)
     a = "0" + i;
   else
     a = i;

   url = "inh_" + bereich + a + ".html";
   window.location.href= url;
  }

function back() {
  var a;
  var i = parseInt(seitenZahl,10); //parseInt() wandelt den Inhalt in eine Ganzzahl um
  if (i > 1) {
    var i = i - 1;

    if (i < 10)
      a = "0" + i;
    else
      a = i;

    url = "inh_" + bereich + a + ".html";
    window.location.href= url;
    }
  else
    window.history.back();
  }

function zurueck() {
  window.history.back();
  }


/* Element einblenden:
 * Der Inhalt der Containers "inhalt" (Text)
 * wird nach einer halben Sekunde eingeblendet */
var z = 0;
function show() {
 if(document.getElementById && (z < 1)) {
  setTimeout("show()", 500);
 }
 else {
  document.getElementById("inhalt").style.visibility = "visible";
  kurzNaviBlink();
 }
 z++;
}


/* Fenster schliessen */
function schliessen(){
 window.close();
 }


/* Seitenzahlen auf die Seite schreiben */
function seitenzahl(){
 var seite = parseInt(seitenZahl,10);
 document.write("- " + seite + " -");
 }

var ifenster;
/* Bild in einem kleinen Fenster öffnen */
function info(iname){
  var quelle = "info_" + iname + ".html";
  window.defaultStatus = quelle;
  ifenster = window.open(quelle,'info','width=500,height=500,left=100,top=100,resizeable=no,scrollbars=no,dependent=yes');
  ifenster.opener = self;
  ifenster.focus();
  }


/* Bild in einem kleinen Fenster öffnen */
function bild(bname){
  var quelle = "img_" + bname + ".html";
  window.defaultStatus = quelle;
  bfenster = window.open(quelle,'bild','width=500,height=500,left=100,top=100,resizeable=no,scrollbars=no,dependent=yes');
  bfenster.opener = self;
  bfenster.focus();
  }

/* Datum der Seiten automatisch beziehen */
function datum(){
 var datum = new Date(document.lastModified);
 var tagname = datum.getDay();
 var tagzahl = datum.getDate();
 var monat = datum.getMonth();
 var jahr = datum.getFullYear();
 getLanguage();

 if (br_sprache.indexOf("de") != -1) {
  var aenderung = de_wochentag[tagname] + ", den " + tagzahl + ". " + de_monatsname[monat] + " " + jahr;
  var ausgabe = "Zuletzt ge&auml;ndert am " + aenderung;
 }
 else if (br_sprache.indexOf("fr") != -1) {
  var aenderung = fr_wochentag[tagname] + ", le " + tagzahl + ". " + fr_monatsname[monat] + " " + jahr;
  var ausgabe = "Dernier changement: " + aenderung;
 }
 else {
  var zusatz =".th";
  var st = new Array(1,21,31);
  var nd = new Array(2,22);
  for (var i = 0; i < st.length; i++) {
   if(tagzahl == st[i])
    zusatz = ".st";
  }
  for (var i = 0; zusatz == "th" && i < nd.length; i++) {
   if (tagzahl == nd[i])
    zusatz = ".nd";
  }
  var aenderung = en_wochentag[tagname] + ", " + tagzahl + zusatz + " of " + en_monatsname[monat] + " " + jahr;
  var ausgabe = "Last Modified on " + aenderung;
 }
 document.writeln("<p>");
 document.write(ausgabe);
 document.writeln("</p>");
}

/* Email-Link aufrufen
 * Diese Funktion hat den Zweck die Email-Adresse vor sogenannten Robots,
 * welche Internetseiten nach Mail-Adressen durchsuchen, zu verstecken,
 * indem man auf der Seite Selbst keinen auslesbaren Textlink, sondern eine
 * Javascript-Funktion bereitstellt, die den Link client-seitig generiert.
 */
function mail(account,text,klasse,id) {
 var mailto = "mailto:";
 var domain = "hof-apotheke-karlsruhe.de";
 var at = "&#0064;";
 getLanguage();
 if (br_sprache.indexOf("en") != -1)
  var tooltipp = "Mail to: ";
 else
  var tooltipp = "Email an: ";

 document.write("<a href=\"" + mailto + account + at + domain + "\"");
 if(klasse)
  document.write(" class=\"" + klasse + "\"");
 if(id)
  document.write(" id=\"" + id + "\"");
 document.write(" title=\"" + tooltipp + account + at + domain + "\">");
 if (!text)
  document.write(account + at + domain);
 else
  document.write(text);
 document.write("</a>");
}

/* Besucherzähler
 * wenn man nicht online ist, soll er ausgeblendet sein.
 */
function besucherzaehler(){
 if (adresse.search(/http:+/) != -1) //adresse ist weiter oben definiert.
   document.writeln("<img src=\"http://cgi.hof-apotheke-karlsruhe.de/CGI/counter\" alt=\"Besucherzähler\">");
 }

/* Kurznavigation: bei Rollover Hintergrund einfärben
 * kurznavi() = einfärben,
 * trans ()   = transparent schalten.
 * Dieses Skript ist für IExplorer geschrieben worden,
 * in Mozilla funktioniert das auch so (über css).
 */
function kurznavi() {
 document.getElementById("kurznavi").style.background = "#F0F9FF";
}

function trans() {
 document.getElementById("kurznavi").style.background = "transparent";
}

var bz = 0;
function kurzNaviBlink() {

 var divKurznavi = document.getElementById("kurznavi");
 var bedingung = (divKurznavi && divKurznavi.style.visibility != "hidden");

 if(bz == 0 && bedingung) {
  kurznavi();
  setTimeout("kurzNaviBlink()",500);
 }
 else if (bz == 1 && bedingung) {
  trans();
  setTimeout("kurzNaviBlink()",500);
 }
 else if (bz == 2 && bedingung) {
  kurznavi();
  setTimeout("kurzNaviBlink()",500);
 }
 else if (bz == 3 && bedingung) {
  trans();
  setTimeout("kurzNaviBlink()",500);
 }
 else if (bz == 4 && bedingung) {
  kurznavi();
  setTimeout("kurzNaviBlink()",500);
 }
 else if (bz == 5 && bedingung) {
  trans();
  setTimeout("kurzNaviBlink()",500);
 }
 bz++;
}

/* HTML Validator für die Seite aufrufen
 * http://validator.w3.org
 */
function validHTML() {
 var htmlValidator = "http://validator.w3.org/check?uri=http%3A%2F%2Fwww.hof-apotheke-karlsruhe.de%2F";
 window.location.href = htmlValidator + seitenName;
 }

/* CSS Validator für das Standart-Stylesheet "default.css" aufrufen
 * http://jigsaw.w3.org/css-validator/validator-uri.html
 */
function validCSS() {
 var cssValidator = "http://jigsaw.w3.org/css-validator/validator?uri=http://www.hof-apotheke-karlsruhe.de/css/default.css";
 window.location.href = cssValidator;
 }

//
// phpOpenTracker - The Website Traffic and Visitor Analysis Solution
//
// Copyright 2000 - 2004 Sebastian Bergmann. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Id: standard.js,v 1.3 2005/02/02 19:45:45 u36883369 Exp $
//

var client_id = 12;

// Taken from http://www.jan-winkler.de/hw/artikel/art_j02.htm

function base64_encode(decStr) {
  var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
  var bits;
  var dual;
  var i = 0;
  var encOut = '';

  while(decStr.length >= i + 3) {
    bits = (decStr.charCodeAt(i++) & 0xff) <<16 |
           (decStr.charCodeAt(i++) & 0xff) <<8 |
            decStr.charCodeAt(i++) & 0xff;

    encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
              base64s.charAt((bits & 0x0003f000) >>12) +
              base64s.charAt((bits & 0x00000fc0) >> 6) +
              base64s.charAt((bits & 0x0000003f));
  }

  if(decStr.length -i > 0 && decStr.length -i < 3) {
    dual = Boolean(decStr.length -i -1);

    bits = ((decStr.charCodeAt(i++) & 0xff) <<16) |
           (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);

    encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
              base64s.charAt((bits & 0x0003f000) >>12) +
              (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') +
              '=';
  }

  return(encOut);
}

var resolution = window.screen.width + 'x' +
                 window.screen.height + 'x' +
                 window.screen.colorDepth + 'bit';

function webbug() {
 if (adresse.search(/http:+/) != -1) {
  document.write(
   '<img src="http://www.kaduro.de/image.php?' +
   'client_id='              + client_id + '&' +
   'document_url='           + base64_encode(document.URL) + '&' +
   'referer='                + base64_encode(document.referrer) + '&' +
   'add_data[]=resolution::' + resolution +
   '" alt="" width="1" height="1" />'
  );
 }
}
