Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev Author Line No. Line
480 jpm 1
//+----------------------------------------------------------------------------------------------------------+
2
// Onglets et Portlets
391 aurelien 3
/**
4
 * Les variables suivantes ont été ajoutée par php
5
 *
6
 * var urlTexteBrutSectionWikiTpl : url pour obtenir le texte brut d'une section de wiki
7
 * var urlEditionSectionWikiTpl : url pour éditer une section du wiki
8
 * var urlTexteFormateSectionWikiTpl : url pour obtenir le texte formaté en html d'une section de wiki
9
 * var pageWikiTaxon : url pour obtenir le texte formaté en html d'une section de wiki
917 aurelien 10
 * var urlPopup = url de base pour les popup contenant du code un peu complexe
391 aurelien 11
 *
12
*/
13
 
14
/**
15
 * Variables globales du script
16
 */
227 delphine 17
var modules = Array();
18
var tableauOnglets = Array();
233 aurelien 19
var nbOngletsInvisibles = 0;
480 jpm 20
var ongletSyntheseCharge = true;
1123 mathias 21
var ongletIllustrationsCharge = false;
1545 delphine 22
var REFERENTIEL = "<?php echo Registre::get('parametres.referentiel'); ?>";
480 jpm 23
 
227 delphine 24
/** Classe Module
25
* Définit un module de type portlet
26
**/
27
function Module(id, module, onglet, statique) {
28
 
29
	// Variables de classe : identifiant, titre, et le HTML du résumé à afficher dans le contenu
30
	this.id = id;
31
	this.titre;
32
	this.htmlResume;
33
	this.statique = statique;
34
 
242 aurelien 35
 
227 delphine 36
 
480 jpm 37
function getUrlVars() {
242 aurelien 38
    var vars = [], hash;
39
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
480 jpm 40
    for (var i = 0; i < hashes.length; i++) {
242 aurelien 41
        hash = hashes[i].split('=');
42
        vars.push(hash[0]);
43
        vars[hash[0]] = hash[1];
44
    }
45
    return vars;
46
}
47
 
48
 
1243 aurelien 49
// remplace des liens directs vers les onglets par des liens permettant de ne charger
50
// que le contenu de l'onglet (pour le plugin tab)
51
function remplacerUrlsOnglets() {
1502 delphine 52
		$(".lien-onglet").each(function() {
506 jpm 53
		var urlOnglet = $(this).attr('href');
892 aurelien 54
		var urlVars = urlOnglet.slice(urlOnglet.indexOf('?') + 1);
55
		urlBase = base_url_application_onglets+"?"+urlVars;
56
		urlOnglet = urlBase.replace('action=fiche','action=onglet');
506 jpm 57
		$(this).attr('href', urlOnglet);
1502 delphine 58
	});
242 aurelien 59
}
227 delphine 60
 
1266 aurelien 61
 
1243 aurelien 62
 
480 jpm 63
//+----------------------------------------------------------------------------------------------------------+
64
// Wikini Flora
65
var htmlWikiOriginal = '';
66
var objetContenuWiki = null;
67
 
391 aurelien 68
function getTemplateFormulaireEditionWiki(page, section, texte) {
69
	var urlWebServiceWiki = getUrlEditionPourPageEtSection(page, section);
70
	var formulaire =
71
		'<form method="post" id="formulaire_edition_wiki" name="formulaire_edition_wiki" action="'+urlWebServiceWiki+'">'+
72
		  '<div>'+
73
		  	'<textarea id="pageContenu" name="pageContenu" class="champ_edition_wiki">'+texte+'</textarea>'+
74
		  '</div>'+
75
		  '<input type="hidden" name="pageSectionTitre" id="pageSectionTitre" value="'+section+'" />'+
76
		  '<input type="submit" text="sauver" />'+
77
	  	  '<input class="bouton_annuler_edition" type="button" value="annuler" />';
78
		'</form>';
79
	return formulaire;
80
}
81
 
82
function getSection() {
407 aurelien 83
	return objetContenuWiki.attr("title");
391 aurelien 84
}
85
 
86
function getPageWikiTaxon() {
87
	return pageWikiTaxon;
88
}
89
 
90
function getUrlEditionPourPageEtSection(page, section) {
1375 mathias 91
	var url = urlEditionSectionWikiTpl.replace('{pageTag}', page).replace('{sectionTitre}', section);
92
	return url;
391 aurelien 93
}
94
 
95
function getUrlTextePourPageSectionBrute(page, section) {
96
	return urlTexteBrutSectionWikiTpl.replace('{pageTag}', page).replace('{sectionTitre}', section);
97
}
98
 
99
function getUrlTextePourPageSectionFormatee(page, section) {
100
	return urlTexteFormateSectionWikiTpl.replace('{pageTag}', page).replace('{sectionTitre}', section);
101
}
102
 
103
function remplacerContenuWikiParFormulaireEdition(objet_contenu) {
407 aurelien 104
	objetContenuWiki = objet_contenu;
453 aurelien 105
	var adresse = getUrlEditionPourPageEtSection(getPageWikiTaxon(), getSection());
391 aurelien 106
	htmlWikiOriginal = objet_contenu.html();
107
	$.getJSON(adresse, function(data) {
999 raphael 108
		$(objetContenuWiki).removeClass('editable_sur_clic').html(getTemplateFormulaireEditionWiki(getPageWikiTaxon(), getSection(), data.texte));
391 aurelien 109
	});
110
}
111
 
112
function gererEvenementsWiki() {
400 aurelien 113
	//TODO: ajout automatique d'un lien ouvrant une page d'aide (un popup) au formatage des pages wikini
999 raphael 114
	$('.editable_sur_clic').live('dblclick',function(event) {
115
		remplacerContenuWikiParFormulaireEdition($(this));
391 aurelien 116
	});
117
 
118
	$('#formulaire_edition_wiki').live('submit',function(event) {
119
	    event.preventDefault();
120
		var valeurs = $(this).serialize();
121
		$.post($(this).attr('action'), valeurs, function(data) {
122
			var adresse = getUrlTextePourPageSectionFormatee(getPageWikiTaxon(), getSection());
123
			$.getJSON(adresse, function(data) {
999 raphael 124
				$(objetContenuWiki).addClass('editable_sur_clic').html(data.texte);
391 aurelien 125
			});
126
		});
127
	});
128
 
129
	$('.bouton_annuler_edition').live('click', function(event) {
999 raphael 130
		event.preventDefault();
131
		$(objetContenuWiki).addClass('editable_sur_clic').html(htmlWikiOriginal);
391 aurelien 132
	});
638 aurelien 133
 
134
	rendreLienAffichableDansNouvelleFenetre('.contenu_editable');
391 aurelien 135
}
136
 
480 jpm 137
//+----------------------------------------------------------------------------------------------------------+
638 aurelien 138
//Affichage dans une nouvelle fenetre
139
function rendreLienAffichableDansNouvelleFenetre(selecteur) {
140
	$(selecteur).find('a').live('click', function(event) {
141
		window.open($(this).attr('href'));
142
		event.preventDefault();
143
		return false;
144
	});
145
}
146
 
147
//+----------------------------------------------------------------------------------------------------------+
480 jpm 148
// Plier / déplier
474 aurelien 149
function plierTout() {
150
	$('.nom').children('.imagetteMoins').removeClass('imagetteMoins').addClass('imagettePlus');
151
	$('.plus').css('display', 'none');
152
}
153
 
154
function deplierTout() {
155
	$('.nom').children('.imagettePlus').removeClass('imagettePlus').addClass('imagetteMoins');
156
	$('.plus').css('display', 'inline');
157
}
158
 
159
function gestionBiblio(parent) {
1389 aurelien 160
	$('.nom').each(function () {
161
		if ($(this).children('.plus').length == 0) {
162
			html = $(this).html();
474 aurelien 163
 
1389 aurelien 164
			// La partie biblio commence au premier crochet ouvrant
165
			// ou bien au span de la biblio à exclure
166
			posCrochetGauche = html.indexOf('[');
1390 aurelien 167
			posbiblioAExclure = html.indexOf('<span class="bib_excl">');
168
 
169
			if(posCrochetGauche < 0 || (posbiblioAExclure > 0 && posbiblioAExclure < posCrochetGauche)) {
170
				posCrochetGauche = posbiblioAExclure;
1389 aurelien 171
			}
474 aurelien 172
 
1510 killian 173
			// console.log(posCrochetGauche+" "+posbiblioAExclure);
1390 aurelien 174
 
175
 
1389 aurelien 176
			if (posCrochetGauche > 0) {
177
				nom = html.substr(0, posCrochetGauche);
178
				biblio = html.substr(posCrochetGauche, html.length);
179
				$(this).html(nom);
180
 
181
				imagettePlus = document.createElement('div');
182
				$(imagettePlus).addClass('imagettePlus');
183
				$(this).prepend($(imagettePlus));
184
 
185
				plus = document.createElement('span');
186
				$(plus).addClass('plus');
187
				$(plus).html(biblio);
188
				$(plus).hide();
189
 
190
				$(this).click(function(e) {
191
					// test pour ne réagir que sur le clic sur le + ou -
192
					// TODO: fusionner ce bout de code en doublon avec synthese.js
193
					if($(e.target).hasClass("imagettePlus") || $(e.target).hasClass("imagetteMoins")) {
194
						if (!$(this).children('.plus').is(':visible')) {
195
							$(this).children('.imagettePlus').removeClass('imagettePlus').addClass('imagetteMoins');
196
							$(this).children('.plus').css('display', 'inline');
197
						} else {
198
							$(this).children('.imagetteMoins').removeClass('imagetteMoins').addClass('imagettePlus');
199
							$(this).children('.plus').css('display', 'none');
200
						}
201
					}
202
 
203
				});
204
 
205
				$(this).append($(plus));
206
 
207
			}
474 aurelien 208
		}
209
	});
210
}
211
 
212
function gererEvenementsPliage() {
213
	$('.lien_tout_deplier').live('click', function() {
214
		deplierTout();
215
	});
216
	$('.lien_tout_plier').live('click', function() {
217
		plierTout();
218
	});
219
	gestionBiblio(document);
220
}
221
 
480 jpm 222
//+----------------------------------------------------------------------------------------------------------+
626 mathilde 223
//Pop Up images
224
function ouvrirPopUpImg(event) {
225
	event.preventDefault();
1306 aurelien 226
	window.open($(this).attr('href'),"Photo_"+$(this).children("img").attr("data-num-image"),
966 aurelien 227
			'"'+'height='+event.data.h+',width='+event.data.w+',top='+event.data.t+',left='+event.data.l
228
			+',toolbar='+event.data.toolbar+',menubar='+event.data.menubar +',location='
229
			+event.data.location+',resizable='+event.data.resizable+',scrollbars='+event.data.scrollbars
230
			+',status='+event.data.status+'"');
626 mathilde 231
}
232
 
480 jpm 233
//+----------------------------------------------------------------------------------------------------------+
761 aurelien 234
// Message de chargement pour les graphique écologie
235
function gererChargementGraphiqueEcologie() {
236
	$('.ecologie_svg').addClass('chargement');
237
}
971 aurelien 238
 
239
function gererAffichageLegendeEcologie() {
240
	$('.voir').live('click', function() {
241
		$(this).siblings('.legende_graphique').show();
242
		$(this).siblings('.cacher').show();
243
		$(this).hide();
244
	});
245
 
246
	$('.cacher').live('click', function() {
247
		$(this).siblings('.legende_graphique').hide();
248
		$(this).siblings('.voir').show();
249
		$(this).hide();
250
	});
251
}
252
 
253
 
761 aurelien 254
//+----------------------------------------------------------------------------------------------------------+
480 jpm 255
// Initialisation
317 aurelien 256
var fancyboxinitialise = false;
626 mathilde 257
var param_popup_Coste = {h: 650, w: 550, t: 100, l: 100,
258
		toolbar: 'no', menubar: 'no', location: 'no', resizable: 'yes', scrollbars: 'yes', status: 'no'};
317 aurelien 259
 
626 mathilde 260
var param_popup_Cel = {h: 750, w: 630, t: 100, l: 100,
261
		toolbar: 'no', menubar: 'no', location: 'no', resizable: 'yes', scrollbars: 'yes', status: 'no'};
262
 
1243 aurelien 263
//Initialisation (uniquement sur la présence de la div bloc-fiche, qui contient la fiche eflore)
1272 aurelien 264
$(document).one('ficheSyntheseChargee', function() {
1243 aurelien 265
	initialiserOnglets();
266
 
356 gduche 267
	// TODO : devrait être .on() à la place de live()
277 aurelien 268
	$('.lien_popup').live('click',function(event) {
269
		event.preventDefault();
270
		$.fancybox(this,{
271
			autoDimensions:false,
321 aurelien 272
			width:580
277 aurelien 273
		});
274
	});
275
 
1126 aurelien 276
	// TODO : devrait être .on() à la place de live()
277
	$('.lien_popup.lien_metadonnees').live('click',function(event) {
278
		event.preventDefault();
279
		$.fancybox(this,{
280
			autoDimensions:true
281
		});
282
	});
1243 aurelien 283
 
626 mathilde 284
	$('.lien-image-cel').live('click', param_popup_Cel , ouvrirPopUpImg);
285
	$('.lien-image-coste').live('click', param_popup_Coste , ouvrirPopUpImg);
286
 
242 aurelien 287
	afficherOngletsPourNiveau();
1123 mathias 288
 
391 aurelien 289
	gererEvenementsWiki();
474 aurelien 290
	gererEvenementsPliage();
887 delphine 291
 
292
	$('a.lien_retour_synthese').click(function(event) {
293
		$('#onglet_synthese a').click();
294
		event.preventDefault();
295
	});
966 aurelien 296
 
297
	$(window).resize(function() {
298
		redimensionnerOnglets();
299
	});
300
	redimensionnerOnglets();
1243 aurelien 301
 
302
	if($("#bloc-fiche").length > 0) {
303
		// initialisation de l'url avec l'onglet par défaut ou bien
304
		// celui qui a été explicitement demandé
305
		mettreAJourUrl(permalienNumNom+"-"+onglet, onglet);
306
	}
1246 aurelien 307
	gererInteractionsPermaliens();
324 gduche 308
});
309
 
1266 aurelien 310
function ajouterEvenement(elementHtml, nomEvenement, functionCallBack) {
311
	if(!!elementHtml && elementHtml != null) {
312
		if(elementHtml.attachEvent) {// Internet Explorer
313
			elementHtml.attachEvent("on" + nomEvenement, function() {functionCallBack.call(elementHtml);});
314
		} else if(elementHtml.addEventListener) { // Firefox & autres
315
			elementHtml.addEventListener(nomEvenement, functionCallBack, false);
316
		}
317
	}
1370 mathias 318
}
1257 aurelien 319
 
320
$(document).one('ongletRepartitionCharge', function() {
1370 mathias 321
	var contRepObs = $(".conteneur_repartition_observations");
322
	contRepObs.addClass("chargement_repartition");
1257 aurelien 323
	// utilisation d'une fonction native car jQuery refuse d'ajouter un évènement load
324
	// sur autre chose qu'une image
1266 aurelien 325
	$('#repartition_observations').ready(function() {
326
		ajouterEvenement(document.getElementById("repartition_observations"), "load", function() {
1370 mathias 327
			contRepObs.removeClass("chargement_repartition");
1266 aurelien 328
		});
1257 aurelien 329
	});
1370 mathias 330
	// lien "recalculer la carte de moissonnage"
331
	$('#lien_recalculer_carte').click(function() {
332
		var carteMoissonnageSvg = $('#repartition_observations'); // c'est plutôt "moissonnage" que "répartition" => squelette pourave power
333
		var urlCarte = carteMoissonnageSvg.attr("data");
334
		urlCarte += '&recalculer=1';
335
		contRepObs.addClass("chargement_repartition");
336
		carteMoissonnageSvg.attr("data", urlCarte);ajouterEvenement(document.getElementById("repartition_observations"), "load", function() {
337
			contRepObs.removeClass("chargement_repartition");
338
		});
339
		return false;
340
	});
1257 aurelien 341
});
342
 
1243 aurelien 343
 
1123 mathias 344
// À la fin du chargement de l'onglet Illustrations
1243 aurelien 345
$(document).one('ongletIllustrationsCharge', function() {
346
	$('a.lien-images-organes.fourni').live('click', afficherOngletOrgane);
347
	$('a.lien-grande-image-organe').live('click', afficherGrandeImageOrgane);
348
	// pour que la galerie soit ouverte par défaut sur le premier organe non vide
349
	var premier = $('a.lien-images-organes.fourni').first().data('tag');
350
	afficherOngletOrgane(null, premier);
1289 aurelien 351
 
1400 aurelien 352
	$('a.lien_telechargement_image').live('click',function(e) {
353
		if($(e.target).data('oneclicked')!='yes')
354
		{
355
			$(e.target).data('oneclicked','yes');
356
			$(this).fancybox({
357
				"type" : "iframe",
358
				"autoDimensions" : false,
359
				"width" : 800,
360
				"height" : 405,
361
				"titleShow" : false
362
			}).click();
363
		}
364
 
365
		e.preventDefault();
366
		return false;
1289 aurelien 367
	});
1123 mathias 368
});
369
 
370
// Affiche les n images ayant le plus de votes, pour l'organe $tag
371
function afficherOngletOrgane(e, tag) {
372
	var onglets = $('div.onglet-organe'),
373
		contenu = $('#galerie-organes-contenu'),
374
		organeOnglet;
375
 
376
	if (tag === undefined) {
377
		tag = $(this).data('tag')
378
	}
379
	if ($(this).parent().hasClass('active')) { // replier
380
		$(this).parent().removeClass('active')
381
		contenu.hide();
382
		return false;
383
	}
384
 
385
	onglets.each(function() {
386
		organeOnglet = $(this).data('tag');
387
		var li = $('a.lien-images-organes[data-tag="' + organeOnglet + '"]').parent();
388
		if (organeOnglet == tag) {
389
			$(this).show();
390
			li.addClass('active');
391
		} else {
392
			$(this).hide();
393
			li.removeClass('active');
394
		}
395
	});
396
 
397
	contenu.show();
398
 
399
	var premierLienGrandeImage = $('div.onglet-organe:visible').find('a.lien-grande-image-organe').first(),
400
		grandeImage = $('#grande-image-organe').find('img');
401
	premierLienGrandeImage.trigger('click');
402
	grandeImage.show('fast');
403
 
404
	return false;
405
}
406
 
407
// Affiche en grand sous les miniatures l'image d'organe sur laquelle on a cliqué
408
function afficherGrandeImageOrgane() {
1488 delphine 409
	if ($(this).data('id-image') === "") {
410
		return false;
411
	}
1123 mathias 412
	var grandeImage = $('#grande-image-organe').find('img'),
413
		source = $(this).find('img').attr('src');
1303 aurelien 414
	source = obtenirUrlMoyenFormatIdImage($(this).data('id-image'));
1131 mathias 415
	// chargement image et lien popup
1123 mathias 416
	grandeImage.attr('src', source);
1361 mathias 417
	// important pour Pinterest et cie.
418
	grandeImage.attr('alt', $(this).data('auteur') + ' - ' + $(this).data('titre'));
1305 aurelien 419
	grandeImage.parent().attr('href',obtenirUrlGrandFormatIdImage($(this).data('id-image')));
1123 mathias 420
	// métadonnées
421
	var metadonnees = ['id-image', 'titre', 'description', 'localisation', 'auteur'],
422
		clef;
423
	for (var i = 0; i < metadonnees.length; i++) {
424
		clef = metadonnees[i];
1303 aurelien 425
		var contenu = $(this).data(clef);
426
		if(clef == 'id-image') {
427
			contenu +=
1571 delphine 428
				'    <a title="T\xE9l\xE9charger cette image" class="lien_telechargement_image" href="'+urlBaseWidget+'telechargement?id_image='+$(this).data(clef)+'">'+
1303 aurelien 429
					'<img class="icone_action_ill" src="'+urlCssImages+'sauver.png" />'+
1571 delphine 430
				'</a>    '+
1305 aurelien 431
				'<a title="Voir plus d\'informations sur cette image (s\'ouvre dans un popup)" class="lien-image-cel" href="'+urlPopup+'?module=popup-illustrations&action=fiche&referentiel=bdtfx&id=' + $(this).data('id-image')+'">'+
1320 aurelien 432
					'<img class="icone_action_ill" src="'+urlCssImages+'infos_image.png" />'+
1349 mathias 433
				'</a>'+
1567 delphine 434
				'<a style="float:right" title="Signaler une mauvaise identification ou en proposer une autre via l\'outil identiplante" class="signaler-mauvaise-identification" href="' + $(this).data('url-mauvaise-ident') + '" target="_blank">' +
1571 delphine 435
					'<img class="icone_action_ill" src="'+urlCssImages+'mauvaise_id.png">Signaler une mauvaise identification' +
1303 aurelien 436
				'</a>';
437
		}
438
		$('#grande-image-legende-' + clef).html(contenu);
439
 
1123 mathias 440
	}
1361 mathias 441
	// valeurs génériques
1303 aurelien 442
	$('#grande-image-legende-' + clef).html($(this).data(clef));
1123 mathias 443
	$('#grande-image-legende-date').html(formaterDateVersFrancais($(this).data('date')));
1192 aurelien 444
	$('#grande-image-legende-id-destinataire').attr('href', urlPopup+'?module=popup-contact&action=form&referentiel='+REFERENTIEL+'&id_destinataire=' +
1208 mathias 445
			$(this).data('id-destinataire') + '&id_img=' + $(this).data('id-image'));
1317 aurelien 446
	$('#grande-image-legende-id-destinataire').attr('title', "Envoyer un message \xE0 l'auteur \xE0 propos de cette image (n\xE9cessite d'\xEAtre identifi\xE9)");
1131 mathias 447
	$('#grande-image-legende-auteur').attr('href', 'http://tela-botanica.org/profil:' + $(this).data('id-destinataire'));
1208 mathias 448
	$('#grande-image-legende-auteur').attr('target', '_blank');
1317 aurelien 449
	$('#grande-image-legende-auteur').attr('title', "Voir le profil de cet utilisateur (n\xE9cessite d'\xEAtre identifi\xE9)");
1309 aurelien 450
 
451
 
452
	$('#grande-image-legende-id-image a.lien_telechargement_image').unbind('click.fb').fancybox({
453
		"type" : "iframe",
454
		"autoDimensions" : false,
455
		"width" : 800,
456
		"height" : 405,
457
		"titleShow" : false
458
	});
1123 mathias 459
}
460
 
1303 aurelien 461
function obtenirUrlMoyenFormatIdImage(idImage) {
462
	idImage = remplirChaineDebut(idImage, "0", 9);
463
	return urlImagesOrganesMoyenFormatTpl.replace('{id_image}', idImage);
464
}
465
 
466
function obtenirUrlGrandFormatIdImage(idImage) {
467
	idImage = remplirChaineDebut(idImage, "0", 9);
468
	return urlImagesOrganesGrandFormatTpl.replace('{id_image}', idImage);
469
}
470
 
471
function remplirChaineDebut(chaine, remplissage, longueur) {
472
	while(chaine.toString().length < longueur) {
473
		chaine = remplissage.toString()+chaine.toString();
474
	}
475
	return chaine;
476
}
477
 
1123 mathias 478
// transforme une date du type "2012-04-06" en "06 avril 2012"
479
function formaterDateVersFrancais(date) {
480
	var mois = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
481
		amj_hms = date.split(' '),
482
		amj = amj_hms[0].split('-');
483
	return amj[2] + ' ' + mois[parseInt(amj[1]) - 1] + ' ' + amj[0];
484
}
485
 
966 aurelien 486
 
1123 mathias 487
// ouvre le popup de galerie lors d'un clic sur l'illustration dans la fiche synthèse
864 aurelien 488
function gererClicIllustrationsFiche() {
917 aurelien 489
	$('.illustration_cel').live('click', function() {
490
		var url_image = $(this).attr('src');
922 aurelien 491
		var titre = $('.nomenclature').first().text();
1136 mathias 492
		var url = urlPopup+"?module=popup-galerie&action=fiche&num_nom="+$(this).attr('data-num-nom')+"&titre="+encodeURIComponent(titre)+"&url_image="+encodeURIComponent(url_image)+"&referentiel="+REFERENTIEL;
493
		//var url = urlPopup+"?module=popup-galerie-organes&action=fiche&num_nom="+$(this).attr('data-num-nom')+"&titre="+encodeURIComponent(titre)+"&url_image="+encodeURIComponent(url_image)+"&referentiel="+REFERENTIEL;
1123 mathias 494
		//alert(url);
495
		//return false;
984 aurelien 496
		window.open(url, $(this).attr('data-num-nom'), 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no, width='+(400)+', height='+(375));
864 aurelien 497
	});
498
}
499
 
500
function ouvrirFenetreIllustrationFiche(url, titre, hauteur, largeur) {
928 aurelien 501
	var fenetre = window.open('_blank', '','directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no, width='+(largeur+17)+', height='+(hauteur+17));
864 aurelien 502
	var tmp = fenetre.document;
503
	tmp.write('<html><head><title>'+titre+'</title>');
504
	tmp.write('</head><body>');
505
	tmp.write('<p style="height='+hauteur+'px;text-align:center;line-height='+hauteur+'px;"><img id="image_agrandie" height="'+hauteur+'" width="'+largeur+'" style="vertical-align:middle;" src="'+url+'" /></p>');
506
	tmp.write('</body></html>');
507
	tmp.close();
508
}
509
 
1246 aurelien 510
 
511
// met à jour l'url dans la barre du navigateur ainsi que dans le permalien en bas
512
// de la fiche
1243 aurelien 513
function mettreAJourUrl(nouvelleUrl, etat) {
1246 aurelien 514
	$('#permalien_num_nom').val(nouvelleUrl);
1243 aurelien 515
	if (!!(window.history && window.history.pushState)) {
516
		var currentState = window.history.state;
517
		if (currentState != nouvelleUrl && !!etat) {
518
			window.history.pushState(etat, "", nouvelleUrl);
519
		}
520
	}
521
}
522
 
1246 aurelien 523
function gererInteractionsPermaliens() {
524
	$(".conteneur_permalien > a").each(function() {
525
		var txt = '<input type="text" id="'+$(this).attr('id')+'" readonly="readonly" class="lien_externe" value="'+$(this).attr('href')+'">';
526
		$(this).replaceWith(txt);
527
	});
528
	$(".conteneur_permalien > input").each(function() {
529
		$(this).attr('size', $(this).val().length - 7);
530
	});
531
	$(".conteneur_permalien > input").hover(
532
		function() {
533
			 $(this).select();
534
		}, function() {
535
			// rien à faire sur le mouseout
536
		}
537
	);
538
}
539
 
1381 aurelien 540
function gererTemplatesChargementALaDemande() {
1521 delphine 541
	$('.lien-ajax-tpl a.lien-ajax-tpl-chargement').on('click', function(e) {
1381 aurelien 542
		if($(this).attr('data-loading') != "true") {
543
			$(this).attr('data-loading', "true");
544
			e.preventDefault();
545
			urlTpl = $(this).attr('href');
546
			$(this).hide();
547
			thisElementParent = $(this).parent();
548
			thisElementParent.append("<div class='tab-chargement'>Chargement des informations...</div>");
549
			$.get(urlTpl, function( data ) {
550
				thisElementParent.replaceWith( data );
551
			});
552
			return false;
553
		}
554
	});
555
}
556
 
1516 delphine 557
$(document).ready(function() {
761 aurelien 558
	gererChargementGraphiqueEcologie();
971 aurelien 559
	gererAffichageLegendeEcologie();
1381 aurelien 560
	gererTemplatesChargementALaDemande();
324 gduche 561
	if (document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#BasicStructure', '1.1') == false) {
480 jpm 562
		$('.svg').each(function() {
563
			alt = $(this).attr('alt');
564
			img = document.createElement('img');
565
			img.src = alt;
566
			$(this).replaceWith(img);
567
		});
324 gduche 568
	}
999 raphael 569
});
1381 aurelien 570