Rev 528 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
$(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;}