Subversion Repositories Sites.tela-botanica.org

Rev

Rev 1040 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
715 jpm 1
/**
2
 * Script JQuery du site
3
 *
1040 aurelien 4
 * @author Grégoire Duché <jpm@tela-botanica.org>
715 jpm 5
 * @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
6
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
7
 * @version $Id$
8
 * @copyright 2009
9
 */
10
 
11
var url_service_jrest = "http://www.tela-botanica.org/client/annuaire_nouveau/actuelle/jrest/TelaUtilisateurs/";
12
$(document).ready(function() {
13
	/**
1040 aurelien 14
	 * Ajout de contenus : inscrits, connectés, et boutons précédents et suivants
715 jpm 15
	 * */
1040 aurelien 16
	// On ajoute les champs Inscrits et connectés uniquement si JS obtient une réponse du service
715 jpm 17
	$.getJSON(url_service_jrest,
18
		function(data) {
19
			if (data != null) {
787 gduche 20
				//R�ponse du service OK
715 jpm 21
				var nbInscrits = data[0];
22
				var nbVisiteurs = data[1];
23
 
24
				$("#zone-menu-haut ul #connectes span").prepend(nbVisiteurs);
25
				$("#zone-menu-haut ul #inscrits span").prepend(nbInscrits);
26
 
1040 aurelien 27
				// les div de classe infoInscrits se voient automatiquement concaténées le nombre d'inscrits
842 aurelien 28
				if($(".infosInscrits a") != null) {
29
					$(".infosInscrits a").html(nbInscrits+$(".infosInscrits a").html());
715 jpm 30
				}
31
			} else {
32
				$("#zone-menu-haut").prepend('<span class="spacer125 hidden">&nbsp</span>');
33
			}
34
		});
35
 
944 gduche 36
	$("#bandeauProjets").css("overflow", "hidden");
715 jpm 37
	$("#bandeauProjets").css("height", "100px");
944 gduche 38
	$("#bandeauProjets ul").css("overflow", "hidden");
715 jpm 39
	$("#bandeauProjets ul").css("width", "9000px");
40
 
41
	/********************************************************************************
42
	 * Gestion des projets - menu defilant
43
	 ********************************************************************************/
1040 aurelien 44
	/* Ajout à la volée des boutons suivants et précédent pour le menu défilant
45
	 * Attention : le contenu des projets doit être une liste d'éléments <li>.
715 jpm 46
	 * Ex :
47
	 * <li><img src="" / ><h3>Projet 1</h3></li>
48
	 * <li><img src="" / ><h3>Deuxieme projet</h3></li>
49
	 * */
1074 gduche 50
 
51
	/***
52
	 * ORDRE ALEATOIRE POUR LES PROJETS DEFILANTS
53
	 * **/
54
	(function($){
715 jpm 55
 
1074 gduche 56
	    $.fn.shuffle = function() {
57
 
58
	        var allElems = this.get(),
59
	            getRandom = function(max) {
60
	                return Math.floor(Math.random() * max);
61
	            },
62
	            shuffled = $.map(allElems, function(){
63
	                var random = getRandom(allElems.length),
64
	                    randEl = $(allElems[random]).clone(true)[0];
65
	                allElems.splice(random, 1);
66
	                return randEl;
67
	           });
68
 
69
	        this.each(function(i){
70
	            $(this).replaceWith($(shuffled[i]));
71
	        });
72
 
73
	        return $(shuffled);
74
 
75
	    };
76
 
77
	})(jQuery);
78
 
79
	$('#bandeauProjets li').shuffle();
715 jpm 80
	$("#bandeauProjets").append("<div id='boutonPrecedent'>&nbsp;</div>");
81
	$("#bandeauProjets").append("<div id='boutonSuivant'>&nbsp;</div>");
82
 
944 gduche 83
	/* Variables pour le défilement*/
715 jpm 84
	var position = 0;
85
	var increment = 269;
86
 
87
	$("#boutonSuivant").click(function()	{
1040 aurelien 88
		//Un clic sur le bouton "Projet suivant" doit défiler la liste des projets
715 jpm 89
		var ul = $(this).parent().children("ul");
90
		var nbLi = ($(ul).children("li").size())-3;
91
		if (position/increment < nbLi) {
92
			position += increment;
93
			$(ul).animate({marginLeft: '-' + position}, 400, function() {});
94
		}
95
	});
96
 
97
	$("#boutonPrecedent").click(function() {
1040 aurelien 98
		//Un clic sur le bouton "Projet suivant" doit défiler la liste des projets
715 jpm 99
		if (position > 0) {
100
			position -= increment;
101
			var ul = $(this).parent().children("ul");
102
			$(ul).animate({marginLeft: '-' + position}, 400, function() {});
103
		}
104
	});
105
 
106
	if (navigator.appName == 'Microsoft Internet Explorer') {
107
		$("#zone-titre").css("font-family", "optima2");
108
		$(".motsclefs").css("font-family", "Helveticaneue2");
109
	}
110
});
111
 
787 gduche 112
 
1040 aurelien 113
/**
114
* Vidage de valeurs par défaut du champ d'identification
115
*/
116
$(document).ready(function() {
117
 
118
    if($('input#username') != null) {
119
      var valeur_defaut_champ_id = $('input#username').val();
120
      $('input#username').click(function() {
121
 
122
	  if($('input#username').val() == valeur_defaut_champ_id) {
123
	    $('input#username').val("");
124
	    $('input#username').unbind("click");
125
	  }
126
      });
127
    }
128
 
129
    if($('input#password') != null) {
130
      var valeur_defaut_champ_pass = $('input#password').val();
131
      $('input#password').click(function() {
132
 
133
	  if($('input#password').val() == valeur_defaut_champ_pass) {
134
	    $('input#password').val("");
135
	    $('input#password').unbind("click");
136
	  }
137
      });
138
    }
139
});
140
 
141
/* Vider le champ recherche : prend en compte la valeur par défaut (multilingue)*/
867 gduche 142
function nettoyerChamp(objetId, valeurDefaut)	{
143
	objet = document.getElementById(objetId);
787 gduche 144
	if (objet.value == valeurDefaut)	{
715 jpm 145
		objet.value = "";
146
	}
787 gduche 147
}
1038 aurelien 148
 
149
/**
150
* Crée des liens de pliage/dépliage à partir de certains styles
151
*/
152
$(document).ready(function() {
153
	$('.lien_pliage').parent().contents().filter(function() {
154
		  return (this.nodeType == 3) && (jQuery.trim($(this).text()) != "");
155
	}).wrap("<span></span>");
156
 
157
	$('.lien_pliage').addClass("plie");
158
	$('.lien_pliage').siblings().hide();
159
 
160
	$(".lien_pliage").click(function() {
161
		$(this).siblings().toggle('slow', function() {
162
		});
163
 
1040 aurelien 164
		$(this).toggleClass("plie");
1038 aurelien 165
	});
166
});
1040 aurelien 167
 
168
var url_service_jrest_lien = "http://www.tela-botanica.org/client/annuaire_nouveau/actuelle/jrest/MiniLienProfil/";
169
$(document).ready(function() {
170
 
171
	$.getJSON(url_service_jrest_lien, function(data) {
172
	    $("#inscrits").after('<li class="mini_lien_profil">'+data+'</li>');
173
	});
174
});