Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 974 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

$(document).ready(function() {
        $("#annuler").on('click', fermerFenetre);
        $("#effacer").on('click', effacerFomulaire);
        $("#envoyer").on('click', envoyerCourriel);
});

function fermerFenetre() {
        window.open('', '_self', '');// BUG : Chrome
        window.close();
}

function effacerFomulaire() {
        $("#sujet").attr('value', $("#sujet_defaut").val());
        $("#message").text($("#message_defaut").val());
}

function envoyerCourriel(event) {
        if (verifierFormContact()) {
                
                if($("#type_envoi").val() == "non-inscrit") {
                        var destinataireId = $("#destinataire_id").val();
                        var urlMessage = URL_WS_MESSAGE_CEL+"/"+destinataireId;
                } else {
                        var destinataireId = $("#destinataire_id").val();
                        var urlMessage = URL_WS_UTILISATEUR+"/"+destinataireId+"/message";
                }
                
                var erreurMsg = "";
                
                var sujet = $("#sujet").val()+" - Carnet en ligne - Tela Botanica";
                var message = $("#message").val()+"\n--\n"+
                        "Ce message vous est envoyé par l'intermédiaire de l'application eFlore du réseau Tela Botanica.\n"+
                        "http://www.tela-botanica.org/eflore";
                var donnees = new Array();
                donnees[0] = {'name':'sujet','value':sujet};
                donnees[1] = {'name':'message','value':message};
                donnees[2] = {'name':'utilisateur_courriel','value':$("#utilisateur_courriel").val()};
                donnees[3] = {'name':'copies','value':$("#copies").val()};
                donnees[4] = {'name':'destinataire_id','value':$("#destinataire_id").val()};

                $.ajax({
                        type : "POST",
                        cache : false,
                        url : urlMessage,
                        data : donnees,
                        beforeSend : function() {
                                nettoyerMsg();
                        },
                        success : function(data) {
                                if (data.message) {
                                        afficherInfo(data.message);
                                } else {
                                        afficherInfo(data);
                                }
                        },
                        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 != '') {
                                        afficherMsg('Une erreur est survenue lors de la transmission de votre message.'+'<br />'+
                                                'Vous pouvez signaler le dysfonctionnement à <a href="'+
                                                'mailto:cel@tela-botanica.org'+'?'+
                                                'subject=Dysfonctionnement du formulaire de contact'+
                                                "&body="+erreurMsg+"\nDébogage :\n"+debugMsg+
                                                '">eflore_remarques@tela-botanica.org</a>.');
                                }
                                if (DEBUG) {
                                        console.log('Débogage : '+debugMsg);
                                }
                        }
                });
        } else {
                afficherInfo('Veuillez saisir un message');
        }
        event.preventDefault();
        return false;
}

function afficherInfo(msg) {
        afficherTxt(msg, 'information');
}

function afficherMsg(msg) {
        afficherTxt(msg);
}

function afficherTxt(msg, type) {
        type = type ? ' '+type : '';
        nettoyerMsg();
        $("#zone-dialogue").append('<pre class="msg'+type+'">'+msg+'</pre>');
}

function nettoyerMsg() {
        $(".msg").remove();
}

function verifierFormContact() {
        var valide = true;
        var msg = trim($("#message").val());
        var msgDefaut = trim($("#message_defaut").val());
        if (msg == msgDefaut) {
                valide = false;
        }
        return valide;
}

function trim(chaine) {
        return chaine.replace(/^\s+/g, '').replace(/\s+$/g, '');
}