/*
* JqNews - JQuery NewsTicker
* Author: Gravagnola Saverio and Iuliano Renato
* Version: 1.0
*/

var newsVisual = 3; // Numero di news da visualizzare - news to be displayed
var intervallo = 10000; // >1500

$(document).ready(function() {
    // Totale news
    var numNews = $("#news").children().length;
    
    // Controllo di overflow
    if (newsVisual > numNews) {
        newsVisual = numNews;
    }

    // Hide delle news superflue all'inizializzazione
    for (var i = newsVisual; i < numNews; i++) {
        $($("#news").children()[i]).css("opacity", "0");
    }
    
    var gestInter = setInterval(jqNewsRotate, intervallo);

    // Gestione del mouseover-mouseout
    $("#news").mouseover(function() { clearInterval(gestInter) });
    $("#news").mouseout(function() { gestInter = setInterval(jqNewsRotate, intervallo); });
});

function jqNewsRotate(_newsVisual) {

    // Inserire lo stesso valore utilizzato per definire l'altezza ed i margini dei div nel file css/style.css
    var children = $("#news").children("div:first");
    var altezzaDiv = -children.height(); 
    var margineDiv = 0;
	
	if ($("#news").children().length > 1) {

		// Hide della prima news
		$($("#news").children()[0]).animate({ opacity: 0 }, 1000, "linear", function() {
		// Movimento verso l'alto
			$($("#news").children()[0]).animate({ marginTop: altezzaDiv }, 1000, "linear", function() {
			// Ripristino posizione elemento nascosto
				$($("#news").children()[0]).css("margin", margineDiv);
				// Spostamento in coda dell'elemento nascosto
				$("#news").append($($("#news").children()[0]));
				// Visualizzazione dell'ultima news
				$($("#news").children()[(newsVisual - 1)]).animate({ opacity: 1 }, 1500);
			});
		});
	}
}
