Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 506 → Rev 507

/trunk/modules/popup_contact/presentations/scripts/contact.js
New file
0,0 → 1,151
$(document).ready(function() {
$("#effacer").on('click', effacerFomulaire);
$("#envoyer").on('click', envoyerCourriel);
});
 
function effacerFomulaire() {
$("#destinataire_id").attr('value', '');
$("#sujet").attr('value', '');
$("#message").text('');
}
 
function ajouterFomulaireContact(element) {
$(element).fancybox({
transitionIn:'elastic',
transitionOut:'elastic',
speedIn :600,
speedOut:200,
scrolling: 'no',
titleShow: false,
onStart: function(selectedArray, selectedIndex, selectedOpts) {
var element = selectedArray[selectedIndex];
 
var motif = / contributeur-([0-9]+)$/;
motif.exec($(element).attr('class'));
var id = RegExp.$1;
// console.log('Destinataire id : '+id);
$("#fc_destinataire_id").attr('value', id);
var motif = / obs-([0-9]+) /;
motif.exec($(element).attr('class'));
var id = RegExp.$1;
// console.log('Obs id : '+id);
chargerInfoObsPourMessage(id);
},
onCleanup: function() {
// console.log('Avant fermeture fancybox');
$("#fc_destinataire_id").attr('value', '');
$("#fc_sujet").attr('value', '');
$("#fc_message").text('');
},
onClosed: function(e) {
// console.log('Fermeture fancybox');
if (e.stopPropagation) {
e.stopPropagation();
}
return false;
}
});
}
 
function chargerInfoObsPourMessage(idObs) {
var nomSci = trim($(".cel-obs-"+idObs+" .nom-sci:eq(0)").text());
var date = trim($(".cel-obs-"+idObs+" .date:eq(0)").text());
var lieu = trim($(".cel-obs-"+idObs+" .lieu:eq(0)").text());
var sujet = "Observation #"+idObs+" de "+nomSci;
var message = "\n\n\n\n\n\n\n\n--\nConcerne l'observation de \""+nomSci+'" du "'+date+'" au lieu "'+lieu+'".';
$("#sujet").attr('value', sujet);
$("#message").text(message);
}
 
function initialiserFormulaireContact() {
// console.log('Initialisation du form contact');
$("#form-contact").validate({
rules: {
fc_sujet : "required",
fc_message : "required",
fc_utilisateur_courriel : {
required : true,
email : true}
}
});
$("#form-contact").bind("submit", envoyerCourriel);
$("#fc_annuler").bind("click", function() {$.fancybox.close();});
}
 
function envoyerCourriel() {
// console.log('Formulaire soumis');
if ($("#form-contact").valid()) {
// console.log('Formulaire valide');
// $.fancybox.showActivity();
var destinataireId = $("#fc_destinataire_id").attr('value');
var urlMessage = "http://www.tela-botanica.org/service:annuaire:Utilisateur/"+destinataireId+"/message"
var erreurMsg = "";
var donnees = new Array();
$.each($(this).serializeArray(), function (index, champ) {
var cle = champ.name;
cle = cle.replace(/^fc_/, '');
if (cle == 'sujet') {
champ.value += " - Carnet en ligne - Tela Botanica";
}
if (cle == 'message') {
champ.value += "\n--\n"+
"Ce message vous est envoyé par l'intermédiaire du widget Cartographique "+
"du Carnet en Ligne du réseau Tela Botanica.\n"+
"http://www.tela-botanica.org/widget:cel:carto";
}
donnees[index] = {'name':cle,'value':champ.value};
});
$.ajax({
type : "POST",
cache : false,
url : urlMessage,
data : donnees,
beforeSend : function() {
$(".msg").remove();
},
success : function(data) {
$("#fc-zone-dialogue").append('<pre class="msg info">'+data.message+'</pre>');
},
error : function(jqXHR, textStatus, errorThrown) {
erreurMsg += "Erreur Ajax :\ntype : "+textStatus+' '+errorThrown+"\n";
reponse = jQuery.parseJSON(jqXHR.responseText);
if (reponse != null) {
$.each(reponse, function (cle, valeur) {
erreurMsg += valeur + "\n";
});
}
},
complete : function(jqXHR, textStatus) {
var debugMsg = '';
if (jqXHR.getResponseHeader("X-DebugJrest-Data") != '') {
debugInfos = jQuery.parseJSON(jqXHR.getResponseHeader("X-DebugJrest-Data"));
if (debugInfos != null) {
$.each(debugInfos, function (cle, valeur) {
debugMsg += valeur + "\n";
});
}
}
if (erreurMsg != '') {
$("#fc-zone-dialogue").append('<p class="msg">'+
'Une erreur est survenue lors de la transmission de votre message.'+'<br />'+
'Vous pouvez signaler le disfonctionnement à <a href="'+
'mailto:cel@tela-botanica.org'+'?'+
'subject=Disfonctionnement du widget de Cartographie'+
"&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
'">cel@tela-botanica.org</a>.'+
'</p>');
}
if (DEBUG) {
console.log('Débogage : '+debugMsg);
}
// console.log('Débogage : '+debugMsg);
// console.log('Erreur : '+erreurMsg);
}
});
}
return false;
}