var jsAreaShowTime = 1000;
var JsAreas = new Object();

function GetArea(id)
{
	return JsAreas[id] ? JsAreas[id] : (JsAreas[id] = new JsArea(id));
}

// A single popup window
function JsArea(id)
{
	this.AreaId = id;
}

// Function to return the DIV Layer
JsArea.prototype.ContentArea= function()
{
	var divArea = document.getElementById(this.AreaId);
	if (divArea != null)
	{
		return divArea;
	}
	return null;
}

var activeAreaId = null;

// Function to show the DIV Layer
JsArea.prototype.popareaup = function(x, y)
{
if (activeAreaId != null)	
	jsAreaClose(activeAreaId);
	
	var screenY, screenX;
  screenY = screen.height;
		screenX = screen.width;

	var divLayer = this.ContentArea();
	divLayer.style.position = 'absolute';
	divLayer.style.display = 'block';
	divLayer.style.left = 200; //(screenX - x)/2;
	divLayer.style.top = (screenY - y)/2;
	divLayer.onmouseover= JsAreaMouseOver;
	divLayer.onmouseout = jsAreaMouseOut;
	activeAreaId = this.AreaId;
	
	return false;
}

// Function to hide the DIV Layer
JsArea.prototype.hide = function()
{
	var divLayer = this.ContentArea();
	if (divLayer != null)
		divLayer.style.display = 'none';
		
	return false;
}

// Function to be called
// by Web forms to show the Popup Window
function PopupArea(e, areaId)
{
	if (e.pageX || e.pageY)
	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else 
	if (e.clientX || e.clientY)
	{
		posx = e.clientX + document.body.scrollLeft;
		posy = e.clientY + document.body.scrollTop;
	}
	var area = GetArea(areaId);
	area.popareaup(posx, posy);
}

// Function to hide the DIV Layer
function jsAreaClose(areaId)
{
	GetArea(areaId).hide();
	activeAreaId = divHangTimer = null;	
}

var divHangTimer = null;

// Function to keep the Div Layer
// showing for a "period" of time
// after that period, if the mouse
// has been outside the DIV Layer, 
// it will be hidden automatically
function KeepArea(areaId)
{
	if (areaId == activeAreaId && divHangTimer != null)
	{
		clearTimeout(divHangTimer);
		divHangTimer = null;
	}
}

// Function to release the DIV Layer
function RelArea(areaId)
{
	if (areaId == activeAreaId && divHangTimer == null)
		divHangTimer = setTimeout('jsAreaClose(\'' + areaId + '\')', jsAreaShowTime);
}

// Function fired when mouse is over the 
// DIV Layer, used to keep the layer showing
function JsAreaMouseOver(e)
{
	if (!e) 
		var e = window.event;
	var targ = e.target ? e.target : e.srcElement;
	KeepArea(activeAreaId);
}

// Function that fires when mouse is out of
// the scope of the DIV Layer
function jsAreaMouseOut(e)
{
	if (!e) 
		var e = window.event;
	var targ = e.relatedTarget ? e.relatedTarget : e.toElement;
	var activeAreaView = document.getElementById(activeAreaId);
	if (activeAreaView != null && !jsAreaContains(activeAreaView, targ))
		RelArea(activeAreaId);
}
function jsAreaContains(parent, child)
{
	while(child)
		if (parent == child) return true;
		else 
			child = child.parentNode;
		
		return false;
}

////////////////////////////////////////////////////////////
// FLIRT
////////////////////////////////////////////////////////////

// Function to be called
// by Web forms to show the Flirt Popup Window
function ShowFlirtPopup(e, areaId)
{
	if (e.pageX || e.pageY)
	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else 
	if (e.clientX || e.clientY)
	{
		posx = e.clientX + document.body.scrollLeft;
		posy = e.clientY + document.body.scrollTop;
	}
	var area = GetArea(areaId);
	area.popareaup(posx, posy);
}

// Function to hide the Flirt DIV Layer
function CloseFlirtPopup(areaId)
{
	GetArea(areaId).hide();
	activeAreaId = divHangTimer = null;	
}



//var jsAreaShowTime = 1000;
//var JsAreas = new Object();

//function GetArea(id)
//{
//	return JsAreas[id] ? JsAreas[id] : (JsAreas[id] = new JsArea(id));
//}

//// A single popup window
//function JsArea(id)
//{
//	this.AreaId = id;
//}

//// Function to return the DIV Layer
//JsArea.prototype.ContentArea= function()
//{
//	var divArea = document.getElementById(this.AreaId);
//	if (divArea != null)
//	{
//		return divArea;
//	}
//	return null;
//}

//var activeAreaId = null;

//// Function to show the DIV Layer
//JsArea.prototype.popareaup = function(x, y)
//{
//if (activeAreaId != null)	
//	jsAreaClose(activeAreaId);
//	
//	var divLayer = this.ContentArea();
//	divLayer.style.position = 'absolute';
//	divLayer.style.display = 'block';
//	divLayer.style.left = x;
//	divLayer.style.top = y;
//	divLayer.onmouseover= JsAreaMouseOver;
//	divLayer.onmouseout = jsAreaMouseOut;
//	activeAreaId = this.AreaId;
//	return false;
//}

