// browser check, only for crappy IE and to test for DOM compatible browsers...
	var agent = navigator.userAgent.toLowerCase();
//	Mac IE.5x a.k.a Satan's browser doesn't support objects constructors so we need to do this.
	var satansBw = agent.match( /msie/i ) ? agent.match( /mac/i ) ? true : false : false;
	
	function check( agent )
	{
//	Check for DOM Script enabled browsers
		this.dom = document.getElementsByTagName( "body" ) ? 1 : 0;
//	Check for XML DOM
		this.xmlDom = window.XMLHttpRequest ? 1 : new ActiveXObject( "Microsoft.XMLHTTP" ) ? 1 : 0;
//	Check for popular yet crappy browsers
		this.agent = agent;
		this.ie5 = ( this.agent.indexOf( "msie 5" ) > -1 && !this.op5 && !this.op6 );
		this.ie55 = ( this.ie5 && this.agent.indexOf( "msie 5.5" )> -1 );
		this.ie6 = ( this.agent.indexOf( "msie 6" ) > -1 && !this.op5 && !this.op6 );
/*	For some reason Satan's browser (i.e. Mac IE5.x) does not like objects
	so we need to use an old fashioned check for it, see just above this function's declaration for the mac check.	*/
		this.satan = ( this.agent.indexOf( "msie 5" ) > -1 && this.agent.indexOf( "mac" ) > -1 );
		this.ie = ( this.ie5 || this.ie55 || this.ie6 || this.satan );
		this.safari = this.agent.indexOf( "safari" ) > -1;
		this.mac = this.agent.indexOf( "mac" ) > -1;
		return this;
	}
//	we declare the "got" variable as a new object if it is mac ie, otherwise we get errors everywhere.
	var got = !satansBw ? new check( agent ) : new Object();
	