// The following provides general functions for browser detections
// annoying to do so but necessary.

var isNav          = (navigator.appName.indexOf("Netscape") > -1);
var isIE           = (navigator.appName.indexOf("Explorer") > -1);
var isMoz          = ((navigator.userAgent.indexOf("Gecko") > -1) && 
							 (navigator.userAgent.indexOf("Netscape") < 0));
var isSaf		   = (navigator.userAgent.indexOf("Safari") > -1);
var isFirefox      = (navigator.userAgent.indexOf("Firefox") > -1);

var begin           = isIE ? (navigator.appVersion.indexOf("MSIE")+5) : 0;
var end             = navigator.appVersion.indexOf('.',begin);
var appVersionMajor = new Number(navigator.appVersion.substring(begin,(end>-1) ? end : navigator.appVersion.length()-1));

var isNav4OrBetter = isNav && (appVersionMajor >= 4);
var isNav6OrBetter = isNav && (appVersionMajor >= 5); // appVersion on netscape 6 is 5.0
var isNav7OrBetter = isNav6OrBetter && (navigator.userAgent.indexOf("Netscape/7") > -1);

var isIE4OrBetter  = isIE && (appVersionMajor >= 4);
var isIE5OrBetter  = isIE && (appVersionMajor >= 5);
var isIE6OrBetter  = isIE && (appVersionMajor >= 6);

var isWindows = (navigator.platform.indexOf("Win") >= 0); 
var isUnix    = (navigator.platform.indexOf("nix") >= 0); 
var isMac     = (navigator.platform.indexOf("Mac") >= 0); 

// only can tell OSX with netscape or mozilla browsers. 
// actually IE 5.2 is also os X
// could tell that if IE and 5.1 is OS 9 or 5.2 is OS X
var isOSX     = isSaf || (isNav6OrBetter && (navigator.oscpu.indexOf("OS X") > -1));
