// Browser and Operating System Sniffer

// GLOBAL VARIABLES
var usrAgt = navigator.userAgent.toLowerCase(); // User Agent information
var versNum = parseInt(navigator.appVersion.substring(0,1)); // Browser Version Number
var versNum_nn = parseFloat(navigator.appVersion);

// OS X Sniffer function
function sniff_MacOSX() {
	if(!os_Mac) return false;
	if(usrAgt.indexOf("mac os x") != -1) return true;
	for(var i=0;i<navigator.plugins.length;i++) {
		if(navigator.plugins[i].name.toLowerCase()=="default plugin carbon.cfm") return true;
	}
	return false;
}

// OPERATING SYSTEMS
var os_Win = (usrAgt.indexOf("win") != -1); // Windows OS
var os_Mac = (usrAgt.indexOf("mac") != -1); // Macintosh OS
var os_MacOSX = sniff_MacOSX(); // Mac OS X
var os_Other = (!os_Win && !os_Mac); // neither windows or macintosh

// BROWSERS
var br_NN = (navigator.appName.indexOf("Netscape") != -1); // any version of Netscape Navigator
var br_IE = (navigator.appName.indexOf("Microsoft") != -1); // any version of Internet Explorer
var br_NN4 = (br_NN && (versNum == 4)); // only Netscape 4 - use this for writing layer tags
var br_IE4 = (br_IE && (versNum >= 4)); // IE 4 and higher
var br_NN4su = (br_NN4 && netscape.softupdate.Trigger.UpdateEnabled()); // netscape 4 with smart update enabled
var br_Opera = (usrAgt.indexOf("opera") != -1); // Opera
var br_Gecko = ((usrAgt.indexOf("gecko") != -1) && (versNum >= 5)); // All Gecko browsers - NN6, Mozilla, etc.
if (usrAgt.indexOf(" cs ") != -1) var br_Compu = true; else br_Compu = false; // CompuServe 2000 or greater - Gecko based
var br_Safari = (usrAgt.indexOf("safari") != -1); // OS X Safari
