
if (document.all)
{
    ie  = true;
    moz = false;
}
else
{
    ie  = false;
    moz = true;
}

if (moz)
{
    emulateEventHandlers(["click", "mousemove", "keypress", "keyup", "keydown", "mouseover", "mouseout", "mouseup", "mousedown", "focus"]);
}
    
function emulateEventHandlers(eventNames)
{
    for (var i = 0; i < eventNames.length; i++)
    {	
        document.addEventListener(eventNames[i], function (e) {window.event = e;}, true);
    }
}

function attachObjEvent(obj, sEvent, sFunction)
{
	if (ie)
	{
		obj.attachEvent("on" + sEvent, sFunction);
	}
	else
	{
		obj.addEventListener(sEvent, sFunction, false);
	}
}

function checkRegExp(str, pattern)
{
	reg = new RegExp(pattern);

	if (reg.exec(str))
	{
		ret = (RegExp.$1 == str);
	}
	else
	{
		ret = false;
	}

	return ret;
}

function trim(str)
{
    return str.replace(/(^\s*)|(\s*$)/g, "");
}

function getAbsolutePosition(element)
{
    var positions;    
    var tempLeft    = element.offsetLeft;
    var tempTop     = element.offsetTop;        
    var tempElement = element;
        
    while (tempElement.tagName != "BODY")
    {
        tempLeft   += parseInt(tempElement.offsetLeft);
        tempTop    += parseInt(tempElement.offsetTop);            
        tempElement = tempElement.offsetParent;
    }        
    
    positions    = Array();
    positions[0] = parseInt(tempLeft);
    positions[1] = parseInt(tempTop);
    
    return positions;
}
