function $(id){ return document.getElementById(id); }

function alpha(e, percent){
	if(e && e.style!=null){
		if(document.all){
			e.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (100-percent) + ')';
		}else{
			// if it's not IE, assume it can handle CSS3
			e.style.opacity = 1.0 - (percent/100.0);
		}
	}
}

function fadeLayer(layer, a1, a2, step, onFinished){
	var e = $(layer);
	if(a1<a2){
		a1 += step;
		if(a1 > a2){
			a1 = a2;
			alpha(e, 100-a1);
			eval(onFinished);
		}else{
			alpha(e, 100-a1);
			setTimeout("fadeLayer('" + layer + "',"+ a1 +","+ a2 +","+ step +")", 40);
		}
	}else{
		a1 -= step;
		if(a1 < a2){
			a1 = a2;
			alpha(e, 100-a1);
			eval(onFinished);
		}else{
			alpha(e, 100-a1);
			setTimeout("fadeLayer('" + layer + "',"+ a1 +","+ a2 +","+ step +")", 40);
		}
	}
}

var activeLayer = new Array();

function StartCycleLayers(name, count, delay){
	activeLayer[name] = 0;
	fadeLayer(name+'0', 0,100, 6);
	setTimeout("CycleLayers('"+name+"',"+count+","+delay+")", 1000+delay);
}

function CycleLayers(name, count, delay){
	var nextLayer = activeLayer[name]+1;
	
	if(activeLayer[name]==0)
		for(i=1; i<count; i++) alpha($(name+i), 100);
	
	if(nextLayer < count){
		fadeLayer(name+nextLayer, 0,100, 6);
		activeLayer[name] = nextLayer;
	}else{
		fadeLayer(name+'1', 100,0, 6);
		activeLayer[name] = 0;
	}
	
	setTimeout("CycleLayers('"+name+"',"+count+","+delay+")", delay);
}

