
/**********************************
*   JavaScript Client Detection   *
* Copyright 2000 Anders Feldinger *
*        and@untitled.dk          *
*        www.untitled.dk          *
*                                 *
*                                 *
*                                 *
*   Usage:                        *
*                                 *
*    i = new browserDetect()      *
*    i.os : platform              *
*    i.browser : browser          *
*    i.ver : version              *
*    i.mainVer : main version     *
*    i.subVer : sub version       *
*    i.ref : reference name       *
*    i.engine : encoding engine   *
*                                 *
**********************************/

function browserDetect() {
	// define arrays:
	this.osList = new Array('Win','X11','SunOS','Mac','PPC')
	this.browsers = new Array('MSIE','Opera')
	
	// get agent string
	ua = navigator.userAgent
	str = ua.substring(ua.indexOf("(")+1,ua.indexOf(")"))
	str = str.split("; ")
	
	// check for os:
	for (i=0;i<str.length;i++) for (f=0;f<this.osList.length;f++) if (str[i].indexOf(this.osList[f])!=-1) this.os=str[i]
	if (!this.os) this.os = navigator.platform
	
	// check for computer type
	if(this.os.indexOf('Win')!=-1 || this.os.indexOf('Microsoft')!=-1) this.type = 'pc'
	if(this.os.indexOf('Mac')!=-1 || this.os.indexOf('PPC')!=-1) this.type = 'mac'
	else this.type = 'pc'

	// check for browsers:
	for (i=0;i<str.length;i++) for (f=0;f<this.browsers.length;f++) if (str[i].indexOf(this.browsers[f])!=-1) this.browser=str[i]
	if (!this.browser) this.browser = navigator.appName
	else if (this.browser.indexOf("MSIE")!=-1) this.browser = 'Microsoft Internet Explorer'
	this.paren = str

	// check for version:
	for (i=0;i<str.length;i++) if (str[i].indexOf(this.browsers[0])!=-1) {
		this.ver = str[i]
		this.ver = this.ver.substring(this.ver.indexOf(" ")+1,this.ver.length)
	}
	else if (!this.ver) {
		ver = navigator.appVersion
		this.ver = ver.substring(0,ver.indexOf(" "))
	}
	this.mainVer = this.ver.substring(0,this.ver.indexOf("."))
	this.subVer = this.ver.substring(this.ver.indexOf(".")+1,this.ver.length)

	// get ref name:
	switch(this.browser) {
		case "Microsoft Internet Explorer": this.ref = 'ie'; break
		case "Netscape": this.ref = "ns";break
		case "Opera": this.ref = "ns";break
	}
	if (!this.ref) this.ref = 'ie'
	
	if (this.type=='mac' && this.ref=='ie' && this.mainVer>=5) this.ref = 'ie5'
}
