function BrowserDetect() {
   		var ua = navigator.userAgent.toLowerCase(); 
   		// browser engine name
   		this.isGecko       = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
		this.isAppleWebKit = (ua.indexOf('applewebkit') != -1);
   		// browser name
   		if(ua.indexOf('opera') != -1) {this.isOpera = true; this.name = "Opera"};
   		if((ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) )) {this.isIE=true; this.name = "Internet Explorer"};
   		if(this.isGecko && ua.indexOf('gecko/') + 14 == ua.length) {this.isMozilla=true; this.name = "Mozilla"};
		if((this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) )) {this.isNS=true; this.name = "Netscape"};
   		if(ua.indexOf('firebird/') != -1) {this.isFirebird=true; this.name = "Firebird"};
		if(ua.indexOf('firefox/') != -1) {this.isFirefox=true; this.name = "FireFox"};
		if(ua.indexOf('safari/') != -1) {this.isSafari=true; this.name = "Safari"};
   		if(ua.indexOf('konqueror') != -1) {this.isKonqueror=true; this.name = "Konqueror"};
		if(ua.indexOf('omniweb') != -1) {this.isOmniweb=true; this.name = "Omniweb"};
		if(ua.indexOf('webtv') != -1) {this.isWebtv=true; this.name = "WebTV"};
		if(ua.indexOf('icab') != -1) {this.isICab=true; this.name = "Icab"};
		if(ua.indexOf('camino') != -1) {this.isCamino=true; this.name = "Camino"};
   		// spoofing and compatible browsers
   		this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
   		this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
		// rendering engine versions
   		this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
   		this.equivalentMozilla = ( (this.isGecko) ? parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ) : -1 );
   		// browser version
		this.versionMinor = parseFloat(navigator.appVersion); 
   	   	// correct version number
   		if (this.isGecko && !this.isMozilla) {
			if(this.isFirefox) {
				this.versionMinor = parseFloat(ua.substring(ua.indexOf('firefox/')+8,ua.length));
			} else {
				this.versionMinor = parseFloat( ua.substring( ua.indexOf('/', ua.indexOf('gecko/') + 6) + 1 ) );
			}
   		}
   		else if (this.isMozilla) this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
	   	else if (this.isIE && this.versionMinor >= 4) this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
		else if(this.isSafari) this.versionMinor = parseFloat( ua.substring( ua.indexOf('safari/') + 7) );
		else if(this.isOmniweb) this.versionMinor = parseFloat(ua.substring( ua.indexOf('omniweb/v') + 9));
		else if(this.isOpera && !this.isMac) this.versionMinor = parseFloat(ua.substring( ua.indexOf('opera') + 6));
   		this.versionMajor = parseInt(this.versionMinor); 
   		// dom support 
		this.isDOM = (document.getElementById && document.createElement?true:false);
   		this.isDOM1 = (document.getElementById?true:false);
  		this.isDOM2Event = (document.addEventListener && document.removeEventListener?true:false);
		// dhtml support
		this.isDHTML = (document.getElementById || document.all || document.layers?true:false);
   		// css compatibility mode
   		this.mode = document.compatMode ? document.compatMode : 'BackCompat';
   		// platform
		if(ua.indexOf('win') != -1) {this.isWin=true; this.platform="win"}
		if(this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1)){this.isWin32=true; this.platform = "win32"}
		if(ua.indexOf('mac') != -1){this.isMac=true; this.platform = "mac"}
		if(ua.indexOf('x11') != -1){this.isMac=true; this.platform = "unix"}
		if(ua.indexOf('linux') != -1){this.isMac=true; this.platform = "linux"}
   		// specific browser shortcuts
   		this.isNS6x = (this.isNS && this.versionMajor == 6);
   		this.isNS6up = (this.isNS && this.versionMajor >= 6);
   		this.isNS7x = (this.isNS && this.versionMajor == 7);
   		this.isNS7up = (this.isNS && this.versionMajor >= 7);
   		this.isIE5x = (this.isIE && this.versionMajor == 5);
   		this.isIE55 = (this.isIE && this.versionMinor == 5.5);
   		this.isIE5up = (this.isIE && this.versionMajor >= 5);
   		this.isIE6x = (this.isIE && this.versionMajor == 6);
   		this.isIE6up = (this.isIE && this.versionMajor >= 6);
	};