// Tableau des news
var tab_news = {};

// Navigation base de données
var nbpages = 0;

function DisplayNews() {
// Affiche toutes les news, avec un système de pagination
// Si le paramètre page est défini (variable globale, passée par php), alors on cherche dans le tableau l'index de cette page,
// et on place la pagination au bon endroit (offset) ! page est remis a blanc en bas de la routine	
	
	var pagetojumpto = '';
	// controler la valeur de limit
	if (!limit) limit=5;
	
	// Chercher l'index de 'page', si page est définie
	//_.indexOf ne fonctionne pas , donc on se débrouille
	if (!isVide(page)) {
		for (var i in tab_news) {
			if (tab_news[i]['LienPage'] == page) {
				pagetojumpto=tab_news[i]['LienPage'];
				// Calcul de l'offset
				offset = Math.trunc(i / limit);
				page='';
				break;
			}				
			i++;
		}
	}

	var start = offset * limit;
	var imax = start+limit;
	if (imax > tab_news.length) imax = tab_news.length;

	var blog_content = "<div class=\"controls full\">";
	blog_content += "<a class=\"left-arrow disabled\" onclick=\"Navigation('prev')\"><i class=\"fa fa-angle-left\"></i></a>"; 
	blog_content += "<span id=\"nbpages\">Page "+(offset+1)+" sur "+nbpages+"</span>" 
	blog_content += "<a class=\"right-arrow\" onclick=\"Navigation('next')\"><i class=\"fa fa-angle-right\"></i></a>"
	blog_content += "</div>";
	var side_blog_content = '<h3 class=\"recent_posts margin-bottom-25\">Dernières nouvelles</h3>';
	var vignette = '';
	
	var pagename = '';
	for (var i in tab_news) {
		if ((i>=start) && (i<imax)) {
			blog_content += "<div class=\"blog-content margin-bottom-40 padding-top-30 scroll_effect fadeInLeft\">";
            blog_content += "<div id=\"" + tab_news[i]['LienPage'] + "\" class=\"blog-title\">";
			blog_content += "<h2>" + tab_news[i]['Titre'] + "</h2>";
			blog_content += "<strong class=\"margin-top-5 margin-bottom-25\">"+ tab_news[i]['SousTitre'] + "</strong>"
			blog_content += "</div>"
			blog_content += "<div class=\"post-entry clearfix\">";
			if (! isVide(tab_news[i]['Image_1'])){
				blog_content += "<img class=\"alignleft\" src=\""+ dir_blog + tab_news[i]['Image_1'] + "\" alt=\"" + tab_news[i]['Titre'] + "\" />";
				vignette = dir_vi_blog + tab_news[i]['Image_1'];	
			} else  {
				vignette = img_vi_blog;	
			}
			if (! isVide(tab_news[i]['Texte_1'])) blog_content += tab_news[i]['Texte_1'];
			if (! isVide(tab_news[i]['Image_2'])) {
				blog_content += "</div>";
				blog_content += "<div class=\"clearfix\"></div>";
				blog_content += "<div class=\"post-entry clearfix\">"; 
				blog_content += "<img class=\"alignright\" src=\""+ dir_blog + tab_news[i]['Image_2'] + "\" alt=\"" + tab_news[i]['Titre'] + "\" />";
			}
			if (! isVide(tab_news[i]['Texte_2'])) blog_content += tab_news[i]['Texte_2'];
			blog_content += "</div>";
			blog_content += "<div class=\"clearfix\"></div>";
			blog_content += "</div>";
			side_blog_content +="<div class=\"side-blog\">";
			side_blog_content +="<a class=\"jumpto\" href=\"#\" data-href=\"" + tab_news[i]['LienPage'] + "\">";
			side_blog_content +="<img src=\"" + vignette + "\" class=\"alignleft\" alt=\"" + tab_news[i]['Titre'] + "\">";
			side_blog_content +="<strong>" + tab_news[i]['Titre'] + "</strong>";
			side_blog_content +="<p>" + tab_news[i]['SousTitre'] + "</p>";
			side_blog_content +="</a>";
			side_blog_content +="</div>";
		} else {
			if (i==imax) break;
		}
		i++;
	}
	// pagination
	blog_content += "<div class=\"col-lg-12 col-md-12 col-sm-12 col-xs-12\">";
	blog_content += "<ul class=\"pagination margin-bottom-none margin-top-25\">";
	
	//alert(nbpages);
	// Fleche gauche
	if (offset == 0) {
		blog_content += "	<li class=\"disabled\"><a onclick=\"Navigation(null)\"><i class=\"fa fa-angle-left\"></i></a></li>";
	} else {
		blog_content += "	<li><a onclick=\"Navigation('prev')\"><i class=\"fa fa-angle-left\"></i></a></li>";
	}	
	// Boutons de pages
	for(j=0; j<nbpages; j++) {
		if (offset == j) {
			blog_content += "	<li class=\"disabled\"><a onclick=\"Navigation(null)\">"+(j+1)+"</a></li>";
		} else {
			blog_content += "	<li><a onclick=\"Navigation("+j+")\">"+(j+1)+"</a></li>";
		}
	}
	// Fleche droite	
	if (offset == (nbpages-1)) {
		blog_content += "    <li class=\"disabled\"><a onclick=\"Navigation(null)\"><i class=\"fa fa-angle-right\"></i></a></li>";
	} else {
		blog_content += "    <li><a onclick=\"Navigation('next')\"><i class=\"fa fa-angle-right\"></i></a></li>";
	}	
		
	
	blog_content += "</ul>";
	blog_content += "</div>";
	blog_content += "<div class=\"clearfix\"></div>";
	blog_content += "</div>";
	
	// Afficher le contenu
	$("#blog_pages").html(blog_content);
	$("#blog_side").html(side_blog_content);
	
	//Aller drectement a la bonne page passée en paramètre
	if (pagetojumpto != "") {
		$('html, body').animate({
			'scrollTop': $("#"+pagetojumpto).offset().top - 100
		}, "slow");
	} else {
		// Sauter en haut de page
		$("html, body").animate({ scrollTop: $("#"+tab_news[start]['LienPage']).offset().top - 200 }, "slow");
	}


	$(".jumpto").click(function(e) {
		e.preventDefault();
		var page = "#"+$(this).attr('data-href'); 
		$('html, body').animate({
			'scrollTop': $(page).offset().top - 100
		}, 2000);
		return false;
	});

}

