// Script based on: Cross-browser BlendTrans Filter JavaScript by brainerror.net
// Heavily modified, including a flicker free firefox image crossfade

var timer=1;
var fade_start = true;
var opacity = 0;
var timerID = 0;
var newImageFile;

function blendimage(divid, imageid, imagefile, millisec) {
	// clear timer
	clearTimeout(timerID);
	speed = Math.round(millisec / 100);
	opacity = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";

	setOpac(opacity, imageid);
	newImageFile = imagefile;
	fadeOpac(imageid, opacity);		
}

//change the opacity for different browsers (fader loop)
function fadeOpac(imageid, opacity) {
	var object = document.getElementById(imageid).style;
	opacity+=3;
	timerID = setTimeout("fadeOpac('" + imageid + "'," + opacity + ")",speed);
	if (opacity <= 99){
		object.opacity = (opacity / 100);
		object.MozOpacity = (opacity / 100);
		object.KhtmlOpacity = (opacity / 100);
		object.filter = "alpha(opacity=" + opacity + ")";
		//set new image src, firefox flicker-free (!):
		if (opacity == 6){
		document.getElementById(imageid).src = newImageFile;
		}
	}else{
		object.opacity = 0.99;
		object.MozOpacity = 0.99;
		object.KhtmlOpacity = 0.99;
		object.filter = "alpha(opacity=" + 99 + ")";
		// clear timer
		clearTimeout(timerID);
		opacity = 0;
	}
}

//set the opacity for different browsers (static)
function setOpac(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}