Subversion Repositories eFlore/Applications.cel

Rev

Rev 939 | Rev 950 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 939 Rev 941
Line 1... Line 1...
1
/*+--------------------------------------------------------------------------------------------------------+*/
1
/*+--------------------------------------------------------------------------------------------------------+*/
2
// PARAMÊTRES et CONSTANTES
2
// PARAMÊTRES et CONSTANTES
-
 
3
// Mettre à true pour afficher les messages de débogage
-
 
4
var DEBUG = true; 
3
var pointImageUrl = 'http://chart.apis.google.com/chart?cht=mm&chs=24x32&chco=FFFFFF,008CFF,000000&ext=.png';
5
var pointImageUrl = 'http://chart.apis.google.com/chart?cht=mm&chs=24x32&chco=FFFFFF,008CFF,000000&ext=.png';
4
var pointsOrigine = null;
6
var pointsOrigine = null;
5
var boundsOrigine = null;
7
var boundsOrigine = null;
6
var markerClusterer = null;
8
var markerClusterer = null;
7
var map = null;
9
var map = null;
Line 49... Line 51...
49
	initialiserAffichageCarte();
51
	initialiserAffichageCarte();
50
	initialiserAffichagePanneauLateral();
52
	initialiserAffichagePanneauLateral();
Line 51... Line 53...
51
	
53
	
52
	initialiserCarte();
54
	initialiserCarte();
-
 
55
	initialiserInfoBulle();
53
	initialiserInfoBulle();
56
	initialiserFormulaireContact();
54
	chargerLimitesCommunales();
57
	chargerLimitesCommunales();
55
	rafraichirCarte();
58
	rafraichirCarte();
Line 56... Line 59...
56
}
59
}
Line 249... Line 252...
249
   	$("#obs-vue-"+pagineur.format).css('display', 'block');
252
   	$("#obs-vue-"+pagineur.format).css('display', 'block');
250
   	$(".obs-conteneur").css('counter-reset', 'item '+pagineur.depart);
253
   	$(".obs-conteneur").css('counter-reset', 'item '+pagineur.depart);
251
	$("#tpl-obs-"+pagineur.format).tmpl(obsPage).appendTo("#obs-"+pagineur.format+"-lignes");
254
	$("#tpl-obs-"+pagineur.format).tmpl(obsPage).appendTo("#obs-"+pagineur.format+"-lignes");
Line 252... Line 255...
252
	
255
	
-
 
256
	// Actualisation de Fancybox
253
	// Actualisation de Fancybox
257
	ajouterFomulaireContact("a.contact");
254
	if (pagineur.format == 'liste') {
258
	if (pagineur.format == 'liste') {
255
		ajouterGaleriePhoto("a.cel-img");
259
		ajouterGaleriePhoto("a.cel-img");
256
	}
260
	}
Line 365... Line 369...
365
			}
369
			}
366
			return false;
370
			return false;
367
		});
371
		});
368
}
372
}
Line -... Line 373...
-
 
373
 
-
 
374
function ajouterFomulaireContact(element) {
-
 
375
	$(element).fancybox({
-
 
376
		transitionIn:'elastic',
-
 
377
		transitionOut:'elastic',
-
 
378
		speedIn	:600, 
-
 
379
		speedOut:200,
-
 
380
		scrolling: 'no',
-
 
381
		titleShow: false,
-
 
382
		onStart: function(selectedArray, selectedIndex, selectedOpts) {
-
 
383
			var element = selectedArray[selectedIndex];
-
 
384
 
-
 
385
			var motif = / contributeur-([0-9]+)$/;
-
 
386
			motif.exec($(element).attr('class'));
-
 
387
			var id = RegExp.$1;
-
 
388
			console.log('Destinataire id : '+id);
-
 
389
			$("#fc_destinataire_id").attr('value', id);
-
 
390
		
-
 
391
			var motif = / obs-([0-9]+) /;
-
 
392
			motif.exec($(element).attr('class'));
-
 
393
			var id = RegExp.$1;
-
 
394
			console.log('Obs id : '+id);
-
 
395
			chargerInfoObsPourMessage(id);
-
 
396
		},
-
 
397
		onCleanup: function() {
-
 
398
			console.log('Avant fermeture fancybox');
-
 
399
			$("#fc_destinataire_id").attr('value', '');
-
 
400
			$("#fc_sujet").attr('value', '');
-
 
401
			$("#fc_message").text('');
-
 
402
		},
-
 
403
		onClosed: function(e) {
-
 
404
			console.log('Fermeture fancybox');
-
 
405
			if (e.stopPropagation) {
-
 
406
				e.stopPropagation();
-
 
407
			}
-
 
408
			return false;
-
 
409
		}
-
 
410
	});
-
 
411
}
-
 
412
 
-
 