//// Function to hide the DIV Layer
//JsArea.prototype.hide = function()
//{
//	var divLayer = this.ContentArea();
//	if (divLayer != null)
//		divLayer.style.display = 'none';
//		
//	return false;
//}

//// Function to be called
//// by Web forms to show the Popup Window
//function PopupArea(e, areaId, test)
//{
//// begin test
//var popUp = document.getElementById(areaId);
//var myButton = document.getElementById(test);
//myButton.style.visibility = 'hidden';
//alert(myButton.style.name);
//// end test
//	if (e.pageX || e.pageY)
//	{
//		posx = e.pageX;
//		posy = e.pageY;
//	}
//	else 
//	if (e.clientX || e.clientY)
//	{
//		posx = e.clientX + document.body.scrollLeft;
//		posy = e.clientY + document.body.scrollTop;
//	}
//	// begin test
//	var curleft = 0;
//	var curtop = 0;
//	if (areaId.offsetParent) {
//    do {
//			    curleft += areaId.offsetLeft;
//			    curtop += areaId.offsetTop;
//   }  while (areaId = areaId.offsetParent);
////   alert(e.clientX);
// }
// else
// {
//   curleft = areaId.offsetLeft
//   //curtop = areaId.offsetTop
// } 
//	posx = curleft; //areaId.offsetLeft;
//	posy = curtop; //areaId.offsetTop;
//	// end test
//	var area = GetArea(areaId);
//	area.popareaup(posx, posy);
//}

//// Function to hide the DIV Layer
//function jsAreaClose(areaId)
//{
//	GetArea(areaId).hide();
//	activeAreaId = divHangTimer = null;	
//}

//var divHangTimer = null;

//// Function to keep the Div Layer
//// showing for a "period" of time
//// after that period, if the mouse
//// has been outside the DIV Layer, 
//// it will be hidden automatically
//function KeepArea(areaId)
//{
//	if (areaId == activeAreaId && divHangTimer != null)
//	{
//		clearTimeout(divHangTimer);
//		divHangTimer = null;
//	}
//}

//// Function to release the DIV Layer
//function RelArea(areaId)
//{
//	if (areaId == activeAreaId && divHangTimer == null)
//		divHangTimer = setTimeout('jsAreaClose(\'' + areaId + '\')', jsAreaShowTime);
//}

//// Function fired when mouse is over the 
//// DIV Layer, used to keep the layer showing
//function JsAreaMouseOver(e)
//{
//	if (!e) 
//		var e = window.event;
//	var targ = e.target ? e.target : e.srcElement;
//	KeepArea(activeAreaId);
//}

//// Function that fires when mouse is out of
//// the scope of the DIV Layer
//function jsAreaMouseOut(e)
//{
//	if (!e) 
//		var e = window.event;
//	var targ = e.relatedTarget ? e.relatedTarget : e.toElement;
//	var activeAreaView = document.getElementById(activeAreaId);
//	if (activeAreaView != null && !jsAreaContains(activeAreaView, targ))
//		RelArea(activeAreaId);
//}
//function jsAreaContains(parent, child)
//{
//	while(child)
//		if (parent == child) return true;
//		else 
//			child = child.parentNode;
//		
//		return false;
//}

//// Function to be called
//// by Web forms to show the Popup Window
//function ShowFlirtPopup(e, areaId, item)
//{

//	if (e.pageX || e.pageY)
//	{
//		posx = e.pageX;
//		posy = e.pageY;
//	}
//	else 
//	if (e.clientX || e.clientY)
//	{
//		posx = e.clientX + document.body.scrollLeft;
//		posy = e.clientY + document.body.scrollTop;
//	}
//	// begin test
//	var curleft = 0;
//	var curtop = 0;
//	if (areaId.offsetParent) {
//    do {
//			    curleft += areaId.offsetLeft;
//			    curtop += areaId.offsetTop;
//   }  while (areaId = areaId.offsetParent);
// }
// else
// {
//   curleft = areaId.offsetLeft
//   curtop = areaId.offsetTop
// } 
//	posy = item.offsetLeft;
// posx	= item.offsetTop;
// curleft = item.left
// curtop = item.top
//	//	alert(curtop);
//	//----------------------test2
//	var curleft = curtop = 0;
//        if (areaId.offsetParent) {
//            curleft = areaId.offsetLeft;
//            curtop = areaId.offsetTop;
//            while (areaId = areaId.offsetParent) {
//                curleft += areaId.offsetLeft;
//                curtop  += areaId.offsetTop;
//            }
//           alert(curtop); 
//        }	
//        else  // test
//        {
//         //curtop = 500;
//         curtop = item.offsetTop;
//         alert(curtop); 
//        }
//	//----------------------end test2
//	// end test
//	var area = GetArea(areaId);
//	area.popareaup(curleft, curtop); // test
//	//area.popareaup(posx, posy);
//	
//	
//	

//}
