function bloc_deroulant(objet) {
	objet.next().slideToggle("normal");
	objet.toggleClass("selected");
	objet.parent().toggleClass("bloc_deroulant_selected");

	return false;
}

function document_ready() {
	
	// Blocs déroulants
	$(".zone_deroulante:not(.ouvert)").hide();
	
	$("a.lien_deroulant").click(
		function(){
			return bloc_deroulant($(this));
		}
	);
	
	// Submit d'un form sur le keydown d'un champs pour IE
	if (navigator.appName == "Microsoft Internet Explorer") {
		$("input").keydown(function(e){
			if(e.keyCode == 13) {
				$(this).parents("form").submit();
				return false;
			}
		});
	}
	
	populate_inputs();
	
	if(typeof jQuery.fn.fancybox == 'function') {
		$("a.fancybox").fancybox({
			'speedIn'		:	600, 
			'speedOut'		:	200, 
			'transitionIn'  :   'elastic',
			'opacity'       :   true
		});
	}
	
	$("a.bouton_action").css("display","inline-block");
	$("input.bouton_action").hide();
	
	
	// Styles .tableau_type1 (provenant de l'éditeur)
	$(".editeur .tableau_type1 tr:even").addClass("pair");	
	$(".editeur .tableau_type1 th:last-child").addClass("dernier");
	$(".editeur .tableau_type1 td:last-child").addClass("dernier");
	
	activer_les_fancybox();
	
	// Faux select boxes
	timeout = 500;
	closetimer = 0;
	select_liste = 0;

	
	$(".select a.label").click(function(){
		obj_liste = $(this).next(".liste");
		if (obj_liste.css("display") == "block") {
			jsddm_close();
		}
		else {
			jsddm_open($(this));
		}
		
		return false;
	});
}

/**
 * Active les liens des petites images afin qu'elles apparaissent dans des cadres (les fancybox).
 * 
 * Pour que le lien soit activé, voici sa syntaxe minimale:
 * 
 * <a href='grosse_image.jpg'><img src='petite_image.jpg' class='zoom' /></a>
 * ou encore
 * <a class='zoom' href='grosse_image.jpg'><img src='petite_image.jpg' /></a>
 * 
 * @return null
 */
function activer_les_fancybox() {
	$("a:has(.zoom)").fancybox();
	$("a.zoom").fancybox();
}


/*
 * Faux select boxes 
 *
 * copyright egzakt.com
 * @version 2010-08-11
 * @author Simon, Emilie
 */
function jsddm_open(obj_label) {					
	jsddm_close();
	
	obj_label.addClass('label_selected');
	select_liste = obj_label.next(".liste").slideDown("fast");
}

function jsddm_close() {
	if(select_liste) {
		select_liste.css('display', 'none');
		$(".select a.label").removeClass('label_selected');
	}					
}
				
document.onclick = jsddm_close;



/*
 * Vérifier si une valeur alt="" est fournis au champs input et textarea
 * et si le input/textarea a l'attribut value vide, mettre la valeur du 
 * alt dans l'attribut value. 
 *
 * Était direct dans le .ready jusqu'a se que je remarque qu'il ne
 * s'appliquait pas au formulaire loader en ajax, maintenant on n'a qu'a
 * caller populate_inputs() sur le callback du load.
 */
function populate_inputs() {
	$("input,textarea").each(function(index) {
		if ($(this).attr("alt") != "") {
			if ($(this).val() == "") {
				$(this).val($(this).attr("alt"));
			}
		}
	});
	
	$("input,textarea").focus(function(){
		if ($(this).attr("alt") != "") {
			if ($(this).val() == $(this).attr("alt")) {
				$(this).val("");
			}
		}
	});

	$("input,textarea").blur(function(){
		if ($(this).attr("alt") != "") {
			if ($(this).val() == "") {
				$(this).val($(this).attr("alt"));
			}
		}
    });
}


/*
 * Autoriser seulement des chiffres
 * 
 * @copyright	egzakt.com
 * @version 	2008/10/28
 * @author 		Emilie
 */
function champ_numerique(e) {
	// 48 à 58 = 0 à 9
	// 96 à 105 = 0 à 9 du numpad
	// 8 = backspace
	// 9 = tab
	// 37 = fleche gauche
	// 39 = fleche droite
	// 46 = delete
	
	key = e.which ? e.which : e.keyCode		
	if (!(((key >= 48) && (key <= 58)) || ((key >= 96) && (key <= 105)) || (key == 8) || (key == 9) || (key == 37) || (key == 39) || (key == 46))) {
		return false;
	}
}

/*
 * @author http://javascript.internet.com/forms/currency-format.html
 * @author Emilie (ajustements pour la culture)
 * @version 2010/07/06
 */
function formatCurrency(num,culture) {

	if (culture == "fr") {
		separateur_milliers = " ";
		separateur_decimales = ",";
	}
	else {
		separateur_milliers = ",";
		separateur_decimales = ".";
	}
	
	num = num.toString().replace(/\$|\,/g,'');
	
	if(isNaN(num)) {
		num = "0";
	}
		
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);

	cents = num%100;
	num = Math.floor(num/100).toString();

	if(cents<10) {
		cents = "0" + cents;
	}
		
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3)) + separateur_milliers + num.substring(num.length-(4*i+3));
	}
	
	num_final = num + separateur_decimales + cents;
	
	if (culture == "fr") {
		return (((sign)?'':'-') + num_final + ' $');
	}
	else {
		return (((sign)?'':'-') + '$' + num_final);
	}
}

/* Fonction inverse de php urlencode */
function urldecode (str) {
    return decodeURIComponent(str.replace(/\+/g, '%20'));
}


/*
 * @author Emilie, egzakt.com
 * @version 2010/09/21
 * Traduction en français d'une date provenant de campaign monitor (reçues seulement en anglais)
 */
function CMTraductionDateFr(texte) {

	texte = texte.replace('January','Janvier');
	texte = texte.replace('February','Février');
	texte = texte.replace('March','Mars');
	texte = texte.replace('April','Avril');
	texte = texte.replace('May','Mai');
	texte = texte.replace('June','Juin');
	texte = texte.replace('July','Juillet');
	texte = texte.replace('August','Août');
	texte = texte.replace('September','Septembre');
	texte = texte.replace('October','Octobre');
	texte = texte.replace('November','Novembre');
	texte = texte.replace('December','Décembre');

	return texte;
}
