/* Javascript für kaduro
 * config variables
 */
var domain = "fahrzeugbaumueller";
var client_id = 15;

var sPilot;

function allLoad()
{
 frameBuster();
 userData();
 onResize();
 //w3cLink();
 targetController(true);
 //stylePilotWindow();
}

function allUnload()
{

}

/* Elemente ein- ausblenden */
function changeElementCSSVisibility(elementID,visibility) 
{
	if(document.getElementById && document.getElementById(elementID))
	 document.getElementById(elementID).style.visibility = visibility;
}

function changeElementCSSDisplay(elementID,display) 
{
	if(document.getElementById && document.getElementById(elementID))
	 document.getElementById(elementID).style.display = display;
}/* Hier werden alle Hyperlinks auf Ihr Ziel hin untersucht.
 * Gegebenenfalls wird das href-Attribut ersetzt durch eine JS-Funktion
 * um externe Links in einem neuen Fenster zu ?ffnen.
 * boolean cssModul speichert ob der StylePilot zum Einsatz kommt. 
 */
 
function controllHrefTarget(cssModul) // public
{
 if (!cssModul)
  var cssModul = false;
 var hyperLink = document.getElementsByTagName("a");
 var linkHref;
 var actualHref = window.location.href;
 for (var i = 0;  i < hyperLink.length; i++)
 {
  linkHref = hyperLink[i].getAttribute("href");
  if (isOnline()
	  && startsWithHTTP(linkHref)
      && !haveSameDomain(actualHref,linkHref))
  {
   hyperLink[i].setAttribute("href","javascript: openNewWindow(\"" + linkHref + "\",\"extern\")");
   hyperLink[i].setAttribute("title","Dieser Link verweist auf eine externe Seite und wird in einem neuen Fenster ge?ffnet");
  }
  else if (!isOnline() && startsWithHTTP(linkHref))
  {
   hyperLink[i].setAttribute("href","javascript: openNewWindow(\"" + linkHref + "\",\"extern\")");
   hyperLink[i].setAttribute("title","Dieser Link verweist auf eine externe Seite und wird in einem neuen Fenster ge?ffnet");
  }
  else if (cssModul && (linkHref.indexOf("mailto:") == -1
  	  && linkHref.indexOf("javascript:") == -1
	  && getActualCSS() != "default"))
  {
   hyperLink[i].setAttribute("href",linkHref + "?" + getActualCSS());
  }
 }
}

function targetController()   // public, DEPRECATED!
{
 controllHrefTarget();
}

function startsWithHTTP(linkHref) {
 return (linkHref.indexOf("http://") != -1) || (linkHref.indexOf("https://") != -1);
}

function openNewWindow(location,windowName,windowParameters)
{
 if(!windowName)
  windowName = "neu";
 if(!windowParameters)
  windowParameters = "";
 zFenster = window.open(location,windowName,windowParameters);
 zFenster.opener = self;
 zFenster.focus();
}

function haveSameDomain(href1,href2)
{ 
 return (getDomain(href1) == getDomain(href2));  
}


function getDomain(href)
{
 var teilstueck = href.split("/"); 
 return teilstueck[2]; 
 /* Bsp. http://www.kaduro.de/imah/index.html
  * 0 = http:
  * 1 = [nichts]
  * 2 = www.kaduro.de
  * 3 = imah
  * 4 = index.html  
  */ 
}

/* Pr?ft, ob sich der Link im Selben Unterverzeichnis auf der Domain befindet */
function haveSameDirectory(href1,href2)
{
  return (getDir(href1) == getDir(href2)); 
}

function getDir(href)
{
 var directory = href.split("/");
 if(directory.length > 3)
  return directory[3]; 
}



/* Javascript für kaduro
 * Erstellt und zusammengestellt
 * von Dominique Steppeler
 */


/* 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;

/* Browser- und Sprachspezifische Daten ermitteln  */

function getLocationHref() // gibt die komplette URL zurück
{
 return window.location.href;
}

function getSiteName() // gibt den Seitennamen zurück
{
 return getLocationHref().substring((getLocationHref().lastIndexOf("/") + 1),(getLocationHref().indexOf(".html")+ 5));
}

function getLanguage() // gibt die Sprache des Browsers zurück
{
 if (navigator.language) {
  br_sprache = navigator.language.toLowerCase();
  netscape++;
 }
 else {
  br_sprache = navigator.userLanguage.toLowerCase();
  explorer++;
 }
 return br_sprache;
}

function getMonthName() // gibt die Monatsnamen der jeweiligen Sprache zurück
{
 var monatsname;
 if (getLanguage().indexOf("de") != -1)
 {
  monatsname = new Array("Januar","Februar","März","April",
  			"Mai","Juni","Juli","August","September",
                         "Oktober","November","Dezember");
 }
 else if (getLanguage().indexOf("fr") != -1)
 {
  monatsname = new Array("Janvier","F&eacute;vrier","Mars",
  			"Avril","Mai","Juin","Juillet",
                         "Ao&ucirc;t","Septembre","Oktobre",
                         "Novembre","Dezembre");
 }
 else
 {
  monatsname = new Array("January","February","March","April","May",
  			"June","July","August","September","October",
                         "November","December");
 }
 return monatsname;
}

