Subversion Repositories Sites.tela-botanica.org

Rev

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

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