/*Calendar Display Functions Begin here*/
function Pair(x, y)
{
this.x = x;
this.y = y;
}

function getSize(fld)
{
if (fld.offsetWidth)
  return new Pair(fld.offsetWidth, fld.offsetHeight);
else
  return new Pair(0, 0);
}

function getPos(fld)
{
if (fld.offsetParent)
{
  var dFTop = 0;
  var dFLeft = 0;
  while (fld && fld.tagName != "BODY")
  {
    dFTop += fld.offsetTop;
    dFLeft += fld.offsetLeft;
    fld = fld.offsetParent;
  }
  return new Pair(dFLeft, dFTop);
}
else
  return new Pair(-1, -1);
}

function getSize(fld)
{
if (fld.offsetWidth)
  return new Pair(fld.offsetWidth, fld.offsetHeight);
else
  return new Pair(0, 0);
}

function getWindowSize()
{
if (document.body.clientWidth)
   return new Pair(document.body.clientWidth, document.body.clientHeight);
else if (window.innerWidth)
   return new Pair(window.innerWidth, window.innerHeight);
else
   return new Pair(220,250);
}
function getScrollX()
{
return document.body.scrollLeft;
}

function getScrollY()
{
return document.body.scrollTop;
}

function closeCal()
{
	document.getElementById('Calendar_Iframe').style.display="none";	
}

function fnShowCalendar(dtfld,dtframe)
{

	var fld = document.getElementById(dtfld);
	var cal = document.getElementById("Calendar_Iframe");
	document.getElementById("targetDateField").value = fld.id;

	var pos = getPos(fld);
	var siz = getSize(fld);
	var top = pos.y + siz.y;
	var left = pos.x + siz.x;
	
	var calendarRetry = 0;
	var dateBoxOpen = false;
	
	cal.style.width="220";       
	cal.style.height="250";
	cal.style.display="block";   

	var calsiz = getSize(cal);
	var docsiz = getWindowSize();
	var scrollx = getScrollX();
	var scrolly = getScrollY();

	if (left + calsiz.x - scrollx > docsiz.x)
	left = docsiz.x - calsiz.x + scrollx;
	if (top + calsiz.y - scrolly > docsiz.y)
	top = docsiz.y - calsiz.y + scrolly;
	if (left < scrollx)
	left = scrollx;
	if (top < scrolly)
	top = scrolly;


	cal.style.top=top;
	cal.style.left=left;
	cal.style.display="";
	cal.style.visibility="visible";

	var calFrame = frames.Calendar_Iframe;

	if (calFrame)
	{
	  
	if (calFrame.document.height)
		cal.style.height = calFrame.document.height;
	}

}
