﻿function GetObject(ID)
{
	return (document.getElementById) ? document.getElementById(ID) : eval('document.all.' + ID);
}
function clipValues(obj, which)
{
	if(obj.clip)
	{
		var re = /rect\(([0-9]+).*[ |,]([0-9]+).*[ |,]([0-9]+).*[ |,]([0-9]+).*\)/;
		var clipv = re.exec(obj.clip);
		if (which=="t") return Number(clipv[1]);
		if (which=="r") return Number(clipv[2]);
		if (which=="b") return Number(clipv[3]);
		if (which=="l") return Number(clipv[4]);
	}
	return 0;
}
function clipTo(obj, t, r, b, l)
{
	if(obj.clip) { obj.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)"; }
}
function clipBy(obj, t, r, b, l)
{
	if(obj.clip) { obj.clip = "rect("+(this.clipValues(obj,'t')+t)+"px "+(this.clipValues(obj,'r')+r)+"px "+Number(this.clipValues(obj,'b')+b)+"px "+Number(this.clipValues(obj,'l')+l)+"px)"; }
}
function findPosX(obj)
{
	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)
{
	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 attachEventListener(target, eventType, functionRef, capture)
{
     if (typeof target.addEventListener != "undefined")
     {
        target.addEventListener(eventType, functionRef, capture);
     }
     else if (typeof target.attachEvent != "undefined")
     {
        target.attachEvent("on" + eventType, functionRef);
     }
     else
     {
        eventType = "on" + eventType;

       if (typeof target[eventType] == "function")
       {
            var oldListener = target[eventType];

            target[eventType] = function()
            {
                oldListener();

            return functionRef();
            };
       }
       else
       {
            target[eventType] = functionRef;
       }
     }
}
