/**
 * @author: Anatolij Rau
 * @copyright: Anatolij Rau
 * @access: 2010-01-18
 * @version: 1.0.1
 */
function dimensionsClass() {

	this.is_ie = document.all ? true : false;
	/* --> get mouse position */
	this.mPos = new Object();
	this.mPos.x = 0;
	this.mPos.y = 0;
	/* <-- get mouse position */

	/* --> get sizes */
	this.size = new Object();
	this.size.width = 0;
	this.size.height = 0;
	/* <-- get sizes */

	this.mousemove_event = new Object();
	
	/** ********************* Fintkonen ************************* */
	/**
	 * Get mouse position from top and left (incl. scrolling)
	 */
	this.getMousePos = function() {
		if (typeof this.mPos != 'object') this.mPos = new Object();
		if (this.is_ie) {
			if (window.event) {
				this.mPos.x = this.mousemove_event.clientX + (document.body.scrollLeft ? parseInt(document.body.scrollLeft) : parseInt(document.documentElement.scrollLeft));
				this.mPos.y = this.mousemove_event.clientY + (document.body.scrollTop ? parseInt(document.body.scrollTop) : parseInt(document.documentElement.scrollTop));
			}
		} else { // grab the x-y pos.s if browser is NS
			if (this.mousemove_event) {
				this.mPos.x = this.mousemove_event.pageX;
				this.mPos.y = this.mousemove_event.pageY;
			}
		}
		if (this.mPos.x < 0) this.mPos.x = 0;
		if (this.mPos.y < 0) this.mPos.y = 0;

		return this.mPos;
	};
	
	this.getScrollPos = function () {
		
	};

	/**
	 * get sizes of a object (Alfa)
	 */
	this.getSizeOf = function(element) {
		if (typeof this.size == 'object') {
			this.size.width = element.offsetWidth;
			this.size.height = element.offsetHeight;
		}
		return this.size;
	};
}

var dimensions = new dimensionsClass();

window.onload = function() { 
	document.onmousemove = (function (e) {
		if (typeof e != 'undefined') 
			for (var i in e) {
				dimensions.mousemove_event[i] = e[i];
				//dimensions.getMousePos();
			}
	else 
		if (event.type == 'mousemove') {
			for (var i in window.event) 
				dimensions.mousemove_event[i] = window.event[i];
				dimensions.getMousePos();
		}
	});
};


