
function findPos(obj) {
	var curleft, curtop;
	
	cutleft = curtop = 0;

	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}

	return [curleft,curtop];
}

var aSlideOutIds = new Array();

function FadeInSlide(sSlideOutName)
{
    var clSlide = document.getElementById(sSlideOutName);
    var fOpacity = parseFloat(clSlide.style.opacity);
    
    if (fOpacity >= 1.0)
        return;
        
    fOpacity += 0.08;
    
    if (fOpacity > 1.0)
        fOpacity = 1.0;
        
    clSlide.style.opacity = fOpacity;
    
    aSlideOutIds[sSlideOutName] = setTimeout('FadeInSlide(\'' + sSlideOutName + '\')', 15);
}


function FadeOutSlide(sSlideOutName)
{
    var clSlide = document.getElementById(sSlideOutName);
    var fOpacity = parseFloat(clSlide.style.opacity);
    
    if (fOpacity <= 0.0)
    {
        clSlideOut.style.visibility = 'hidden';
        return;
    }
        
    fOpacity -= 0.08;
    
    if (fOpacity < 0.0)
        fOpacity = 0.0;
        
    clSlide.style.opacity = fOpacity;
    
    aSlideOutIds[sSlideOutName] = setTimeout('FadeOutSlide(\'' + sSlideOutName + '\')', 15);
}


function SlideOut(clOrigin, clSlideOut, sSlidePos)
{
    var aPos = findPos(clOrigin);
        
    switch (sSlidePos)
    {
    case "topleft":
        clSlideOut.style.left = aPos[0];
        clSlideOut.style.top = aPos[1] - (clSlideOut.clientHeight);
        break;
    case "topright":
        clSlideOut.style.left = aPos[0] + clOrigin.clientWidth - clSlideOut.clientWidth;
        clSlideOut.style.top = aPos[1] - (clSlideOut.clientHeight);
        break;
    case "lefttop":
        clSlideOut.style.left = aPos[0] - clSlideOut.clientWidth;
        clSlideOut.style.top = aPos[1];
        break;
    case "leftbottom":
        clSlideOut.style.left = aPos[0] - clSlideOut.clientWidth;
        clSlideOut.style.top = aPos[1] + clOrigin.clientHeight - clSlideOut.clientHeight;
        break;
    case "bottomright":
        clSlideOut.style.left = aPos[0] + clOrigin.clientWidth - clSlideOut.clientWidth;
        clSlideOut.style.top = aPos[1] + clOrigin.clientHeight;
        break;
    }

    clSlideOut.style.opacity = 0.0;
    
    /* Fade In Here */
    FadeInSlide(clSlideOut.id);
    
    /* Set Slideout to Visible */
    clSlideOut.style.visibility = 'visible';
}