/***********************************   JavaScript Client Detection   ** Copyright 2002 Anders Feldinger **        and@untitled.dk          **        www.untitled.dk          ***********************************/function browserDetect() {		// define arrays	this.osList = new Array('Win','X11','SunOS','Mac','PPC')	this.browsers = new Array('MSIE','Opera')	this.browserList = new Array('Microsoft Internet Explorer','Netscape','Opera','Konqueror','AOL')	this.browserRef = new Array('ie','ns','op','kq','ao')		// 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 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].substring(str[i].indexOf(" ")+1,str[i].length)		else if (!this.ver) this.ver = navigator.appVersion.substring(0,navigator.appVersion.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:	for (i=0;i<this.browserList.length;i++) if (this.browser == this.browserList[i]) {this.ref = this.browserRef[i];break}	if (!this.ref) this.ref = 'xx'	this.ref+=this.mainVer		// check for encoding engine:	this.engine = navigator.appCodeName		// browser version checks	maxVer = (this.majorVer>10)? this.majorVer : 10	for (i=0;i<this.browserRef.length;i++) {		eval("this."+this.browserRef[i]+" = (this.browser.indexOf('"+this.browserList[i]+"')!=-1)? true:false")		for (j=2;j<=maxVer;j++) {			eval("this."+this.browserRef[i]+j+" = (this."+this.browserRef[i]+" && this.mainVer==j)? true:false")			eval("this."+this.browserRef[i]+j+"up = (this."+this.browserRef[i]+" && this.mainVer>=j)? true:false")		}	}		// platform checks	this.win	= (this.os.indexOf('Win')!=-1)? true:false	this.mac	= (this.os.indexOf('Mac')!=-1 || this.os.indexOf('PPC')!=-1)? true:false	this.unix	= (this.os.indexOf('Sun')!=-1 || this.os.indexOf('X11')!=-1)? true:false	// browser capabilities	this.dom	= (document.getElementById)? true:false	this.java	= navigator.javaEnabled()	this.lang	= (this.ns)? navigator.language : navigator.browserLanguage		// window properties	extended = (this.ie)? (document.body!=null) : false	// check if properties are available to ie		this.x		= (this.ns)? window.screenX : window.screenLeft	this.y		= (this.ns)? window.screenY : window.screenTop	this.innerW	= (this.ns)? window.innerWidth : ((extended)? document.body.clientWidth : 'N/A')	this.innerH	= (this.ns)? window.innerHeight : ((extended)? document.body.clientHeight: 'N/A')	this.outerW	= (this.ns)? window.outerWidth : 'N/A'		// buggy for ie	this.outerH	= (this.ns)? window.outerHeight : 'N/A'		// buggy for ie	this.docW	= (this.ns)? document.width : ((extended)? document.body.scrollWidth: 'N/A')	this.docH	= (this.ns)? document.height : ((extended)? document.body.scrollHeight: 'N/A')}