413
function chargerInfoObsPourMessage(idObs) {
-
 
414
	var sujet = "Remarque sur l'observation #"+idObs;
-
 
415
	var message = "--\nConcerne l'observation de "+ 
-
 
416
		' "'+trim($("#cel-obs-"+idObs+" .nom-sci").text())+'" '+
-
 
417
		'du "'+trim($("#cel-obs-"+idObs+" .date").text())+'" '+
-
 
418
		'au lieu "'+trim($("#cel-obs-"+idObs+" .lieu").text())+'".';
-
 
419
	$("#fc_sujet").attr('value', sujet);
-
 
420
	$("#fc_message").text(message);
-
 
421
}
-
 
422
 
-
 
423
function initialiserFormulaireContact() {
-
 
424
	console.log('Initialisation du form contact');
-
 
425
	$("#form-contact").validate({
-
 
426
		rules: {
-
 
427
			fc_sujet : "required",
-
 
428
			fc_message : "required",
-
 
429
			fc_courriel : {
-
 
430
			required : true,
-
 
431
			email : true}
-
 
432
		}
-
 
433
	});
-
 
434
	$("#form-contact").bind("submit", envoyerCourriel);
-
 
435
	$("#fc_annuler").bind("click", function() {console.log('clic annuler');$.fancybox.close();});
-
 
436
	
-
 
437
}
-
 
438
 
-
 
439
function envoyerCourriel() {
-
 
440
	console.log('Formulaire soumis');
-
 
441
	if ($("#form-contact").valid()) {
-
 
442
		console.log('Formulaire valide');
-
 
443
		//$.fancybox.showActivity();
-
 
444
		var destinataireId = $("#fc_destinataire_id").attr('value');
-
 
445
		var urlMessage = "http://www.tela-botanica.org/service:annuaire:Utilisateur/"+destinataireId+"/message"
-
 
446
		var erreurMsg = "";
-
 
447
		var donnees = new Array();
-
 
448
		$.each($(this).serializeArray(), function (index, champ) {
-
 
449
			var cle = champ.name;
-
 
450
			cle = cle.replace(/^fc_/, '');
-
 
451
			console.log('Clé:'+cle);
-
 
452
			donnees[index] = {'name':cle,'value':champ.value};
-
 
453
		});
-
 
454
		$.ajax({
-
 
455
			type : "POST",
-
 
456
			cache : false,
-
 
457
			url : urlMessage,
-
 
458
			data : donnees,
-
 
459
			beforeSend : function() {
-
 
460
				$(".msg").remove();
-
 
461
			},
-
 
462
			success : function(data) {
-
 
463
				$("#fc-zone-dialogue").append('<pre class="msg info">'+data.message+'</pre>');
-
 
464
			},
-
 
465
			error : function(jqXHR, textStatus, errorThrown) {
-
 
466
				erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
-
 
467
				reponse = jQuery.parseJSON(jqXHR.responseText);
-
 
468
				if (reponse != null) {
-
 
469
					$.each(reponse, function (cle, valeur) {
-
 
470
						erreurMsg += valeur + "\n";
-
 
471
					});
-
 
472
				}				
-
 
473
			},
-
 
474
			complete : function(jqXHR, textStatus) {
-
 
475
				var debugMsg = '';
-
 
476
				if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
-
 
477
					debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
-
 
478
					if (debugInfos != null) {
-
 
479
						$.each(debugInfos, function (cle, valeur) {
-
 
480
							debugMsg += valeur + "\n";
-
 
481
						});
-
 
482
					}
-
 
483
				}
-
 
484
				if (erreurMsg != '') {
-
 
485
					$("#fc-zone-dialogue").append('<p class="msg">'+
-
 
486
							'Une erreur est survenue lors de la transmission de votre message.'+'<br />'+
-
 
487
							'Vous pouvez signaler le disfonctionnement à <a href="'+
-
 
488
							'mailto:cel@tela-botanica.org'+'?'+
-
 
489
							'subject=Disfonctionnement du widget de Cartographie'+
-
 
490
							"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
-
 
491
							'">cel@tela-botanica.org</a>.'+
-
 
492
							'</p>');
-
 
493
				}
-
 
494
				if (DEBUG) {
-
 
495
					console.log('Débogage : '+debugMsg);
-
 
496
				}
-
 
497
				console.log('Débogage : '+debugMsg);
-
 
498
				console.log('Erreur : '+erreurMsg);
-
 
499
			}
-
 
500
		});
-
 
501
	}
-
 
502
	return false;
369
 
503
}
370
/*+--------------------------------------------------------------------------------------------------------+*/
504
/*+--------------------------------------------------------------------------------------------------------+*/
Line 371... Line 505...
371
// PANNEAU LATÉRAL
505
// PANNEAU LATÉRAL
372
 
506
 
Line 555... Line 689...
555
		});
689
		});
556
	} else {
690
	} else {
557
		msg = "La variable vaut null.";
691
		msg = "La variable vaut null.";
558
	}
692
	}
559
	console.log(msg);
693
	console.log(msg);
-
 
694
}
-
 
695
 
-
 
696
function trim (chaine) {
-
 
697
	return chaine.replace(/^\s+/g, '').replace(/\s+$/g, '');
560
}
698
}
561
699