// ----------------------------------
// BROWSER DETECTION 
// copyright 2008 walter sargent 
// pre-release version
// needs testing on Mac browers + Opera and iPod
// http://www.waltersargent.com
// ----------------------------------
_VERSION = "4.9" ;

APP_UNKNOWN = 0 ;
APP_FIREFOX = 1;
APP_MSIE = 2;
APP_NS = 3;
APP_OPERA = 4;
APP_SAFARI = 5;
APP_CAMINO = 6;
APP_FLOCK = 7;
APP_ICAB = 8;
var _browser=APP_UNKNOWN ;

UA_MSIE="MSIE";
UA_MOZILLA="Mozilla";
UA_SAFARI="Safari";
UA_FLOCK="Flock";
UA_OPERA="Opera";
UA_FIREFOX="Firefox";
UA_CAMINO="Camino";
UA_ICAB="iCab";
UA_NETSCAPE="Netscape";
UA_UNKNOWN="unknown";
var _userAgent=UA_UNKNOWN;
var _agentversionString ;
var _agentversionMajor;
var _agentversionMinor;

function browserReport(){
	var sOut = "Raw Data:";
	sOut += "<ul>";
	sOut += "<li>appName: "+navigator.appName+"</li>";
	sOut += "<li>appVersion: " + navigator.appVersion +"</li>";
	sOut += "<li>userAgent: " + navigator.userAgent +"</li>";
	sOut += "<li>appCodeName: " + navigator.appCodeName +"</li>";
	sOut += "</ul>";
	sOut += "Detection Results:";
	sOut += "<ul>";
	sOut += "<li>UserAgent: "+_userAgent +"</li>";
	sOut += "<li>Engine: "+navigator.appName+"</li>";
	sOut += "<li>Version: " + _agentversionString +"</li>";
	sOut += "</ul>";
	document.write(sOut);
}
function browserIsUserAgent(strUserAgentIn){
	var ua = navigator.userAgent ;
	var ui = ua.indexOf(strUserAgentIn);
	return (ui>=0) ;
}
function browserGetAppName(){
	if (_browser != APP_UNKNOWN ) 
		return 2;
	if (navigator.appName == "Microsoft Internet Explorer"){
		_browser= APP_MSIE ;
		_userAgent=UA_MSIE;
		return 1;
	}
	if (navigator.appName == "Netscape") {
		_browser= APP_NS ;
		if(browserIsUserAgent("Flock")){
			_browser= APP_FLOCK ;
			_userAgent=UA_FLOCK;
		}else if(browserIsUserAgent("Firefox")){
			_browser= APP_FIREFOX ;
			_userAgent=UA_FIREFOX;
		}else if(browserIsUserAgent("Safari")){
			_browser= APP_SAFARI ;
			_userAgent=UA_SAFARI;
		}else if(browserIsUserAgent("Opera")){
			_browser= APP_OPERA ;
			_userAgent=UA_OPERA;
		}else if(browserIsUserAgent("Netscape")){
			_userAgent=UA_NETSCAPE;
		}else if(browserIsUserAgent("Mozilla")){
			_userAgent=UA_MOZILLA;
		}
		return 1;
	}
	if (navigator.appName == "Opera"){
		_browser= APP_OPERA ;
		_userAgent=UA_OPERA ;
		return 1;
	}
	if (navigator.appName == "Camino"){
		_browser= APP_CAMINO ;
		_userAgent=UA_CAMINO;
		return 1;
	}
	if (navigator.appName == "iCab"){
		_browser= APP_ICAB ;
		_userAgent=UA_ICAB ;
		return 1;
	}
	return 0;
}

function parseVersion(ua,term)
{
	var _ua = navigator.userAgent;

	
	if( term ){
		index = _agentversionString.indexOf(term);
		_agentversionString= _agentversionString.slice(0,index);
	}
	index = _agentversionString.indexOf(".", 1);
	_agentversionMajor=parseInt(_agentversionString.substring(ua.length, index));
	_agentversionMinor = _agentversionString.slice(index+1,_agentversionString.length);
}

function browserGetVersion()
{
	var _ua = navigator.userAgent;
	
	switch( _userAgent ){
	case UA_FIREFOX:
	case UA_FLOCK:
	case UA_MSIE:
		var index = _ua.lastIndexOf(_userAgent);
		index += _userAgent.length + 1 ; 
		_agentversionString = _ua.slice(index);
		if( _userAgent == UA_MSIE ){
			index = _agentversionString.indexOf(";");
			_agentversionString = _agentversionString.slice(0,index);
		}
		return;

	case UA_SAFARI:
		var index = _ua.indexOf("Version");
		index += 8 ; 
		_agentversionString = _ua.slice(index);
		index = _agentversionString.indexOf("Safari");
		_agentversionString = _agentversionString.slice(0,index);
		return;

	case UA_OPERA:
		// Javascript is not working on Opera 9.51 /Dragonfly
		_agentversionString = "***";
		return;
	
	case UA_UNKNOWN:
//	case UA_NETSCAPE: 
//	case UA_MOZILLA:
	default:
		var av = navigator.appVersion ;
		var index = av.indexOf(".", 1);
		return parseInt(av.substring(index-1, index));
	}
   return 0 ;
}

function setImage(id,file,ext){
	var item=document.images[id];
	if(null != item){
		item.src=file+"."+ext;
	}
}
function gif(id,file){
	setImage(id,file,"gif");
}
function jpg(id,file){
	setImage(id,file,"jpg");
}
// Initialize
browserGetAppName();
browserGetVersion();
