﻿/* Scripts utilisant la librairie jQuery gÈrant les ÈvÈnements de la boussole
 * Toutes les fonctions ont ÈtÈ rÈunis dans ce script afin de sÈparer les diffÈrents codes
 * 12.08.09 - Arnaud Leuba - UDD
*/
// fonctions annexes //
function boutonSelectionne( id ){               
	$("[name=mesBoutons]").removeClass();
	$("#"+id).addClass("boutonSelected");
};

function OnSave()
{
    document.formFinal.action = "/resultat/all";
    document.formFinal.submit();
    return true;
}

/**
 * Masquer le displayDiv (texte) et le DisplayButtonDiv (bouton modifier),
 * afficher le editDiv (textarea) et le saveButtonDiv (bouton annuler/sauver),
 * dÈsactiver tous les boutons,
 * rÈactiver les boutons qui sont dans saveButtonDivId et displayButtonDiv,
 * supprimer le nom des champs de formulaires,
 * ajouter le nom au champs de formulaire de editDiv
 */
function editTraduction( displayDivId, editDivId, displayButtonDivId, saveButtonDivId ) 
{
	//masquer
	$("#"+displayDivId).css("display","none");
	$("#"+displayButtonDivId).css("display","none");
	//afficher	
	$("#"+editDivId).css("display","block");
	$("#"+saveButtonDivId).css("display","block");
	//dÈsactiver
	$("[name=form] :input").each(function (i){
		//alert("c");
		if($(this).attr("type")=="button") {
			$(this).attr("disabled","disabled");
		}
	});
	//rÈactiver
	$("#"+saveButtonDivId+" > input:first").removeAttr('disabled');
	//supprimer les noms
	$("[name=form] textarea").each(function () {
		$(this).removeAttr('name');
	});
	$("[name=form] :hidden").each(function () {
		$(this).removeAttr('name');
	});
	//ajouter les noms
	$("#"+editDivId+" > textarea:first").attr('name',"txtTraduction");
	$("#"+editDivId+" > input:first").attr('name',"hidTraduction");
	$("#hidType").attr('name',"hidType");
	$("#hidLangId").attr('name',"hidLang");
};

/**
 * Masquer le editDiv (textarea) et le saveButtonDiv (bouton annuler/sauver),
 * afficher le displayDiv (texte) et le DisplayButtonDiv (bout modifier),
 * rÈactiver tous les boutons
 */
