/[openfoncier]/trunk/app/js/script.js
ViewVC logotype

Diff of /trunk/app/js/script.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1099 by vpihour, Tue Dec 18 17:05:32 2012 UTC revision 2997 by nhaye, Fri Apr 25 16:53:37 2014 UTC
# Line 1  Line 1 
1  // specific openfoncier ========================================================  /**
2     * Script JS spécifique à l'applicatif, ce script est destiné à être
3     * appelé en dernier dans la pile des fichiers JS.
4     *
5     * @package openfoncier
6     * @version SVN : $Id$
7     */
8    
9  // Document is ready  // Document is ready
10  $(function(){  $(function(){
11    
12        /**
13         * Ajout du focus sur le champ login au chargement de la page.
14         */
15         $('#login_form #login').focus();
16    
17        /**
18         * Spécifique app/affichage_reglementaire_attestation.php pour donner le
19         * focus sur le champ de recherche au chargement de la page.
20         */
21         $('#affichage_reglementaire_attestation_form #dossier').focus();
22    
23        /**
24         * Spécifique app/widget_recherche_dossier.php pour donner le
25         * focus sur le champ de recherche au chargement de la page.
26         */
27         $('#widget_recherche_dossier_form #dossier').focus();
28    
29     /**     /**
30      * Spécifique app/avis_code_barre.php pour donner le focus sur le champ de      * Spécifique app/suivi_retours_de_consultation.php pour donner le focus sur le champ de
31      * recherche au chargement de la page.      * recherche au chargement de la page.
32      */      */
33     $('#avis_code_barre_form #consultation').focus();     $('#suivi_retours_de_consultation_form #code_barres').focus();
34    
35        /**
36        * Spécifique app/suivi_mise_a_jour_des_dates.php pour donner le focus sur le champ
37        * instruction au chargement de la page si la date n'est pas vide.
38        */
39        if($('#suivi_mise_a_jour_des_dates_form #date').val()!="") {
40            $('#suivi_mise_a_jour_des_dates_form #code_barres').focus();
41        }
42        
43        /**
44        * Spécifique app/suivi_envoi_lettre_rar.php pour donner le focus sur le champ
45        * liste des codes barres d'instructions scannés au chargement de la page.
46        */
47        $('#suivi_envoi_lettre_rar_form #liste_code_barres_instruction').focus();
48        
49        /**
50         * Affichage d'un dialog pour les règles de calcul associés à l'action
51         */
52        $('.regle_action').dialog({
53            autoOpen: false,
54            show: "fade",
55            hide: "fade",
56            dialogClass: "alert",
57            minHeight: 30,
58            minWidth: 400
59        });
60        
61        $('.wf_evenement_action').mouseover(
62            function(){
63                var id = $(this).attr("id");
64                $( "#regle_action"+ id ).dialog({ position: { my: "left top", at: "left bottom", of: $(this) } });
65                $( "#regle_action"+ id ).dialog("open");
66                $(".ui-dialog-titlebar").hide();
67            }
68        );
69        
70        $('.wf_evenement_action').mouseleave(
71            function(){
72                var id = $(this).attr("id");
73                $( "#regle_action"+ id ).dialog( "close" );
74            }
75        );
76   });   });
77    
78    
# Line 17  $(function(){ Line 82  $(function(){
82   * Ces fonctions javascript sont appelées depuis les méthodes setOnChange,   * Ces fonctions javascript sont appelées depuis les méthodes setOnChange,
83   * setOnClick, ...   * setOnClick, ...
84   */   */
85  // bible - type httpclick  //
86    // Cette fonction permet de retourner les informations sur le fichier téléchargé
87    // du formulaire d'upload vers le formulaire d'origine
88    function bible_return(form, champ) {
89        // Initialisation de la variable contenant les valeurs sélectionnées
90        var listeElement = '';
91        // Récupération du contenu de chacun des éléments cochés
92        $("span.content").each(function( index ) {
93            if (document.getElementById('checkbox'+index).checked == true) {
94                listeElement += $(this).attr('title').replace(/\r\n|\n|\r/g, '<br />')+'<br />';
95            }
96        });
97        obj = tinyMCE.get(champ);
98        // Remplissage du textarea et déclenchement du trigger autosize
99        if(listeElement != '') {
100            obj.setContent(obj.getContent()+"<br/>"+listeElement+"<br/>");
101        }
102        // Fermeture de la boite de dialog
103        $('#upload-container').dialog('close').remove();
104    }
105    //
106  function bible() {  function bible() {
107      if(fenetreouverte==true)      //
108             pfenetre.close();      var ev = document.f2.evenement.value;
109      var ev=document.f2.evenement.value;      //
110      var idx=document.f2.dossier.value;      if (ev == "") {
111      pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");          window.alert("Vous devez d'abord sélectionner un événement.");
112      fenetreouverte=true;          return false;
113        }
114        //
115        var idx = document.f2.dossier.value;
116        //
117        var link = "../app/bible.php?complement=1&ev="+ev+"&idx="+idx;
118        load_form_in_modal(link);
119        //
120        return false;
121  }  }
122  // bible2 - type httpclick  //
123  function bible2()  function bible2() {
 {  
     if(fenetreouverte==true)  
            pfenetre.close();  
124      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
125        if (ev == "") {
126            window.alert("Vous devez d'abord sélectionner un événement.");
127            return false;
128        }
129      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
130      pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");      var link = "../app/bible.php?complement=2&ev="+ev+"&idx="+idx;
131      fenetreouverte=true;      load_form_in_modal(link);
132        return false;
133  }  }
134  // bible_auto - type httpclick  // bible_auto - type httpclick
135  function bible_auto(){  function bible_auto(){
136      if(fenetreouverte==true)      // Récupération de l'identifiant de l'événement
            pfenetre.close();  
137      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
138        // Si pas d'événement on affiche un message d'erreur
139        if (ev == "") {
140            window.alert("Vous devez d'abord sélectionner un événement.");
141            return false;
142        }
143        // Récupération de l'identifiant du dossier
144      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
145      pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");      // Récupération des retours de consultation et de la bible
146      fenetreouverte=true;      $.ajax({
147            type: "GET",
148            url: "../app/bible_auto.php?idx="+idx+"&ev="+ev,
149            cache: false,
150            dataType: "json",
151            success: function(data){
152            
153                var obj = tinyMCE.get('complement_om_html');
154                // Remplissage du textarea complement_om_html
155                if(data.complement_om_html != '') {
156                    obj.setContent(obj.getContent()+"<br/>"+data.complement_om_html+"<br/>");
157                }
158                var obj2 = tinyMCE.get('complement2_om_html');
159                // Remplissage du textarea complement2_om_html
160                if(data.complement2_om_html != '') {
161                    obj2.setContent(obj2.getContent()+"<br/>"+data.complement2_om_html+"<br/>");
162                }
163    
164            }
165        });
166    
167        return false;
168  }  }
169  // VerifNumdec - type text  // VerifNumdec - type text
170  function VerifNumdec(champ) {  function VerifNumdec(champ) {
# Line 57  function VerifNumdec(champ) { Line 178  function VerifNumdec(champ) {
178      //}      //}
179            
180  }  }
181    
182    /**
183     * Cette fonction permet de compléter le champ par des zéro par la gauche
184     * @param  string  champ  Champ concerné
185     * @param  integer length Taille du champ retourné
186     */
187    function str_pad_js(champ, length) {
188    
189        // Initialisation de la variable str
190        var str = '' + champ.value;
191    
192        // Si le champ n'est pas vide
193        if (str != '') {
194            // Tant que la taille n'est pas atteint,
195            // on ajoute des 0
196            while (str.length < length) {
197                str = '0' + str;
198            }
199            // Modifie le champ
200            champ.value = str;
201        }
202    }
203    
204  // Ce widget permet de charger les données d'un select en ajax  // Ce widget permet de charger les données d'un select en ajax
205  function changeDataSelect(tableName, linkedField, joker){  function changeDataSelect(tableName, linkedField, joker){
206      var id_dossierAutorisation = $("#dossier_autorisation").val();      var id_dossierAutorisation = $("#dossier_autorisation").val();
# Line 108  function changeDataSelect(tableName, lin Line 252  function changeDataSelect(tableName, lin
252          async: false          async: false
253      });      });
254  }  }
255    
256    /**
257     * Fonction de récupération des paramètres GET de la page
258     * @return Array Tableau associatif contenant les paramètres GET
259     */
260    function extractUrlParams(){    
261        var t = location.search.substring(1).split('&');
262        var f = [];
263        for (var i=0; i<t.length; i++){
264            var x = t[ i ].split('=');
265            f[x[0]]=x[1];
266        }
267        return f;
268    }
269    
270  // vuploadMulti - XXX  // vuploadMulti - XXX
271  function vuploadMulti(champ) {  function vuploadMulti(champ) {
272      //      //
# Line 120  function vuploadMulti(champ) { Line 279  function vuploadMulti(champ) {
279      //      //
280      fenetreouverte = true;      fenetreouverte = true;
281  }  }
 // tmpUpload - Upload  XXX  
 function tmpUpload(champ) {  
     //  
     if (fenetreouverte == true) {  
         pfenetre.close();  
     }  
     //  
     pfenetre = window.open("../app/tmpUpload.php?origine="+champ+"&form="+$('input[name='+champ+']').closest('form').attr('name'),"upload","width=400,height=300,top=120,left=120");  
     //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");  
     //  
     fenetreouverte = true;  
 }  
   
   
