function Browser() {
	var appname = navigator.appName.toLowerCase();
	var browserVersion = navigator.appVersion.toLowerCase();

	this.os = (browserVersion.indexOf("win") != -1) ? "win" : "mac";
	this.nn = false;
	this.ie = false;

	if(appname == "netscape" ) {
		this.nn = true;
	}
	else if(appname == "microsoft internet explorer" ) {
		this.ie = true;
	}
}

Browser.prototype = {

addListener:function( element, eventName, handler ) {
	if( this.nn ) {
		element.addEventListener( eventName, handler, true);
	} 
	else {
		if( element == document ) {
			element = document.body;
		}

		element.attachEvent( "on" + eventName, handler );
	}
},

getElement:function( id ) {
	var element;

	if( document.all ) {
		element = document.all[ id ];
	}
	else if( document.getElementById ) {
		element = document.getElementById( id );
	}

	return( element )
},

getElementStyle:function( id ) {
	var element = this.getElement( id );

	if( element ) {
		if( this.ie ) {
			return( element.style );
		}
		else {
			return( element );
		}
	}
	else {
		return( null );
	}
},

setProperties:function( object, properties ) {
	for( var name in properties ) {
		var value = properties[ name ];
		eval( "object." + name + " = value" );
	}
},

setElement:function( id, properties ) {
	var element = this.getElement( id );

	if( element ) {
		this.setProperties( element, properties );
	}
},

setElementStyle:function( id, properties ) {
	var element = this.getElementStyle( id );

	if( element ) {
		this.setProperties( element, properties );
	}
}

};
