Subversion Repositories Sites.tela-botanica.org

Compare Revisions

Ignore whitespace Rev 704 → Rev 705

/trunk/sites/commun/fr/scripts/commun.js
1,151 → 1,151
// cette fonction peut déjà être présente
if (typeof(addListener) != 'function') {
// fonction portable d'ajout de listeners
function addListener(element, baseName, handler)
{
if (element.addEventListener) {
element.addEventListener(baseName, handler, false) ;
} else if (element.attachEvent) {
element.attachEvent('on'+baseName, handler) ;
}
}
}
 
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "lien_ext"
function open_ext_link()
{
var liens = document.getElementsByTagName('a');
// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
// Une boucle qui parcourt le tableau (array) liens du début à la fin.
for (var i = 0 ; i < liens.length ; ++i) {
// Si les liens ont un nom de class contenant lien_ext ou img_ext, alors on agit.
var expression = /lien_ext|img_ext/;
if (expression.exec(liens[i].className)) {
liens[i].title = 'S\'ouvre dans une nouvelle fenêtre';
// Au clique de la souris.
liens[i].onclick = function() {
window.open(this.href);
return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
};
}
}
}
 
// Fonction cachant le bouton ok du sélecteur de site de Papyrus
function cacher_btn_ok_selecteur_site()
{
if (document.getElementById('sesi_ok')) {
document.getElementById('sesi_ok').style.display = 'none';
}
}
 
// Fonction aggrandissant ou diminuant la taille d'un champ
// Provient du site https://addons.mozilla.org/
function basculerTaille(id, grand)
{
var sb = document.getElementById(id);
if (grand) {
sb.style.width = '20em';
} else {
sb.style.width = '10em';
}
}
 
// Fonction nettoyant un champ de formulaire d'une chaine donnée...
function nettoyerChamp(id, chaine)
{
var sb = document.getElementById(id);
var valeur = sb.value;
if (valeur == chaine) {
sb.value = '';
}
if (valeur == '') {
sb.value = chaine;
}
}
 
/** Cacher la légende : fonctions et code provenant de Média Wiki
* Modifié pour pouvoir gérer des listes ul ou dl...
*/
function changeText(el, newText) {
// Safari work around
if (el.innerText) {
el.innerText = newText;
} else if (el.firstChild && el.firstChild.nodeValue) {
el.firstChild.nodeValue = newText;
}
}
 
function toggleToc(id, type_liste) {
var toc = document.getElementById(id).getElementsByTagName(type_liste)[0];
var toggleLink = document.getElementById('togglelink');
 
if (toc && toggleLink && toc.style.display == 'none') {
changeText(toggleLink, tocHideText);
toc.style.display = 'block';
document.cookie = "hidetoc=0";
} else {
changeText(toggleLink, tocShowText);
toc.style.display = 'none';
document.cookie = "hidetoc=1";
}
}
 
/** Pour utiliser cette fonction rajouter dans les pages web :
* <script type="text/javascript">
* // Le système de masquage des sommaires
* if (window.showTocToggle) {
* var tocShowText = "afficher";
* var tocHideText = "masquer";
* showTocToggle('faq_sommaire_titre', 'faq_sommaire', 'ul');
* }
* </script>
* Pour id_titre mettre l'identifiant du titre où afficher le texte "masquer"/"afficher"
* Pour l'id_div mettre l'identifiant de la div contenant la liste à masquer
* Pour le type de liste indiquer "ul" ou "dl" en fonction du type de liste.
*/
function showTocToggle(id_titre, id_div, type_liste) {
if (document.createTextNode) {
// Uses DOM calls to avoid document.write + XHTML issues
 
var linkHolder = document.getElementById(id_titre);
if (!linkHolder) {
return;
}
 
var outerSpan = document.createElement('span');
outerSpan.className = 'toctoggle';
 
var toggleLink = document.createElement('a');
toggleLink.id = 'togglelink';
toggleLink.className = 'internal';
toggleLink.href = 'javascript:toggleToc(\''+id_div+'\', \''+type_liste+'\')';
toggleLink.appendChild(document.createTextNode(tocHideText));
 
outerSpan.appendChild(document.createTextNode('['));
outerSpan.appendChild(toggleLink);
outerSpan.appendChild(document.createTextNode(']'));
 
linkHolder.appendChild(document.createTextNode(' '));
linkHolder.appendChild(outerSpan);
 
var cookiePos = document.cookie.indexOf("hidetoc=");
if (cookiePos > -1 && document.cookie.charAt(cookiePos + 8) == 1) {
toggleToc(id_div, type_liste);
}
}
}
 
// Fonction initialisant d'autres fonctions
function initialiser()
{
cacher_btn_ok_selecteur_site();// Doit être avant les lien_ext
// s'il existe une carte dans la page
/*if(typeof isMap != "undefined") {
loadMap() ;
}*/
open_ext_link();
}
// Au chargement de la page, on appelle la fonction d'initialisation :
// cette fonction peut déjà être présente
if (typeof(addListener) != 'function') {
// fonction portable d'ajout de listeners
function addListener(element, baseName, handler)
{
if (element.addEventListener) {
element.addEventListener(baseName, handler, false) ;
} else if (element.attachEvent) {
element.attachEvent('on'+baseName, handler) ;
}
}
}
 
