﻿//-UTF-8----------------------------------------------------------------------
//
//  Browser-Test-Script für                        www.senotto.de
//
//  peter@danninger.eu                             6. 2. 2012
//----------------------------------------------------------------------------
//
// globale Variable
//
var COOKIE = false;     // Cookies enabled
var JAVA = false;       // Java enabled
var DOM = false;        // DOM verfügbar (aktueller Browser !)
var MSIE = false;       // IExplore
var MOZILLA = false;    // Mozilla, Netscape
var OPERA = false;      // Opera
var APPNAME = "";       // Browser-Name
var APPVERSION = "";    // Browser-Version
var BROWSER = "";       // brauchbare Browser-Version
var HINWEIS = "";       // Browser-Hinweis

var tm = 0;
//var tm = 100;           // Test der Fehlerseite

// setzen der globalen Variablen ---------------------------------------------
//
function browserCheck (bt) {
  APPNAME = navigator.appName;
  APPVERSION = navigator.appVersion;
  USERAGENT = navigator.userAgent;
//alert (bt+"   APPNAME= "+APPNAME+"\nAPPVERSION= "+APPVERSION+"\nUSERAGENT= "+USERAGENT);
  JAVA = navigator.javaEnabled();
  COOKIE = cookieEnabled();
  BROWSER = "";
  MESSAGE = "";
  var i,s,v;
  if (window.opera) {
    OPERA = true;
  }
  if (document.getElementById) {
    DOM = true;
  }
  if ((typeof document.all == "object") && !OPERA) {
    MSIE = true;
  }
  if (window.netscape && window.screen && !OPERA) {
    MOZILLA = true;
  }
  var moz = "Mozilla Firefox";
  var moz_min = 3.0;                          // getestete Browserversion (ältere können trotzdem funktionieren)
  var iex = "Microsoft Internet Explorer";
  var iex_min = 8.0;                          // Der IE erfordert mindestens die Version 8.0, und das nur mit Workaround
  var ope = "Opera";
  var ope_min = 9.8;
  var saf = "Apple Safari";
  var saf_min = 528.0;
  var chr = "Google Chrome";
  var chr_min = 3.0;
  HINWEIS = "";
  if (APPNAME.indexOf("Netscape") == 0 && USERAGENT.indexOf("Apple") < 0) {
     i = USERAGENT.indexOf("Firefox/");
     s = USERAGENT.substring(i+8);
     BROWSER = moz + " " + s;
     v = parseFloat(s) - tm;
     if (v < moz_min)       HINWEIS = "Mozilla Firefox V" + v;
  } else if (APPNAME.indexOf(iex) == 0) {
     i = USERAGENT.indexOf("MSIE ");
     s = USERAGENT.substring(i+5);
     s = s.substring(0,s.indexOf(";"));
     BROWSER = iex + " " + s;
     v = parseFloat(s) - tm;
     if (v < iex_min)       HINWEIS = "Internet Explorer V" + v;
  } else if (APPNAME.indexOf(ope) == 0) {
     i = USERAGENT.indexOf("Opera/");
     s = USERAGENT.substring(i+6);
     s = s.substring(0,s.indexOf("("));
     BROWSER = ope + " " + s;
     v = parseFloat(s) - tm;
     if (v < ope_min)       HINWEIS = "Opera V" + v;
  } else if (USERAGENT.indexOf("Apple") >= 0 && USERAGENT.indexOf("Chrome") < 0) {
     i = USERAGENT.lastIndexOf("Safari/");
     s = USERAGENT.substring(i+7);
     BROWSER = saf + " " + s;
     v = parseFloat(s) - tm;
     if (v < saf_min)       HINWEIS = "Apple Safari V" + v;
  } else if (USERAGENT.indexOf("Chrome") >= 0) {
     i = USERAGENT.lastIndexOf("Chrome/");
     s = USERAGENT.substring(i+7);
     s = s.substring(0,s.indexOf(" "));
     BROWSER = chr + " " + s;
     v = parseFloat(s) - tm;
     if (v < chr_min)       HINWEIS = "Google Chrome V" + v;
  }
  if (bt == 1) {                                                                  // alert mit Browserversion
    alert ("APPNAME= "+APPNAME+"\n\rAPPVERSION= "+APPVERSION+"\n\rUSERAGENT= "+USERAGENT);
    //alert ("Ihr Browser:  " + BROWSER + ((HINWEIS == "") ? "" : ("\n" + HINWEIS)));
    location.replace (location.href.substring (0, location.href.indexOf ("?")));
  } else if (bt == 0 && HINWEIS != "" && location.href.indexOf ("?test") < 0) {   // evtl. BrowserNichtAktuell.html anzeigen
    //alert ("Ihr " + HINWEIS + " ist nicht aktuell - bitte aktualisieren !");
    //if (MSIE)   location.replace ("http://www.microsoft.com/germany/windows/internet-explorer/worldwide-sites.aspx");
    if (location.href.indexOf ("BrowserNichtAktuell.html") < 0)   location.replace ("./BrowserNichtAktuell.html");
  }
}
//
// Anzeige Browser in Datei BrowserNichtAktuell.html (Tag-ID "browser")
//
function getBrowser () {
  var i, e, ch;
  browserCheck (2);
  e = document.getElementById("browser");
  if (typeof e != "object" || e == null)      return;
  ch = e.childNodes;
  i = ch.length;
  while (--i >= 0) {
    e.removeChild(ch[i]);
  }
  with (e.style) {
    overflow = "hidden";
    width =  "200px";
    height = "20px";
    color = "#0000ff";;
    backgroundColor = "#eeeeee";
    fontSize = "14px";
    verticalAlign = "middle";
    textAlign = "center";
  }
  e.appendChild(document.createTextNode(BROWSER));
}
//
// Test ob Cookies enabled ---------------------------------------------------
//
function cookieEnabled () {
  if (navigator.cookieEnabled == true)          return(true);
  else if (navigator.cookieEnabled == false)    return(false);
  else {
    var myCookie = "";
    document.cookie = "test";
    if (document.cookie)        myCookie = document.cookie;
    return(myCookie.indexOf("test") >= 0);
  }
}
//
// get parent URL ------------------------------------------------------------
//
function getParentURL () {
  var plh = parent.location.href;
  var amp = plh.indexOf ('&');          // Seite explizit per URL aufgerufen
  if (amp > 0)      plh = plh.substring (0, amp)
  return (plh);
}
//
// the end
//

