centerElement = function(vElement,dtX,dtY) {
	var newX = (f_clientWidth()/2)+f_scrollLeft()-dtX;
	if(newX < 0) { newX = 0; }
	document.getElementById(vElement).style.left = newX;
	var newY = (f_clientHeight()/2)+f_scrollTop()-dtY;
	if(newY < 0) { newY = 0; }
	document.getElementById(vElement).style.top = newY;
}

function f_clientWidth() {
	return document.body.clientWidth;
}

function f_clientHeight() {
	return document.body.clientHeight;
}

function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

execJs = function(vJs) {
	var newFunction = new Function(vJs);
	referenceFunction = newFunction;
	referenceFunction();
}
