// JScript common to all newsfaders...

// Are we able to trigger a fade?
checkFade = function(id) {
	if(eval("lockfade" + id) != true) {
		if(eval("fadeinprogress" + id) != true) {
			eval("fadeinprogress" + id + "=true;");
			var newframe = eval("currentframe" + id) + 1;
			if(newframe > eval("numberofframes" + id)) {
				newframe = 1;
			}		
			moveFade(id,eval("currentframe" + id),newframe);		
			eval("currentframe" + id + "=newframe;");
		}
	}
}

// Fade out one div, fade in another
moveFade = function(id,currentframe,newframe) {	
	if($('fade' + id + currentframe)) {	
		new Effect.Fade('fade' + id + currentframe, {
			duration: 0.2,
			afterFinish: function() { 
				new Effect.Appear('fade' + id + newframe, {
					duration: 0.2,
					afterFinish: function() { 				
						eval("fadeinprogress" + id + "=false;"); 	
					} 
				});							
			} 
		});				
	} 
}		

// Fade to the specified slide
fadeTo = function(id,frameto) {

	if(eval("fadeinprogress" + id) != true) {
		eval("fadeinprogress" + id + "=true;");
		if(frameto > eval("numberofframes" + id)) {
			frameto = 1;
		}		
		moveFade(id,eval("currentframe" + id),frameto);		
		eval("currentframe" + id + "=frameto;");
	}
	
}

// Manual jump, lock autoslide
jumpFade = function(id,frameto) {
	eval("lockfade" + id + "=true;");
	fadeTo(id,frameto);	
}

autofade = function(id,delay) {
	setTimeout(function() { autofade2(id, delay) }, delay);	
}	

autofade2 = function(id, delay) {
	checkFade(id);
	autofade(id, delay);	
}
