function GP_browser_ie() {
  var ua = navigator.userAgent.toLowerCase();
  return (ua.indexOf("msie") > -1);
}
function GP_browser_opera() {
  var ua = navigator.userAgent.toLowerCase();
  return (ua.indexOf("opera") > -1);
}
function GP_browser_n6() {
  var ua = navigator.userAgent.toLowerCase();
  return (ua.indexOf("netscape6") > -1);
}
function GP_browser_nn() {
  var ua = navigator.userAgent.toLowerCase();
  return (!GP_browser_ie() && 
          !GP_browser_opera() &&
          !GP_browser_n6() &&
          ua.indexOf("compatible") == -1 &&
          ua.indexOf("hotjava") == -1 &&
          ua.indexOf("webtv") == -1);
}
function browser_version() {
  var ua = navigator.userAgent.toLowerCase();
  if (GP_browser_ie()) {
    var x = ua.indexOf("msie") + 5 // "MSIE/"
    var v = parseFloat(ua.substring(x, ua.length));
    if (isNaN(v))
      v = 0;
    return v;
  }
  if (GP_browser_opera()) {
    var x = ua.indexOf("opera") + 6 // "Opera/"
    var v = parseFloat(ua.substring(x, ua.length));
    if (isNaN(v))
      v = 0;
    return v;
  }
  if (GP_browser_n6()) {
    var x = ua.indexOf("netscape6") + 10 // "Netscape6/"
    var v = parseFloat(ua.substring(x, ua.length));
    if (isNaN(v))
      v = 0;
    return v;
  }
  if (GP_browser_nn()) {
    var x = ua.indexOf("mozilla") + 8 // "Mozilla/"
    var v = parseFloat(ua.substring(x, ua.length));
    if (isNaN(v))
      v = 0;
    return v;
  }
  // ansonsten: unbekannte Browserversion
  var v = parseFloat(navigator.appVersion); 
  if (isNaN(v))
    v = 0;
  return v;
}

