Event.observe(window, 'load', pageLoaded);
var activeNews = 0;
var totNews;
var myNewsArr;
var firstTime = true;
var PE;


function pageLoaded() {
	//inizializza Move
	MoveNews.init();
}

var MoveNews = {

	init: function(event) {
	
		myNewsArr = document.getElementsByClassName('singleNews');	
	
		if (myNewsArr.length > 0){
			PE = new PeriodicalExecuter(changeNews, 7);
			Event.observe($('newsRotator_Cont'), 'mouseover', MoveNews.freeze.bindAsEventListener(MoveNews));
			Event.observe($('newsRotator_Cont'), 'mouseout', MoveNews.start.bindAsEventListener(MoveNews));
		}
		
	},
	
	freeze : function(event) {
			PE.stop();
	},
	
	start : function(event) {
			PE.registerCallback();
	}

}

function changeNews(){

	if (!firstTime) {

		var currentNews;
		var nextNews;
	
		currentNews = activeNews;
	
		if ((activeNews+1) >= myNewsArr.length){
			nextNews = 0;
		}else{
			nextNews = (activeNews+1);
		}

		new Effect.Parallel(

         [
         new Effect.MoveBy(myNewsArr[currentNews], -300, 0, { sync: true }),
         new Effect.MoveBy(myNewsArr[nextNews], -300, 0, { sync: true }),
         new Effect.Opacity(myNewsArr[nextNews],{duration:1, from:1.0, to:1.0, sync: true })
         ],
         {duration: 2, afterFinish: function(){resetMyDivPosition(myNewsArr[currentNews]);}}
         );
       
        
        activeNews = activeNews+1;
		if (activeNews >= myNewsArr.length){
			activeNews = 0;
		}
		
		
		
	}

	firstTime = false;
}

function resetMyDivPosition(myDiv){
        myDiv.style.top = 300 + 'px';
}