		// convert all characters to lowercase to simplify testing
   		var agt=navigator.userAgent.toLowerCase();

	    // *** BROWSER VERSION ***
	    // Note: On IE5, these return 4, so use is_ie5up to detect IE5.
	    var is_major = parseInt(navigator.appVersion);
	    var is_minor = parseFloat(navigator.appVersion);
		
		var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
	    var is_ie3    = (is_ie && (is_major < 4));
	    var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
	    var is_ie4up  = (is_ie && (is_major >= 4));
	    var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
	    var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
	    var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
	    var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
	    var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
	    var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
	 
		var tempX = 0;
		var tempY = 0;
		var MousePosition_onClickHandlers = new Array();
		if (!is_ie) document.captureEvents(Event.MOUSEMOVE);

		// Set-up to use getMouseXY function onMouseMove
		document.onmousemove = MousePosition_getMouseXY;
		document.onclick = MousePosition_runOnClickHandlers;
		
		function MousePosition_getMouseXY(e) {
			if (is_ie) { // grab the x-y pos.s if browser is IE
				tempX = event.clientX + document.body.scrollLeft;
				tempY = event.clientY + document.body.scrollTop;
			} else {  // grab the x-y pos.s if browser is NS
				tempX = e.pageX;
				tempY = e.pageY;
			}  
			// catch possible negative values in NS4
		    if (tempX < 0) tempX = 0;
	      	if (tempY < 0) tempY = 0;  
			return true;
        }
        
        function registerOnClickHandler(onClickHandler)
        {
        	//alert("registered: " + onClickHandler);
        	MousePosition_onClickHandlers[MousePosition_onClickHandlers.length] = onClickHandler;
        }
        
        function MousePosition_runOnClickHandlers(e)
        {
        	if (!e) var e = window.event;
        	for (var i = 0; i < MousePosition_onClickHandlers.length; i++)
        	{
 		       	//alert(MousePosition_onClickHandlers[i] + "(e, " + tempX + ", " + tempY + ");");
        		eval(MousePosition_onClickHandlers[i] + "(e, " + tempX + ", " + tempY + ");");
        	}
        }
        
        
        