// JavaScript Document

opacities 	= new Object;
opacityZ  	= 1;
alphato 	= false;

var intervallenFader = new Object();
var intervallenBuildingFade = new Array();
function fade(id, opacStart, opacEnd, millisec, stap, busyWithFade){
	if(document.getElementById(id)){
		
		if(!stap){
			stap 		= 1;
		}
		
		if(opacStart == 'auto'){
			if(isNaN(opacities[id])){
				opacities[id] = parseInt(document.getElementById(id).style.opacity)*100;
			}
			opacStart = parseInt(opacities[id]);
		}
				
		var intervalString = id + 'x' + opacStart + 'x' + opacEnd + 'x' + millisec;
		if(!busyWithFade){
		//	$('debug').innerHTML += '<br />START FADE : '+intervallenFader[id];
			clearTimeout(intervallenFader[id]);
			intervallenBuildingFade[id] = new Object();
			intervallenBuildingFade[id].intervalString	= intervalString;		
			intervallenBuildingFade[id].opacStart		= opacStart;
			intervallenBuildingFade[id].opacEnd 		= opacEnd
			intervallenBuildingFade[id].millisec 		= millisec;
			intervallenBuildingFade[id].stap 			= 1
		}
	
		if(intervallenBuildingFade[id].intervalString != intervalString){

			opacStart 	= intervallenBuildingFade[id].opacStart;
			opacEnd 	= intervallenBuildingFade[id].opacEnd;
			millisec 	= intervallenBuildingFade[id].millisec;
			stap 		= intervallenBuildingFade[id].stap;		
		}else{
			intervallenBuildingFade[id].stap = stap;
		}

	
		var intervalTime 	= 24;
		var stappen 		= Math.ceil(millisec / intervalTime);
		var newOpacity = opacStart + ((stap/stappen) * (opacEnd - opacStart));

		changeOpac(id, newOpacity)
		if(stap <= stappen){
			intervallenFader[id] = setTimeout("fade('" + id + "'," + opacStart + "," + opacEnd + "," + millisec + "," + (stap+1) + ",true)",intervalTime); 
		}
	}
} 
//change the opacity for different browsers 
function changeOpac(id, opacity) {
	var object = document.getElementById(id); 
	if(object){
		
		opacities[id] 					= opacity.toString();
		object.style.opacity 			= (opacity / 100); 
		object.style.MozOpacity 		= (opacity / 100); 
		object.style.KhtmlOpacity 		= (opacity / 100); 
		object.style.filter 			= "alpha(opacity=" + opacity + ")"; 
		if(opacity == 0){
			object.style.visibility = 'hidden';
		}else{
			object.style.visibility = 'visible';
		}
	}
} 