function getRealLeft(element) 
{
	var x=0;
	if (element.offsetParent && document.compatMode=="BackCompat") //for non XHTML pages
	{
        x=element.offsetLeft;
		var tempEl=element.offsetParent;
  		while (tempEl!=null) 
  		{
  			x+=tempEl.offsetLeft;
  			tempEl=tempEl.offsetParent;
  		}
	}
	else if (element.offsetParent)
	{
		x=element.offsetLeft;
		var xScroll=0;
		var absolute=false;
		if (element.scrollLeft) xScroll+=element.scrollLeft;
		var tempEl=element.offsetParent;
  		while (tempEl!=null) 
  		{
  		    absolute|=tempEl.style.position=="absolute";
  			x+=tempEl.offsetLeft
			if (tempEl.scrollLeft) xScroll+=tempEl.scrollLeft;
			var tempEl2=getParentElement(tempEl);
			tempEl=tempEl.offsetParent;
			if (tempEl)
			{
				while(tempEl2!=tempEl)
				{
					if (tempEl2.scrollLeft) xScroll+=tempEl2.scrollLeft;
					tempEl2=getParentElement(tempEl2);
				}
			}
  		}
  		if (navigator.userAgent.indexOf("Safari")==-1 && (!document.all || !absolute)) x-=xScroll;
	}
	else if (element.left) x=element.left;
	else if (element.x) x=element.x;
	return x;
}



function getRealTop(element) 
{
	var y=0;
	if (element.offsetParent && document.compatMode=="BackCompat") //for non XHTML pages
	{
	    y=element.offsetTop;
		var tempEl=element.offsetParent;
		while (tempEl!=null) 
		{
  			y+=tempEl.offsetTop;
  			tempEl=tempEl.offsetParent;
  		}
	}
	else if (element.offsetParent)
	{
		y=element.offsetTop;
		var yScroll=0;
		var absolute=false;
		if (element.scrollTop) yScroll+=element.scrollTop;
		var tempEl=element.offsetParent;
		while (tempEl!=null) 
		{
		    absolute|=tempEl.style.position=="absolute";
  			y+=tempEl.offsetTop;
			if (tempEl.scrollTop) yScroll+=tempEl.scrollTop;
			var tempEl2=getParentElement(tempEl);
			tempEl=tempEl.offsetParent;
			if (tempEl)
			{
				while(tempEl2!=tempEl)
				{
					if (tempEl2.scrollTop) yScroll+=tempEl2.scrollTop;
					tempEl2=getParentElement(tempEl2);
				}
			}
  		}
  		if (navigator.userAgent.indexOf("Safari")==-1 && (!document.all || !absolute)) y-=yScroll;
	}
	else if (element.top) y=element.top;
	else if (element.y) y=element.y;
	return y;
}

function isPosInObject(element,xPos,yPos) 
{
	if (element==null) return false;
	var x=getRealLeft(element);
	var y=getRealTop(element);
	var w=element.offsetWidth;
	var h=element.offsetHeight;

	return (xPos>=x && xPos<=x+w && yPos>=y && yPos<=y+h);
}

function getClientHeight()
{
    var bodyClientHeight=document.body.clientHeight+(document.body.scrollTop?document.body.scrollTop:0);
	var documentClientHeight=document.documentElement.clientHeight+(document.documentElement.scrollTop?document.documentElement.scrollTop:0);
	return bodyClientHeight>documentClientHeight?bodyClientHeight:documentClientHeight;
}

function getClientWidth()
{
    var bodyClientWidth=document.body.clientWidth+(document.body.scrollLeft?document.body.scrollLeft:0);
	var documentClientWidth=document.documentElement.clientWidth+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:0);
	return bodyClientWidth>documentClientWidth?bodyClientWidth:documentClientWidth;
}