/**
 * Copyright 2005 Archetype Solutions Inc. All rights reserved
 * This library may not be used without permission.
 *
 */
var BROWSER_SNIFFER_VERSION = "0.1";

//to tell what kind of browser is hitting the site
SysBrowser = new Object();

//set the possible broswer types - this will need a bit more logic at
//some point
SysBrowser.safari = (
	(navigator.userAgent.indexOf("Safari") > -1) && (navigator.userAgent.indexOf("Mac") > -1)
);
SysBrowser.gecko = (
 	!SysBrowser.safari && (document.getElementById && !document.all)
);
SysBrowser.explore = (
	(typeof document.all != "undefined") && (navigator.userAgent.indexOf("Opera") == -1)
);
SysBrowser.opera = (
	navigator.userAgent.indexOf("Opera") > -1
);

//OS
SysBrowser.windows = (
	(navigator.appVersion.indexOf("Win") != -1)
);

SysBrowser.mac = (
	(navigator.appVersion.indexOf("Mac") != -1)
);

SysBrowser.linux = (
	(navigator.appVersion.indexOf("Linux") != -1)
);

SysBrowser.unix = (
	(navigator.appVersion.indexOf("X11") != -1)
);

//Version
SysBrowser.getMajorVersion = function()
{
	var mv = parseInt(navigator.appVersion);
	if(this.explore && (mv == 4) && (navigator.userAgent.indexOf("msie 5.0") != -1))
	{
		return 5;
	}
	else if(this.explore && (mv == 4) && (navigator.userAgent.indexOf("msie 5.0") == -1))
	{
		return 6;
	}
	else
	{
		return mv;
	}
	
	return -1;
}

SysBrowser.getMinorVersion = function()
{
	return parseFloat(navigator.appVersion);
}

//reporting
SysBrowser.getGuessDisplay = function()
{
	var reportstring = "";
	
	if (this.safari) reportstring += "Safari ";
	else if (this.gecko) reportstring += "Gecko Based ";
	else if (this.explore) reportstring += "Internet Explorer ";
	else if (this.opera) reportstring += "Opera ";
	else reportstring += "Unknown Browser ";
	
	//reportstring += this.getMajorVersion() + " "; // + "(" + this.getMinorVersion() + ") ";
	
	if(this.windows) reportstring += "on Microsoft Windows ";
	else if(this.mac) reportstring += "on Apple Macintosh ";
	else if(this.linux) reportstring += "on Linux ";
	else if(this.unix) reportstring += "on Unix ";
	else reportstring += "on an Unknown OS ";
	
	return reportstring;
}


SysBrowser.report = function(t) {
	var endl = '\n';
	if(t == true)
		endl = '<br>';
		
	var rpt = endl + "Browser Flags: " + endl;
		rpt += "safari : " + this.safari + endl;
		rpt += "gecko  : " + this.gecko + endl;
		rpt += "explore: " + this.explore + endl;
		rpt += "opera  : " + this.opera + endl;
		rpt += "major : " + this.getMajorVersion() + endl;
		rpt += "minor : " + this.getMinorVersion() + endl;
		rpt += "==================================" + endl;
		rpt += "Agent: " + navigator.userAgent + endl;
		rpt += "Name / Version: " + navigator.appName + " " + navigator.appVersion + endl;
	return rpt;
}