function LoadNews() {
	// Charger en masqué la liste des news 
	// Les news sont chargées dans le tableau tab_news, 
	
	var str = {};
	str.action = "tout";
	str.tri = "DateModif DESC";
	str.limit = 0; // charge tout
	str.offset = 0;
	var jq = $.ajax({
		type: 'POST',    
		url: 'db_blog.php',
		dataType: "json",    
		blog_contentType: "application/x-www-form-urlencoded; charset=UTF-8",
		data: str
	})

	.done(function (response, textStatus, jq) {
		if (response.length) {
			var nb_news = response.length;
			if (!limit) limit=5;
			nbpages = Math.trunc(nb_news / limit);
			if (nb_news % limit) nbpages++;
			tab_news = _(response).toArray();
			DisplayNews();			
		}
	})
	
	.fail(function (jq_moderglt, textStatus, errorThrown) {
		console.log("Errreurrr");
	});
}

function Navigation(action) {
	var nbp = nbpages-1;
	switch(action) {
		case null:
		return;
			break;
		case 'next':
		// page suivante
			if (offset<nbp) {
				offset++;
				DisplayNews();
			}
		break;
		case 'prev':
		// page précédente
			if (offset>0) {
				offset--;
				DisplayNews();
			}
		break;
		default:
		// Numéro de page - 1
			offset = action;
			DisplayNews();
		
	}
	switch (offset) {
		case 0:
			$(".left-arrow").addClass("disabled");
			$(".right-arrow").removeClass("disabled");
		break;
		case nbp:
			$(".left-arrow").removeClass("disabled");
			$(".right-arrow").addClass("disabled");
		break;
		default:
			$(".left-arrow").removeClass("disabled");
			$(".right-arrow").removeClass("disabled");
	}		
}

$(window).load(function(){ 
	// Charger toutes les news
	LoadNews(page);
});