function OpenPopup(strURL, varPopUpWidth, varPopUpHeight)
{
    var varLeft, varTop;

    varLeft = (screen.width - varPopUpWidth) / 2;
    varTop = (screen.height - varPopUpHeight) / 2;

    myWin = window.open(strURL,"GEPopUp","location=no,dependent=no,directories=no,scrollbars=auto,resizable=no,top=" + varTop+ ",left=" + varLeft + ",width=" + varPopUpWidth + ",height=" + varPopUpHeight + ",status=no,toolbars=no,menubar=no", "");
    myWin.focus();
}
function $(id){return document.getElementById(id);}
function isIE() { // Private method
  return navigator.userAgent.indexOf("MSIE") > -1;
}
function deftDomReady(onLoad)
{
	if (document.addEventListener)
		document.addEventListener("DOMContentLoaded", onLoad, false);
	else
	{
	    var deftDomReadyTimer;
	    deftDomReadyTimer = setInterval(function()
	    {
			if (document.readyState && (document.readyState == "interactive" || document.readyState == "complete"))
			{
				clearInterval(deftDomReadyTimer);
				onLoad();
			}
	    }, 10);
	}
}

function calcPosition(id, domObj)
{
	var obj = id ? $(id) : domObj;
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent)
		{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	return new function(){this.Left = curleft; this.Top  = curtop};
}
function AddEventListener(obj, event, func)
{
	if (typeof(obj.addEventListener) != "undefined")
		obj.addEventListener(event, func, true);
	else
		obj.attachEvent("on" + event, func);
	return func;
}
function RemoveEventListener(obj, event, func)
{
	if (typeof(obj.removeEventListener) != "undefined")
		obj.removeEventListener(event, func, true);
	else
		obj.detachEvent("on" + event, func);
}
function inlineBlock(objId, verticalAlign, width, height)
{
	var obj = $(objId);
	try
	{
		obj.style.display = "-moz-inline-box";
	}
	catch(e)
	{
		obj.style.display = "inline";
		obj.style.display = "inline-block";
	}
	obj.style.verticalAlign = (typeof(verticalAlign) == "undefined" || !verticalAlign) ? "middle" : verticalAlign;
	obj.style.width = (typeof(width) == "undefined" || !width) ? "auto" : width;
	obj.style.height = (typeof(height) == "undefined" || !height) ? "auto" : height;
}
function getElementsByClassName(obj, strTagName, cl)
{
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = obj.getElementsByTagName(strTagName);
	for (var i = 0; i < elem.length; i++)
	{
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
};
function searchElementsByClassName(obj, strTagName, cl)
{
	var retnode = [];
	var myclass = new RegExp('\\b'+cl);
	var elem = obj.getElementsByTagName(strTagName);
	for (var i = 0; i < elem.length; i++)
	{
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
};
function addClass(obj, className)
{
	var currentClass = obj.className;
	if(!new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i").test(currentClass))
	{
		obj.className = currentClass + ((currentClass.length > 0)? " " : "") + className;
	}
	return obj.className;
};

function removeClass(obj, className)
{
	var classToRemove = new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i");
	obj.className = obj.className.replace(classToRemove, "").replace(/^\s+|\s+$/g, "");
	return obj.className;
};

function OpenPartnerPopup(url)
{
	var result = window.open(url, '_blank');
	if (!result)
		window.location = url;
}

