
/*  JS image fading tool
    (C)2007 Lukas Hartmann / Dynamion Systems  */

var fx1;
var isFading=false;
var fade_newImg="";
var imgFader_dur=500;
var queueCount=0;
var fadeQueue=0;

function imgFader_Init(duration)
{
	fx1 = $('imgFader_img').effect('opacity',{duration: duration, transition: Fx.Transitions.linear, onComplete: imgFlip, wait: true});
	fx1.set(1);
	
	imgFader_dur=duration;
}

function imgFade(newImg)
{
	op=$('imgFader_img').getStyle('opacity').toInt();
	
	if (op<1)
	{
		// save the fade in the queue
		
		fadeQueue=newImg;
		queueCount=1;
		return;
	}
	
	fade_newImg=newImg;
	
	preload=document.getElementById('imgFader_preload');
	preload.src=newImg;
	
	isFading=true;
}

function imgFade_loaded()
{
	if (!isFading) return;
	
	bg=document.getElementById('imgFader');
	bg.style.background="url("+fade_newImg+")";

	if (fx1.custom)
	{
		fx1.custom(1,0);
	}
	else
	{
		imgFader_Init(imgFader_dur);
	}
}

function imgFlip()
{
	fg=document.getElementById('imgFader_img');
	bg=document.getElementById('imgFader');
	
	fg.src=fade_newImg;
	fx1.set(1);
	
	if (queueCount<1)
	{
		isFading=false;
	}
	else
	{
		queueCount--;
		imgFade(fadeQueue);
	}
}
