// Formatage des nombres
function number_format(number, decimals, dec_point, thousands_sep) {
	number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
	var n = !isFinite(+number) ? 0 : +number,
		prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
		sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
		dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
		s = '',
		toFixedFix = function (n, prec) {
			var k = Math.pow(10, prec);
			return '' + Math.round(n * k) / k;
		};
	s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
	if (s[0].length > 3) {
		s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
	}
	if ((s[1] || '').length < prec) {
		s[1] = s[1] || '';
		s[1] += new Array(prec - s[1].length + 1).join('0');
	}
	return s.join(dec);
}

// Surbrillance des recherches
function highlight(s, t) {
	var matcher = new RegExp("("+$.ui.autocomplete.escapeRegex(t)+")", "ig" );
	return s.replace(matcher, "<strong>$1</strong>");
}

// Debug
function trace(msg) {
	if (window.console) console.log(msg);
	else alert(msg);
}

$(function() {
	// Agrandissement / Réduction du texte
	$('#texte_moins').click(function() {
		var font_size = parseInt($('body').css('font-size')) - 2;
		if (font_size >= 14) {
			$('body').css('font-size', font_size + 'px');
		}
	});
	$('#texte_plus').click(function() {
		var font_size = parseInt($('body').css('font-size')) + 2;
		if (font_size <= 18) {
			$('body').css('font-size', font_size + 'px');
		}
	});
	
	///////////////////////////////////////
	// Activation du moteur de recherche //
	//               (Début)             //
	///////////////////////////////////////
	
	// Suppression du texte par défaut au focus
	$('#recherche').focusin(function() {
		if ($(this).val() == 'Rechercher...') {
			$(this).val('');
			$(this).css('color', '#000000');
		}
	});
	
	// Ajout du texte par défaut a la perte du focus
	$('#recherche').focusout(function() {
		if ($(this).val() == '') {
			$(this).val('Rechercher...');
			$(this).css('color', '#BBBBBB');
		}
	});
	
	// Désactivation de l'autocomplete du champ de recherche
	$('#recherche').css('color', '#BBBBBB');
	$('#recherche').attr('autocomplete', 'off');
	
	$('#recherche').autocomplete({
		minLength: 3,
		position: {
			my: 'left top',
			at: 'left bottom',
			offset: '-5 3'
		},
		source: 'ajax/moteur.php',
		select: function(event, ui) {
			if (ui.item.link != '') {
				location.href = ui.item.link;
			}
		}
	}).data('autocomplete')._renderItem = function(ul, item) {
		return $('<li></li>').data('item.autocomplete', item).append('<a>'+highlight(item.label, $('#recherche').val())+'</a>').appendTo(ul);
	};
	
	$('#recherche').bind('paste', function() {
		$(this).keydown();
	});
	
	///////////////////////////////////////
	// Activation du moteur de recherche //
	//                (Fin)              //
	///////////////////////////////////////
	
	// Activation du menu déroulant des sous-pages
	$('#bouton_menu_moulin').hover(
		function() {
			$('#liens_moulin').show();
		},
		function() {
			$('#liens_moulin').hide();
		}
	);
	
	// Activation du menu déroulant pour les familles
	$('.expand_cat').click(function() {
		var ul_display = $(this).parent().children('ul').css('display');
		$('#menu_gauche li').children('ul').slideUp('slow');
		$('#menu_gauche li').children('img').attr('src', 'images/plus.jpg');
		$('#menu_gauche li').find('a').removeClass('checked');
		if (ul_display == 'none') {
			$(this).parent().children('ul').slideDown('slow');
			$(this).attr('src', 'images/moins.jpg');
			$(this).parent().children('a').addClass('checked');
		}
	});
	
	// Gestion du slide d'informations
	if ($('#msg_slide').size() > 0) {
		$('<div>', { html: $('#msg_slide').detach().html() }).slide();
	}
	
	// Activation du lien externe DSoft
	$('#dsoft a').click(function() {
		window.open($(this).attr('href'));
		return false;
	});
	
	
	// Formulaire de réponse au sondage.
	$('#sondage').click(function() {
		$.ajax({
			type: 'GET',
			url: 'ajax/recup_form_sondage.php',
			success: function(data) {
				$('<div>', { html: data }).slide({
					skip_loader: true
				});
			},
			error: function(request) {
				alert(request.responseText);
			}
		});
	});
	
	// Gestion du slide pour le sondage.
	$('#resultat_sondage').live('click', function() {
		$.ajax({
			type: 'GET',
			url: 'ajax/recup_form_sondage_resultat.php',
			success: function(data) {
				$('<div>', { html: data }).slide({
					skip_loader: true
				});
				
				var reg = new RegExp('^.*taux_', 'g');
				
				$('.taux').each(function(index) {
					var id = $(this).attr('id').replace(reg, '');
					
					$(this).progressbar({
						value: parseFloat($('#valeur_taux_' + id).val())
					});
				});
			},
			error: function(request) {
				alert(request.responseText);
			}
		});
	});
	
	$('#voter_sondage').live('click', function() {
		$('#sondage').click();
	});
	
	$('#valider_sondage').live('click', function() {
		var id = $('input[type=radio][name=reponse]:checked').attr('value');
		
		if(id != '')
		{
			// On valide le vote.
			$.ajax({
				type: 'POST',
				url: 'ajax/voter_sondage.php',
				data: 'id='+id,
				success: function(data) {
					
					// On affiche les résultats.
					$.ajax({
						type: 'POST',
						url: 'ajax/recup_form_sondage_resultat.php',
						data: 'id='+id,
						success: function(data) {
							$('<div>', { html: data }).slide({
								skip_loader: true
							});
							
							var reg = new RegExp('^.*taux_', 'g');
							
							$('.taux').each(function(index) {
								var id_rep = $(this).attr('id').replace(reg, '');
								
								$(this).progressbar({
									value: parseFloat($('#valeur_taux_' + id_rep).val())
								});
								
								if(id == id_rep)
								{
									$(this).children().css('background', 'url(styles/images/ui-bg_gloss-wave_60_fece2f_500x100.png) repeat-x scroll 50% 50% #817865');
								}
							});
						},
						error: function(request) {
							alert(request.responseText);
						}
					});
				},
				error: function(request) {
					alert(request.responseText);
				}
			});
		}
	});
});