function annulerEdition( displayDivId, editDivId, displayButtonDivId, saveButtonDivId )
{
	//masquer
	$("#"+editDivId).css("display","none");
	$("#"+saveButtonDivId).css("display","none");
	//afficher
	$("#"+displayDivId).css("display","block");
	$("#"+displayButtonDivId).css("display","block");
	//rÈactiver
	$("[name=form] :button").each(function () {
		$(this).removeAttr('disabled');
	});
	//for ( var i = 0; i < document.forms[ "form" ].elements.length; i++ )
	//	if ( document.forms[ "form" ].elements[ i ].type == "button" )
	//		document.forms[ "form" ].elements[ i ].disabled = false;
};
/////////////////////////
// FONCTION PRINCIPALE //
/////////////////////////
$(document).ready (function() {
	// div à cacher //
	// LEVIER INFO PROJET //
	//$("#levier").hide();
	$("#confirmChange").css("display","none");
	// HISTORIQUE //
	$(".autresEval").hide();
	// ==== SOUS-CRITERES ==== //
	$(".cDescription2").hide();
	
	// ==== AUTOGROW TEXTAREA ==== //
	$('textarea.expanding').autogrow();   

	// ==== SELECTIONS ==== //
	// critère, admin, dico, ... //
	$("select[name=selecteur]").change(function () {
		//if ( confirmAbandonnerChangements() && $(this).val() != 0) {
		if ( $(this).val() != 0) {
			$(location).attr('href',$(this).val());
		} else {
			$("select[name=selecteur] option:first").attr("selected", "selected");
		}
	});
	// ==== AFFICHER/MASQUER UNE DIV ==== //
	//   un par un   //
	$(".toggleButton,.a_commentairesCritere").click(function() {
		$("#"+$(this).attr('rel')).slideToggle('fast');
		return false;
	});
	// tout d'un coup //
	$("#toggleAllButton").click(function() {
		var reg=new RegExp("[-]+", "g");
		var tab = $(this).attr('rel').split(reg);
		var afficher = tab[0];
		var masquer = tab[1];
		if($("#toggleAllButton").text() == afficher) {
			$(".cDescription2").slideDown('fast');
			//$("#toggleAllButton").text("Masquer tout");
		}else {
			$(".cDescription2").slideUp('fast');
			//$("#toggleAllButton").text("Montrer tout");
		}
		$("#toggleAllButton").toggleText(masquer,afficher);
		return false;
	});
	
	// ==== BOUTON EVAL ==== //
	// si rel=locked ça ne fait rien,sinon //
	// change la valeur de l'évaluation et //
	// met le contour pr montrer qu'il est //
	// sélectionner                        //
	$("[name=mesBoutons][rel!=locked]").click(function () {
		$("#appreciation_value").val($(this).attr('rel'));
		boutonSelectionne($(this).attr('rel'));
		setConfirmUnload(true); // fonction pour dire qu'il y a eu une modification
		return false;
	});
	
	$("[rel=locked]").css("cursor","default");
	
	
	// ==== HISTORIQUE ==== //
	var hideAndSeek = 0;
	$("#toggleHist").click(function() {
		if(hideAndSeek == 0) {
			$(".autresEval").show();
			hideAndSeek = 1;
		} else {
			$(".autresEval").hide();
			hideAndSeek = 0;
		}
		//$(".autresEval").toggle();
		return false;
	});
	// Réglage de la largeur pour les emails de l'historique //
	var width = 0;
	var maxWidth = 0;
	var emails = $("#historique .email");
	emails.each(function () {
		var t = $(this).text();
		width = t.length*8;
		if(width > maxWidth) {
			maxWidth = width;
		}
	});
	$("#historique .email").width(maxWidth);
	
	// CONFIRMATION ELEMENTS NON SAUVEGARDE //
	function setConfirmUnload(on) {
		window.onbeforeunload = (on) ? unloadMessage : null;
	}
	function unloadMessage() {
		return $("div#confirmChange").text();
	}
	$("form[name!=supprimer][name!=formAuth][name!=subscribe][name!=selecteurForm] > *").change(function () {
		setConfirmUnload(true);
	});
	$("form[name!=supprimer][name!=formAuth][name!=subscribe]").submit(function () {
		setConfirmUnload(false);
	});
	
		
	// ==== BOUTON ANNULATION FORMULAIRE (newuser et infouser) ==== //
	// fonctionne aussi pour                              //
	// le clic du bouton pour autoriser une utilisateur en admin //
	$("button[name=annuler],img.makeAdmin").click(function() {
		$(location).attr('href',$(this).attr('rel'));
	});
	
	// ==== BOUTON POUR L'ADMIN DES UTILISATEURS ==== //
	// suppression d'un utilisateur confirmation //
	$(".suppUser").click(function () {
		return confirm($("div#msgSuppUser").text().replace('%s',$(this).attr('rel')));
	});
	// renvoie d'un mot de passe //
	$(".sendNewPass").click(function () {
		return confirm($("div#msgSendNewPass").text().replace('%s',$(this).attr('rel')));
	});
	// suppression d'un projet confirmation //
	$(".suppPrj").click(function () {
		return confirm($("div#msgSuppPrj").text().replace('%s',$(this).attr('rel')));
	});
	
	// ==== FORMULAIRE DE DELEGATION ==== //
	// si il n'y pas d'adresse insérée dans le champ, on ne valide pas le formulaire //
	$("[name=formAdd] :submit").click(function () {
		return $("#email").val().length > 0;
	});
	// Focus sur le champ de délégation lorsque l'on a souhaité en créer une //
	$("#email[rel=focus]").focus();
	// Suppression d'un délégué //
	$("[name=formDel] :submit").click(function () {
		$("#delegationId").val($(this).attr('rel'));
	});
	
	
	
	// ==== AFFICHAGE STRUCTURE BOUSSOLE21 ==== //
	$("a#structure_b21").click(function() {
		$("body").append('<div id="struc"><div id="struc_aplat"></div><div id="struc_loader"></div><div id="struc_contener"><div id="struc_close_button"></div><div id="struc_pres"></div></div></div>');
		$("div#struc_close_button").hide();
		$("div#struc").hide().fadeIn();
		//$("div#struc_loader").hide().fadeIn();
		$("div#struc_pres").load($(this).attr('href'),function() {
			$("div#struc_loader").fadeOut()
			$("div#struc_close_button").fadeIn().click(function () {
				$("div#struc").fadeOut().remove();
			});
			$(document).keyup(function(e) {
				if (e.keyCode == 27) { $("div#struc").fadeOut().remove(); }   // esc
			});
		})
		return false;
	});
	
	
	// ==== AJOUT D'UN AUTEUR POUR UNE EVALUATION ==== //
 	var num_auteur_supp = 0;
	$("a#ajout_auteur").click(function() {
		num_auteur_supp++;
		var begin_str = ''; 
		if($("div#auteurs_supp").find('table').length > 0)
		{
			begin_str = '<hr class="auteur_supp_line" />';
		}
		else
		{
			$("div#auteurs_supp h4").css("display","block");
		}
		$("div#auteurs_supp a#ajout_auteur").before(begin_str+'<table width="95%" border="0" cellspacing="0" cellpadding="3px"><tr><td width="125"><label for="auteur_supp_nom[-'+num_auteur_supp+']">Nom</label></td><td><input type="text" name="auteur_supp_nom[-'+num_auteur_supp+']" value="" size ="40" maxlength="40" /></td></tr><tr><td><label for="auteur_supp_prenom[-'+num_auteur_supp+']">Prénom</label></td><td><input type="text" name="auteur_supp_prenom[-'+num_auteur_supp+']" value="" size ="40" maxlength="40" /></td></tr><tr><td><label for="entreprise_supp[-'+num_auteur_supp+']">Entreprise</label></td><td><input type="text" name="entreprise_supp[-'+num_auteur_supp+']" value="" size ="40" maxlength="100" /></td></tr><tr><td><label for="departement_supp[-'+num_auteur_supp+']">Département</label></td><td><input type="text" name="departement_supp[-'+num_auteur_supp+']" value="" size ="40" maxlength="40" /></td></tr><tr><td><label for="service_supp[-'+num_auteur_supp+']">Service</label></td><td><input type="text" name="service_supp[-'+num_auteur_supp+']" value="" size ="40" maxlength="40" /></td></tr></table><br />');
		return false;
	});
	$('div[id^="auteur_supp"]').hover(function() {
			$(this).find("a.supp").css('visibility','visible');
		},
		function() {
			$(this).find("a.supp").css('visibility','hidden');
	});
	
	
	$(":button[name='modifier']").click(function () {
		editTraduction('displayTraduction_'+$(this).attr('rel'), 'editTraduction_'+$(this).attr('rel'), 'displayButton_'+$(this).attr('rel'), 'saveButton_'+$(this).attr('rel'))
	});
	$(":button[name='annuler']").click(function () {
		annulerEdition('displayTraduction_'+$(this).attr('rel'), 'editTraduction_'+$(this).attr('rel'), 'displayButton_'+$(this).attr('rel'), 'saveButton_'+$(this).attr('rel'))
	});

});
