// BrowserCheck Object
// provides most commonly needed browser checking variables

// Copyright (C) 1999 Dan Steinman
// Distributed under the terms of the GNU Library General Public License
// Available at http://www.dansteinman.com/dynduo/

function BrowserCheck()
	{
	var b = navigator.appName;

	if (b=="Netscape") 
		this.b = "ns";
	else if (b=="Microsoft Internet Explorer") 
		this.b = "ie";
	else 
		this.b = b;

	this.version = navigator.appVersion;
//alert("version: " + this.version);
	this.v = parseInt(this.version);
//alert("v: " + this.v);
//alert(userAgent);
//alert(navigator.vendor);
	this.ns = (this.b=="ns" && this.v>=4);
	this.ns4 = (this.b=="ns" && this.v==4);
	this.ns5 = (this.b=="ns" && this.v>=5);
	this.ie = (this.b=="ie" && this.v>=4);
	this.ie4 = (this.version.indexOf('MSIE 4')>0);
	this.ie5 = (this.version.indexOf('MSIE 5')>0);
	this.moz = (this.b!="ie" && document.getElementById != null && document.layers == null);
	this.safari = (navigator.vendor == "Apple Computer, Inc.");
//alert("this.safari: " + this.safari);

	if(!this.safari && this.b!="ie" && document.getElementById != null && document.layers == null)
		{
//alert("this.b!=ie && document.getElementById != null && document.layers == null - > emulateAllModel();");
		emulateAllModel();
		}
	this.min = (this.ns||this.ie);
//alert("min: " + this.min);
	}

// automatically create the "is" object
is = new BrowserCheck()

function emulateAllModel()
	{
//alert("emulateAllModel()");
	
	var allGetter = function ()
		{
		var a = this.getElementsByTagName("*");
//alert("a1: " + a);
		var node = this;
//alert("node: " + node);
		a.tags = function (sTagName)
			{
//alert("node.getElementsByTagName(sTagName): " + node.getElementsByTagName(sTagName));
			return node.getElementsByTagName(sTagName);
			};
//alert("a2: " + a);
		return a;
		};
//alert("allGetter: " + allGetter);
	HTMLDocument.prototype.__defineGetter__("all", allGetter);
	HTMLElement.prototype.__defineGetter__("all", allGetter);
	}

function Status(message)
	{
	window.status = message;
	}