282    
283  /**  /**
284   * POPUP pour le téléchargement de fichier   * POPUP pour le téléchargement de fichier
# Line 146  function tmpUpload(champ) { Line 291  function tmpUpload(champ) {
291  function dossierads_d(debut)  function dossierads_d(debut)
292  {  {
293  //if(fenetreouverte==true)  //if(fenetreouverte==true)
294  window.location="../pdf/pdfetat.php?obj=dossier_ads_d&nature="  window.location="../pdf/pdfetat.php?obj=registre_dossiers_decisions_par_type_par_date&nature="
295  +document.f1.nature.value+"&idx=demo&datedebut="  +document.f1.nature.value+"&idx=demo&datedebut="
296  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
297  }  }
298  //  
299  function dossier_reglementaire(){  // Cette fonction permet de gérer la validation du formulaire du script :
300        // app/affichage_reglementaire_registre.php
301      $('#bouton-PDF').remove();  function affichage_reglementaire_registre(button) {
302        // Popup de confirmation du traitement par l'utilisateur
303        if (trt_confirm() == false) {
304            return false;
305        }
306        // Suppression du bouton pour que l'utilisateur ne puisse pas cliquer une
307        // deuxième fois
308        $(button).remove();
309        // Affichage du spinner
310      $("#msg").html(msg_loading);      $("#msg").html(msg_loading);
311                // Requête AJAX vers le fichier app/affichage_reglementaire_registre.php
312      /*Requete AJAX vers le fichier edition_reglementaire.php pour mettre à jour les dossiers*/      // pour mettre à jour les dossiers
313        // XXX layout
314      $.ajax({      $.ajax({
315          type: "GET",          type: "GET",
316          url: "../app/edition_reglementaire.php?update",          url: "../app/affichage_reglementaire_registre.php?update",
317          cache: false,          cache: false,
318          success: function(html){          success: function(html){
319                            // Ajout d'un bloc de message vide
320              $('#msg').html(              $('#msg').html(
321                  '<div class="message ui-widget ui-corner-all ui-state-highlight">'+                  '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
322                      '<p>'+                      '<p>'+
# Line 172  function dossier_reglementaire(){ Line 326  function dossier_reglementaire(){
326                      '</p>'+                      '</p>'+
327                  '</div>'                  '</div>'
328              );              );
329                            // Si le retour de l'appel Ajax n'est pas vide, alors il y a eu une
330              if ( html.length > 2 ){              // lors du traitement
331                                if ( html.length > 2 ) {
332                  $("#msg .message").addClass("ui-state-error");                  $("#msg .message").addClass("ui-state-error");
333                  $("#msg .text").html(html);                  $("#msg .text").html(html);
334              }              } else {
335              else {                  // Sinon message de succès et appel de l'édition
                   
336                  $("#msg .message").addClass("ui-state-valid");                  $("#msg .message").addClass("ui-state-valid");
337                  $("#msg .text").html("PDF affiche avec succes !");                  $("#msg .text").html("Traitement terminé. Le registre a été téléchargé.");
338                  window.open("../pdf/pdfetat.php?obj=dossier_m&idx=demo");                  window.open("../pdf/pdfetat.php?obj=registre_dossiers_affichage_reglementaire&idx=demo");
339              }              }
340          },          },
341          async: false          async: false
342      });      });
343        //
344        return false;
345    }
346    
347    //Fonction de redirection pour le widget de recherche de dossier
348    function widget_recherche_dossier(data,nbRes){
349        /*$('#msg').show();
350        $('#msg').html(msg_loading);*/
351      
352        // S'il n'y a qu'un seul résultat, afficher un résumé
353        if ( nbRes == 1 ){
354        
355            window.location = "../scr/form.php?obj=dossier_instruction&action=3&" +
356                "idx=" + data + "&premier=0&advs_id=&recherche=&tricol=&" +
357                "selectioncol=&valide=&retour=tab";  
358        }
359        // S'il y a une liste de dossier, redirection vers le tableau
360        else {
361            
362            window.location = "../scr/tab.php?obj=recherche_direct&selectioncol=0&recherche=" + data;
363        }
364  }  }
365  //  //
366  function dossierdepot()  function dossierdepot()
367  {  {
368  //if(fenetreouverte==true)  //if(fenetreouverte==true)
369      window.location="../pdf/pdfetat.php?obj=dossier_depot&nature="+      window.location="../pdf/pdfetat.php?obj=registre_dossiers_depots_par_type_par_date&nature="+
370      document.f1.nature.value+"&idx=demo&datedebut="+      document.f1.nature.value+"&idx=demo&datedebut="+
371      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
372  }  }
# Line 200  function dossierdepot() Line 374  function dossierdepot()
374  function dossierads()  function dossierads()
375  {  {
376  //if(fenetreouverte==true)  //if(fenetreouverte==true)
377      window.location="../pdf/pdfetat.php?obj=dossier_ads&nature="+      window.location="../pdf/pdfetat.php?obj=registre_dossiers_par_type_par_date&nature="+
378      document.f1.nature.value+"&idx=demo&datedebut="+      document.f1.nature.value+"&idx=demo&datedebut="+
379      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
380  }  }
# Line 282  jQuery.download = function(url, data, me Line 456  jQuery.download = function(url, data, me
456   **/   **/
457  function popupIt(objsf, link, width, height, callback, callbackParams) {  function popupIt(objsf, link, width, height, callback, callbackParams) {
458      // Insertion du conteneur du dialog      // Insertion du conteneur du dialog
459      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('#tabs-1 .formControls');
460      $('<input type=\"text\" name=\"recherchedyn\" id=\"recherchedyn\" value=\"\" class=\"champFormulaire\" style=\"display:none\" />').insertAfter('#sousform-'+objsf);      $('<input type=\"text\" name=\"recherchedyn\" id=\"recherchedyn\" value=\"\" class=\"champFormulaire\" style=\"display:none\" />').insertAfter('#sousform-'+objsf);
461            
462      // execution de la requete passee en parametre      // execution de la requete passee en parametre
# Line 309  function popupIt(objsf, link, width, hei Line 483  function popupIt(objsf, link, width, hei
483                  }                  }
484                  $(this).remove();                  $(this).remove();
485              },              },
486              resizable: false,              resizable: true,
487              modal: true,              modal: true,
488              width: width,              width: 'auto',
489              height: height,              height: 'auto',
490              position: 'center',              position: 'left top',
491            });            });
492          },          },
493          async : false          async : false
# Line 404  function afficherDemandeur(id,type) { Line 578  function afficherDemandeur(id,type) {
578   */   */
579  function editDemandeur(obj,id,type,id_css) {  function editDemandeur(obj,id,type,id_css) {
580      var url = '../scr/sousform.php?obj='+obj+'&retourformulaire=demande';      var url = '../scr/sousform.php?obj='+obj+'&retourformulaire=demande';
581      if(getDemandeInfo('type') == 'DM') {      //Vérification des contraintes de récupération des demandeurs
582        if(getDemandeInfo('contraintes') == 'avec_recup') {
583          url += '&action=0&idx_demandeur='+id;          url += '&action=0&idx_demandeur='+id;
584      } else {      } else {
585          url += '&action=1&idx='+id;          url += '&action=1&idx='+id;
586      }      }
587      popupIt(obj, url, 780, 'auto',      popupIt(obj, url, 860, 'auto',
588              replaceDemandeur, {'type':type,'id': id, 'id_css':id_css});              replaceDemandeur, {'type':type,'id': id, 'id_css':id_css});
589      affichageBoutonsDemandeurs();      affichageBoutonsDemandeurs();
590  }  }
# Line 450  function affichageBoutonsDemandeurs(){ Line 625  function affichageBoutonsDemandeurs(){
625      // Si formulaire après validation on cache les boutons d'ajout de demandeurs      // Si formulaire après validation on cache les boutons d'ajout de demandeurs
626      url = document.location + "" ;      url = document.location + "" ;
627    
628      if (url.indexOf("form.php?obj=demande&") != -1 && $("form[name=f1] .form-is-valid").size() > 0 ) {      if ((url.indexOf("form.php?obj=demande&") != -1
629            || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
630            || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
631            || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
632            && $("form[name=f1] .form-is-valid").size() > 0 ) {
633    
634          $('#add_petitionnaire_principal').hide();          $('#add_petitionnaire_principal').hide();
635          $('#add_delegataire').hide();          $('#add_delegataire').hide();
# Line 505  $(function() { Line 684  $(function() {
684      $("#formulaire").on("click","#add_petitionnaire_principal",  function() {      $("#formulaire").on("click","#add_petitionnaire_principal",  function() {
685          popupIt('petitionnaire',          popupIt('petitionnaire',
686                  '../scr/sousform.php?obj=petitionnaire&action=0'+                  '../scr/sousform.php?obj=petitionnaire&action=0'+
687                  '&retourformulaire=demande&principal=true', 780, 'auto',                  '&retourformulaire=demande&principal=true', 860, 'auto',
688                  getDemandeurId, 'petitionnaire_principal');                  getDemandeurId, 'petitionnaire_principal');
689      });      });
690      // Bind de la fonction permettant l'ajout du délégataire      // Bind de la fonction permettant l'ajout du délégataire
691      $("#formulaire").on("click","#add_delegataire", function(event) {      $("#formulaire").on("click","#add_delegataire", function(event) {
692          popupIt('delegataire',          popupIt('delegataire',
693                  '../scr/sousform.php?obj=delegataire&action=0'+                  '../scr/sousform.php?obj=delegataire&action=0'+
694                  '&retourformulaire=demande', 780, 'auto',                  '&retourformulaire=demande', 860, 'auto',
695                  getDemandeurId, 'delegataire');                  getDemandeurId, 'delegataire');
696      });      });
697      // Bind de la fonction permettant l'ajout des pétitionnaires      // Bind de la fonction permettant l'ajout des pétitionnaires
698      $("#formulaire").on("click","#add_petitionnaire", function(event) {      $("#formulaire").on("click","#add_petitionnaire", function(event) {
699          popupIt('petitionnaire',          popupIt('petitionnaire',
700                  '../scr/sousform.php?obj=petitionnaire&action=0'+                  '../scr/sousform.php?obj=petitionnaire&action=0'+
701                  '&retourformulaire=demande', 780, 'auto',                  '&retourformulaire=demande', 860, 'auto',
702                  getDemandeurId, 'petitionnaire');                  getDemandeurId, 'petitionnaire');
703      });      });
704    
705      url = document.location + "" ;      url = document.location + "" ;
706      if (url.indexOf("form.php?obj=demande&") != -1      if ((
707            url.indexOf("form.php?obj=demande&") != -1 ||
708            url.indexOf("form.php?obj=dossier&") != -1 ||
709            url.indexOf("form.php?obj=dossier_instruction&") != -1
710            )
711          && url.indexOf("&action=3") == -1) {          && url.indexOf("&action=3") == -1) {
712    
713          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale();
714      }      }
715    
716        // S'il y a une erreur durant la validation lors de l'ajout
717        // d'une nouvelle demande
718        if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
719            && (url.indexOf("&action=3") == -1
720            && url.indexOf("&action=2") == -1
721            && url.indexOf("&validation") != -1
722            && $(".form-is-valid").size() == 0)) {
723    
724            addButtonCadastraleAdesse();
725            formatFieldReferenceCadastrale();
726        }
727            
728      if (url.indexOf("form.php?obj=demande&") != -1      if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
729          && (url.indexOf("&action=3") == -1 && $(".form-is-valid").size() == 0)) {          && (url.indexOf("&action=3") == -1
730            && url.indexOf("&action=2") == -1
731            && url.indexOf("&validation") == -1
732            && $(".form-is-valid").size() == 0)) {
733                    
734          addButtonCadastraleAdesse();          addButtonCadastraleAdesse();
735          changeDemandeType();          changeDemandeType();
736      }      }
737            
738      // Ajout de demande      // Ajout de demande
739      if (url.indexOf("form.php?obj=demande&") != -1      if ((url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
740            || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
741            || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
742          && url.indexOf("&action=0") != -1 ){          && url.indexOf("&action=0") != -1 ){
743    
744          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
# Line 546  $(function() { Line 746  $(function() {
746      }      }
747            
748      // Ajout de demande sur dossier existant      // Ajout de demande sur dossier existant
749      if (url.indexOf("form.php?obj=demande&") != -1      if ((url.indexOf("form.php?obj=demande_dossier_encours&") != -1
750          && url.indexOf("&action=0") != -1          || url.indexOf("form.php?obj=demande_autre_dossier&") != -1)
751          && url.indexOf("&idx_dossier=") != -1 ){          && url.indexOf("&action=0") != -1 ){
752    
753          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/          //Cache les champs avant que dossier_autorisation_type_detaille soit choisi
754          hideFields();          hideFields();
755          changeDemandeType();          //On affiche le select du type de la demande
756            $('#demande_type').parent().parent().show();
757      }      }
758            
759      // Modification de demande      // Modification de demande
760      if (url.indexOf("form.php?obj=demande&") ){      if (
761                    (
762                url.indexOf("form.php?obj=demande&") != -1
763                || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
764                || url.indexOf("form.php?obj=demande_dossier_encours&") != -1
765                || url.indexOf("form.php?obj=demande_autre_dossier&") != -1
766            )
767            && url.indexOf("&action") == -1
768        ){
769    
770          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale();
771      }      }
772        
773        //Gestion de la commission
774        $( "#tabs" ).tabs();
775          
776        // Affichage du tableau des dossier_commission au clique
777        $("#dossier_planifie").click(function() {
778            
779            var params = extractUrlParams();
780            idx = params['idx'];
781    
782            ajaxIt(
783                'dossier_commission',
784                '../scr/soustab.php?obj=dossier_commission&idxformulaire='+
785                idx +
786                '&retourformulaire=commission');
787        });
788        
789        // Affichage du tableau des dossier_commission posssible au clique
790        $('#commission_dossiers_plannifier_retirer').click(
791            function(){
792                
793                var params = extractUrlParams();
794                idx = params['idx'];
795                
796                $('#tabs-2').empty();
797                ajouterTableauDossierCommissionPossible(idx);
798            }
799        );
800        
801        //Suppression du message et des données dans le champ dossier
802        $('#commission_dossiers_plannifier_numero').click(
803            function(){
804                
805                $('#tabs-3 .message').remove();
806                $('#tabs-3 #dossier').val("");
807            }
808        );
809  });  });
810    
811  /*  /*
# Line 567  $(function() { Line 813  $(function() {
813   */   */
814  function formatFieldReferenceCadastrale(){  function formatFieldReferenceCadastrale(){
815    
     $('.reference_cadastrale_custom_fields').empty();  
   
816      addNewFieldReferencesCadastrales();      addNewFieldReferencesCadastrales();
817      $('#terrain_references_cadastrales').parent().parent().hide();      $('#terrain_references_cadastrales').parent().parent().hide();
818            
# Line 692  function formatFieldReferenceCadastrale( Line 936  function formatFieldReferenceCadastrale(
936      }      }
937  }  }
938    
939  /*  /**
940   * Ajoute les icônes pour la recherche de pétitionnaire fréquent.   * Ajoute les icônes pour la recherche de pétitionnaire fréquent.
941   */   */
942  function addSearchIcon(){  function addSearchIcon(){
943    
944      $("#form-content:not(.form-is-valid) .search_particulier_fields,"+      $("#form-content:not(.form-is-valid) .search_fields").each(
945        "#form-content:not(.form-is-valid) .search_personne_morale_fields").each(function() {          function() {
946      /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/              //Ajout de l'icône après le champs dénomination et nom de la personne morale*/
947                $(this).append(
             $(this).  
             append(  
948                  '<span '+                  '<span '+
949                      'class="om-icon om-icon-16 om-icon-fix search-petitionnaire-16" '+                      'class="om-icon om-icon-16 om-icon-fix search-frequent-16" '+
950                      'title="Chercher un petitionnaire"> '+                      'title="Chercher un frequent"> '+
                 '</span>'+  
                 '<span '+  
                     'class="om-icon om-icon-16 om-icon-fix erase-petitionnaire delete-16" '+  
                     'title="Supprimer le contenu"> '+  
951                  '</span>'                  '</span>'
952              );              );
953          }          }
954      );      );
955            
956      /*Ajout des actions sur les boutons*/      /*Ajout des actions sur les boutons*/
957      addActionSearchIcon('#sousform-petitionnaire #form-content');      addActionSearchIcon();
958      addActionRemove();      addActionRemove();
959    
960  }  }
# Line 731  function addActionRemove(){ Line 969  function addActionRemove(){
969      });      });
970  }  }
971    
972    /**
973     * Vérifie que les champs necessaires sont remplis et retourne les données necessaires
974     * sous forme de tableau JSOn
975     */
976    function getDataSearch(){
977        
978        //Il faut un minimum de trois lettres pour lancer la recherche
979        var minChar = false;
980        //Récupération des données
981        var dataJson = "{";
982        $('.search_fields input').each(
983            function(){
984                if ( $(this).val().length >= 3 ){
985                    minChar = true;
986                }
987                
988                var idInput = $(this).attr("id");
989                var valInput = $(this).val();
990                dataJson += "\"" + idInput + "\":\"" + valInput + "\",";
991            }
992        );
993        if (!minChar){
994            alert('Saisissez au moins trois lettres pour la recherche');
995            return "";
996        }
997        
998        dataJson = $.parseJSON(dataJson.substring(0,dataJson.length-1)+"}");
999        //Données sous forme d'un tableau JSON
1000        return dataJson;
1001    }
1002    
1003  /*  /*
1004   * Ajoute les actions sur les icônes de recherche   * Ajoute les actions sur les icônes de recherche
1005   */   */
1006  function addActionSearchIcon(id){  function addActionSearchIcon(){
1007            
1008      /*Si on recherche un pétitionnaire de type particulier*/      //Selon l'objet dans lequel on se trouve
1009      $('.search-petitionnaire-16').click(      var objName = '';
1010        var objReturn = '';
1011        if ( $('#demandeur').length == 1 ){
1012            objName = 'petitionnaire';
1013            objReturn = 'demande';
1014        }
1015        else if($('#architecte').length == 1){
1016            objName = 'architecte';
1017            objReturn = 'donnees_techniques';
1018        }
1019        $('.search-frequent-16').click(
1020          function(){          function(){
1021                            //Récupération des données
1022              /*Le champ nom du particulier doit contenir au moins trois lettres*/              dataJson = getDataSearch();
1023              if ( $('#particulier_nom').val().length < 3 &&              //Si ce n'est pas un tableau JSON on n'exécute pas le reste du code
1024                  $('#particulier_prenom').val().length < 3 &&              if ( typeof dataJson !== 'object' ){
                 $('#personne_morale_denomination').val().length < 3 &&  
                 $('#personne_morale_nom').val().length < 3 ){  
                   
                 alert('Saisissez au moins trois lettres pour la recherche');  
1025                  return;                  return;
1026              }              }
1027                            
1028              /*Données des champs nom et prénom du particulier*/              //Requête qui va récupérer les données du addSearchIcon(es)
1029              var donnees = "?par_nom=" + $('.search_particulier_fields #particulier_nom').val() +              //pétitionnaire(s) correspondant(s) à la recherche
                 "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val() +  
                 "&mor_denomination="+$('#personne_morale_denomination').val() +  
                 "&mor_nom="+$('#personne_morale_nom').val();  
   
             /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)  
              * correspondant(s) à la recherche */  
1030              $.ajax({              $.ajax({
1031                  type: "GET",                  type: "POST",
1032                  url: "../app/findPetitionnaire.php" + donnees ,                  dataType: "json",
1033                    data: dataJson,
1034                    url: "../app/find" + objName.charAt(0).toUpperCase() + objName.substring(1) + ".php" ,
1035                  cache: false,                  cache: false,
1036                  success: function(obj){                  success: function(obj){
1037                      var freq = $.parseJSON(obj);                      var freq = obj;
1038                      var res='';                      var res='';
1039                      /*Si la recherche a donné des résultats*/                      /*Si la recherche a donné des résultats*/
1040                      if ( freq.length > 0 ){                      if ( freq.length > 0 ){
# Line 778  function addActionSearchIcon(id){ Line 1049  function addActionSearchIcon(id){
1049                              nbRes = freq.length;                              nbRes = freq.length;
1050                          }                          }
1051                                                    
1052                          res += '<select>' ;                          res += '<select id="select-'+objName+'">' ;
1053                                                    
1054                          /* Met les résultats de la recherche dans un select */                          /* Met les résultats de la recherche dans un select */
1055                         for ( i = 0 ; i < nbRes ; i++ ){                         for ( i = 0 ; i < nbRes ; i++ ){
# Line 792  function addActionSearchIcon(id){ Line 1063  function addActionSearchIcon(id){
1063                          res += 'Aucune correspondance trouvée.';                          res += 'Aucune correspondance trouvée.';
1064                      }                      }
1065                                            
1066                        addDivDialog('#sousform-' + objName);
1067                      /* Affichage de l'overlay */                      /* Affichage de l'overlay */
1068                      $('#dialog').html(res);                      $('#dialog').html(res);
1069                                                
1070                      $( "#dialog" ).dialog({                      $( "#dialog" ).dialog({
1071                            dialogClass: "dialog-search-frequent-"+objName,
1072                          modal: true,                          modal: true,
1073                          buttons : {                          buttons : {
1074                              Valider: function(){                              Valider: function(){
1075                                  if ( res != 'Auncune correspondance trouvée.'){                                  if ( res != 'Aucune correspondance trouvée.'){
1076                                        var id = $('#select-'+objName+' option:selected').val();
1077                                  }                                      if($.isNumeric(id)) {
1078                                  var id = $('#dialog select option:selected').val();                                          ajaxIt(objName,
1079                                  if($.isNumeric(id)) {                                          '../scr/sousform.php?obj=' + objName +
1080                                      ajaxIt('petitionnaire',                                          '&action=1&retourformulaire=' + objReturn +
1081                                      '../scr/sousform.php?obj=petitionnaire&action=1&retourformulaire=demande&idx='+id);                                          '&idx='+id
1082                                            );
1083                                        }
1084                                  }                                  }
1085                                  // Fermeture de l'overlay                                  // Fermeture de l'overlay
1086                                  $(this).dialog( "close" ).empty();                                  $(this).dialog( "close" );
1087                                    $(this).remove();
1088                              }                              }
1089                            },
1090                            close: function(){
1091                                $(this).remove();
1092                          }                          }
1093                      });                      });
1094                  },                  },
# Line 833  function changeDemandeurType(id){ Line 1112  function changeDemandeurType(id){
1112    
1113      /*Réinitialise les champs et cache les champs inutiles selon la qualité du demandeur*/      /*Réinitialise les champs et cache les champs inutiles selon la qualité du demandeur*/
1114      /*Si la qualite du demandeur est particulier */      /*Si la qualite du demandeur est particulier */
1115      if ( $('#' + id + ' option:selected').val() == 'particulier' ){      if ( $('#' + id ).val() == 'particulier' ){
1116                    
1117          $('.personne_morale_fields input').each(          $('.personne_morale_fields input').each(
1118              function(){              function(){
# Line 907  function actionFormReferenceCadastrale() Line 1186  function actionFormReferenceCadastrale()
1186          }          }
1187      );      );
1188      if( $("form[name=f1] .form-is-valid").size() == 0) {      if( $("form[name=f1] .form-is-valid").size() == 0) {
1189            
1190          $('#moreFieldReferenceCadastrale' +          $('#moreFieldReferenceCadastrale' +
1191              ($('.moreFieldReferenceCadastrale').length - 1 )).              ($('.moreFieldReferenceCadastrale').length - 1 )).
1192          on("click", function() {          on("click", function() {
# Line 994  function actionLineFormReferenceCadastra Line 1273  function actionLineFormReferenceCadastra
1273      dossier_autorisation_type_detaille est choisi      dossier_autorisation_type_detaille est choisi
1274   * */   * */
1275  function changeDemandeType(){  function changeDemandeType(){
1276        
1277      var idDossierAutorisationTypeDetaille =      var idDossierAutorisationTypeDetaille =
1278          $("#dossier_autorisation_type_detaille").val();          $("#dossier_autorisation_type_detaille").val();
1279                    
# Line 1005  function changeDemandeType(){ Line 1284  function changeDemandeType(){
1284      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
1285                    
1286          /*Met à jour le select de demande_type avec les données correspondant*/          /*Met à jour le select de demande_type avec les données correspondant*/
1287          changeDataSelect('demande_type','dossier_autorisation_type_detaille');          filterSelect(idDossierAutorisationTypeDetaille, 'demande_type', 'dossier_autorisation_type_detaille', 'demande');
1288          if ( $('#demande_type option').size() < 2 ) {          if ( $('#demande_type option').size() < 2 ) {
1289              showFormsDemande();              showFormsDemande();
1290          }          }
# Line 1038  function addNewFieldReferencesCadastrale Line 1317  function addNewFieldReferencesCadastrale
1317                  '<label '+                  '<label '+
1318                      'class="libelle-terrain_references_cadastrales" '+                      'class="libelle-terrain_references_cadastrales" '+
1319                      'for="terrain_references_cadastrales">'+                      'for="terrain_references_cadastrales">'+
1320                      ' terrain_references_cadastrales '+                      ' Références cadastrales '+
1321                  '</label>' +                  '</label>' +
1322              '</div>' +              '</div>' +
1323              '<div class="form-content reference_cadastrale_custom_fields">' +              '<div class="form-content reference_cadastrale_custom_fields">' +
# Line 1047  function addNewFieldReferencesCadastrale Line 1326  function addNewFieldReferencesCadastrale
1326          '</div>';          '</div>';
1327            
1328      url = document.location + "";      url = document.location + "";
1329      if(getDemandeInfo('nature') == 'NOUV' && $(".form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {      if((getDemandeInfo('nature') == 'NOUV' || getDemandeInfo('nature') == 'NONE' ) && $(".form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {
1330          html += '<div class="field field-type-text" id="morelineReferenceCadastrale">' +          html += '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
1331              '<div class="form-libelle"></div>' +              '<div class="form-libelle"></div>' +
1332              '<div class="form-content">' +              '<div class="form-content">' +
# Line 1055  function addNewFieldReferencesCadastrale Line 1334  function addNewFieldReferencesCadastrale
1334              '</div>' +              '</div>' +
1335         '</div>';         '</div>';
1336      }      }
1337          
1338      $('.references_cadastrales_new_field').remove();      $('.references_cadastrales_new_field').remove();
1339      $('.moreFieldReferenceCadastrale').remove();      $('.moreFieldReferenceCadastrale').remove();
1340      $('#morelineReferenceCadastrale').remove();      $('#morelineReferenceCadastrale').remove();
1341      $('.localisation .fieldsetContent').prepend(      $('#terrain_references_cadastrales').parent().parent().before(
1342         html          html
1343     );      );
     
1344  }  }
1345    
1346  function addButtonCadastraleAdesse(){  function addButtonCadastraleAdesse(){
1347    
1348        // Permet d'ajouter le bouton de récupération d'adresse si sig activé
1349        if ($('#option_sig').val() == 'sig_externe'){
1350            
1351      $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +          $('#terrain_references_cadastrales').parent().parent().after('<div class="field field-type-text" >' +
1352          '<div class="form-libelle"></div>' +              '<div class="form-libelle"></div>' +
1353          '<div class="form-content buttonCadAdr">' +              '<div class="form-content buttonCadAdr">' +
1354              '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +                  '<input id="cad-adr-them" '+
1355          '</div>' +                      'class="ui-button ui-widget ui-state-default ui-corner-all" '+
1356     '</div>' );                      'type="button" '+
1357                        'onclick="getAdressFromCadastrale();" '+
1358                        'value="Récupérer l\'adresse de la parcelle"/>' +
1359                '</div>' +
1360           '</div>' );
1361        }
1362  }  }
1363    
1364  /*  /*
# Line 1094  function hiddenSeparatorField(){ Line 1380  function hiddenSeparatorField(){
1380  function getDemandeInfo(info) {  function getDemandeInfo(info) {
1381      var id_demande_type = $('#demande_type').val();      var id_demande_type = $('#demande_type').val();
1382      var res = "";      var res = "";
1383      $.ajax({      if ( typeof id_demande_type !== "undefined" ){
1384                  type: "GET",          $.ajax({
1385                  url: "../app/getDemandeInfo.php?iddemandetype=" + id_demande_type              type: "GET",
1386                          + "&info=" + info,              url: "../app/getDemandeInfo.php?iddemandetype=" + id_demande_type
1387                  cache: false,                      + "&info=" + info,
1388                  async: false,              cache: false,
1389                  success: function(val){              async: false,
1390                      res = val;              success: function(val){
1391                  }                  res = val;
1392              });              }
1393            });
1394        }
1395        else {
1396            
1397            res = "NONE"
1398        }
1399      return res;      return res;
1400  }  }
1401  /*  /*
# Line 1118  function fieldReferenceCadastraleBase(){ Line 1410  function fieldReferenceCadastraleBase(){
1410      var reference_cadastrale = '<input ' +      var reference_cadastrale = '<input ' +
1411                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1412                  'type="text" ' +                  'type="text" ' +
1413                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this);str_pad_js(this, 3);" ' +
1414                  'maxlength="4" ' +                  'maxlength="3" ' +
1415                  'size="4" ';                  'size="3" '+
1416                    'placeholder="Quart." ';
1417                                    
1418      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
1419      if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {      if( (type != 'NOUV' &&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1420          reference_cadastrale += 'disabled="disabled" ';          reference_cadastrale += 'disabled="disabled" ';
1421      }      }
1422            
# Line 1133  function fieldReferenceCadastraleBase(){ Line 1426  function fieldReferenceCadastraleBase(){
1426                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1427                  'type="text" ' +                  'type="text" ' +
1428                  'maxlength="3" ' +                  'maxlength="3" ' +
1429                  'size="3" ';                  'size="3" '+
1430                    'placeholder="Sect." ';
1431            
1432      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
1433      if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {      if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1434          reference_cadastrale += 'disabled="disabled" ';          reference_cadastrale += 'disabled="disabled" ';
1435      }      }
1436            
1437      reference_cadastrale += 'value="" '+      reference_cadastrale += 'value="" '+
1438                  'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>';                  'onchange="if ( !isAlpha(this.value) && this.value != \'\' ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }; this.value=this.value.toUpperCase();"/>';
1439      reference_cadastrale += '<input ' +      reference_cadastrale += '<input ' +
1440                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1441                  'type="text" ' +                  'type="text" ' +
1442                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this);str_pad_js(this, 4);" ' +
1443                  'maxlength="5" ' +                  'maxlength="4" ' +
1444                  'size="5" ';                  'size="4" '+
1445                    'placeholder="Parc." ';
1446            
1447      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
1448      if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {      if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1449          reference_cadastrale += 'disabled="disabled" ';          reference_cadastrale += 'disabled="disabled" ';
1450      }      }
1451            
# Line 1162  function fieldReferenceCadastraleBase(){ Line 1457  function fieldReferenceCadastraleBase(){
1457    
1458      // Si form validé pas de bouton      // Si form validé pas de bouton
1459      url = document.location + "";      url = document.location + "";
1460      if( type == 'NOUV' && $("form[name=f1] .form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {      if( (type == 'NOUV' ||  type == 'NONE') && $("form[name=f1] .form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {
1461    
1462          reference_cadastrale +=          reference_cadastrale +=
1463              '<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres champs</span>';              '<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres champs</span>';
# Line 1201  function showFormsDemande(){ Line 1496  function showFormsDemande(){
1496                  $(this).show();                  $(this).show();
1497              }              }
1498          );          );
1499          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale(1);
1500          $('.field-type-text').show();          $('.field-type-text').show();
1501          $('input[type=submit]').show();          $('input[type=submit]').show();
1502          $('.terrain_references_cadastrales_custom').hide();          $('.terrain_references_cadastrales_custom').hide();
1503                    
1504          $('#terrain_references_cadastrales').parent().parent().hide();          $('#terrain_references_cadastrales').parent().parent().hide();
1505    
1506          // Si le type de la demande est un transfert on efface la liste des demandeurs          //Vérification des contraintes de récupération des demandeurs si
1507          if(getDemandeInfo('type') == 'DT') {          // pas de récupération, on efface la liste
1508            if(getDemandeInfo('contraintes') == 'sans_recup') {
1509              if($('input[name=petitionnaire_principal]').size() != -1) {              if($('input[name=petitionnaire_principal]').size() != -1) {
1510                  removeDemandeur("petitionnaire_principal_" + $('input[name=petitionnaire_principal]').val());                  removeDemandeur("petitionnaire_principal_" + $('input[name=petitionnaire_principal]').val());
1511              }              }
# Line 1223  function showFormsDemande(){ Line 1519  function showFormsDemande(){
1519                      removeDemandeur("petitionnaire_" + $(this).val());                      removeDemandeur("petitionnaire_" + $(this).val());
1520                  }                  }
1521              });              });
1522          } else if ( getDemandeInfo('type') == 'DM' ) {          } else if ( getDemandeInfo('contraintes') == 'avec_recup' ) {
1523                            //Récupération des demandeurs si la contrainte le permet
1524              $.ajax({              $.ajax({
1525                  type: "GET",                  type: "GET",
1526                  url: "../app/getDemandeurList.php?dossier_autorisation=" + $('#dossier_autorisation').val(),                  url: "../app/getDemandeurList.php?dossier_autorisation=" + $('#dossier_autorisation').val(),
# Line 1254  function showFormsDemande(){ Line 1551  function showFormsDemande(){
1551      Action au clique sur le bouton " + ajouter d'autres champs"      Action au clique sur le bouton " + ajouter d'autres champs"
1552   * */   * */
1553  function newInputReferenceCadastrale(){  function newInputReferenceCadastrale(){
1554        
1555        // Champs désactivé si le formulaire a été validé et est valide
1556        var type = getDemandeInfo('nature');
1557        var reference_cadastrale_disabled = '';
1558        if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1559            reference_cadastrale_disabled = 'disabled="disabled" ';
1560        }
1561        
1562      return '<input ' +      return '<input ' +
1563              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1564              'type="text" ' +              'type="text" ' +
1565              'maxlength="1" ' +              'maxlength="1" ' +
1566              'size="1" ' +              'size="3" ' +
1567              'value="" ' +              'value="" ' +
1568                'placeholder="Sep." ' +
1569                reference_cadastrale_disabled +
1570              'onchange="testSeparator(this);"/>' +              'onchange="testSeparator(this);"/>' +
1571          '<input ' +          '<input ' +
1572              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1573              'type="text" ' +              'type="text" ' +
1574              'onchange="VerifNum(this)" ' +              'onchange="VerifNum(this);str_pad_js(this, 4)" ' +
1575              'maxlength="4" ' +              'maxlength="4" ' +
1576              'size="4" ' +              'size="4" ' +
1577                'placeholder="Parc." ' +
1578                reference_cadastrale_disabled +
1579              'value="" />';              'value="" />';
1580  }  }
1581    
1582    
   
1583  /**  /**
1584   * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau   * Cette fonction permet d'associer a un arbre html les fonctions jquery
1585   * tableau de bord   * necessaires. Elle permet notamment lors du chargement d'une page en ajax
1586     * d'associer le comportement du bouton, la gestion du calendrier et la gestion
1587     * du fieldset.
1588     *
1589     * @param boolean tinymce_load permet de définir si les éditeurs tinyMCE doivent être chargés.
1590   */   */
1591  function widget_bind_move_actions() {}  function om_initialize_content(tinymce_load) {
 function widget_bind_add_action() {}  
 function widget_bind_edit_actions(widget_selector) {}  
   
 // Cette fonction permet d'associer a un arbre html les fonctions jquery  
 // necessaires. Elle permet notamment lors du chargement d'une page en ajax  
 // d'associer le comportement du bouton, la gestion du calendrier et la gestion  
 // du fieldset.  
 function om_initialize_content() {  
1592      // Gestion du skin des boutons, liens      // Gestion du skin des boutons, liens
1593      link_bind_button();      link_bind_button();
1594      // Gestion du calendrier avec le widget datepicker de jqueryui      // Gestion du calendrier avec le widget datepicker de jqueryui
1595      inputdate_bind_datepicker();      inputdate_bind_datepicker();
1596      // Gestion des fieldset avec le plugin collaspsible de jquery      // Gestion des fieldset avec le plugin collaspsible de jquery
1597      fieldset_bind_collapsible();      fieldset_bind_collapsible();
1598        // Gestion du picker color avec le plugin minicolors
1599        bind_form_field_rvb();
1600        // Gestion du widget aide à la saisie localisation avec le plugin draggable
1601        // de jqueryui
1602        localisation_bind_draggable();
1603        // Gestion de la redimension automatique des textarea
1604        textarea_autoresize();
1605        
1606    
1607      changeDemandeurType('qualite');      changeDemandeurType('qualite');
1608      addSearchIcon();      addSearchIcon();
1609      addDivDialog('.bloc_demandeur');      addDivDialog('.bloc_demandeur');
1610    
1611        if(tinymce_load && tinymce_load == true) {
1612            // Gestion des WYSIWYG
1613            remove_tinymce()
1614            inputText_bind_tinyMCE_extended();
1615            inputText_bind_tinyMCE_simple();
1616            inputText_bind_tinyMCE();
1617        }
1618        
1619    }
1620    
1621    // Retourne la valeur d'une variable GET de l'URL
1622    function getQuerystring(key, default_)
1623    {
1624      if (default_==null) default_="";
1625      key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
1626      var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
1627      var qs = regex.exec(window.location.href);
1628      if(qs == null)
1629        return default_;
1630      else
1631        return qs[1];
1632    }
1633    
1634    // Récupère l'id de l'enregistrement lié au lot passé en parametre puis appel popupit
1635    function overlayCerfa(idLot) {
1636        $.get("../app/displayLotCerfa.php?lot="+idLot, function(data) {
1637            if(data != '') {
1638                    popupIt('donnees_techniques',
1639                            '../scr/sousform.php?obj=donnees_techniques&idx='+data+
1640                                '&retourformulaire=lot&maj=1&idxformulaire='+idLot,
1641                                950, 700);
1642                    
1643                } else {
1644                    // Si pas d'id retourner on créer un nouvel enregistrement de donnéees techniques
1645                    popupIt('donnees_techniques',
1646                            '../scr/sousform.php?obj=donnees_techniques&retourformulaire=lot&maj=0&idxformulaire='+idLot,
1647                                950, 700);
1648                }
1649    
1650            });
1651    }
1652    
1653    /**
1654     * Fonction permettant de faire la somme des champs passé en 2nd parametre et
1655     * le stocker dans le champ passé en 1er
1656     */
1657    function sommeChampsCerfa(cible, source) {
1658        val_cible = 0;
1659            
1660        $.each(source, function(index, value) {
1661            // Conversion des champs source en integer
1662            val_source = parseInt($('#'+value).val());
1663            // Cumul des valeurs des champs source
1664            val_cible = val_cible + (isNaN(val_source) ? 0 : val_source);
1665        });
1666        // Affectation de la nouvelle valeur
1667        $('#'+cible).val(val_cible);
1668    }
1669    
1670    function calculSurfaceTotal() {
1671        
1672        var nom_col = [ "su_avt_shon",
1673                        "su_cstr_shon",
1674                        "su_trsf_shon",
1675                        "su_chge_shon",
1676                        "su_demo_shon",
1677                        "su_tot_shon" ];
1678    
1679        // Calcul des totaux de colonnes
1680        $.each(nom_col, function(index, value) {
1681            var tot_col = 0;
1682            for ( var i = 1; i <= 9; i++ ) {
1683                // Conversion des champs source en integer
1684                val_source = parseInt($('#'+value+i).val());
1685                // Cumul des valeurs des champs source
1686                tot_col = tot_col + (isNaN(val_source) ? 0 : val_source);
1687            }
1688    
1689            // Affectation du résultat de ligne
1690            $('#'+value+'_tot').val(tot_col);
1691        });
1692    
1693        // Calcul des totaux des lignes
1694        for ( var j = 1; j <= 9; j++ ) {
1695            // Conversion des champs source en integer
1696            su_avt_shon = parseInt($('#su_avt_shon'+j).val());
1697            su_cstr_shon = parseInt($('#su_cstr_shon'+j).val());
1698            su_trsf_shon = parseInt($('#su_trsf_shon'+j).val());
1699            su_chge_shon = parseInt($('#su_chge_shon'+j).val());
1700            su_demo_shon = parseInt($('#su_demo_shon'+j).val());
1701            
1702            // Cumul des valeurs des champs source
1703            su_avt_shon = isNaN(su_avt_shon) ? 0 : su_avt_shon;
1704            su_cstr_shon = isNaN(su_cstr_shon) ? 0 : su_cstr_shon;
1705            su_trsf_shon = isNaN(su_trsf_shon) ? 0 : su_trsf_shon;
1706            su_chge_shon = isNaN(su_chge_shon) ? 0 : su_chge_shon;
1707            su_demo_shon = isNaN(su_demo_shon) ? 0 : su_demo_shon;
1708    
1709            // Affectation du résultat de ligne
1710            $('#su_tot_shon'+j).val((su_avt_shon+su_cstr_shon+su_trsf_shon)-(su_chge_shon+su_demo_shon));
1711    
1712        }
1713    
1714        // Calcul du total des totaux
1715        // Conversion des champs source en integer
1716        su_avt_shon = parseInt($('#su_avt_shon_tot').val());
1717        su_cstr_shon = parseInt($('#su_cstr_shon_tot').val());
1718        su_trsf_shon = parseInt($('#su_trsf_shon_tot').val());
1719        su_chge_shon = parseInt($('#su_chge_shon_tot').val());
1720        su_demo_shon = parseInt($('#su_demo_shon_tot').val());
1721        
1722        // Cumul des valeurs des champs source
1723        su_avt_shon = isNaN(su_avt_shon) ? 0 : su_avt_shon;
1724        su_cstr_shon = isNaN(su_cstr_shon) ? 0 : su_cstr_shon;
1725        su_trsf_shon = isNaN(su_trsf_shon) ? 0 : su_trsf_shon;
1726        su_chge_shon = isNaN(su_chge_shon) ? 0 : su_chge_shon;
1727        su_demo_shon = isNaN(su_demo_shon) ? 0 : su_demo_shon;
1728    
1729        // Affectation du résultat de ligne
1730        $('#su_tot_shon_tot').val((su_avt_shon+su_cstr_shon+su_trsf_shon)-(su_chge_shon+su_demo_shon));
1731    
1732  }  }
1733    
1734  /*  /*
1735   * Marque comme lu une consultation   * Marque comme lu une consultation ou commission
1736   */   */
1737  function markedAsRead(id, objet, objetc){  function portletUpdateData(id, objet, objetc, file, field, message){
1738            
1739      /*Vérifie que l'identifiant passé en paramètre est bien un chiffre      /*Vérifie que l'identifiant passé en paramètre est bien un chiffre
1740       * et que le type d'objet est défini       * et que le type d'objet est défini
1741       * */       * */
1742      if ( $.isNumeric(id) && objet != '' ){      if ( $.isNumeric(id) && objet != '' ){
1743                    
1744          donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc;          donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc + '&idxDossier=' + getQuerystring('idx');
1745          $.ajax({          $.ajax({
1746              type: "GET",              type: "GET",
1747              url: "../app/marquer_comme_lu.php" + donnees ,              url: "../app/"+file+".php" + donnees ,
1748              cache: false,              cache: false,
1749              success: function(html){              success: function(html){
1750                                    
1751                  $('#sousform-' + objet + ' .message').remove();                  $('#sousform-' + objet + ' .message').remove();
                   
1752                  /*Change la valeur affiché et affiche un message valide*/                  /*Change la valeur affiché et affiche un message valide*/
1753                  if ( $.parseJSON(html) == "Mise a jour effectue avec succes"){                  if ( $.parseJSON(html) == "Mise a jour effectue avec succes" ||
1754                    $.parseJSON(html).indexOf("Transfert effectue avec succes") != -1 ){
1755                        
1756                        // On modife le champ field
1757                        if ( field != '' && message != '' ){
1758                            $('#'+field).html(message);
1759                            html = $.parseJSON(html);
1760                        }
1761                        else {
1762                            html = $.parseJSON(html).split(';');
1763                            
1764                            $('#'+field).html(html[0]);
1765                            
1766                            html = html[1];
1767                        }
1768                                            
                     // On modife le champ lu  
                     $('#lu').html('Oui');  
1769                      // On supprime l'action                      // On supprime l'action
1770                      $('span.lu-16').parent().parent().remove();                      $('span.'+field+'-16').parent().parent().remove();
1771                      // On affiche le message                      // On affiche le message
1772                      $('#sousform-' + objet + ' .subtitle').after(                      $('#sousform-' + objet + ' .subtitle').after(
1773                          '<div ' +                          '<div ' +
# Line 1331  function markedAsRead(id, objet, objetc) Line 1775  function markedAsRead(id, objet, objetc)
1775                              '<p>' +                              '<p>' +
1776                                  '<span class="ui-icon ui-icon-info"></span>' +                                  '<span class="ui-icon ui-icon-info"></span>' +
1777                                  '<span class="text">' +                                  '<span class="text">' +
1778                                      $.parseJSON(html) +                                      html +
1779                                  '</span>' +                                  '</span>' +
1780                              '</p>' +                              '</p>' +
1781                          '</div>'                                              '</div>'                    
# Line 1355  function markedAsRead(id, objet, objetc) Line 1799  function markedAsRead(id, objet, objetc)
1799          });          });
1800      }      }
1801  }  }
1802    
1803    /*
1804     * Marque comme non frequent un petitionnaire
1805     */
1806    function portletUpdatePetitionnaire(id, objet, objetc, file, field, message){
1807        
1808        /*
1809         *Vérifie que l'identifiant passé en paramètre est bien un chiffre
1810         * et que le type d'objet est défini
1811         */
1812        if ( $.isNumeric(id) && objet != '' ){
1813            
1814            donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc + '&idxDossier=' + getQuerystring('idx');
1815            $.ajax({
1816                type: "GET",
1817                url: "../app/"+file+".php" + donnees ,
1818                cache: false,
1819                success: function(html){
1820                    
1821                    $('#formulaire .message').remove();
1822                    /*Change la valeur affiché et affiche un message valide*/
1823                    if ( $.parseJSON(html) == "Mise a jour effectue avec succes" ||
1824                    $.parseJSON(html).indexOf("Transfert effectue avec succes") != -1 ){
1825                        
1826                        // On modife le champ field
1827                        if ( field != '' && message != '' ){
1828                            $('#'+field).html(message);
1829                            html = $.parseJSON(html);
1830                        }
1831                        else {
1832                            html = $.parseJSON(html).split(';');
1833                            
1834                            $('#'+field).html(html[0]);
1835                            
1836                            html = html[1];
1837                        }
1838                        
1839                        // On supprime l'action
1840                        $('span.'+field+'-16').parent().parent().remove();
1841                        // On affiche le message
1842                        $('#formulaire #tabs-1').prepend(
1843                            '<div ' +
1844                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
1845                                '<p>' +
1846                                    '<span class="ui-icon ui-icon-info"></span>' +
1847                                    '<span class="text">' +
1848                                        html +
1849                                    '</span>' +
1850                                '</p>' +
1851                            '</div>'
1852                        );
1853                    }
1854                    /*Affichage d'une erreur*/
1855                    else{
1856                        $('#formulaire #tabs-1').prepend(
1857                            '<div ' +
1858                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-error">' +
1859                                '<p>' +
1860                                    '<span class="ui-icon ui-icon-info"></span>' +
1861                                    '<span class="text">' +
1862                                        $.parseJSON(html) +
1863                                    '</span>' +
1864                                '</p>' +
1865                            '</div>'
1866                        );
1867                    }
1868                }
1869            });
1870        }
1871    }
1872    
1873    
1874    // Affiche le sous formulaire onglet
1875    function redirectPortletAction(id, onglet, nom_tabs){
1876    
1877        var nom_tabs =  ( typeof nom_tabs === "undefined" ) ? ".ui-tabs" : nom_tabs;
1878        var $tabs = $(nom_tabs).tabs();
1879    
1880        lien_onglet = $('#' + onglet).attr('href');
1881        lien_onglet = lien_onglet.substring( lien_onglet.length - 1, lien_onglet.length);
1882    
1883        $tabs.tabs('select', lien_onglet);
1884    }
1885    
1886    //Rajoute un dossier pour la commission id
1887    function addDossierCommission(id, container){
1888        
1889        link = "../app/commission_ajouter_dossier.php?idx=" + id + "&idxDossier=" + $(container+" #dossier").val();
1890    
1891        $.ajax({
1892            type: "GET",
1893            url: link,
1894            cache: false,
1895            dataType: "json",
1896            success: function(i){
1897                
1898                $(container + " .message").remove();
1899                $(container).prepend(
1900                    '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
1901                        '<p>'+
1902                            '<span class="ui-icon ui-icon-info"></span>'+
1903                            '<span class="text">'+
1904                            '</span>'+
1905                        '</p>'+
1906                    '</div>'
1907                );
1908                    
1909                // Nouveau dossier ajouté
1910                if ( i.return == "1" ){
1911                    
1912                    $(container + ' .message').addClass("ui-state-ok");
1913                    $(container + ' .message .text').html(i.message);
1914                }
1915                //Dossier existe mais non ajouté
1916                else if( i.return == "0" ){
1917                    
1918                    $(container + ' .message').addClass("ui-state-error");
1919                    $(container + ' .message .text').html(i.message);
1920                }
1921                //Le dossier n'existe pas
1922                else if( i.return == "-1" ){
1923                    
1924                    $(container + ' .message').addClass("ui-state-error");
1925                    $(container + ' .message .text').html(i.message);
1926                }
1927                //Le dossier est déjà à l'ordre du jour
1928                else if( i.return == "2" ){
1929                    
1930                    $(container + ' .message').addClass("ui-state-error");
1931                    $(container + ' .message .text').html(i.message);
1932                }
1933                //Le dossier est déjà à l'ordre du jour
1934                else if( i.return == "-2" ){
1935                    
1936                    $(container + ' .message').addClass("ui-state-error");
1937                    $(container + ' .message .text').html(i.message);
1938                }
1939                
1940            },
1941            async: false
1942        });
1943    }
1944    
1945    //Affichage du tableau des dossier_commission possibles
1946    function ajouterTableauDossierCommissionPossible(id){
1947        
1948        link = "../app/commission_tableau_dossier_possible.php?idx=" + id ;
1949    
1950        $.ajax({
1951            type: "GET",
1952            url: link,
1953            cache: false,
1954            success: function(html){
1955                
1956                $('#tabs-2').html(html);
1957            },
1958            async: false
1959        });
1960    }
1961    
1962    //Met à jour la liste des dossiers de la commission
1963    function updateCommission(id, container){
1964        
1965        var link = "../app/commission_update_dossier.php?idx=" + id ;
1966        var valid = "";
1967        var error = "";
1968        var error_avis = "";
1969        
1970         //Affiche du message de retour
1971        $(container + " .message").remove();
1972        $(container).prepend(
1973            '<div class="message ui-widget ui-corner-all ui-state-highlight dossier-ok">'+
1974                '<p>'+
1975                    '<span class="ui-icon ui-icon-info"></span>'+
1976                    '<span class="text">'+
1977                    msg_loading +
1978                    '</span>'+
1979                '</p>'+
1980            '</div>'
1981        );
1982    
1983        $(container + " input[type='checkbox']").each(
1984            function(index) {
1985                
1986                var idxDossier = $(this).val();
1987                //Identifiant du dossier formaté de façon lisible
1988                var idzDossier = $(this).parent().next().text();
1989                
1990                link = "../app/commission_update_dossier.php?idx=" + id +
1991                    "&idxDossier=" + idxDossier;
1992                
1993                //Ajoute ces dossiers de l'ordre du jour
1994                if ( $(this).is(":checked")){
1995                    
1996                    link += "&action=add";
1997                }
1998                //Supprime ces dossiers de l'ordre du jour
1999                else{
2000                    
2001                    link += "&action=remove";
2002                }
2003    
2004                //Mise à jour des données
2005                $.ajax({
2006                    type: "GET",
2007                    url: link,
2008                    cache: false,
2009                    dataType: "json",
2010                    success: function(i, obj){
2011                        
2012                        // Erreur
2013                        if( i.error == "0" ){
2014                            
2015                            error += idzDossier + ", ";
2016                        }
2017                        else if ( i.error == "-1" ) {
2018    
2019                            error_avis += idzDossier + ", ";
2020                        }
2021                        else{
2022                            valid += idzDossier + ", ";
2023                        }
2024                    },
2025                    async: false
2026                });
2027            }
2028        );
2029    
2030        //Ajout du div des erreurs
2031        if ( error != "" || error_avis != "" ){
2032            
2033            $(container + " .dossier-ok").after(
2034            '<div class="message ui-widget ui-corner-all ui-state-highlight dossier-err">'+
2035                '<p>'+
2036                    '<span class="ui-icon ui-icon-info"></span>'+
2037                    '<span class="text">'+
2038                    '</span>'+
2039                '</p>'+
2040            '</div>');
2041        }
2042    
2043        //le traitement a été effectué avec succès
2044        if ( valid != "" ){
2045            
2046            $(container + ' .dossier-ok').addClass("ui-state-ok");
2047            $(container + ' .dossier-ok .text').html("Mise à jour réalisée avec succès pour le(s) dossier(s) : "+
2048                valid.slice(0,valid.length-2) +
2049                ".");
2050        }
2051        else {
2052            
2053            $(container + " .dossier-ok").remove();
2054        }
2055        //Une erreur s'est produite
2056        if ( error != "" ) {
2057            
2058            $(container + ' .dossier-err').addClass("ui-state-error");
2059            $(container + ' .dossier-err .text').append(
2060                "Dossier : " + error.slice(0,error.length-2) + " déjà plannifié pour une autre commission.");
2061        }
2062        else if ( error_avis != "" ){
2063            
2064            $(container + ' .dossier-err').addClass("ui-state-error");
2065            $(container + ' .dossier-err .text').append(
2066                "Un  avis a déjà été rendu pour le(s) dossier(s): " +
2067                error_avis.slice(0,error_avis.length-2) +
2068                ".");
2069        }
2070    }
2071    
2072    
2073    //Récupère les données du type de commission et les mets dans les champs
2074    function chargeDonneesCommissionType(id_commission_type){
2075    
2076        //Requête ajax de récupération des données
2077        $.ajax({
2078            type: "GET",
2079            url: "../app/getCommissionTypeInfo.php?idx=" + id_commission_type,
2080            dataType: "json",
2081            async: false,
2082            success: function(data){
2083    
2084                // Ajout des données dans les champs
2085                $('#libelle').val(data.libelle);
2086                $('#lieu_adresse_ligne1').val(data.lieu_adresse_ligne1);
2087                $('#lieu_adresse_ligne2').val(data.lieu_adresse_ligne2);
2088                $('#lieu_salle').val(data.lieu_salle);
2089                $('#listes_de_diffusion').val(data.listes_de_diffusion);
2090                $('#participants').val(data.participants);
2091            }
2092        });
2093    }
2094    
2095    // Action de diffusion de mails des commissions
2096    function commission_diffusion(idx, obj, champ){
2097        
2098        $('#tabs-1 .message').remove();
2099        
2100        // Si les données sont fournies
2101        if ( $.isNumeric(idx) && obj != "" ){
2102            
2103            //Requête ajax d'envoi des données
2104            $.ajax({
2105                type: "GET",
2106                url: "../app/commission_diffusion.php?idx=" + idx + "&obj=" + obj,
2107                dataType: "json",
2108                async: false,
2109                success: function(data){
2110    
2111                    $('#tabs-1').prepend(
2112                        '<div ' +
2113                            'class="message ui-widget ui-corner-all ui-state-highlight">' +
2114                            '<p>' +
2115                                '<span class="ui-icon ui-icon-info"></span>' +
2116                                '<span class="text">' +
2117                                '</span>' +
2118                            '</p>' +
2119                        '</div>'                    
2120                    );
2121                    
2122                    var type = ( obj == "commission_compte_rendu" ) ? "du compte-rendu" : "de l'ordre du jour";
2123                    //L'envoi des mails a été effectué avec succès
2124                    if ( data.return == 1 ){
2125                        
2126                        //Finalisation du document
2127                        $.ajax({
2128                            type: "GET",
2129                            url: "../app/finalisation_document.php?idx=" + idx +
2130                                "&obj=commission&champ="+champ,
2131                            dataType: "json",
2132                            async: false,
2133                            success: function(data){
2134    
2135                                //Si la finalisation a été effectuée avec succès
2136                                if ( data != -1 ){
2137                                                      
2138                                    //On affiche le lien du document finalisé
2139                                    $('.'+champ).parent().attr("href", data+"");
2140                                    
2141                                    //On affiche un message de valisation
2142                                    $('.'+obj+' .message .text').html(
2143                                        "La finalisation du document s'est effectuée avec succès.<br/>"
2144                                    );
2145                                }
2146                                // Si une erreur s'est produite
2147                                else {
2148                                    
2149                                    //On affiche un message de validation
2150                                    $('.'+obj+' .message .text').html(
2151                                        "Une erreur s'est produite lors de la finalisation du document."
2152                                    );
2153                                }
2154                            }
2155                        });
2156                        
2157                        $('#tabs-1 .message').addClass("ui-state-valid");
2158                        $('#tabs-1 .message .text').prepend(
2159                            "La diffusion " + type + " s'est effectuée avec succès."
2160                        );
2161                    }
2162                    //Un erreur s'est produite
2163                    else if ( data.return == -1 ){
2164                        
2165                        $('#tabs-1 .message').addClass("ui-state-error");
2166                        $('#tabs-1 .message .text').html(
2167                            "Une erreur s'est produite lors de la diffusion " +
2168                            type +
2169                            ". Veuillez contacter votre administrateur."
2170                        );
2171                    }
2172                }
2173            });
2174        }
2175    }
2176    
2177    /**
2178     * Popup de confirmation pour les traitements
2179     */
2180    //
2181    function trt_confirm() {
2182        //
2183        if (confirm("Etes-vous sur de vouloir confirmer cette action ?")) {
2184            //
2185            return true;
2186        } else {
2187            //
2188            return false;
2189        }
2190    }
2191    
2192    /**
2193     * Finalisation des documents.
2194     *
2195     */
2196    function finalizeDocument(idx, obj, sousform, status, retour){
2197    
2198        //Requête ajax de finalisation des documents
2199        $.ajax({
2200            type: "GET",
2201            url: "../app/finalisation_document.php?idx=" + idx + "&obj=" + obj +
2202                "&status="+status+"&sousform="+sousform+"&retourformulaire="+retour,
2203            dataType: "json",
2204            async: false,
2205            success: function(data){
2206                
2207                $('#'+sousform+obj+' .message.ui-widget.ui-corner-all.ui-state-highlight').remove()
2208                $('#'+sousform+obj+' a.retour').first().before(
2209                    '<div ' +
2210                        'class="message ui-widget ui-corner-all ui-state-highlight">' +
2211                        '<p>' +
2212                            '<span class="ui-icon ui-icon-info"></span>' +
2213                            '<span class="text">' +
2214                            '</span>' +
2215                        '</p>' +
2216                    '</div>'                    
2217                );
2218                
2219                //Si la finalisation a été effectuée avec succès
2220                if ( typeof data.pdf !== "undefined" && data.pdf != -1 ){
2221                    
2222                    // On change le lien
2223                    var etat = ((status == 1)?'':'de') + 'finalis';
2224                    
2225                    $('.'+etat+'e').parent().parent().html(
2226                        data.portlet+""
2227                    );
2228                    
2229                    //On affiche le lien de l'action inverse
2230                    $('.edition').parent().attr("href", data.pdf+"");
2231                    
2232                    //Si on le document est finalisé, on cache les actions du portlet
2233                    if ( status == 1 ){
2234                        
2235                        $("#"+sousform+obj+" .edit-16").parent().parent().remove();
2236                        $("#"+sousform+obj+" .delete-16").parent().parent().remove();
2237                    }
2238                    else{
2239                        
2240                        var actions = '';
2241                        //Si le lien modifier est autorisé pour cet utilisateur
2242                        if ( typeof(data.actions.modifier)!='undefined' ){
2243                            
2244                            actions += data.actions.modifier;
2245                        }
2246                        
2247                        //Si le lien supprimer est autorisé pour cet utilisateur
2248                        if ( typeof(data.actions.supprimer)!='undefined' ){
2249                            
2250                            actions += data.actions.supprimer;
2251                        }
2252                        
2253                        $('#'+sousform+obj+' .portlet-list').prepend(actions);
2254                    }
2255                    
2256                    //On affiche un message de valisation
2257                    $('#'+sousform+obj+' .message').addClass("ui-state-valid");
2258                    $('#'+sousform+obj+' .message .text').html(data.message);
2259                }
2260                // Si une erreur s'est produite
2261                else {
2262                    
2263                    //On affiche un message de validation
2264                    $('#'+sousform+obj+' .message').addClass("ui-state-error");
2265                    $('#'+sousform+obj+' .message .text').html(data.message);
2266                }
2267            },
2268            error: function(jqXHR, textStatus, errorThrown) {
2269                
2270                //Si un parsererror est retourné, du code HTML s'est affiché dans
2271                //l'application, on affiche ce code
2272                if ( textStatus === "parsererror" ){
2273                    $('#'+sousform+obj+' .message.ui-widget.ui-corner-all.ui-state-highlight').remove()
2274                    $('#'+sousform+obj+' a.retour').first().before(jqXHR.responseText);
2275                }
2276            }
2277        });
2278    }
2279    
2280    /**
2281     * Cette fonction permet d'afficher les options d'un select par rapport
2282     * à un autre champ
2283     *
2284     * @param  int id               Données (identifiant) du champ visé
2285     * @param  string tableName     Nom de la table
2286     * @param  string linkedField   Champ visé
2287     * @param  string formCible     Formulaire visé
2288     */
2289    function filterSelect(id, tableName, linkedField, formCible) {
2290    
2291        //lien vers script php
2292        link = "../app/filterSelect.php?idx=" + id + "&tableName=" + tableName +
2293                "&linkedField=" + linkedField + "&formCible=" + formCible;
2294    
2295        $.ajax({
2296            type: "GET",
2297            url: link,
2298            cache: false,
2299            dataType: "json",
2300            success: function(res){
2301                $('#'+tableName).empty();
2302    
2303                for ( j=0 ; j < res[0].length ; j++ ){
2304    
2305                    $('#'+tableName).append(
2306                        '<option value="'+res[0][j]+'" >'+res[1][j]+'</option>'
2307                    );
2308                    
2309                }
2310    
2311            },
2312            async: false
2313        });
2314    }
2315    
2316    /**
2317     * Redirige vers une page après un temps d'attente
2318     * @param  string   page            lien de la page vers la redirection
2319     * @param  int      milliseconde    temps d'attente avant la redirection
2320     */
2321    function redirection(page, milliseconde) {
2322    
2323        //
2324        setTimeout(window.location = page, milliseconde);
2325    }
2326    
2327    /**
2328     * Retourne ce qu'il y a à afficher dans le formulaire de retour (bouton ajouter ou supprimer et éditer)
2329     */
2330    function getObjId(obj){
2331    
2332        //Récupération de l'id de l'objet
2333        var id=$('#id_retour').val();
2334    
2335        //Retour des données
2336        if ( $('#id_retour').length > 0 ){
2337            setDataFrequent(id, obj);
2338            om_initialize_content();
2339        }
2340    }
2341    
2342    function setDataFrequent(id,obj) {
2343        $.ajax({
2344            type: "GET",
2345            url: '../app/afficher_synthese_obj.view.php?idx='+id+'&obj=' + obj,
2346            cache: false,
2347            success: function(html){
2348                $('.add_'+obj).each(
2349                    function(){
2350                        $(this).remove();
2351                    }
2352                );
2353                $(html).insertBefore('#'+obj).fadeIn(500);
2354                $('#'+obj).val(id);
2355            },
2356            async:false
2357        });
2358    }
2359    
2360    /**
2361     * Redirige vers le script PHP pour mettre à jour les informations
2362     * et met à jour l'interface pour l'utilisateur
2363     * @param  string   id          Identifiant du dossier
2364     * @param  string   fieldname   Nom du champ
2365     * @param  Function callback    Fonction mettant à jour l'interface des données
2366     * @param  string   confirm_message     Texte du message de confirmation
2367     */
2368    function geolocalisation_treatment(id, fieldname, callback, confirm_message) {
2369    
2370        // Overlay de confirmation du traitement
2371        if (confirm_message != null && confirm_message != '') {
2372            var dialog_confirm = confirm(confirm_message);
2373            if( dialog_confirm == false ){
2374              return false;
2375            }
2376        }
2377    
2378        // Affichage du spinner
2379        $('#'+fieldname).each(
2380            function(){
2381                $(this).children().removeClass();
2382                $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-empty');
2383                $(this).children().children().children(".text").html(msg_loading);
2384            }
2385        );
2386        
2387        // lien vers script PHP faisant l'appel au webservice
2388        link = '../app/geolocalisation_treatment.php?fieldname='+fieldname+'&id='+id+'&callback='+callback;
2389    
2390        // Traitement
2391        $.ajax({
2392            type: "GET",
2393            url: link,
2394            cache: false,
2395            dataType: "json",
2396            success: function(res){
2397                //
2398                $('#'+fieldname).each(
2399                    function(){
2400                        $(this).children().children().children(".text").text(res['log']['message']);
2401                        $(this).children().removeClass();
2402                        if (res['log']['etat'] == 't') {
2403                            $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-valid');
2404                        } else {
2405                            $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2406                        }
2407                    }
2408                );
2409    
2410                //
2411                if (typeof(callback) === "function" && res['log']['etat'] == 't') {
2412                    callback(res);
2413                }
2414            },
2415            async:false
2416        });
2417    }
2418    
2419    /**
2420     * Efface le message en haut du formulaire
2421     * @param array res Résultat après le traitement du script PHP
2422     */
2423    function set_geolocalisation_message(res) {
2424        // Si il y a un message d'erreur
2425        if ($('#geolocalisation-message')[0]) {
2426            // Supprime le message
2427            $('#geolocalisation-message').remove();
2428            // Modifie les messages des autres fonctionnalités
2429            $('#calcul_emprise').each(
2430                function() {
2431                    $(this).children().removeClass();
2432                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2433                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2434                }
2435            );
2436            $('#calcul_centroide').each(
2437                function() {
2438                    $(this).children().removeClass();
2439                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2440                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2441                }
2442            );
2443            $('#recup_contrainte').each(
2444                function() {
2445                    $(this).children().removeClass();
2446                    $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2447                    $(this).children().children().children(".text").text(res['log']['message_diff_parcelle']);
2448                }
2449            );
2450        }
2451        
2452    }
2453    
2454    /**
2455     * Met le champ centroïde à jour
2456     * @param  array   res  Résultat après le traitement du script PHP
2457     */
2458    function set_geolocalisation_centroide(res) {
2459        
2460        var content = "<a id='action-form-localiser'"+
2461                " target='_SIG' href='../app/redirect_plan_sig.php?idx="+res['return']['dossierID']+"'>"+
2462                "<span class='om-icon om-icon-16 om-icon-fix sig-16' title='Localiser'>Localiser</span> "+
2463                " POINT("+res['return']['coordX']+" "+res['return']['coordY']+")"+
2464                " </a>";
2465        
2466        $('span#centroide').html(content);
2467    }
2468    
2469    /**
2470     * Met le champ contrainte à jour
2471     * @param  array   res  Résultat après le traitement du script PHP
2472     */
2473    function set_geolocalisation_contrainte(res) {
2474        // Contenus du champ contrainte
2475        var content = $('span#msg_contrainte_sig').html();
2476        // Si aucune contraintes est récupérées du SIG
2477        if (res['dossier_contrainte']['nb_contrainte_sig'] == 0) {
2478            content = res['dossier_contrainte']['msg_contrainte_sig_empty'];
2479        }
2480        // S'il y a des contraintes récupérées
2481        if (res['dossier_contrainte']['nb_contrainte_sig'] != 0) {
2482            content = res['dossier_contrainte']['nb_contrainte_sig'] + " " + res['dossier_contrainte']['msg_contrainte_sig']
2483        }
2484        // Affiche le message
2485        $('span#msg_contrainte_sig').html(content);
2486    }
2487    
2488    /**
2489     * Redirige vers ElyxWeb
2490     * @param array res Résultat après le traitement du script PHP
2491     */
2492    function redirection_elyxweb(res) {
2493        window.open(res['return']);
2494    }
2495    
2496    /**
2497     * Traitement du bouton permettant de calculer toutes les données géographiques
2498     * @param  string   id                  Identifiant du dossier
2499     * @param  string   confirm_message     Texte du message de confirmation
2500     */
2501    function all_geolocalisation_treatments(id, confirm_message) {
2502    
2503        // Overlay de confirmation du traitement
2504        if (confirm_message != null && confirm_message != '') {
2505            var dialog_confirm = confirm(confirm_message);
2506            if( dialog_confirm == false ){
2507              return false;
2508            }
2509        }
2510    
2511        // Initialisation des variables utilisées en paramètres
2512        var fieldname = '';
2513        var callback = '';
2514        var confirm_message = '';
2515        var flag = '';
2516    
2517        // Modification des variables utilisées en paramètres pour "Vérifier les
2518        // parcelles"
2519        fieldname = 'verif_parcelle';
2520        callback = set_geolocalisation_message;
2521        // Traitement "Vérifier les parcelles"
2522        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2523    
2524        // Positionne le flag sur le message de "Vérifier les parcelles"
2525        flag = $('#'+fieldname+"-message").attr("class");
2526        // Si c'est un message d'erreur on arrete le traitement
2527        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2528            return false;
2529        }
2530    
2531        // Modification des variables utilisées en paramètres pour "Calculer
2532        // l'emprise"
2533        fieldname = 'calcul_emprise';
2534        callback = '';
2535        // Traitement "Calculer l'emprise"
2536        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2537    
2538        // Positionne le flag sur le message de "Calculer l'emprise"
2539        flag = $('#'+fieldname+"-message").attr("class");
2540        // Si c'est un message d'erreur on arrete le traitement
2541        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2542            return false;
2543        }
2544    
2545        // Modification des variables utilisées en paramètres pour "Calculer le
2546        // centroïde"
2547        fieldname = 'calcul_centroide';
2548        callback = set_geolocalisation_centroide;
2549        // Traitement "Calculer le centroïde"
2550        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2551    
2552        // Positionne le flag sur le message de "Calculer le centroïde"
2553        flag = $('#'+fieldname+"-message").attr("class");
2554        // Si c'est un message d'erreur on arrete le traitement
2555        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2556            return false;
2557        }
2558    
2559        // Modification des variables utilisées en paramètres pour "Récupérer les
2560        // contraintes"
2561        fieldname = 'recup_contrainte';
2562        callback = set_geolocalisation_contrainte;
2563        //Traitement "Récupérer les contraintes"
2564        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2565        
2566    }
2567    
2568    /**
2569     * Remplit le formulaire avec l'adresse trouvée ou affiche un message d'erreur
2570     */
2571    function getAdressFromCadastrale(){
2572        
2573        //Récupération des références cadastrales
2574        var referenceCadastrale = '{"refcad":[{';
2575        var i = 0 ;
2576        var j = 1 ;
2577        var delimit = 0;
2578        var parcelleDelimit = 0;
2579        var noReferenceCadastrale = false;
2580        $(".reference_cadastrale_custom_field").each(
2581            function(){
2582                
2583                //On vérifie que le champ n'est pas vide
2584                if ($(this).val()!=""&&$(this).val() != ";"){
2585                    noReferenceCadastrale = true;
2586                }
2587                
2588                //On va à la ligne suivante
2589                if ( $(this).val() == ";" ){
2590                    referenceCadastrale +=(delimit!=0)?'}]':'';
2591                    referenceCadastrale += "}" ;
2592                    i++;
2593                    j = 1;
2594                    delimit = 0;
2595                    parcelleDelimit = 0;
2596                }
2597                //On parcourt la ligne
2598                else {
2599                    switch(true){
2600                        //Quartier
2601                        case (j==1):
2602                            referenceCadastrale += (i!=0)?',':'';
2603                            referenceCadastrale += '"' + i + '"' + ':{"quartier":"'+$(this).val()+'"';
2604                            break;
2605                        //Section
2606                        case (j==2):
2607                            referenceCadastrale += ', "section":"'+$(this).val()+'"';
2608                            break;
2609                        //Parcelle
2610                        case (j==3):
2611                            referenceCadastrale += ', "parcelle":"'+$(this).val()+'"';
2612                            break;
2613                        //Le délimiteur
2614                        case (j%2==0&&j!=2):
2615                            if ( delimit==0 ){
2616                                referenceCadastrale += ', "delimit":[{"'+(delimit++)+'":"'+$(this).val()+'"';
2617                            }
2618                            else {
2619                                referenceCadastrale += ', "'+(delimit++)+'":"'+$(this).val()+'"';
2620                            }
2621                            break;
2622                        //La parcelle après le délimiteur
2623                        case (j%2==1&&j!=1&&j!=3):
2624                            referenceCadastrale += ',"'+(delimit++)+'":"'+$(this).val()+'"';
2625                            break;
2626                    }
2627                    j++;
2628                }
2629            }
2630        );
2631        if ( noReferenceCadastrale == true ){
2632            referenceCadastrale += "}]}";
2633        }
2634        else {
2635            referenceCadastrale = "";
2636        }
2637    
2638        //Lance la tentative de récupération de l'adresse
2639        $.ajax({
2640            type: "POST",
2641            url: '../app/getAdressFromCadastrale.php',
2642            data: $.parseJSON(referenceCadastrale),
2643            cache: false,
2644            dataType: "json",
2645            success: function(data){
2646    
2647                //Si le retour est un objet JSON, on a un résultat
2648                if ( $.isPlainObject(data)){
2649                    
2650                    //On met l'adresse dans les champs
2651                    $("#terrain_adresse_voie_numero").val(data.return.dnuvoi);
2652                    $("#terrain_adresse_voie").val(data.return.prefixe+" "+data.return.nom);
2653                    $("#terrain_adresse_code_postal").val(data.return.arrdt);
2654                    $("#terrain_adresse_localite").val(data.return.localite);
2655                }
2656                //Sinon, on affiche un message d'erreur
2657                else {
2658                    alert(data);
2659                }
2660            },
2661            async: false
2662        });
2663    }
2664    
2665    /**
2666     * Modifie les champs requis pour le formulaire demande_type
2667     * @param  integer  demande_nature                         Identifiant
2668     * @param  string   lib_dossier_autorisation_type_detaille Libellé du champ
2669     * dossier_autorisation_type_detaille
2670     * @param  string   lib_dossier_instruction_type           Libellé du champ
2671     * dossier_instruction_type
2672     */
2673    function required_fields_demande_type(demande_nature, lib_dossier_autorisation_type_detaille, lib_dossier_instruction_type) {
2674    
2675        // Lien
2676        link = "../app/getDemandeNatureInfo.php?demande_nature=" + demande_nature;
2677    
2678        // Traitement
2679        $.ajax({
2680            type: "GET",
2681            url: link,
2682            cache: false,
2683            dataType: "json",
2684            success: function(demande_nature_info) {
2685    
2686                // On enlève le "*" au libellé du champ
2687                // dossier_autorisation_type_detaille pour montrer qu'il n'est
2688                // pas obligatoire
2689                $("#lib-dossier_autorisation_type_detaille").text('');
2690                $("#lib-dossier_autorisation_type_detaille")
2691                    .html(lib_dossier_autorisation_type_detaille);
2692    
2693                // On enlève le "*" au libellé du champ
2694                // dossier_instruction_type pour montrer qu'il n'est
2695                // pas obligatoire
2696                $("#lib-dossier_instruction_type").text('');
2697                $("#lib-dossier_instruction_type")
2698                    .html(lib_dossier_instruction_type);
2699                
2700                // Si c'est une nouvelle demande
2701                if (demande_nature_info != ''
2702                    && demande_nature_info != null) {
2703    
2704                    if (demande_nature_info['code'] == 'NOUV') {
2705    
2706                        // On ajoute le "*" au libellé du champ
2707                        // dossier_autorisation_type_detaille pour montrer qu'il est
2708                        // obligatoire
2709                        $("#lib-dossier_autorisation_type_detaille").text('');
2710                        $("#lib-dossier_autorisation_type_detaille")
2711                            .html(lib_dossier_autorisation_type_detaille + ' <span class="not-null-tag">*</span>');
2712    
2713                        // On ajoute le "*" au libellé du champ
2714                        // dossier_instruction_type pour montrer qu'il est
2715                        // obligatoire
2716                        $("#lib-dossier_instruction_type").text('');
2717                        $("#lib-dossier_instruction_type")
2718                            .html(lib_dossier_instruction_type + ' <span class="not-null-tag">*</span>');
2719    
2720                    }
2721    
2722                }
2723                
2724            },
2725            async:false
2726        });
2727    }
2728    
2729    /**
2730     * Appel au chargement de la page
2731     **/
2732    $(function() {
2733    
2734        // url de la page
2735        url = document.location + "";
2736    
2737        // Si dans le formulaire des type de demande
2738        // et que c'est en mode ajout ou modifier
2739        if (url.indexOf("form.php?obj=demande_type&") != -1
2740            && (url.indexOf("&action=0") != -1
2741            || url.indexOf("&action=1") != -1
2742            || url.indexOf("&validation=") != -1)) {
2743    
2744            // Récupère les paramètres nécessaires
2745            var demande_nature = $("#demande_nature").val();
2746            var lib_dossier_autorisation_type_detaille = $("#lib-dossier_autorisation_type_detaille").text();
2747            var lib_dossier_instruction_type = $("#lib-dossier_instruction_type").text();
2748    
2749            // Appelle la fonction pour indiquer si les champs sont requis ou non
2750            required_fields_demande_type(demande_nature, lib_dossier_autorisation_type_detaille, lib_dossier_instruction_type);
2751        }
2752    
2753    });
2754    
2755    /**
2756     * Cache les champs du formulaire événement
2757     * @param  array fields Tableau des champs
2758     */
2759    function hideFieldsEvenement(fields) {
2760    
2761        // Pour chaque champ
2762        for (var cpt = 0; cpt < fields.length; cpt++) {
2763    
2764            $('#' + fields[cpt]).each(
2765                function(){
2766    
2767                    // Récupère la balise parent et la valeur
2768                    var parentField = $(this).parent();
2769                    var valueField = $(this).val();
2770                    // Supprime le champ
2771                    $(this).remove();
2772                    // Affiche le champ en tant que static
2773                    parentField.append('<span id="'+fields[cpt]+'" class="field_value">'+valueField+'</span>');
2774                }
2775            );
2776    
2777        }
2778        
2779        // Cache les champs "evenement_retour_ar" et "evenement_retour_signature"
2780        $('#evenement_retour_ar').parent().parent().hide();
2781        $('#evenement_retour_signature').parent().parent().hide();
2782    }
2783    
2784    /**
2785     * Affiche les champs du formulaire événement
2786     * @param  array fields Tableau des champs
2787     */
2788    function showFieldsEvenement(fields) {
2789    
2790        // Pour chaque champ
2791        for (var cpt = 0; cpt < fields.length; cpt++) {
2792    
2793            $('#' + fields[cpt]).each(
2794                function(){
2795    
2796                    // Récupère la balise parent et la valeur
2797                    var parentField = $(this).parent();
2798                    var valueField = $(this).text();
2799                    // Supprime le champ
2800                    $(this).remove();
2801    
2802                    // Si le champ est restriction
2803                    if (this.id == 'restriction') {
2804    
2805                        // Réaffiche le champ en type text
2806                        parentField.append('<input id="'+this.id+'" class="champFormulaire" type="text" maxlength="60" size="30" value="'+ valueField +'" name="'+this.id+'">');
2807                    } else {
2808    
2809                        // Réaffiche les selects
2810                        parentField.append('<select id="'+this.id+'" class="champFormulaire" size="1" name="'+this.id+'"></select>');
2811                        filterSelect(valueField, fields[cpt], 'delai', 'evenement');
2812                    }
2813                }
2814            );
2815    
2816        }
2817    
2818        // Affiche les champs "evenement_retour_ar" et "evenement_retour_signature"
2819        $('#evenement_retour_ar').parent().parent().show();
2820        $('#evenement_retour_signature').parent().parent().show();
2821    }
2822    
2823    /**
2824     * Action onchange sur la case à cocher "retour" du formulaire "evenement"
2825     * @param  object field Champ de type booléen
2826     */
2827    function retourOnchangeEvenement(field) {
2828    
2829        // liste des champs à modifier dans le formulaire
2830        var fields = new Array(
2831            'restriction',
2832            'delai',
2833            'accord_tacite',
2834            'delai_notification',
2835            'avis_decision'
2836        );
2837    
2838        // Si le champ booléen est à 'Oui'
2839        if (field.value == 'Oui') {
2840            // Cache et rend static les champs de la liste
2841            hideFieldsEvenement(fields);
2842        } else {
2843            // Affiche et rend modifiable les champs de la liste
2844            showFieldsEvenement(fields);
2845        }
2846    }
2847    
2848    function dossierContrainteValidationForm(objsf, link, formulaire) {
2849        // composition de la chaine data en fonction des elements du formulaire
2850        var data = "";
2851        if (formulaire) {
2852            for (i=0; i<formulaire.elements.length; i++) {
2853                data += formulaire.elements[i].name+"="+encodeURIComponent(formulaire.elements[i].value)+"&";
2854            }
2855        }
2856        
2857        // execution de la requete en POST
2858        $.ajax({
2859            type: "POST",
2860            url: link,
2861            cache: false,
2862            data: data,
2863            dataType: "json",
2864            success: function(html){
2865                // Efface le message
2866                $('.message').remove();
2867                // Affiche le message
2868                $('.subtitle').after(
2869                    '<div ' +
2870                        'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
2871                        '<p>' +
2872                            '<span class="ui-icon ui-icon-info"></span>' +
2873                            '<span class="text">' +
2874                                html +
2875                            '</span>' +
2876                        '</p>' +
2877                    '</div>'                    
2878                );
2879                // Décoche toutes les checkbox
2880                $(":checkbox").attr('checked', false);
2881                $(":checkbox").attr('value', '');
2882            }
2883        });
2884    }
2885    
2886    /**
2887     * Permet de recharger la page.
2888     */
2889    function refresh_page_return() {
2890        // Recharge la page
2891        location.reload();
2892    }

Legend:
Removed from v.1099  
changed lines
  Added in v.2997

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26