var BrowserInfo = new cBrowserInfo();
function cBrowserInfo() 
{ 
  var self = this;
  self.className = 'cBrowserInfo';
  self.name = 'cBrowserInfo';
	self.code = 'unknown';
	self.version = 0;
	self.platform = 'Win';
	var ua = navigator.userAgent;
	var i = ua.indexOf('WebTV');
	if (i >= 0) {
		self.code = 'WebTV';
		i += 6;
	} else {
		i = ua.indexOf('MSIE');
		if (i >= 0) {
			self.code = 'MSIE';
			i += 5;
		} else {
			i = ua.indexOf('Opera');
			if (i >= 0) {
				self.code = 'OP';
				i = ua.indexOf(') ') + 2;
			} else {
				i = ua.indexOf('Mozilla/');
				if (i >= 0) {
					self.code = 'NS';
					i += 8;
				}
			}
		}
	}
	self.version = parseFloat(ua.substring(i, i+4));
	if (ua.indexOf('Mac') >= 0) {self.platform = 'Mac';}
	if (ua.indexOf('OS/2') >= 0) {self.platform = 'OS/2';}
	if (ua.indexOf('X11') >= 0) {self.platform = 'UNIX';}
	var v = self.version;
	var p = self.platform;
	var NS = (self.code == 'NS');
	var IE = (self.code == 'MSIE');
	var WTV = (self.code == 'WebTV');
	var OP32up = ((self.code == 'OP') && (v >= 3.2));
	var IE4up = (IE && (v >= 4));
	var NS3up = (NS && (v >= 3));
	self.canCache = NS3up || IE4up || OP32up || WTV;
	self.canOnMouseOut = self.canCache;
	self.canFocus = NS3up || IE4up || OP32up;
	self.canOnError = NS3up || IE4up || OP32up;
	self.canJSVoid = NS3up || IE4up;
	self.lineByLine = (v < 4);
	self.mustMoveAfterLoad = NS3up || (IE4up && (p != 'Mac')) || WTV;
	if (NS3up || IE4up || WTV) {
		self.reloadMethod = 'replace';
	} else {
		self.reloadMethod =  (NS && (v == 2.01) && (p != 'Win')) ? 'timeout' : 'href';
	}
	self.canFloat = NS || (IE && !((p == 'Mac') && (v >= 4)));
	self.hasDHTML = ((NS || IE) && (v >= 4)) && !(IE && (p == 'Mac') && (v < 4.5));
	self.DHTMLRange = IE ? '.all' : '';
    self.DHTMLStyleObj = IE ? '.style' : '';
	self.DHTMLDivHeight = IE ? '.offsetHeight' : '.clip.height';
	
	return self;
}
