$(document).ready(function(){
	
	var speedVert = 300;
	var speedHorz = 400;
	var opaciteFlecheDesactive = 0.3;
	
	var defilActu = 0;
	var actuCurrent = 1;
	var nbActus = 1;
	
	var defilPost = 0;
	var postCurrent = 1;
	var nbPosts = 1;
	
	var methDispActus = "H";
	var methTriActus = "";
	var methTriPosts = "";
	
	/*** Chargement de la page ***/
	FB_RequireFeatures(["XFBML"], function(){
		FB.Facebook.init("282e9d7a84c723d813d259cb4566547f", "http://www.maemo-nokia.fr/xd_receiver.htm");
	}); 
	
	initNbActus();
	putListenerFlechesActusHorz();
	$("#total_actu").html(nbActus);
	putListenerListeActus();
	
	initNbPosts();
	putListenerFlechesPosts();
	putListenerListePosts();
	
	//=========================================== PARTIE ACTUS ===========================================//
	/**** Initialisations ****/
	function initNbActus() {
		defilActu = 0;
		actuCurrent = 1;
		nbActus = $(".contenu_actu ul li").size();
		initFlechesActus();
	}
	
	function initFlechesActus () {
		$("#fleche_actus_h img").fadeTo(speedVert, opaciteFlecheDesactive).css({cursor: 'default'});
		if (nbActus <= 4) {
			$("#fleche_actus_b img").fadeTo(speedVert, opaciteFlecheDesactive).css({cursor: 'default'});
		} else {
			$("#fleche_actus_b img").fadeTo(speedVert, 1.0).css({cursor: 'pointer'});
		}
		$("#fleche_actu_prec img").fadeTo(speedVert, opaciteFlecheDesactive).css({cursor: 'default'});
		if (nbActus <= 1) {
			$("#fleche_actu_suiv img").fadeTo(speedVert, opaciteFlecheDesactive).css({cursor: 'default'});
		} else {
			$("#fleche_actu_suiv img").fadeTo(speedVert, 1.0).css({cursor: 'pointer'});
		}
	}
	
	/**** Défilement Actus Détails ****/
	function putListenerFlechesActusHorz () {
		$("#fleche_actu_suiv").click(function(){
			if (actuCurrent < nbActus) {
				defilActu -= 460;
				$("#liste_actus").animate(
					{marginLeft: defilActu},
					speedHorz,
					"swing"
				);
				actuCurrent++;
				$("#current_actu").html(actuCurrent);
				if (actuCurrent == nbActus) {
					$("#fleche_actu_suiv img")
						.fadeTo(speedHorz, 0.4)
						.css({cursor: 'default'});
				}
				$("#fleche_actu_prec img")
					.fadeTo(speedHorz, 1)
					.css({cursor: 'pointer'});
			}
		});
		$("#fleche_actu_prec").click(function(){
			if (actuCurrent > 1) {
				defilActu += 460;
				$("#liste_actus").animate(
					{marginLeft: defilActu},
					speedHorz,
					"swing"
				);
				actuCurrent--;
				$("#current_actu").html(actuCurrent);
				if (actuCurrent == 1) {
					$("#fleche_actu_prec img")
						.fadeTo(speedHorz, opaciteFlecheDesactive)
						.css({cursor: 'default'});
				}
				$("#fleche_actu_suiv img").fadeTo(speedHorz, 1).css({cursor: 'pointer'});
			}
		});
	}
	
	/**** Défilement Actus Liste ****/
	function putListenerFlechesActusVert () {
		$("#fleche_actus_b").click(function(){
			if (actuCurrent+3 < nbActus) {
				defilActu -= 115;
				$("#liste_actus").animate(
					{marginTop: defilActu},
					speedVert,
					"swing"
				);
				actuCurrent++;
				if (actuCurrent+3 == nbActus) {
					$("#fleche_actus_b img")
						.fadeTo(speedVert, opaciteFlecheDesactive)
						.css({cursor: 'default'});
				}
				$("#fleche_actus_h img")
					.fadeTo(speedVert, 1)
					.css({cursor: 'pointer'});
			}
		});
		$("#fleche_actus_h").click(function(){
			if (actuCurrent > 1) {
				defilActu += 115;
				$("#liste_actus").animate(
					{marginTop: defilActu},
					speedVert,
					"swing"
				);
				actuCurrent--;
				if (actuCurrent == 1) {
					$("#fleche_actus_h img")
						.fadeTo(speedVert, opaciteFlecheDesactive)
						.css({cursor: 'default'});
				}
				$("#fleche_actus_b img")
					.fadeTo(speedVert, 1)
					.css({cursor: 'pointer'});
			}
		});
	}
	
	function putListenerListeActus () {
		// Affichage Popin Tri
		$("#lien_choix_actu, #lien_liste_actu").click(function(){
			$("#choix_actu").css({display: 'block'}).find(".action").css({display: 'none'});
			$("#choix_actu .tri").fadeIn(200);
		});
		if (methDispActus == "H") {
			// Affichage Popin Actions (Horz)
			$(".bloc_actu .lien_action, .bloc_actu .lien_choix").click(function(){
				refreshLinksActionActu($(this).parent().attr("id"));
				$("#choix_actu")
					.css({display: 'block'})
					.find(".tri")
						.css({display: 'none'});
				$("#choix_actu .action").fadeIn(200);
			});
		} else {
			// Affichage Popin Actions (Vert)
			$(".bloc_actu .lien_choix").click(function(){
				refreshLinksActionActu($(this).parent().parent().attr("id"));
				$("#choix_actu")
					.css({display: 'block'})
					.find(".tri")
						.css({display: 'none'});
				$("#choix_actu .action").fadeIn(200);
			});
		}
		// Disparition de la Popin
		$("#choix_actu").mouseleave(function(){
			$("#choix_actu ul:visible").fadeOut(200, function(){
				$("#choix_actu").css({display: 'none'});
			});
		});
	}
	
	/**** Ajax Actus ****/
	// Affichage Horizontal
	function loadActusHorz (_tri) {
		methDispActus = "H";
		$("#bloc_actu_liste").attr("id", "bloc_actu_detail");
		var tri_meth = _tri || "recents";
		$.ajax({
			type: "POST",
			url: "ajax/home_actus_horz.php",
			data: {tri: tri_meth},
			success: function(html){
				$("#bloc_actu_detail").html(html);
				$("#choix_actu .tri").fadeOut(200, function(){
					$("#choix_actu").css({display: 'none'});
				});
				putListenerListeActus();
				putListenerFlechesActusHorz();
				initNbActus();
			}
		});
	}
	
	// Affichage Vertical
	function loadActusVert (_tri) {
		methDispActus = "V";
		$("#bloc_actu_detail").attr("id", "bloc_actu_liste");
		var tri_meth = _tri || "recents";
		$.ajax({
			type: "POST",
			url: "ajax/home_actus_vert.php",
			data: {tri: tri_meth},
			success: function(html){
				$("#bloc_actu_liste").html(html);
				$("#choix_actu .tri").fadeOut(200, function(){
					$("#choix_actu").css({display: 'none'});
				});
				putListenerListeActus();
				putListenerFlechesActusVert();
				initNbActus();
			}
		});
	}
	
	function refreshLinksActionActu (article) {
		var id = extractID(article);
		var title = getTitleForURL(article);
		
		var url = "";
		if (methTriActus != "") {
			url = "actu/"+methTriActus+"/"+id+"-"+title;
		} else {
			url = "actu/"+id+"-"+title;
		}
		
		// Lire
		$("#action_actu1").attr("href", url);
		
		// Voter
		$("#action_actu2").unbind().click(function(){
			nbvotes = vote(article);
			$("#choix_actu ul:visible").fadeOut(200, function(){
				$("#choix_actu").css({display: 'none'});
			});
			if (nbvotes > 0) {
				$("#"+article+" h3 span strong:first").html(nbvotes);
			}
		});
		
		// Commenter
		$("#action_actu3").attr("href", url+"#comment");
		
		// Partager
		$("#action_actu4").attr("href", url+"#share");
	}
	
	/**** Actions de Tris ****/
	$("#tri_actu1").click(function(){
		methTriActus = "maemo";
		if (methDispActus == "H") {
			loadActusHorz(methTriActus);
		} else {
			loadActusVert(methTriActus);
		}
	});
	
	$("#tri_actu2").click(function(){
		methTriActus = "n900";
		if (methDispActus == "H") {
			loadActusHorz(methTriActus);
		} else {
			loadActusVert(methTriActus);
		}
	});
	
	$("#tri_actu3").click(function(){
		methTriActus = "appli";
		if (methDispActus == "H") {
			loadActusHorz(methTriActus);
		} else {
			loadActusVert(methTriActus);
		}
	});
	
	$("#tri_actu4").click(function(){
		methTriActus = "dev";
		if (methDispActus == "H") {
			loadActusHorz(methTriActus);
		} else {
			loadActusVert(methTriActus);
		}
	});
	
	$("#tri_actu5").click(function(){
		methTriActus = "aimes";
		if (methDispActus == "H") {
			loadActusHorz(methTriActus);
		} else {
			loadActusVert(methTriActus);
		}
	});
	
	$("#tri_actu6").click(function(){
		methTriActus = "recents";
		if (methDispActus == "H") {
			loadActusHorz(methTriActus);
		} else {
			loadActusVert(methTriActus);
		}
	});
	
	$("#tri_actu7").click(function(){
		loadActusVert(methTriActus);
		$("#tri_actu7").parent().css({display: 'none'});
		$("#tri_actu8").parent().css({display: 'block'});
	});
	
	$("#tri_actu8").click(function(){
		loadActusHorz(methTriActus);
		$("#tri_actu8").parent().css({display: 'none'});
		$("#tri_actu7").parent().css({display: 'block'});
	});
	
	//=========================================== PARTIE POSTS ===========================================//
	
	/**** Initialisations ****/
	function initNbPosts() {
		defilPost = 0;
		postCurrent = 1;
		nbPosts = $("#liste_posts li").size();
		initFlechesPosts();
	}
	
	function initFlechesPosts () {
		$("#fleche_post_h img")
			.fadeTo(speedVert, opaciteFlecheDesactive)
			.css({cursor: 'default'});
		if (nbPosts <= 4) {
			$("#fleche_post_b img")
				.fadeTo(speedVert, opaciteFlecheDesactive)
				.css({cursor: 'default'});
		} else {
			$("#fleche_post_b img")
				.fadeTo(speedVert, 1.0)
				.css({cursor: 'pointer'});
		}
	}
	
	/**** Défilement PostBox ****/
	function putListenerFlechesPosts () {
		$("#fleche_post_b").click(function(){
			if (postCurrent+3 < nbPosts) {
				defilPost -= 115;
				$("#liste_posts").animate(
					{marginTop: defilPost},
					speedVert,
					"swing"
				);
				postCurrent++;
				if (postCurrent+3 == nbPosts) {
					$("#fleche_post_b img")
						.fadeTo(speedVert, opaciteFlecheDesactive)
						.css({cursor: 'default'});
				}
				$("#fleche_post_h img")
					.fadeTo(speedVert, 1)
					.css({cursor: 'pointer'});
			}
		});
		$("#fleche_post_h").click(function(){
			if (postCurrent > 1) {
				defilPost += 115;
				$("#liste_posts").animate(
					{marginTop: defilPost},
					speedVert,
					"swing"
				);
				postCurrent--;
				if (postCurrent == 1) {
					$("#fleche_post_h img")
						.fadeTo(speedVert, opaciteFlecheDesactive)
						.css({cursor: 'default'});
				}
				$("#fleche_post_b img")
					.fadeTo(speedVert, 1)
					.css({cursor: 'pointer'});
			}
		});
	}
	
	/**** Popin Actions Postbox ****/
	function putListenerListePosts () {
		// Affichage Popin Tri
		$("#lien_liste_post").click(function(){
			$("#actions_post").css({display: 'block'}).find(".action").css({display: 'none'});
			$("#actions_post .tri").fadeIn(200);
		});
		// Affichage Popin Actions
		$("#bloc_post_box .lien_choix").click(function(){
			refreshLinksActionPost($(this).parent().parent().attr("id"));
			$("#actions_post").css({display: 'block'}).find(".tri").css({display: 'none'});
			$("#actions_post .action").fadeIn(200);
		});
		// Disparition de la Popin
		$("#actions_post").mouseleave(function(){
			$("#actions_post ul:visible").fadeOut(200, function(){
				$("#actions_post").css({display: 'none'});
			});
		});
	}
	
	function refreshLinksActionPost (article) {
		var id = extractID(article);
		var title = getTitleForURL(article);
		
		var url = "";
		if (methTriActus != "") {
			url = "post/"+methTriActus+"/"+id+"-"+title;
		} else {
			url = "post/"+id+"-"+title;
		}
		
		// Lire
		$("#action_post1").attr("href", url);
		
		// Voter
		$("#action_post2").unbind().click(function(){
			nbvotes = vote(article);
			$("#actions_post ul:visible").fadeOut(200, function(){
				$("#actions_post").css({display: 'none'});
			});
			if (nbvotes > 0) {
				$("#"+article+" h3 span strong:first").html(nbvotes);
			}
		});
		
		// Commenter
		$("#action_post3").attr("href", url+"#comment");
		
		// Partager
		$("#action_post4").attr("href", url+"#share");
	}
	
	/**** Ajax Posts ****/
	function loadPosts (_tri) {
		var tri_meth = _tri || "recents";
		$.ajax({
			type: "POST",
			url: "ajax/home_posts.php",
			data: {tri: tri_meth},
			success: function(html){
				$("#conteneur_liste_posts").html(html);
				$("#actions_post .tri").fadeOut(200, function(){
					$("#actions_post").css({display: 'none'});
				});
				putListenerListePosts();
				//putListenerFlechesPosts();
				initNbPosts();
			}
		});
	}
	
	/**** Actions de Tris ****/
	$("#tri_post1").click(function(){
		methTriPosts = "maemo";
		loadPosts(methTriPosts);
	});
	
	$("#tri_post2").click(function(){
		methTriPosts = "n900";
		loadPosts(methTriPosts);
	});
	
	$("#tri_post3").click(function(){
		methTriPosts = "appli";
		loadPosts(methTriPosts);
	});
	
	$("#tri_post4").click(function(){
		methTriPosts = "dev";
		loadPosts(methTriPosts);
	});
	
	$("#tri_post5").click(function(){
		methTriPosts = "aimes";
		loadPosts(methTriPosts);
	});
	
	$("#tri_post6").click(function(){
		methTriPosts = "recents";
		loadPosts(methTriPosts);
	});
	
	//=========================================== VOTES ===========================================//
	
	/**** Système de Vote ****/
	function cookVote(article) {
		var expDate = new Date();
		expDate.setTime(expDate.getTime() + (365 * 24 * 3600 * 1000));
		document.cookie = article+"=1;expires="+expDate.toGMTString();
	}
	
	function dejaVote(article) {
		var deb = document.cookie.indexOf(article+"=");
		if (deb >= 0) {
			deb += article.length + 1;
			var fin = document.cookie.indexOf(";",deb);
			if (fin < 0) fin = document.cookie.length;
			var vote = unescape(document.cookie.substring(deb,fin));
			if (vote == 1) {
				return true;
			}
		}
		return false;
	}
	
	function vote(id_article) {
		// article : wish_12, tip_5, ...
		if (!dejaVote(id_article)) {
			var votes = $.ajax({
				type: 'POST',
				url: 'ajax/vote.php',
				data: 'article='+id_article,
				async: false,
				dataType: 'text'
			}).responseText;
			cookVote(id_article);
			return votes;
		} else {
			return 0;
		}
	}
	
	//=========================================== RESTE ===========================================//
	
	/**** Generiques ****/
	function extractID (article) {
		var split = article.split("_");
		return split[1];
	}
	
	function getTitleForURL (article) {
		var votes = $.ajax({
			type: 'POST',
			url: 'ajax/load_name_url.php',
			data: 'article='+article,
			async: false,
			dataType: 'text'
		}).responseText;
		return votes;
	}
	
	//======================================== PAGE DETAIL ========================================//
	$("#jaime a").click(function(){
		nbvotes = vote($("input[name='id_article']").val());
		if (nbvotes != "") {
			$("#jaime span").html(nbvotes);
		}
	});
});