function getDayName()  // gibt die Namen der Wochentage der jew. Sprache zurück
{
 var wochentag;
 if (getLanguage().indexOf("de") != -1)
 {
  wochentag = new Array("Sonntag","Montag","Dienstag","Mittwoch",
  		       "Donnerstag","Freitag","Samstag");
 }
 else if (getLanguage().indexOf("fr") != -1)
 {
  wochentag = new Array("Dimanche","Lundi","Mardi","Mercredi",
  		       "Jeudi","Vendredi","Samedi");
 }
 else
 {
  wochentag = new Array("Sunday","Monday","Tuesday","Wednesday",
  		       "Thursday","Friday","Saturday");
 }
 return wochentag;
}

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++;
 }
 if(br_identifikation.indexOf("opera") != -1)
 {
  opera++;
 }
}

function styleSheet(ordner)
{
 var fileName;
 if (!ordner)
  var ordner = "";

 if (br_identifikation.indexOf("opera") != -1)
 {
  var version = getOperaVersion();
  if (version < 7)
  {
    fileName = "opera6";
  }
  else if (version < 8) 
  {
   fileName = "opera7"   
  }
  else
  {
   fileName = "opera8" 
  }
  document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + ordner+ "css/" + fileName + ".css\">");
  opera++;
 }
}

function getOperaVersion()
{
    return parseInt(br_identifikation.substring(br_identifikation.indexOf("opera") + 6, br_identifikation.indexOf("opera") + 7),10);
}


function isOnline() // kontrolliert ob Online oder Offline gearbeitet wird
{
 if (getLocationHref().indexOf("http://") != -1)
  return true;
 else
  return false;
}

function frameBuster()  // Frameset sprengen!
{
 if( window.top != window )
  window.top.location = window.location;
}

function w3cLink()
{
 if (isOnline() == true)
  document.getElementById("W3C").style.display = "block";
 else
  document.getElementById("W3C").style.display = "none";
}

/* 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);
}


/* Grundfunktionalitäten */
function schliessen()
{
 window.close();
}

function histBack()
{
 window.history.go(-1);
}

function histNext()
{
 window.history.go(+1);
}

function seiteDrucken() 
{
 window.print();
}


/* 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 outputMailToLink(account,text,klasse,id)
{
 var mailto = "mailto:";
 var at = "&#0064;";
 
 if (!account)
  account = "info";
 var emailAdress = account + at + domain + ".de";
 
 document.write("<a href=\"" + mailto + emailAdress + "\"");
 if(klasse)
  document.write(" class=\"" + klasse + "\"");
 if(id)
  document.write(" id=\"" + id + "\"");
 document.write(" title=\"Email an: " + emailAdress + "\">");
 if (!text)
  document.write(emailAdress);
 else
  document.write(text);
 document.write("</a>");
}

function mail(account,text,klasse,id)
{
    //deprecated DON`T USE THIS FUNCTION
    outputMailToLink(account,text,klasse,id)
}

function outputKaduroMailToLink(account,text,klasse,id) 
{
	thisdomain = domain;
	domain = "kaduro";
	outputMailToLink(account,text,klasse,id);
	domain = thisdomain;
}

/* 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();


 if (getLanguage().indexOf("de") != -1)
 {
  var aenderung = getDayName()[tagname] + ", den " + tagzahl + ". " + getMonthName()[monat] + " " + jahr;
  var ausgabe = "Zuletzt ge&auml;ndert am " + aenderung;
 }
 else if (getLanguage().indexOf("fr") != -1)
 {
  var aenderung = getDayName()[tagname] + ", le " + tagzahl + ". " + getMonthName()[monat] + " " + jahr;
  var ausgabe = "Dernier changement: " + aenderung;
 }
 else
 {
  var zusatz;

  if(tagzahl == 1 || tagzahl == 21 || tagzahl == 31)
   zusatz = "st";
  else if (tagzahl == 2 || tagzahl == 22)
   zusatz = "nd";
  else
   zusatz ="th";

  var aenderung = getDayName()[tagname] + ", " + tagzahl + zusatz + " of " + getMonthName()[monat] + " " + jahr;
  var ausgabe = "Last Modified on " + aenderung;
 }
 document.write(ausgabe);
}

function checkHTMLValidity()
{
 checkURI = "http://validator.w3.org/check?verbose=1&uri=" + getLocationHref();
 openNewWindow(checkURI,"extern");
}


//
// 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: webbug.js,v 1.1 2005/10/07 21:22:13 u36883369 Exp $
//

// 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);
}

function webbug(clientID)
{
 var resolution = window.screen.width + 'x' +
                 window.screen.height + 'x' +
                 window.screen.colorDepth + 'bit';
 
 if (!clientID) 
  clientID = client_id;
 if (isOnline())
 {
  document.write(
   '<img src="http://www.kaduro.de/image.php?' +
   'client_id='              + clientID + '&' +
   'document_url='           + base64_encode(document.URL) + '&' +
   'referer='                + base64_encode(document.referrer) + '&' +
   'add_data[]=resolution::' + resolution +
   '" alt="" width="1" height="1" />'
  );
 }
}
