var agt = navigator.userAgent.toLowerCase();
var appVer = navigator.appVersion.toLowerCase();
var is_minor = parseFloat(appVer);
var is_major = parseInt(is_minor);

// Note: On IE, start of appVersion return 3 or 4
// which supposedly is the version of Netscape it is compatible with.
// So we look for the real version further on in the string

var iePos  = appVer.indexOf('msie');
if (iePos !=-1) {
   is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)))
   is_major = parseInt(is_minor);
}

var is_gecko = ((navigator.product)&&(navigator.product.toLowerCase()=="gecko"));

var is_moz   = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
				(agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1) &&
				(agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1) &&
				(is_gecko) && ((navigator.vendor=="")||(navigator.vendor=="Mozilla")||(navigator.vendor=="Firefox")||(navigator.vendor=="Google Inc.")||(navigator.vendor=="Ubuntu")));

if (is_moz) {
   var is_moz_ver = (navigator.vendorSub)?navigator.vendorSub:0;
   if(!(is_moz_ver)) {
	   is_moz_ver = agt.indexOf('rv:');
	   is_moz_ver = agt.substring(is_moz_ver+3);
	   is_paren   = is_moz_ver.indexOf(')');
	   is_moz_ver = is_moz_ver.substring(0,is_paren);
   }
   is_minor = is_moz_ver;
   is_major = parseInt(is_moz_ver);
}

var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
			&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
			&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)
			&& (!is_moz));
var is_opera = (agt.indexOf("opera") != -1);
var is_ie = ((iePos!=-1) && (!is_opera));