var overlayFade = 0;
var overlayActive = false;
var overlayCloseCallback = 0;

function getBodySize()
{
    var element = document.documentElement || document.body;

	var	bodywidth = window.innerWidth || ( element.offsetWidth - 2 * ( element.clientLeft || 0 ) )
	var bodyheight = window.innerHeight || ( element.offsetHeight - 2 * ( element.clientTop || 0 ) )
	
	return {
	    height : Math.max(element.scrollHeight, element.clientHeight),
	    width  : Math.max(element.scrollWidth, element.clientWidth)
	}
}

function overlayResize()
{   
    document.getElementById('overlay').style.display = 'none';
    
    bodysize = getBodySize();

    document.getElementById('overlay').style.height = bodysize['height'] + 'px';
    document.getElementById('overlay').style.width = bodysize['width'] + 'px';
    document.getElementById('overlay').style.display = 'block';
}

function overlayLoad( contents, callback )
{
    if ( callback != undefined )
    {
        overlayCloseCallback = callback;
    }
    
    overlayResize();
    
    document.getElementById('overlay_contents').innerHTML = contents;
    document.getElementById('overlay_main').style.display = 'block';
    
    overlayFadeIn();
}

function overlayLoadNewBlock( block, contents )
{
    document.getElementById( block ).innerHTML = contents;
    document.getElementById( block ).style.display = 'block';
}

function overlayHideElement( block, element_id )
{
    block_div = document.getElementById( block );
        
    for ( var i = 0; i < block_div.childNodes.length; i++ )
    {
        var blockelement_id = block_div.childNodes[i].id;
        
        if ( blockelement_id == element_id )
        {
            block_div.childNodes[i].style.display = 'none';
            return true;
        }
    }
    
    return false;
}

function isIE6()
{
    var navi = navigator.appVersion;
    
	if(navi.indexOf("MSIE")>-1)
	{
		var navAr = navi.split(";");
		var version = parseFloat(navAr[1].split(" ")[2]);

		if ( version == 6 ) return true;
	}
	
	return false;
}

function overlayFadeIn()
{
    overlayActive = true;
    
    
    if ( isIE6() )
    {
	    document.getElementById('overlay').style.filter = 'alpha(opacity=60.0)';
        return;
    }
    
    if ( overlayFade == 0 )
    {
        document.getElementById('overlay').style.opacity = 0;
	    document.getElementById('overlay').style.filter = 'alpha(opacity=0)';
    }
    
    if ( overlayFade <= 60 )
    {
    	document.getElementById('overlay').style.opacity = ( overlayFade + 1 ) / 100;
	    document.getElementById('overlay').style.filter = 'alpha(opacity=' + overlayFade + '.0)';
	    
	    overlayFade += 10;
	    
	    setTimeout("overlayFadeIn()", 5);
    }
    else
    {
        overlayFade = 0;
        
    }
}

function overlayClose()
{
    document.getElementById('overlay_main').style.display = 'none';
    document.getElementById('overlay').style.display = 'none';
    
    overlayActive = false;
    
    if ( overlayCloseCallback != 0 )
    {
        eval( overlayCloseCallback + "()" );
    }
}

window.onresize = function()
{
    if ( overlayActive )
    {
        overlayResize();
    }
}
