// Check browser compatibility //

function checkBrowser(normal_url, mobile_url) {
  var msg = "";

  mobile = mobilePhone();
  if (1 == mobile) {
    msg = "You are using a mobile phone.\n\nClick  OK  to go to a simplified version of this website, or\n\nClick  Cancel  to continue to the normal version.\n\n";
    if (confirm(msg)) {
      return mobile_url;
    }
  }

  params = browserTests();
  if (null === params) {
    return normal_url;
  }
  else {
    //  var browser = params[0];
    //  var app     = params[1];
    //  var version = params[2];
    //  var offset  = params[3];
    var url = params[4];
    var title = params[5];

    msg = "This version of " + title + " is not supported.\nGo to " + url + " to upgrade.\n\nClick  OK  to upgrade, or click  Cancel  to continue.\n\n";
    if (confirm(msg)) {
      return url;
    }
    else {
      return normal_url;
    }
  }
}

// Detect Mobile-phones
function mobilePhone() {
  var mobile = new Array("BlackBerry", "MobilePhone", "NetFront", "Nokia", "Opera Mini", "Opera Mobi", "S60", "SEMC-Browser", "Samsung", "Series60", "SonyEricsson", "SymbOS", "Symbian", "SymbianOS", "UP.Browser", "UP.Link", "Windows CE", "iPhone");
  for (var i = 0; i < mobile.length; i++ ) {
    if (navigator.userAgent.indexOf(mobile[i]) != -1) {
      return 1;
    }
  }
  return 0;
}


// Returns browser update array or null if OK
function browserTests() {
  var N = -1;
  var unknown = new Array("", "", 0, 0, "http://www.mozilla.com", "your browser");
  var MSIE    = new Array("Microsoft Internet Explorer", "; MSIE ", 8.0, 7, "http://www.microsoft.com/windows/internet-explorer/default.aspx", "Microsoft Internet Explorer");
  var Opera   = new Array("Opera",    "Opera",   10.60,  6, "http://www.opera.com/download/",        "Opera");
  var Firefox = new Array("Netscape", "Firefox",  3.6,   8, "http://www.mozilla.com/",               "Mozilla Firefox");
  var Chrome  = new Array("Netscape", "Chrome",   5.0,   7, "http://www.google.com/chrome/",         "Google Chrome");
  var Safari  = new Array("Netscape", "Safari",   5.0,  -6, "http://www.apple.com/safari/download/", "Apple Safari");

  N = browserTest(MSIE);
  if (N == 0) {
    return MSIE;
  }
  if (N == 1) {
    return null;
  }

  N = browserTest(Opera);
  if (N == 0) {
    return Opera;
  }
  if (N == 1) {
    return null;
  }

  N = browserTest(Firefox);
  if (N == 0) {
    return Firefox;
  }
  if (N == 1) {
    return null;
  }

  N = browserTest(Chrome);
  if (N == 0) {
    return Chrome;
  }
  if (N == 1) {
    return null;
  }

  N = browserTest(Safari);
  if (N == 0) {
    return Safari;
  }
  if (N == 1) {
    return null;
  }

  return unknown;
}


// Test browser type and version.  Returns: 1=Good; 0=Bad; -1=Unknown
function browserTest(params) {
  var N;
  var browser = params[0];
  var app = params[1];
  var version = params[2];
  var offset = params[3];
  //var url     = params[4];
  //var title   = params[5];
  if (navigator.appName.indexOf(browser) != -1 && navigator.userAgent.indexOf(app) != -1) {
    N = navigator.userAgent.indexOf(app);
    if (parseFloat(navigator.userAgent.substr(N + offset)) < version) {
      return 0;
    }
    else {
      return 1;
    }
  }
  else {
    return - 1;
  }
}