////
function findPosX(obj)
{
	if(typeof(obj) == 'undefined' || obj == null)
		return 0;
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	if(typeof(obj) == 'undefined' || obj == null)
		return 0;
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function findPos(element, rootElement)
{
	var pos = {x : 0, y : 0};
	if (!rootElement)
		rootElement = document.body;
	while (element && element != rootElement)
	{
		pos.x += element.offsetLeft - element.scrollLeft;
		pos.y += element.offsetTop - element.scrollTop;
		element = element.offsetParent;
	}
	return pos;
}

function getObj(name)
{
	ret = null;
	if (document.getElementById)
	{
		ret = document.getElementById(name);
	}
	else if (document.all)
	{
		ret = document.all[name];
	}
	else if (document.layers)
	{
		ret = getObjNN4(document,name);
	}
	return ret;
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id == name)
			foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

jQuery.fn.extend({
   findPos : function() {
       obj = jQuery(this).get(0);
       var curleft = obj.offsetLeft || 0;
       var curtop = obj.offsetTop || 0;
       while (obj = obj.offsetParent) {
                curleft += obj.offsetLeft
                curtop += obj.offsetTop
       }
       return {x:curleft,y:curtop};
   }
});


