function get_browserinfo()
{
  var info = navigator.userAgent;
  var i    = -1;
  var browser_info = [];
      browser_info.os_vendor  = "Unknown";
      browser_info.os_version = "Unknown";
      browser_info.type       = "Unknown";
      browser_info.version    = "Unknown";

  if (info.indexOf("MSIE") > 0)
  {
    i = info.indexOf("MSIE");
    browser_info.type    = "MSIE";
    browser_info.version = info.substr(i+5,info.indexOf(";",i+5)-i-5);
    if (info.indexOf("Win") > 0)
    {
      i = info.indexOf("Win");
      browser_info.os_vendor    = "Microsoft";
      browser_info.os_version = info.substr(i,info.length-1-i);
    }
    else if (info.indexOf("Mac") > 0)
    {
      i = info.indexOf("Mac");
      browser_info.os_vendor  = "Apple";
      i = i;
      j = info.indexOf(")",i);
      browser_info.os_version = info.substr(i,j-i);
    }
  }
  
  else if (info.indexOf("Safari") > 0)
  {
    i = info.indexOf("Safari");
    browser_info.type    = "Safari";
    browser_info.version = info.substr(i+7,info.length);
    if (info.indexOf("Windows") > 0)
      browser_info.os_vendor  = "Microsoft";
    else    
      browser_info.os_vendor  = "Apple";
    i = info.indexOf("(");
    i = info.indexOf(";",i+1);
    i = info.indexOf(";",i+1)+2;
    j = info.indexOf(";",i+1);
    browser_info.os_version = info.substr(i,j-i);
  }

  else if (info.indexOf("Opera") > 0)
  {
    i = info.indexOf("Opera");
    browser_info.type    = "Opera";
    browser_info.version = info.substr(i+6,info.length-1);
  }
  
  else if (info.indexOf("Firefox") > 0)
  {
    i = info.indexOf("Firefox");
    browser_info.type    = "Firefox";
    browser_info.version = info.substr(i+8,info.length);
  }
  
  else if (info.indexOf("Mozilla") >= 0)
  {
    i = info.indexOf("Mozilla");
    browser_info.type    = "Netscape";
    browser_info.version = info.substr(i+8,info.indexOf(" "));
  }

  if (browser_info.type == "Firefox" || 
      browser_info.type == "Netscape")
  {
    if (info.indexOf("Win") > 0)
    {
      i = info.indexOf("Win");
      browser_info.os_vendor  = "Microsoft";
      browser_info.os_version = info.substr(i+3,i+5);
    }
    else if (info.indexOf("Mac") > 0)
    {
      i = info.indexOf("Mac ");
      browser_info.os_vendor  = "Apple";
      browser_info.os_version = info.substr(i+3,i+5);
    }
    else if (info.indexOf("X11") > 0)
    {
      i = info.indexOf("X11");
      browser_info.os_vendor  = "Unix";
      browser_info.os_version = info.substr(i+8,info.length-1);
    }
    i = info.indexOf("(");
    i = info.indexOf(";",i+1);
    i = info.indexOf(";",i+1)+2;
    j = info.indexOf(";",i+1);
    browser_info.os_version = info.substr(i,j-i);
  }

  
  return browser_info;
}

