$(document).ready(function(){
	FB.init("2be414fa13bb18c00b95b2da5bd9c3de", "http://www.97chosesafaire.com/xd_receiver.htm");
	
	if ($("body").attr("id") != "page_wish") {
		// ====== PAGE JAUNE ========//
		var dirimg = "orange";
		// ------ Ouvert ------ //
		var blocOuvert = {
			height: 136,
			backgroundColor: '#1E2428',
			borderWidth: 1,
			borderBottomColor: '#999',
			borderLeftColor: '#999',
			borderRightColor: '#999',
			borderTopColor: '#999',
			paddingTop: 20
		};
		var blocOuvertH2 = {
			color: '#FFD00A',
			fontSize: 18,
			marginBottom: 10
		};
		var blocOuvertTitre = {
			height: 'auto'
		};
		var blocOuvertImgNum = {
			width: 40
		};
		
		// ------ Fermé Taille 2 ------ //
		var blocTaille2 = {
			height: 72,
			marginBottom: 3,
			backgroundColor: "#FFD00A",
			paddingTop: 18,
			borderWidth: 1,
			borderBottomColor: '#FFD00A',
			borderLeftColor: '#FFD00A',
			borderRightColor: '#FFD00A',
			borderTopColor: '#FFD00A'
		};
		var blocTaille2H2 = {
			color: '#FFF',
			fontSize: 18,
			marginBottom: 0
		};
		var blocTaille2Table = {
			height: 50
		};
		var blocTaille2ImgNum = {
			width: 36
		};
		var blocTaille2Plus = {
			marginTop: 0
		};
		
		// ------ Fermé Taille 3 ------ //
		var blocTaille3 = {
			height: 49,
			marginBottom: 3,
			backgroundColor: "#FFD00A",
			paddingTop: 15,
			borderWidth: 1,
			borderBottomColor: '#FFD00A',
			borderLeftColor: '#FFD00A',
			borderRightColor: '#FFD00A',
			borderTopColor: '#FFD00A'
		};
		var blocTaille3H2 = {
			color: '#FFF',
			fontSize: 16,
			marginBottom: 0
		};
		var blocTaille3Table = {
			height: 34
		};
		var blocTaille3ImgNum = {
			width: 23
		};
		var blocTaille3Plus = {
			marginTop: -5
		};
		
		// ------ Fermé Taille 4 ------ //
		var blocTaille4 = {
			height: 42,
			marginBottom: 3,
			backgroundColor: "#FFD00A",
			paddingTop: 6,
			borderWidth: 1,
			borderBottomColor: '#FFD00A',
			borderLeftColor: '#FFD00A',
			borderRightColor: '#FFD00A',
			borderTopColor: '#FFD00A'
		};
		var blocTaille4H2 = {
			color: '#FFF',
			fontSize: 15,
			marginBottom: 0
		};
		var blocTaille4Table = {
			height: 36
		};
		var blocTaille4ImgNum = {
			width: 18
		};
		var blocTaille4Plus = {
			marginTop: -13
		};
	} else {
		// ====== PAGE ROSE ========//
		var dirimg = "pink";
		// ------ Ouvert ------ //
		var blocOuvert = {
			height: 136,
			backgroundColor: '#1E2428',
			borderWidth: 1,
			borderBottomColor: '#999',
			borderLeftColor: '#999',
			borderRightColor: '#999',
			borderTopColor: '#999',
			paddingTop: 20
		};
		var blocOuvertH2 = {
			color: '#F90F4C',
			fontSize: 18,
			marginBottom: 10
		};
		var blocOuvertTitre = {
			height: 'auto'
		};
		var blocOuvertImgNum = {
			width: 40
		};
		
		// ------ Fermé Taille 2 ------ //
		var blocTaille2 = {
			height: 72,
			marginBottom: 3,
			backgroundColor: "#F90F4C",
			paddingTop: 18,
			borderWidth: 1,
			borderBottomColor: '#F90F4C',
			borderLeftColor: '#F90F4C',
			borderRightColor: '#F90F4C',
			borderTopColor: '#F90F4C'
		};
		var blocTaille2H2 = {
			color: '#FFF',
			fontSize: 18,
			marginBottom: 0
		};
		var blocTaille2Table = {
			height: 50
		};
		var blocTaille2ImgNum = {
			width: 36
		};
		var blocTaille2Plus = {
			marginTop: 0
		};
		
		// ------ Fermé Taille 3 ------ //
		var blocTaille3 = {
			height: 49,
			marginBottom: 3,
			backgroundColor: "#F90F4C",
			paddingTop: 15,
			borderWidth: 1,
			borderBottomColor: '#F90F4C',
			borderLeftColor: '#F90F4C',
			borderRightColor: '#F90F4C',
			borderTopColor: '#F90F4C'
		};
		var blocTaille3H2 = {
			color: '#FFF',
			fontSize: 16,
			marginBottom: 0
		};
		var blocTaille3Table = {
			height: 34
		};
		var blocTaille3ImgNum = {
			width: 23
		};
		var blocTaille3Plus = {
			marginTop: -5
		};
		
		// ------ Fermé Taille 4 ------ //
		var blocTaille4 = {
			height: 42,
			marginBottom: 3,
			backgroundColor: "#F90F4C",
			paddingTop: 6,
			borderWidth: 1,
			borderBottomColor: '#F90F4C',
			borderLeftColor: '#F90F4C',
			borderRightColor: '#F90F4C',
			borderTopColor: '#F90F4C'
		};
		var blocTaille4H2 = {
			color: '#FFF',
			fontSize: 15,
			marginBottom: 0
		};
		var blocTaille4Table = {
			height: 36
		};
		var blocTaille4ImgNum = {
			width: 18
		};
		var blocTaille4Plus = {
			marginTop: -13
		};
	}
	
	// ------ Variables Globales ------ //
	var defil = 0;
	var nb_articles = $("#hid_nb_articles").val();
	var nb_pages = nb_articles/4;
	var current_page = 1;
	var jump_article = $("#hid_jump_to").val();
	
	// ------ Comportement ------ //
	
	// Acordéon
	$(".groupe_articles > li").hover(
	function(){
		openwish($(this));
	},function(){});
	
	// Jump a un article
	if (jump_article > 1) {
		var page = Math.ceil(jump_article/4);
		var pos = 4;
		if (jump_article%4 != 0) pos = jump_article%4;
		
		defil_to_page(page);
		var li_class = ".bloc_ouvert"
		if (pos > 1) li_class = ".bloc_taille"+pos;
		openwish($("#groupe"+page+" "+li_class));
	}
	
	// Recherche
	$("#btn_rechercher").click(function(){
		if ($("#liste_tri").is(":hidden")) {
			$("#liste_tri").slideDown(200);
		} else {
			$("#liste_tri").slideUp(200, function(){
				$("#themes").parent().next().hide(0);
			});
		}
	});
	$("#themes").click(function(){
		if ($(this).parent().next().is(":hidden")) {
			$(this).parent().next().slideDown(200);
		} else {
			$(this).parent().next().slideUp(200);
		}
	});
	$("#recherche").mouseleave(function(){
		$("#liste_tri").slideUp(200, function(){
			$("#themes").parent().next().hide(0);
		});
	});
	
	// Popin Reglement
	$("#open_popin label").click(function () {
		$("#popin").fadeIn(500, function () {
			$("select").css({display: 'none'});
		});
	});
	$("#close").click(function () {
		$("select").css({display: ''});
		$("#popin").fadeOut(500);
	});
	$("#open_popin a").click(function () {
		$("#popin_charte").fadeIn(500, function () {
			$("select").css({display: 'none'});
		});
	});
	$("#close_charte").click(function () {
		$("select").css({display: ''});
		$("#popin_charte").fadeOut(500);
	});
	
	// ------ Fonctions ------ //
	function openwish(bloc) {
		bloc.stop().find("*").stop();
		var ouvert = null;
		var taille2 = null;
		var taille3 = null;
		var taille4 = null;
		
		// On ferme le voisin ouvert
		if (bloc.is(":first-child")) {
			taille2 = bloc.next();
			taille3 = bloc.next().next();
			taille4 = bloc.next().next().next();
			// Ouvert ici
			if (taille2.is(".bloc_taille2")) closewish(taille2, 2);
			if (taille3.is(".bloc_taille3")) closewish(taille3, 3);
			if (taille4.is(".bloc_taille4")) closewish(taille4, 4);
		} else if (bloc.is(":nth-child(2)")) {
			taille2 = bloc.prev();
			taille3 = bloc.next();
			taille4 = bloc.next().next();
			if (taille2.is(".bloc_ouvert")) closewish(taille2, 2);
			// Ouvert ici
			if (taille3.is(".bloc_taille3")) closewish(taille3, 3);
			if (taille4.is(".bloc_taille4")) closewish(taille4, 4);
		} else if (bloc.is(":nth-child(3)")) {
			taille2 = bloc.prev().prev();
			taille3 = bloc.prev();
			taille4 = bloc.next();
			if (taille2.is(".bloc_ouvert")) closewish(taille2, 2);
			if (taille3.is(".bloc_taille2")) closewish(taille3, 3);
			// Ouvert ici
			if (taille4.is(".bloc_taille4")) closewish(taille4, 4);
		} else if (bloc.is(":nth-child(4)")) {
			taille2 = bloc.prev().prev().prev();
			taille3 = bloc.prev().prev();
			taille4 = bloc.prev();
			if (taille2.is(".bloc_ouvert")) closewish(taille2, 2);
			if (taille3.is(".bloc_taille2")) closewish(taille3, 3);
			if (taille4.is(".bloc_taille3")) closewish(taille4, 4);
			// Ouvert ici
		}   
		
		if (bloc.height() == blocOuvert['height']) {
			return false;
		}
		
		var img = bloc.find(".col1 img");
		var newpathimg = changeFolderImg(img.attr("src"), "white");
		
		// On masque
		bloc.find(".nb_fans").hide(0).find("*").hide(0);
		bloc.find(".plus").hide(0);
		img.css({visibility: 'hidden'});
		
		// Puis on transforme
		bloc.animate(blocOuvert, 350);
		bloc.find(".titre").css(blocOuvertTitre);
		bloc.find("h2").animate(blocOuvertH2, 350, function(){
				// Puis on Affiche
				bloc.find(".option_menu").show(0).find("*").show(0);
				bloc.find("p").show(0);
				bloc.find(".bulle_fans").show(0).find("*").show(0);
				bloc.find(".moins").show(0);
				img.css(blocOuvertImgNum).attr("src", newpathimg).css({visibility: 'visible'});
			}
		);
		
		return true;
	}
	
	function closewish(bloc, pos) {
		bloc.stop().find("*").stop();
		
		// On définit le style du bloc fermé
		if (pos == 2) {
			styleTaille = blocTaille2;
			styleH2 = blocTaille2H2;
			styleTable = blocTaille2Table;
			styleImgNum = blocTaille2ImgNum;
		} else if (pos == 3) {
			styleTaille = blocTaille3;
			styleH2 = blocTaille3H2;
			styleTable = blocTaille3Table;
			styleImgNum = blocTaille3ImgNum;
		} else if (pos == 4) {
			styleTaille = blocTaille4;
			styleH2 = blocTaille4H2;
			styleTable = blocTaille4Table;
			styleImgNum = blocTaille4ImgNum;
		}
		
		// On rafiche les images masqués qui ne sont pas arrivé au bout de la transformation
		var img = bloc.find(".col1 img");
		img.css(styleImgNum).css({visibility: 'visible'});
		
		if (styleTaille['height'] == bloc.height()) {
			return false;
		}
		
		var sameColor = false;
		if (styleTaille['backgroundColor'] == '#FFD00A') {
			sameColor = true;
		}
		
		var newpathimg = changeFolderImg(img.attr("src"), dirimg);
		
		// On masque
		bloc.find(".moins").hide(0);
		bloc.find(".option_menu").hide(0).find("*").hide(0);
		bloc.find("p").hide(0);
		bloc.find(".bulle_fans").hide(0).find("*").hide(0);
		if (!sameColor) img.css({visibility: 'hidden'});
		
		// Puis on transforme
		img.css(styleImgNum).attr("src", newpathimg);
		bloc.find(".titre").css(styleTable);
		bloc.find("h2").animate(styleH2, 350);
		bloc.animate(styleTaille, 350, function(){
			// On charges les nouveaux styles
			// DOIT ETRE FAIT ICI car animate unset si fait plus haut
			if (pos == 2) {
				styleTable = blocTaille2Table;
				stylePlus = blocTaille2Plus;
			} else if (pos == 3) {
				styleTable = blocTaille3Table;
				stylePlus = blocTaille3Plus;
			} else if (pos == 4) {
				styleTable = blocTaille4Table;
				stylePlus = blocTaille4Plus;
			}
			// Puis on affiche les nouveaux
			bloc.find(".nb_fans").css(styleTable).show(0).find("*").show(0);
			bloc.find(".plus").css(stylePlus).show(0);
			img.css({visibility: 'visible'});
		});
		
		return true;
	}
	
	function changeFolderImg(path, newdir) {
		// images/numbers/orange/2.gif
		var splited = path.split("/");
		return "images/numbers/"+newdir+"/"+splited[splited.length-1];
	}
	
	function isValidMail (str) {
		var regexp = new RegExp("^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$");
		return regexp.test(str);
	}
	
	function isNumber (str) {
		var regexp = new RegExp("^[0-9]+$");
		return regexp.test(str);
	}
	
	// ============ Pagination ============ //
	$("#fleche_haut").click(function(){
		if (current_page > 1) {
			defil = defil + 878;
			$("#articles").animate({marginTop: defil}, 700, "swing");
			current_page--;
		} else {
			tmpdefil = defil+80;
			$("#articles").animate({marginTop: tmpdefil}, 200, "linear", function(){
				$("#articles").animate({marginTop: defil}, 250);
			});
		}
	});
	
	$("#fleche_bas").click(function(){
		if (current_page < nb_pages) {
			defil = defil - 878;
			$("#articles").animate({marginTop: defil}, 700, "swing");
			current_page++;
		} else {
			tmpdefil = defil-80;
			$("#articles").animate({marginTop: tmpdefil}, 200, "linear", function(){
				$("#articles").animate({marginTop: defil}, 250);
			});
		}
	});
	
	function defil_to_page (page) {
		defil = defil - (page-1)*878;
		$("#articles").css({marginTop: defil});
		current_page = page;
	}
	
	// ============ Formulaire "Proposez un wish" ============ //
	$("#btn_envoyer").click(function(){
		var error = 0;
		
		// Pseudo
		if ($("#pseudo").val() == "") {
			$("label[for='pseudo']").css({color: 'red'});
			error++;
		} else {
			$("label[for='pseudo']").css({color: 'white'});
		}
		
		// Mail
		if ( ($("#email").val() == "") || (!isValidMail($("#email").val())) ) {
			$("label[for='email']").css({color: 'red'});
			error++;
		} else {
			$("label[for='email']").css({color: 'white'});
		}
		
		// N° Mobile
		if ( ($("#mobile").val().length != 10) || (!isNumber($("#mobile").val())) ) {
			$("label[for='mobile']").css({color: 'red'});
			error++;
		} else {
			$("label[for='mobile']").css({color: 'white'});
		}
		
		// Titre
		if ($("#titre").val() == "") {
			$("label[for='titre']").css({color: 'red'});
			error++;
		} else {
			$("label[for='titre']").css({color: 'white'});
		}
		
		// Description
		if ($("#description").val() == "") {
			$("label[for='description']").css({color: 'red'});
			error++;
		} else {
			$("label[for='description']").css({color: 'white'});
		}
		
		// CGU
		if (!$("#cgv").is(":checked")) {
			$("label > span").css({color: 'red'});
			error++;
		} else {
			$("label > span").css({color: 'white'});
		}
		
		if (error == 0) {
			$("#form_wish").submit();
		}
	});
	
	// ============ Votes ============ //
	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);
			refreshNbVotes(votes, id_article);
			return true;
		} else {
			return false;
		}
	}
	
	$(".btn_vote").click(function(e){
		var id = $(this).attr("id");
		var retour = vote(id);
		if (!retour) {
			var x = e.pageX+10;
			var y = e.pageY+10;
			$("#alert_vote").css({top: y, left: x}).fadeIn(1000, function(){
				$("#alert_vote").fadeOut(1000);
			});
		}
	});
	$(".btn_vote_2").click(function(e){
		var id = $(this).parent().parent().parent().parent().next().find(".btn_vote").attr("id");
		var retour = vote(id);
		if (!retour) {
			var x = e.pageX+10;
			var y = e.pageY+10;
			$("#alert_vote").css({top: y, left: x}).fadeIn(1000, function(){
				$("#alert_vote").fadeOut(1000);
			});
		}
	});
	
	function refreshNbVotes (votes, id_article) {
		var color = "";
		if ($("#"+id_article).attr("src") == "images/btn_jaime.gif") color = "orange";
		else if ($("#"+id_article).attr("src") == "images/btn_jaime_r.gif") color = "pink";
		
		var imgs = getFansToDisplay(votes, color);
		
		var div = $("#"+id_article).parent().prev();
		/*div.find("*").slideUp(500, function() {
			div.html(imgs).find("*").slideDown(500);
		})*/
		div.html(imgs);
		var miniature = $("#"+id_article).parent().parent().next().next().find("span");
		miniature.html(imgs);
	}
	
	function getFansToDisplay (nb, color) {
		var fans = nb;
		var images = [];
		while (fans != 0) {
			var chiffre = fans%10;
			images.push('<img src="images/numbers/'+color+'/'+chiffre+'.png" alt="'+chiffre+'" />');
			fans = Math.floor(fans/10);
		}
		return images.reverse().join('');
	}
	
	function sleep(milliseconds) {
		var start = new Date().getTime();
		while(true) {
			if ((new Date().getTime() - start) > milliseconds){
				break;
			}
		}
	}
});