
$(document).ready(function () {

	$(".colorbox").colorbox();
	$(".colorboxImg").colorbox({photo: true});

	// - Afficher / Cacher XP
	$("input[name=displayXP]").click(function() {
		if($(this).is(":checked")) {
			$("tr.siteXP").each(function() {
				$(this).next("tr").show();
				$(this).show();
			});
		}
		else {
			$("tr.siteXP").each(function() {
				$(this).next("tr").hide();
				$(this).hide();
			});
		}
	});

	$("a.catListe").hover(function() {
		var id_s = $(this).parent('td').parent('tr');
		if(id_s != null) {
			id_s = id_s.attr('id');
			id_s = id_s.substring(5);
			var position = $(this).position();
			
			$.post("ajax.php", {'action' : 's_catliste', 'id_s': id_s}, function (data) {
				if(data.resultats.length > 0) {
					var content = "";
					for(var i = 0; i < data.resultats.length; i++) {
						content += data.resultats[i]["nom"] + "<br />";
					}
					$("#catListeFlag").html(content);
				}
				else {
					$("#catListeFlag").html("Aucunes catégories associées à ce site.");
				}
				
				$("#catListeFlag").css("left", position.left + 15).css("top", position.top + 15);
				$("#catListeFlag").fadeIn("fast", function (){});
			}, 'json');
		}
	},
	function() {
		$("#catListeFlag").fadeOut("fast", function (){
			$(this).html("");
		});
	});

	//MAJ champ mail
	$("form#notifier span#raison input").live('click', function() {
		var fichier = $(this).attr("id") + ".html";
		var raison = $(this).val();
		$.get("mails/"+fichier, {value: "a"}, function(data) {
			$("form#notifier textarea[name=mail_contenu]").val(data);
		}, "html");
		$("form#notifier input[name=mail_raison]").val(raison);
	});

	$("form#notifier input[name=saction]").live('click', function() {
		var saction = $(this).val();
		$("form#notifier input[name=action_supp]").val(saction);
	});

	// - envoi mail
	$("#NotifierSend").live('click', function() {
		// - envoi du mail
		var id_s = $("form#notifier input[name=id_s]").val();
		var mail_contenu = $("form#notifier textarea[name=mail_contenu]").val();
		var mail_raison = $("form#notifier input[name=mail_raison]").val();

		$.post("ajax.php", {'action' : 'mail', 'id_s': id_s, 'mail_raison': mail_raison, 'mail_contenu': mail_contenu}, function (data) {
			if(data.error == true) { alert(data.error_txt); }
			else {
				if(data.info_txt.length > 0) { $.jGrowl(data.info_txt); }
				// fermeture de color box
				$.fn.colorbox.close();

				// - maj du truc
				var action = $("input[name=action_supp]").val();
				if(action.length > 0) {
					var clicked = null;
					clicked = $("#site_"+id_s+" img.action[alt="+action+"]");
					if(clicked != null) doAction(clicked);
				}
			}
		}, 'json');
	});

	//Mise à jour nb caractères restants dans description site
	$("#modif_site textarea[name=description]").keyup(function () {updateCar($(this));});
	$("#modif_site textarea[name=description]").click(function () {updateCar($(this));});

	//Elements sortables (ordre)
	$("#ordre").sortable(
		{
			handle : '.handle',
			update : function () {
				var order = $('#ordre').sortable('toArray');
				var listeId = "";
				for(var i=0; i < order.length; i++) listeId += order[i].substr(6, order[i].length - 6)+'|';
				$("input[name=champhidden]").val(listeId);
			}
		}
	);

	// - Animation Conditions GV
	$("#cgv_bttn").click(function() {
		$("form#inscription").css({marginTop: "400px", opacity : 0});
		$("#cgv").fadeOut("normal", function() {
			$("#inscription").animate({marginTop: "0px", opacity: 1}, 1500);
		});
	});

	// - Mise à jour Ajax
	$(".action").click(function() {
		var clicked = $(this);
		doAction(clicked);
	});

	// - surlignage
	$("input[name=surligner]").each(function() {
		if($(this).val().length > 0) {
			var id_s = $(this).val();
			$("#site_"+id_s).css('background-color', '#f9e473');
			$.scrollTo("#site_"+id_s, {duration: 500});
		}
	});

	// - champ de recherche
	$("#results").each(function() {
		var result = $(this);
		var sPosition = $("#searchSite").position();
		result.css({left: sPosition.left, width: $("#searchSite").width(), top: sPosition.top + $("#searchSite").height()});
	});
	
	$("input[name=searchSite]").keyup(function(event) {
		var current;
		if(event.keyCode == 40) { // down
			if($("ul#results li.selected").length > 0) {
				current = $("ul#results li.selected");
				if(current.next("li").length > 0) {
					current.removeClass("selected");
					current.next("li").addClass("selected");
				}
			}
			else {
				$("ul#results li:first").addClass("selected");
			}
		}
		else if(event.keyCode == 38) { // up
			if($("ul#results li.selected").length > 0) {
				current = $("ul#results li.selected");
				if(current.prev("li").length > 0) {
					current.removeClass("selected");
					current.prev("li").addClass("selected");
				}
			}
		}
		else if(event.keyCode == 13) { // ENTER
			if($("ul#results li.selected").length > 0) {
				var lettre = $("ul#results li.selected").html().substr(0, 1);
				var id_s = $("ul#results li.selected").attr('id').substr(4);
				window.location.replace("index.php?p=sites&do=liste&lettre="+lettre+"&surligner="+id_s);
			}
		}
		else { // search results
			$.post("ajax.php", {'action' : 'search', 'id_s': 0, 'search' : $(this).val()}, function (data) {
				if(data.error == true) { alert(data.error_txt); }
				else {
					var i;
					$("#results").show();
					$("#results").html("");
					var max = (data.resultats.length > 25) ? 25 : data.resultats.length;
					for(i = 0; i < max; i++) {
						$("#results").append('<li id="res_' + data.resultats[i]['id_s'] + '">' + data.resultats[i]['nom'] + '</li>');
					}
				}
			}, 'json');
		}
	});

	// - utilisation de la souris
	$("ul#results li")
	.live('mouseover', function () { $(this).addClass("selected"); })
	.live('mouseout', function () { $(this).removeClass("selected"); })
	.live('click', function () {
		var lettre = $("ul#results li.selected").html().substr(0, 1);
		var id_s = $("ul#results li.selected").attr('id').substr(4);
		window.location.replace("index.php?p=sites&do=liste&lettre="+lettre+"&surligner="+id_s);
	});

	// - effacement des résultats
	$("input[name=searchSite]").blur(function() {
		if($("ul#results li.selected").length == 0) { $("#results").hide(); }
	});
});

