Subversion Repositories Sites.tela-botanica.org

Rev

Rev 478 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 478 Rev 536
-
 
1
// cette fonction peut déjà être présente
-
 
2
if (typeof(addListener) != 'function') {
-
 
3
	// fonction portable d'ajout de listeners
-
 
4
	function addListener(element, baseName, handler)
-
 
5
	{
-
 
6
		if (element.addEventListener) {
-
 
7
			element.addEventListener(baseName, handler, false) ;
-
 
8
		} else if (element.attachEvent) {
-
 
9
			element.attachEvent('on'+baseName, handler) ;
-
 
10
		}
-
 
11
	}
-
 
12
}
-
 
13
 
1
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "lien_ext"
14
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "lien_ext"
2
function open_ext_link()
15
function open_ext_link()
3
{
16
{
4
	var liens = document.getElementsByTagName('a');
17
	var liens = document.getElementsByTagName('a');
5
	// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
18
	// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
6
	// Une boucle qui parcourt le tableau (array) liens du début à la fin.
19
	// Une boucle qui parcourt le tableau (array) liens du début à la fin.
7
	for (var i = 0 ; i < liens.length ; ++i)  {
20
	for (var i = 0 ; i < liens.length ; ++i)  {
8
		// Si les liens ont un nom de class contenant lien_ext ou img_ext, alors on agit.
21
		// Si les liens ont un nom de class contenant lien_ext ou img_ext, alors on agit.
9
		var expression = /lien_ext|img_ext/;
22
		var expression = /lien_ext|img_ext/;
10
		if (expression.exec(liens[i].className))  {
23
		if (expression.exec(liens[i].className))  {
11
			liens[i].title = 'S\'ouvre dans une nouvelle fenêtre';
24
			liens[i].title = 'S\'ouvre dans une nouvelle fenêtre';
12
			// Au clique de la souris.
25
			// Au clique de la souris.
13
			liens[i].onclick = function()  {
26
			liens[i].onclick = function()  {
14
				window.open(this.href);
27
				window.open(this.href);
15
				return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
28
				return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
16
			};
29
			};
17
		}
30
		}
18
	}
31
	}
19
}
32
}
20
 
33
 
21
// Fonction cachant le bouton ok du sélecteur de site de Papyrus
34
// Fonction cachant le bouton ok du sélecteur de site de Papyrus
22
function cacher_btn_ok_selecteur_site()
35
function cacher_btn_ok_selecteur_site()
23
{
36
{
24
	if (document.getElementById('sesi_ok')) {
37
	if (document.getElementById('sesi_ok')) {
25
		document.getElementById('sesi_ok').style.display = 'none';
38
		document.getElementById('sesi_ok').style.display = 'none';
26
	}
39
	}
27
}
40
}
28
 
41
 
29
// Fonction aggrandissant ou diminuant la taille d'un champ
42
// Fonction aggrandissant ou diminuant la taille d'un champ
30
// Provient du site https://addons.mozilla.org/
43
// Provient du site https://addons.mozilla.org/
31
function basculerTaille(id, grand)
44
function basculerTaille(id, grand)
32
{
45
{
33
	var sb = document.getElementById(id);
46
	var sb = document.getElementById(id);
34
	if (grand) {
47
	if (grand) {
35
		sb.style.width = '20em';
48
		sb.style.width = '20em';
36
	} else {
49
	} else {
37
		sb.style.width = '10em';
50
		sb.style.width = '10em';
38
	}
51
	}
39
}
52
}
40
 
53
 
41
// Fonction nettoyant un champ de formulaire d'une chaine donnée...
54
// Fonction nettoyant un champ de formulaire d'une chaine donnée...
42
function nettoyerChamp(id, chaine)
55
function nettoyerChamp(id, chaine)
43
{
56
{
44
	var sb = document.getElementById(id);
57
	var sb = document.getElementById(id);
45
	var valeur = sb.value;
58
	var valeur = sb.value;
46
	if (valeur == chaine) {
59
	if (valeur == chaine) {
47
		sb.value = '';
60
		sb.value = '';
48
	}
61
	}
49
	if (valeur == '') {
62
	if (valeur == '') {
50
		sb.value = chaine;
63
		sb.value = chaine;
51
	}
64
	}
52
}
65
}
53
 
66
 
54
/** Cacher la légende : fonctions et code provenant de Média Wiki
67
/** Cacher la légende : fonctions et code provenant de Média Wiki
55
* Modifié pour pouvoir gérer des listes ul ou dl...
68
* Modifié pour pouvoir gérer des listes ul ou dl...
56
*/
69
*/
57
function changeText(el, newText) {
70
function changeText(el, newText) {
58
	// Safari work around
71
	// Safari work around
59
	if (el.innerText) {
72
	if (el.innerText) {
60
		el.innerText = newText;
73
		el.innerText = newText;
61
	} else if (el.firstChild && el.firstChild.nodeValue) {
74
	} else if (el.firstChild && el.firstChild.nodeValue) {
62
		el.firstChild.nodeValue = newText;
75
		el.firstChild.nodeValue = newText;
63
	}
76
	}
64
}
77
}
65
 
78
 
