var newsDefilant;
var newsUrl = '/jnewsList.ashx';

function getDateParam () {	
	var d = new Date();
	var sParam = "?date=" + d.getFullYear() +  d.getMonth() +  d.getDay() +  d.getHours() + d.getMinutes();
	return sParam;
}

function callNewsList() {		
	function success(data){			
		jsonObject=xml2json.parser(data);
		newsDefilant = jsonObject.defilant.elements.element;					
		jnewsLoad();			
	}

	function makeNewsRequest(){	
		var l_class = $("#defilant").attr("class").split(' ');
		var l_rubrique = '';
		if(l_class != null && l_class.length > 1)
		{
			for(i=0;i<=(l_class.length-1);i++)
			{
				if(l_class[i]!='defilant')
				{
					l_rubrique='&rubrique=' + l_class[i];
				}
			}
		}
		$.get(newsUrl + getDateParam() + l_rubrique, success);
		}
	
	// Lancement de la requête
	try {			
		makeNewsRequest();										
	}
	catch (e) {
		// Levée de l'erreur
		// throw(e);
	}		
}

function jnews_itemVisibleInCallback(carousel, item, i, state, evt)
{
    var idx = carousel.index(i, newsDefilant.length);
    carousel.add(i, jnews_getItemHTML(newsDefilant[idx - 1]));
};

function jnews_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
};

function jnews_initCallback(carousel)
{
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });    
    
	carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};

function jnewsLoad() {	   
       try {
		$("#jnewsloading").css("display","none");		
		$("#jnewsCarousel").jcarousel({
			// Configuration 
			vertical: true,
			wrap: 'circular',
			auto: 5,
			scroll: 2,
			initCallback: jnews_initCallback,
			itemVisibleInCallback: {onBeforeAnimation: jnews_itemVisibleInCallback},
			itemVisibleOutCallback: {onAfterAnimation: jnews_itemVisibleOutCallback}			
		});					
	}
	catch (e) {
		// Levée de l'erreur sur chargement
		// throw(e);
	}		   	
}

function jnews_getItemHTML(newsItem) {
	try {
  		var innerHTML = '';
  		if (newsItem.displaytype == 'urgent') {  			
  	 		innerHTML += '<span class="urgent">';
  		}
  	
  		// Surtitre
  		innerHTML += '<strong>' + newsItem.surtitre + '</strong>' + ' ';    	  		
  		if (newsItem.libelle != '' && newsItem.libelle != undefined) {	  			
  			if (newsItem.url != '' && newsItem.url != undefined && typeof newsItem.url != "object") { 
  				// Libelle lien
  				innerHTML +=  '<a href="' + newsItem.url + '" title="' + newsItem.libelle + '">' + newsItem.libelle + '</a>'; 
  			}
  			else { 
  				// Libelle simple
  				innerHTML +=  '<a class="nodecoration">' + newsItem.libelle + '</a>';
  			}	
  		}
  		if (newsItem.displaytype == 'urgent') {
  		innerHTML += '</span>';
  		}
  		
		return innerHTML;
	}
	catch (e) {
		// Levée de l'erreur
		throw(e);
		return '';
	}
}

$(document).ready(callNewsList);