/* convert all characters to lowercase to simplify testing */
  var _agent = navigator.userAgent.toLowerCase();

/* platform */
  var _win = (_agent.indexOf('win') != -1);
  var _mac = (_agent.indexOf('mac') != -1);

/* browser version */
  var _major = parseInt(navigator.appVersion);
  var _minor = parseFloat(navigator.appVersion);

/* netscape */
  var _ns    = ((_agent.indexOf('mozilla') != -1) && (_agent.indexOf('compatible') == -1));
  var _ns2   = (_ns && (_major == 2));
  var _ns3   = (_ns && (_major == 3));
  var _ns4   = (_ns && (_major == 4));
  var _ns4up = (_ns && (_major >= 4));
  var _nav   = (_ns && ((_agent.indexOf(';nav') != -1) || (_agent.indexOf('; nav') != -1)));
  var _ns6   = ((_agent.indexOf('gecko') != -1) && (_major == 5));
  var _ns61  = (_ns6 && (_agent.indexOf('netscape6/6.1') != -1));
  var _ns62  = (_ns6 && (_agent.indexOf('netscape6/6.2') != -1));

/* internet explorer */
  var _ie    = (_agent.indexOf('msie') != -1);
  var _ie3   = (_ie && (_major < 4));
  var _ie4   = (_ie && (_major == 4) && (_agent.indexOf('msie 5') == -1));
  var _ie4up = (_ie && (_major >= 4));
  var _ie45  = (_ie && (_minor == 4.5));
  var _ie5   = (_ie && (_major == 4) && (_agent.indexOf('msie 5') != -1));
  var _ie5up = (_ie && !_ie3 && !_ie4);
  var _ie6   = (_ie && (_major == 4) && (_agent.indexOf('msie 6') != -1));

/* america online */
  var _aol   = (_agent.indexOf('aol') != -1);
  var _aol3  = (_aol && _ie3);
  var _aol4  = (_aol && _ie4);

/* opre */
  var _opera = (_agent.indexOf('opera') != -1);

/* web tv */
  var _webtv = (_agent.indexOf('webtv') != -1);

/* iCab (mac only) */
  var _icab  = (_agent.indexOf('icab') != -1);
