/*-----------------------------------*/

function showPopupDiv(poEvent, piDivId, top, left)
{
	var oDiv = document.getElementById(piDivId);
	
	if(top && left)
	{
		oDiv.style.top = top + "px";	
		oDiv.style.left = left + "px";
	}
	else
		setDivPosition(poEvent, oDiv);
	
	removeClass(oDiv, "hide");
}
function hidePopupDiv(piDivId)
{
	addClass(document.getElementById(piDivId), "hide");
}

function setDivPosition(poEvent, poDiv)
{
	var posX = 0;
	var posY = 0;
	
	try{
		posX = poEvent.clientX + document.body.scrollLeft;
		posY = poEvent.clientY + document.body.scrollTop;
	}catch(e){
		posX = poEvent.pageY;
		posY = poEvent.pageX;
	}

	posX = posX - 100;
	posY = posY + 20;

	poDiv.style.left = posX + "px";
	poDiv.style.top = posY + "px";
}

// classname attribute helpers

function addClass(elem, str)
{
    try
    {
        var tab = elem.className.split(" ");
        for (var i=0; i<tab.length; i++)
        {
            if(tab[i] == str)
            {
                return;
            }
        }
        tab[tab.length] = str;
        elem.className = tab.join(" ");
    }
    catch(e)
    {
    }
}
function removeClass(elem, str)
{
    try
    {
        var tab = elem.className.split(" ");
        var tabdst = new Array();
        for (var i=0; i<tab.length; i++)
        {
            if(tab[i] != str)
            {
                tabdst[tabdst.length] = tab[i];
            }
        }
        elem.className = tabdst.join(" ");
    }
    catch(e)
    {
    }
}
function hasClass(elem, str)
{
    try
    {
        var tab = elem.className.split(" ");
        for (var i=0; i<tab.length; i++)
        {
            if(tab[i] == str)
            {
                return true;
            }
        }
        return false;
    }
    catch(e)
    {
    }
}

