// Common framework library

/* VARIABLES */

var _posinerval = null;
var _allwrapper = null;
var _positioned = new Array();

/* FUNCTIONS */

function Positioner() {
	// Positions all hovering elements
	var wx = _allwrapper.offsetLeft;
	var wy = _allwrapper.offsetTop;
	for (var i=0;i<_positioned.length;i++) {
		try {
			_positioned[i].style.left = (wx + _positioned[i].MyOffsetX) + "px";
			_positioned[i].style.top = (wy + _positioned[i].MyOffsetY) + "px";
		} catch(e) {
			document.title = "Tried: "+_positioned[i].MyOffsetX + ":" + _positioned[i].MyOffsetY + " for " + _positioned[i].id;
		}
	}
}

/** ENTER Keypress checkup function **/

function CheckEvent13(ev,func) {
	var isIE = false;
	if (navigator.appName.indexOf("Microsoft") > -1 || navigator.appName.indexOf("IE") > -1) {
		isIE = true;
	}
	if ((isIE && event.keyCode == 13) || (!isIE && ev.which == 13)) {
		if (isIE) {
			event.cancelBubble = true;
		} else {
			ev.preventDefault();
			ev.stopPropagation();
		}
		return func();
	}
}

/* Service functions block */

function _getRealX(who) {
	// Returns the true X (from left 0) of an object.
	// The parameter can be either reference of an ID of the object
	var obj = (typeof who == "string")?document.getElementById(who):who;
	var res = 0;
	var t = who;
	while (1 == 1) {
		if (typeof t.offsetLeft != "undefined") res += t.offsetLeft;
		t = t.offsetParent;
		if (t == document.body) return res;
	}
}

function _getRealY(who) {
	// Returns the true Y (from top 0) of an object.
	// The parameter can be either reference of an ID of the object
	var obj = (typeof who == "string")?document.getElementById(who):who;
	var res = 0;
	var t = who;
	while (1 == 1) {
		if (typeof t.offsetTop != "undefined") res += t.offsetTop;
		t = t.offsetParent;
		if (t == document.body) return res;
	}
}

function _inBox(x,y,x1,y1,x2,y2) {
	return (x >= x1 && x <= x2 && y >= y1 && y <= y2);
}

function DoNothing() {
}

function Prevent() {
	return false;
}