﻿var selectBusy = false;

function viewNewsletterRegistrationForm(event) {
	//document.onmousemove = function(event) {
	//	var event = event || window.event;
		var pos = defineMousePosition(event);
		var form = document.getElementById('newsletter_registration_form');
		form.style.display = 'block';
		form.style.visibility = 'visible';
		form.style.left = "" + (pos.x - form.clientWidth) + "px";
		form.style.top = "" + (pos.y - form.clientHeight) + "px";
		//alert("2: X=" + pos.x + " Y=" + pos.y + " | " + form.style.left + " : " + form.style.top);
	//}
}

function closeNewsletterForm(event) {
	//document.onmousemove = function(event) {
	//	var event = event || window.event;
		//var pos = defineMousePosition(event);
		var form = document.getElementById('newsletter_registration_form');
		var pos = defineMousePosition(event);
		if ( form.style.display == 'block' && form.style.visibility == 'visible' && !selectBusy) {
			var left = getOffset(form.style.left);
			var top = getOffset(form.style.top);
			var w = parseInt(left) + form.clientWidth;
			var h = parseInt(top) + form.clientHeight;
			//alert("X="+pos.x+" Y="+pos.y+" L="+left+" T="+top + " W=" + w + " H="+ h );
			if ( pos.x < left || pos.x > w || pos.y < top || pos.y > h ) {
				form.style.display = 'none';
				form.style.visibility = 'hidden';
				//alert("hidden" + " | " + event.type);
			}
		}
		if ( selectBusy ) selectBusy = false;
		//form.style.left = "" + (pos.x - form.clientWidth) + "px";
		//form.style.top = "" + (pos.y - form.clientHeight) + "px";
	//}
}

function defineMousePosition(e) {
	var x = 0, y = 0;
	if (!e) e = window.event;
	if (e.pageX || e.pageY)
	{
		x = e.pageX;
		y = e.pageY;
	} else if (e.clientX || e.clientY)
	{
		x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
		y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
	}
	return {"x":x, "y":y};
}

function getOffset(str_px) {
	var s = new String(str_px);
	return (s.replace("px",""));
}

function setSelectBusy() {
	selectBusy = true;
	//alert(selectBusy);
}

/*function getObjectPosition(obj) {
	var x=0, y=0;
	while(obj) {
	   x+=obj.offsetLeft;
	   y+=obj.offsetTop;
	   obj=obj.offsetParent;
	}
	return {x: x, y:y};
}*/