/* convert al 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 _ns5   = (_ns && (_major == 5));
var _ns5up = (_ns && (_major >= 5));

/* 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 && (_major && !_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);

/* opera */
var _opera = (_agent.indexOf("opera") != -1);

/* web tv */
var _webtv = (_agent.indexOf("webtv") != -1);

/* iCab (mac only) */
var _icab = (_agent.indexOf("icab") != -1);


