//	geffects.js - Greg's Effects.
//	A collection of javascript effects for use with Gtools.
//	Written by Greg Bowler, October 2009. www.g105b.com/gtools

function FadeOut(el, duration, fadeFrom, keepDisplay)
{
    if(fadeFrom == undefined){fadeFrom = 100;}
    if(keepDisplay == undefined){keepDisplay = false;}
	var speed = Math.round(duration / 100);
	var timer = 0;
	var obj = document.getElementById(el);
	
	for(i = fadeFrom; i > 0; i--)
	{
		setTimeout("SetOpacity('" + el + "', " + i + ", " + keepDisplay + ")", (timer * speed));
		timer++;
	}
}
function FadeIn(el, duration, fadeTo)
{
    if(fadeTo == undefined){fadeTo = 100;}
	var speed = Math.round(duration / 100);
	var timer = 0;
	var obj = document.getElementById(el);
	
	for(i = 0; i < fadeTo; i++)
	{
		setTimeout("SetOpacity('" + el + "', " + i + ")", (timer * speed));
		timer++;
	}
}

function VDiscloserShow(el, duration, height, openFrom)
{
    if(openFrom == undefined){openFrom = 0;}
    var speed = Math.round(duration / 100);
    var timer = 0;
    var obj = document.getElementById(el);
    obj.style.height = openFrom + "px";
    obj.style.display = "block";
    obj.style.overflow = "hidden";
    
    for(i = openFrom; i <= height; i++)
    {
        setTimeout("SetHeight('" + el + "', " + i + ")", (timer * speed));
        timer++;
    }
}
function VDiscloserHide(el, duration, closeTo)
{
    if(closeTo == undefined){closeTo = 0;}
    var speed = Math.round(duration / 100);
    var timer = 0;
    var obj = document.getElementById(el);
    var height = parseInt(obj.style.height);
    obj.style.height = height + "px";
        
    for(i = height; i >= closeTo; i--)
    {
        setTimeout("SetHeight('" + el + "', " + i + ")", (timer * speed));
        timer++;
    }
    setTimeout("obj.style.display = 'none';", (timer * speed));
}

function SetWidth(el, width)
{
    var obj = document.getElementById(el);
    obj.style.width = width + "px";
}
function SetHeight(el, height)
{
    var obj = document.getElementById(el);
    obj.style.height = height + "px";
}

function SetOpacity(el, opacity, keepDisplay)
{
    if(keepDisplay == undefined){keepDisplay = false;}
	var obj = document.getElementById(el);
	obj.style.opacity = (opacity / 100);
    obj.style.MozOpacity = (opacity / 100);
    obj.style.KhtmlOpacity = (opacity / 100);
    obj.style.filter = "alpha(opacity=" + opacity + ")";
	if(opacity <= 1)
	{
        if(keepDisplay)
        {
            obj.style.opacity = (0);
            obj.style.MozOpacity = (0);
            obj.style.KhtmlOpacity = (0);
            obj.style.filter = "alpha(opacity=" + 0 + ")";
        }
        else
        {
            obj.style.display = "none";
        }
	}
	else
	{
		obj.style.display = "block";
	}
}