1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
   |  $(document).ready(function() {
 
		 function updateTips(t) {
			$("#validateTips").text(t).effect("highlight",{},1500);
		}
 
		function checkLength(o,n,min,max) {
 
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass('ui-state-error');
				updateTips("La longueur du " + n + " doit être comprise "+min+" et "+max+".");
				return false;
			} else {
				return true;
			}
 
		}
 
 
 
		function checkMessage(o,n) {
 
			if ( o.val().length <= 0 ) {
				o.addClass('ui-state-error');
				updateTips("Vous devez écrire quelque chose dans le message.");
				return false;
			} else {
				return true;
			}
 
		}
 
 
        $('a.ajax').click(function() {
            var url = this.href;
            // show a spinner or something via css
            var dialog = $('<div style="display:none" class="loading"></div>').appendTo('body');
            // open the dialog
            dialog.dialog({
                // add a close listener to prevent adding multiple divs to the document
                close: function(event, ui) {
                    // remove div with all data and events
                    dialog.remove();
                },
                modal: true,
 
				buttons: {
				'Envoyer': function() {
				    var sujet = $("#sujet"),
			message = $("#messager"),
 
			allFields = $([]).add(sujet).add(message),
					 bValid = true;
					allFields.removeClass('ui-state-error');
 
                    bValid = bValid && checkLength(sujet,"sujet",3,16);
					bValid = bValid && checkMessage(message,"message"); 
 
 
					if (bValid) {
					   var messageDelay = 4000; //durée d'apprition du message e milliseconde  
					   var form_data = {sujets : $('#sujet').val(),messages : $('#messager').val(),destinataires : $('#destinataire').val()
			                   };
                $.ajax({
                    url: $('a.ajax').attr('alt'),
                    type: 'POST',
                    async : false,
                    data: form_data,
                    success: function(msg) {
					            if(msg='1'){
								$(this).dialog('close');
					            response = 'Votre message est bien parti';
                                $('#successMessage').html(response);
	                            $('#successMessage').fadeIn().delay(messageDelay).fadeOut();
                                }
								else{
								response = $.trim(msg);
                                $('#successMessage').html(response);
	                            $('#successMessage').fadeIn().delay(messageDelay).fadeOut();
                                }
								}
                });
 
                return false;
					}
 
				},
				Cancel: function() {
					$(this).dialog('close');
				}
			}
            });
            // load remote content
            dialog.load(
                url, 
                {}, // omit this param object to issue a GET request instead a POST request, otherwise you may provide post parameters within the object
                function (responseText, textStatus, XMLHttpRequest) {
                    // remove the loading class
                    dialog.removeClass('loading');
                }
            );
            //prevent the browser to follow the link
            return false;
        });
 
        }); |