// Get agent
var agent = navigator.userAgent.toLowerCase();

// Get major and minor version
var major_ver = parseInt(navigator.appVersion);
var minor_ver = parseFloat(navigator.appVersion);

// Internet Explorer
var is_ie = ((agent.indexOf('msie') != -1) && (agent.indexOf('opera') == -1));
var is_ie3 = (is_ie && (major_ver < 4));
var is_ie4 = (is_ie && (major_ver == 4) && (agent.indexOf('msie 4') != -1));
var is_ie4up = (is_ie && (major_ver >= 4));
var is_ie5 = (is_ie && (major_ver == 4) && (agent.indexOf('msie 5.0') != -1));
var is_ie5_5 = (is_ie && (major_ver == 4) && (agent.indexOf('msie 5.5') != -1));
var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
var is_ie5_5up = (is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6 = (is_ie && (major_ver == 4) && (agent.indexOf('msie 6.') != -1));
var is_ie6up = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);

// Navigator
var is_nav = ((agent.indexOf('mozilla')!=-1) && (agent.indexOf('spoofer')==-1) 
	     && (agent.indexOf('compatible') == -1) && (agent.indexOf('opera')==-1)
	     && (agent.indexOf('webtv')==-1) && (agent.indexOf('hotjava')==-1));
var is_nav2 = (is_nav && (major_ver == 2));
var is_nav3 = (is_nav && (major_ver == 3));
var is_nav4 = (is_nav && (major_ver == 4));
var is_nav4up = (is_nav && (major_ver >= 4));
var is_navonly = (is_nav && ((agent.indexOf(';nav') != -1) ||
                 (agent.indexOf('; nav') != -1)));
var is_nav6 = (is_nav && (major_ver == 5));
var is_nav6up = (is_nav && (major_ver >= 5));
var is_gecko = (agent.indexOf('gecko') != -1);

// AOL
var is_aol = (agent.indexOf('aol') != -1);
var is_aol3 = (is_aol && is_ie3);
var is_aol4 = (is_aol && is_ie4);
var is_aol5 = (agent.indexOf('aol 5') != -1);
var is_aol6 = (agent.indexOf('aol 6') != -1);

// Opera - spoofs Navigator
var is_opera = (agent.indexOf('opera') != -1);
var is_opera2 = (agent.indexOf('opera 2') != -1 || agent.indexOf('opera/2') != -1);
var is_opera3 = (agent.indexOf('opera 3') != -1 || agent.indexOf('opera/3') != -1);
var is_opera4 = (agent.indexOf('opera 4') != -1 || agent.indexOf('opera/4') != -1);
var is_opera5 = (agent.indexOf('opera 5') != -1 || agent.indexOf('opera/5') != -1);
var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);

// WebTV - spoofs Navigator
var is_webtv = (agent.indexOf('webtv') != -1); 
var is_navigatortv = ((agent.indexOf('navio') != -1) || (agent.indexOf('navio_aoltv') != -1)); 
var is_aoltv = is_navigatortv;

// Hot Java
var is_hotjava = (agent.indexOf('hotjava') != -1);
var is_hotjava3 = (is_hotjava && (major_ver == 3));
var is_hotjava3up = (is_hotjava && (major_ver >= 3));