// Fonction déclanchant l'ouverture d'une fenêtre externe pour les liens possédant la classe "lien_ext"
function open_ext_link()
{
var liens = document.getElementsByTagName('a');
// On récupère tous les liens (<a>) du document dans une variable (un array), ici liens.
// Une boucle qui parcourt le tableau (array) liens du début à la fin.
for (var i = 0 ; i < liens.length ; ++i) {
// Si les liens ont un nom de class contenant lien_ext ou img_ext, alors on agit.
var expression = /lien_ext|img_ext/;
if (expression.exec(liens[i].className)) {
liens[i].title = 'S\'ouvre dans une nouvelle fenêtre';
// Au clique de la souris.
liens[i].onclick = function() {
window.open(this.href);
return false; // On ouvre une nouvelle page ayant pour URL le href du lien cliqué et on inhibe le lien réel.
};
}
}
}
 
// Fonction cachant le bouton ok du sélecteur de site de Papyrus
function cacher_btn_ok_selecteur_site()
{
if (document.getElementById('sesi_ok')) {
document.getElementById('sesi_ok').style.display = 'none';
}
}
 
// Fonction aggrandissant ou diminuant la taille d'un champ
// Provient du site https://addons.mozilla.org/
function basculerTaille(id, grand)
{
var sb = document.getElementById(id);
if (grand) {
sb.style.width = '20em';
} else {
sb.style.width = '10em';
}
}
 
// Fonction nettoyant un champ de formulaire d'une chaine donnée...
function nettoyerChamp(id, chaine)
{
var sb = document.getElementById(id);
var valeur = sb.value;
if (valeur == chaine) {
sb.value = '';
}
if (valeur == '') {
sb.value = chaine;
}
}
 
/** Cacher la légende : fonctions et code provenant de Média Wiki
* Modifié pour pouvoir gérer des listes ul ou dl...
*/
function changeText(el, newText) {
// Safari work around
if (el.innerText) {
el.innerText = newText;
} else if (el.firstChild && el.firstChild.nodeValue) {
el.firstChild.nodeValue = newText;
}
}
 
function toggleToc(id, type_liste) {
var toc = document.getElementById(id).getElementsByTagName(type_liste)[0];
var toggleLink = document.getElementById('togglelink');
 
if (toc && toggleLink && toc.style.display == 'none') {
changeText(toggleLink, tocHideText);
toc.style.display = 'block';
document.cookie = "hidetoc=0";
} else {
changeText(toggleLink, tocShowText);
toc.style.display = 'none';
document.cookie = "hidetoc=1";
}
}
 
/** Pour utiliser cette fonction rajouter dans les pages web :
* <script type="text/javascript">
* // Le système de masquage des sommaires
* if (window.showTocToggle) {
* var tocShowText = "afficher";
* var tocHideText = "masquer";
* showTocToggle('faq_sommaire_titre', 'faq_sommaire', 'ul');
* }
* </script>
* Pour id_titre mettre l'identifiant du titre où afficher le texte "masquer"/"afficher"
* Pour l'id_div mettre l'identifiant de la div contenant la liste à masquer
* Pour le type de liste indiquer "ul" ou "dl" en fonction du type de liste.
*/
function showTocToggle(id_titre, id_div, type_liste) {
if (document.createTextNode) {
// Uses DOM calls to avoid document.write + XHTML issues
 
var linkHolder = document.getElementById(id_titre);
if (!linkHolder) {
return;
}
 
var outerSpan = document.createElement('span');
outerSpan.className = 'toctoggle';
 
var toggleLink = document.createElement('a');
toggleLink.id = 'togglelink';
toggleLink.className = 'internal';
toggleLink.href = 'javascript:toggleToc(\''+id_div+'\', \''+type_liste+'\')';
toggleLink.appendChild(document.createTextNode(tocHideText));
 
outerSpan.appendChild(document.createTextNode('['));
outerSpan.appendChild(toggleLink);
outerSpan.appendChild(document.createTextNode(']'));
 
linkHolder.appendChild(document.createTextNode(' '));
linkHolder.appendChild(outerSpan);
 
var cookiePos = document.cookie.indexOf("hidetoc=");
if (cookiePos > -1 && document.cookie.charAt(cookiePos + 8) == 1) {
toggleToc(id_div, type_liste);
}
}
}
 
// Fonction initialisant d'autres fonctions
function initialiser()
{
cacher_btn_ok_selecteur_site();// Doit être avant les lien_ext
// s'il existe une carte dans la page
/*if(typeof isMap != "undefined") {
loadMap() ;
}*/
open_ext_link();
}
// Au chargement de la page, on appelle la fonction d'initialisation :
addListener(window, 'load', initialiser) ;