/*
 Browser.js - Browser

 Implementiert die Klasse 'Browser' und stellt sie als Objekt zur Verfügung. Diese Klasse bzw ihre Eigenschaften sind
 notwendig, um browserunabhängige JavaScripts zu implementieren.

 Eigenschaften
 - out string Name = Internet Explorer|Safari|Navigator|Firefox|Unbekannt: Name
 - out float Version = [Version]|0: Version
 - out string Betriebssystem = Windows|Macintosh|Unbekannt: Betriebssystemfamilie

 Methoden
 - out boolean kompatibel(): Kompatibilität prüfen

 Geschichte
 19.06.2003, MJung, Erstellung
 19.12.2003, MJung, Neuer Browser Safari 1.0
 14.12.2004, MJung, Neuer Browser Firefox 1.0

 Copyright 2004 dezember und juli gmbh (Schweiz). Alle Rechte vorbehalten
*/


// Installieren

Browser = new BrowserKlasse()


// Konstruktor

function BrowserKlasse()
{

 // Eigenschaften
 this.Name = BrowserName()
 this.Version = BrowserVersion()
 this.Betriebssystem = BrowserBetriebssystem()

 // Methoden
 this.kompatibel = BrowserKompatibel
}


// Name

function BrowserName()
{

 if (navigator.appName == 'Microsoft Internet Explorer') return 'Internet Explorer'
 if (/Safari/.test(navigator.userAgent) == true) return 'Safari'
 if (/Netscape/.test(navigator.userAgent) == true) return 'Navigator'
 if (/Firefox/.test(navigator.userAgent) == true) return 'Firefox'
 return 'Unbekannt'
}


// Version

function BrowserVersion()
{

 var Name = BrowserName()

 if (document.layers) return 4
 if (Name == 'Internet Explorer') return parseFloat(/MSIE \d+\.\d+/.exec(navigator.appVersion)[0].substr(5))
 if (Name == 'Safari') return 1
 if (Name == 'Navigator') return parseFloat(/Netscape\/\d+\.\d/.exec(navigator.userAgent)[0].substr(9))
 if (Name == 'Firefox') return parseFloat(/Firefox\/\d+\.\d/.exec(navigator.userAgent)[0].substr(8))
 return 0
}


// Betriebssystem

function BrowserBetriebssystem()
{

 if (/Win/.test(navigator.platform) == true) return 'Windows'
 if (/Mac/.test(navigator.platform) == true) return 'Mac OS'
 return 'Unbekannt'
}


// Prüfe Kompatibilität

function BrowserKompatibel()
{

 var Name = BrowserName()
 var Version = BrowserVersion()
 var Betriebssystem = BrowserBetriebssystem()

 if (Name == 'Internet Explorer' && Version >= 5 && Betriebssystem != 'Unbekannt') return true
 if (Name == 'Safari' && Betriebssystem == 'Mac OS') return true
 if (Name == 'Navigator' && Version >= 7 && Betriebssystem != 'Unbekannt') return true
 if (Name == 'Firefox' && Version >= 1 && Betriebssystem != 'Unbekannt') return true
 return false
}
