/** 
 * Un bandeau de news en jQuery, comme sur iTélé 
 * par Jay Salvat - http://blog.jaysalvat.com/ 
 */ 
(function($) {
$.fn.iTvScroller = function(settings) {

    // Options 
    var options =  { 
        delay: 7000 
    }; 
    $.extend(options, settings); 
         
    return this.each(function(){ 
        var $$ = $(this); 
         
        // Applique les classes au 1er et 2ème DT 
        $('dt', $$) 
            .eq(1).addClass('second').end() 
            .eq(0).addClass('first'); 
		
		// Gestion des clics sur les annonces
		$('dt', $$).click(function() {
			DisplayClickedAnnounce(this.id);
		});
 
        // Fait apparaitre doucement la première news 
        $('dd', $$).eq(0).fadeIn('slow'); 
        		
        // Appelle la méthode scrollTitles() toutes les x secondes
		if ($('dd', $$).size() > 1)
			setInterval(scrollTitles, options.delay); 
         
        function scrollTitles() {
			if (GetCookie("HideAnnouncements") == "1")
				return;
			
            // Traitement des DD 
            $('dd', $$) 
                // On les masque tous 
                .hide() 
                // On réaffiche celui qui nous intéresse : le suivant 
                .eq(1).fadeIn('slow'); 
 
			// Traitement des DT 
            $('dt', $$)
                // On réinitialise les classes de tous les titres
                .removeClass('first')
                .removeClass('second')
                // On réapplique les classes au 1er, 2ème et 3ème titre
                .eq(2).addClass('second').end()
                .eq(1).addClass('first').end()
                .eq(0).addClass('first')
                // Puis on déplace les titres vers la gauche
                .animate( { marginLeft : '-150px'}, 1000, function() {
 
						// Lorsque le déplacement est termine le 1er DT ne nous intéresse plus
						var dt = $('dt', $$).eq(0)
							// On réinitialise la marge à gauche
							.css('marginLeft', 0) 
							// On supprime la classe
							.removeClass('first')
							// On le supprime
							.remove();
	 
						// On supprime également le DD 
						var dd = $('dd', $$).eq(0).remove(); 
	 
						// On repose le DT et DD à la suite des autres titres 
						$$.append( dt.hide().fadeIn('slow'), dd ); 
						
						// S'il n'y a que 2 news, il faut que le dernier dd ait les 2 couleurs => style second
						if ($('dd', $$).size() == 2)
							dt.addClass('second').end();
							
						// Gestion des clics sur les annonces
						$('dt', $$).click(function() {
							DisplayClickedAnnounce(this.id);
						});
					}
				)

		}
    }); 
}; 
})(jQuery); 

// Affichage de l'annonce cliquée
function DisplayClickedAnnounce(clickedId)
{
	// Traitement des DD, on les masque tous
    $('dd').hide();
	// On réaffiche celui qui nous intéresse 
	var ddId = "#AnnonceDD_" + clickedId.substring(10, clickedId.length);
    $(ddId).fadeIn('slow'); 
}