function updateCar(conteneur) {
	var texte = conteneur.val();
	var typed = texte.length;
	var maxCar = $("#modif_site input[name=max-car]").val();
	conteneur.val(texte.substr(0, maxCar));
	var left = (maxCar-typed > 0) ? maxCar-typed : 0;
	$("#modif_site input[name=left-car]").val(left);
}

function doAction(clicked) {
	var alt = clicked.attr('alt');
	var id_s = clicked.parent('td').parent('tr');
	if(id_s != null) { id_s = id_s.attr('id'); }
	id_s = id_s.substring(5);

	switch(alt)
	{
		case 'T-':
			$.post("ajax.php", {'action' : 's_top', 'id_s': id_s, 'sens': '-'}, function (data) {
				if(data.error == true) { alert(data.error_txt); }
				else {
					clicked.attr('src', 'interface/unstared.png');
					clicked.attr('alt', 'T+');
					if(data.info_txt.length > 0) { $.jGrowl(data.info_txt); }
				}
			}, 'json');
			break;
		case 'T+':
			$.post("ajax.php", {'action' : 's_top', 'id_s': id_s, 'sens': '+'}, function (data) {
				if(data.error == true) { alert(data.error_txt); }
				else {
					clicked.attr('src', 'interface/stared.png');
					clicked.attr('alt', 'T-');
					if(data.info_txt.length > 0) { $.jGrowl(data.info_txt); }
				}
			}, 'json');
			break;
		case 'V+':
			$.post("ajax.php", {'action' : 's_act', 'id_s': id_s, 'sens': '+'}, function (data) {
				if(data.error == true) { alert(data.error_txt); }
				else {
					clicked.attr('src', 'interface/picture_green.png');
					clicked.attr('alt', 'V-');
					if(data.info_txt.length > 0) { $.jGrowl(data.info_txt); }
				}
			}, 'json');
			break;
		case 'V-':
			$.post("ajax.php", {'action' : 's_act', 'id_s': id_s, 'sens': '-'}, function (data) {
				if(data.error == true) { alert(data.error_txt); }
				else {
					clicked.attr('src', 'interface/picture_red.png');
					clicked.attr('alt', 'V+');
					if(data.info_txt.length > 0) { $.jGrowl(data.info_txt); }
				}
			}, 'json');
			break;
		case 'S':
			var realy = confirm('Voulez vous vraiment supprimer ce site ?');
			if(realy)
			{
				$.post("ajax.php", {'action' : 's_del', 'id_s': id_s}, function (data) {
					if(data.error == true) { alert(data.error_txt); }
					else {
						var ligne = clicked.parent('td').parent('tr');
						ligne.prev('tr').hide();
						ligne.hide();
					}
				}, 'json');
			}
			break;
		default:
			alert("Aucune action valide n'a été demandée");
	 }
}