66
function toggleToc(id, type_liste) {
79
function toggleToc(id, type_liste) {
67
	var toc = document.getElementById(id).getElementsByTagName(type_liste)[0];
80
	var toc = document.getElementById(id).getElementsByTagName(type_liste)[0];
68
	var toggleLink = document.getElementById('togglelink');
81
	var toggleLink = document.getElementById('togglelink');
69
 
82
 
70
	if (toc && toggleLink && toc.style.display == 'none') {
83
	if (toc && toggleLink && toc.style.display == 'none') {
71
		changeText(toggleLink, tocHideText);
84
		changeText(toggleLink, tocHideText);
72
		toc.style.display = 'block';
85
		toc.style.display = 'block';
73
		document.cookie = "hidetoc=0";
86
		document.cookie = "hidetoc=0";
74
	} else {
87
	} else {
75
		changeText(toggleLink, tocShowText);
88
		changeText(toggleLink, tocShowText);
76
		toc.style.display = 'none';
89
		toc.style.display = 'none';
77
		document.cookie = "hidetoc=1";
90
		document.cookie = "hidetoc=1";
78
	}
91
	}
79
}
92
}
80
 
93
 
81
/** Pour utiliser cette fonction rajouter dans les pages web :
94
/** Pour utiliser cette fonction rajouter dans les pages web :
82
 * <script type="text/javascript">
95
 * <script type="text/javascript">
83
 *   // Le système de masquage des sommaires
96
 *   // Le système de masquage des sommaires
84
 *   if (window.showTocToggle) {
97
 *   if (window.showTocToggle) {
85
 *     var tocShowText = "afficher";
98
 *     var tocShowText = "afficher";
86
 *     var tocHideText = "masquer";
99
 *     var tocHideText = "masquer";
87
 *     showTocToggle('faq_sommaire_titre', 'faq_sommaire', 'ul');
100
 *     showTocToggle('faq_sommaire_titre', 'faq_sommaire', 'ul');
88
 *   }
101
 *   }
89
 * </script>
102
 * </script>
90
 * Pour id_titre mettre l'identifiant du titre où afficher le texte "masquer"/"afficher"
103
 * Pour id_titre mettre l'identifiant du titre où afficher le texte "masquer"/"afficher"
91
 * Pour l'id_div mettre l'identifiant de la div contenant la liste à masquer
104
 * Pour l'id_div mettre l'identifiant de la div contenant la liste à masquer
92
 * Pour le type de liste indiquer "ul" ou "dl" en fonction du type de liste.
105
 * Pour le type de liste indiquer "ul" ou "dl" en fonction du type de liste.
93
 */
106
 */
94
function showTocToggle(id_titre, id_div, type_liste) {
107
function showTocToggle(id_titre, id_div, type_liste) {
95
	if (document.createTextNode) {
108
	if (document.createTextNode) {
96
		// Uses DOM calls to avoid document.write + XHTML issues
109
		// Uses DOM calls to avoid document.write + XHTML issues
97
 
110
 
98
		var linkHolder = document.getElementById(id_titre);
111
		var linkHolder = document.getElementById(id_titre);
99
		if (!linkHolder) {
112
		if (!linkHolder) {
100
			return;
113
			return;
101
		}
114
		}
102
 
115
 
103
		var outerSpan = document.createElement('span');
116
		var outerSpan = document.createElement('span');
104
		outerSpan.className = 'toctoggle';
117
		outerSpan.className = 'toctoggle';
105
 
118
 
106
		var toggleLink = document.createElement('a');
119
		var toggleLink = document.createElement('a');
107
		toggleLink.id = 'togglelink';
120
		toggleLink.id = 'togglelink';
108
		toggleLink.className = 'internal';
121
		toggleLink.className = 'internal';
109
		toggleLink.href = 'javascript:toggleToc(\''+id_div+'\', \''+type_liste+'\')';
122
		toggleLink.href = 'javascript:toggleToc(\''+id_div+'\', \''+type_liste+'\')';
110
		toggleLink.appendChild(document.createTextNode(tocHideText));
123
		toggleLink.appendChild(document.createTextNode(tocHideText));
111
 
124
 
112
		outerSpan.appendChild(document.createTextNode('['));
125
		outerSpan.appendChild(document.createTextNode('['));
113
		outerSpan.appendChild(toggleLink);
126
		outerSpan.appendChild(toggleLink);
114
		outerSpan.appendChild(document.createTextNode(']'));
127
		outerSpan.appendChild(document.createTextNode(']'));
115
 
128
 
116
		linkHolder.appendChild(document.createTextNode(' '));
129
		linkHolder.appendChild(document.createTextNode(' '));
117
		linkHolder.appendChild(outerSpan);
130
		linkHolder.appendChild(outerSpan);
118
 
131
 
119
		var cookiePos = document.cookie.indexOf("hidetoc=");
132
		var cookiePos = document.cookie.indexOf("hidetoc=");
120
		if (cookiePos > -1 && document.cookie.charAt(cookiePos + 8) == 1) {
133
		if (cookiePos > -1 && document.cookie.charAt(cookiePos + 8) == 1) {
121
			toggleToc(id_div, type_liste);
134
			toggleToc(id_div, type_liste);
122
		}
135
		}
123
	}
136
	}
124
}
137
}
125
 
138
 
126
// Fonction initialisant d'autres fonctions
139
// Fonction initialisant d'autres fonctions
127
function initialiser()
140
function initialiser()
128
{
141
{
129
	cacher_btn_ok_selecteur_site();// Doit être avant les lien_ext
142
	cacher_btn_ok_selecteur_site();// Doit être avant les lien_ext
-
 
143
	// s'il existe une carte dans la page
-
 
144
	/*if(typeof isMap != "undefined") {	
-
 
145
		loadMap() ;
-
 
146
	}*/
130
	open_ext_link();
147
	open_ext_link();
131
}
148
}
132
	
149
	
133
// Au chargement de la page, on appelle la fonction d'initialisation :
150
// Au chargement de la page, on appelle la fonction d'initialisation :
134
window.onload = initialiser;
-
 
135
151
addListener(window, 'load', initialiser) ;
-
 
152
136
153