/[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 833 by vpihour, Mon Nov 26 14:36:51 2012 UTC revision 2113 by vpihour, Thu Jul 25 13:34:24 2013 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).text() + '\r\n\r';
95            }
96        });
97        // Récupération du textarea à remplir
98        obj = $("form[name|="+form+"] #"+champ);
99        // Remplissage du textarea et déclenchement du trigger autosize
100        $(obj).val(obj.val()+listeElement+"\r").trigger('autosize');
101        // Fermeture de la boite de dialog
102        $('#upload-container').dialog('close').remove();
103    }
104    //
105  function bible() {  function bible() {
106      if(fenetreouverte==true)      //
107             pfenetre.close();      var ev = document.f2.evenement.value;
108      var ev=document.f2.evenement.value;      //
109      var idx=document.f2.dossier.value;      if (ev == "") {
110      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.");
111      fenetreouverte=true;          return false;
112        }
113        //
114        var idx = document.f2.dossier.value;
115        //
116        var link = "../app/bible.php?complement=1&ev="+ev+"&idx="+idx;
117        load_form_in_modal(link);
118        //
119        return false;
120  }  }
121  // bible2 - type httpclick  //
122  function bible2()  function bible2() {
 {  
     if(fenetreouverte==true)  
            pfenetre.close();  
123      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
124        if (ev == "") {
125            window.alert("Vous devez d'abord sélectionner un événement.");
126            return false;
127        }
128      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
129      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;
130      fenetreouverte=true;      load_form_in_modal(link);
131        return false;
132  }  }
133  // bible_auto - type httpclick  // bible_auto - type httpclick
134  function bible_auto(){  function bible_auto(){
135      if(fenetreouverte==true)      if(fenetreouverte==true)
136             pfenetre.close();             pfenetre.close();
137      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
138        if (ev == "") {
139            window.alert("Vous devez d'abord sélectionner un événement.");
140            return false;
141        }
142      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
143        
144      pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");      pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");
145      fenetreouverte=true;      fenetreouverte=true;
146        return false;
147  }  }
148  // VerifNumdec - type text  // VerifNumdec - type text
149  function VerifNumdec(champ) {  function VerifNumdec(champ) {
# Line 58  function VerifNumdec(champ) { Line 158  function VerifNumdec(champ) {
158            
159  }  }
160  // 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
161  function changeDataSelect(tn, ds, joker){  function changeDataSelect(tableName, linkedField, joker){
162                var id_dossierAutorisation = $("#dossier_autorisation").val();
163      var id = $("#"+ds+" option:selected").val();      var id = $("#"+linkedField).val();
164      link = "../app/listData.php?idx=" + id + "&tn=" + tn + "&ds=" + ds;      link = "../app/listData.php?idx=" + id + "&tableName=" + tableName +
165                "&linkedField=" + linkedField ;
166        if(id_dossierAutorisation != "") {
167            link += "&nature=EXIST";
168        }
169        var val_tableName = $('#'+tableName).val();
170      $.ajax({      $.ajax({
171          type: "GET",          type: "GET",
172          url: link,          url: link,
# Line 69  function changeDataSelect(tn, ds, joker) Line 174  function changeDataSelect(tn, ds, joker)
174          dataType: "json",          dataType: "json",
175          success: function(html){          success: function(html){
176                            
177              $('#'+tn).empty();              $('#'+tableName).empty();
178                            var selected = "";
179                if(val_tableName == "") {
180                    selected=' selected="selected"';
181                }
182              if ( joker == true )              if ( joker == true )
183                  $('#'+tn).append(                  $('#'+tableName).append(
184                      '<option value="" selected="selected">*</option>'                      '<option value=""'+selected+'>*</option>'
185                  );                  );
186              else              else {
187                  $('#'+tn).append(                  $('#'+tableName).append(
188                      '<option value="" selected="selected">Choisir ' + tn + '</option>'                      '<option value=""'+selected+'>Choisir ' + tableName + '</option>'
189                  );                  );
190                            }
191              if ( html !== '' ){              if ( html !== '' ){
192                                    
193                  html = html.split(';');                  html = html.split(';');
194                  for ( i = 0 ; i < html.length - 1 ; i++ ){                  for ( i = 0 ; i < html.length - 1 ; i++ ){
195                                            
196                      html_temp = html[i].split('_');                      html_temp = html[i].split('_');
197                      $('#'+tn).append(                      selected = "";
198                          '<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>'                      if(val_tableName == html_temp[0]) {
199                            selected=' selected="selected"';
200                        }
201                        $('#'+tableName).append(
202                            '<option value="'+html_temp[0]+'"'+selected+' >'+html_temp[1]+'</option>'
203                      );                      );
204                        
205                  }                  }
206              }              }
207          },          },
208          async: false          async: false
209      });      });
210  }  }
211    
212    // Ce widget permet de charger les données de la demande type en ajax
213    function changeDemandeTypeDataSelect(){
214        // Récupération de l'id du dossier_autorisation_type_detaille
215        var id_datd = $("#dossier_autorisation_type_detaille").val();
216    
217        // Récupération de la liste des paramètres de l'url
218        var params = extractUrlParams();
219        if ( typeof params['idx_dossier'] === "undefined" ){
220            params['idx_dossier'] = '';
221        }
222    
223        link = "../app/listDemandeType.php?idx=" + params['idx_dossier'] + "&datd="+ id_datd;
224    
225        var val_tableName = $('#demande_type').val();
226        $.ajax({
227            type: "GET",
228            url: link,
229            cache: false,
230            dataType: "json",
231            success: function(res){
232                $('#demande_type').empty();
233                var selected = "";
234    
235                for ( j=0 ; j < res[0].length ; j++ ){
236    
237                    $('#demande_type').append(
238                        '<option value="'+res[0][j]+'"'+selected+' >'+res[1][j]+'</option>'
239                    );
240                    
241                }
242                $('#demande_type').val(val_tableName);
243            },
244            async: false
245        });
246    }
247    
248    /**
249     * Fonction de récupération des paramètres GET de la page
250     * @return Array Tableau associatif contenant les paramètres GET
251     */
252    function extractUrlParams(){    
253        var t = location.search.substring(1).split('&');
254        var f = [];
255        for (var i=0; i<t.length; i++){
256            var x = t[ i ].split('=');
257            f[x[0]]=x[1];
258        }
259        return f;
260    }
261    
262  // vuploadMulti - XXX  // vuploadMulti - XXX
263  function vuploadMulti(champ) {  function vuploadMulti(champ) {
264      //      //
# Line 107  function vuploadMulti(champ) { Line 271  function vuploadMulti(champ) {
271      //      //
272      fenetreouverte = true;      fenetreouverte = true;
273  }  }
 // 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;  
 }  
   
   
274    
275  /**  /**
276   * POPUP pour le téléchargement de fichier   * POPUP pour le téléchargement de fichier
# Line 133  function tmpUpload(champ) { Line 283  function tmpUpload(champ) {
283  function dossierads_d(debut)  function dossierads_d(debut)
284  {  {
285  //if(fenetreouverte==true)  //if(fenetreouverte==true)
286  window.location="../pdf/pdfetat.php?obj=dossier_ads_d&nature="  window.location="../pdf/pdfetat.php?obj=registre_dossiers_decisions_par_type_par_date&nature="
287  +document.f1.nature.value+"&idx=demo&datedebut="  +document.f1.nature.value+"&idx=demo&datedebut="
288  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
289  }  }
290  //  
291  function dossier_m(){  // Cette fonction permet de gérer la validation du formulaire du script :
292  window.location="../pdf/pdfetat.php?obj=dossier_m&nature="  // app/affichage_reglementaire_registre.php
293  +document.f1.nature.value+"&idx=demo";      function affichage_reglementaire_registre(button) {
294        // Popup de confirmation du traitement par l'utilisateur
295        if (trt_confirm() == false) {
296            return false;
297        }
298        // Suppression du bouton pour que l'utilisateur ne puisse pas cliquer une
299        // deuxième fois
300        $(button).remove();
301        // Affichage du spinner
302        $("#msg").html(msg_loading);
303        // Requête AJAX vers le fichier app/affichage_reglementaire_registre.php
304        // pour mettre à jour les dossiers
305        // XXX layout
306        $.ajax({
307            type: "GET",
308            url: "../app/affichage_reglementaire_registre.php?update",
309            cache: false,
310            success: function(html){
311                // Ajout d'un bloc de message vide
312                $('#msg').html(
313                    '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
314                        '<p>'+
315                            '<span class="ui-icon ui-icon-info"></span>'+
316                            '<span class="text">'+
317                            '</span>'+
318                        '</p>'+
319                    '</div>'
320                );
321                // Si le retour de l'appel Ajax n'est pas vide, alors il y a eu une
322                // lors du traitement
323                if ( html.length > 2 ) {
324                    $("#msg .message").addClass("ui-state-error");
325                    $("#msg .text").html(html);
326                } else {
327                    // Sinon message de succès et appel de l'édition
328                    $("#msg .message").addClass("ui-state-valid");
329                    $("#msg .text").html("Traitement terminé. Le registre a été téléchargé.");
330                    window.open("../pdf/pdfetat.php?obj=registre_dossiers_affichage_reglementaire&idx=demo");
331                }
332            },
333            async: false
334        });
335        //
336        return false;
337    }
338    
339    //Fonction de redirection pour le widget de recherche de dossier
340    function widget_recherche_dossier(data,nbRes){
341        /*$('#msg').show();
342        $('#msg').html(msg_loading);*/
343      
344        // S'il n'y a qu'un seul résultat, afficher un résumé
345        if ( nbRes == 1 ){
346        
347            window.location = "../scr/form.php?obj=dossier_instruction&action=3&" +
348                "idx=" + data + "&premier=0&advs_id=&recherche=&tricol=&" +
349                "selectioncol=&valide=&retour=tab";  
350        }
351        // S'il y a une liste de dossier, redirection vers le tableau
352        else {
353            
354            window.location = "../scr/tab.php?obj=recherche_direct&selectioncol=0&recherche=" + data;
355        }
356  }  }
357  //  //
358  function dossierdepot()  function dossierdepot()
359  {  {
360  //if(fenetreouverte==true)  //if(fenetreouverte==true)
361      window.location="../pdf/pdfetat.php?obj=dossier_depot&nature="+      window.location="../pdf/pdfetat.php?obj=registre_dossiers_depots_par_type_par_date&nature="+
362      document.f1.nature.value+"&idx=demo&datedebut="+      document.f1.nature.value+"&idx=demo&datedebut="+
363      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
364  }  }
# Line 154  function dossierdepot() Line 366  function dossierdepot()
366  function dossierads()  function dossierads()
367  {  {
368  //if(fenetreouverte==true)  //if(fenetreouverte==true)
369      window.location="../pdf/pdfetat.php?obj=dossier_ads&nature="+      window.location="../pdf/pdfetat.php?obj=registre_dossiers_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 236  jQuery.download = function(url, data, me Line 448  jQuery.download = function(url, data, me
448   **/   **/
449  function popupIt(objsf, link, width, height, callback, callbackParams) {  function popupIt(objsf, link, width, height, callback, callbackParams) {
450      // Insertion du conteneur du dialog      // Insertion du conteneur du dialog
451      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('#tabs-1 .formControls');
452      $('<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);
453            
454      // execution de la requete passee en parametre      // execution de la requete passee en parametre
# Line 263  function popupIt(objsf, link, width, hei Line 475  function popupIt(objsf, link, width, hei
475                  }                  }
476                  $(this).remove();                  $(this).remove();
477              },              },
478              resizable: false,              resizable: true,
479              modal: true,              modal: true,
480              width: width,              width: 'auto',
481              height: height,              height: 'auto',
482                position: 'left top',
483            });            });
484          },          },
485          async : false          async : false
# Line 274  function popupIt(objsf, link, width, hei Line 487  function popupIt(objsf, link, width, hei
487      //Fermeture du dialog lors d'un clic sur le bouton retour      //Fermeture du dialog lors d'un clic sur le bouton retour
488      $('#sousform-'+objsf).on("click",'a.retour',function() {      $('#sousform-'+objsf).on("click",'a.retour',function() {
489          $(dialog).dialog('close').remove();          $(dialog).dialog('close').remove();
490            return false;
491      });      });
     return false;  
492  }  }
493    
494  /***  /***
# Line 325  function returnToTab(objsf) { Line 538  function returnToTab(objsf) {
538   */   */
539    
540   /**   /**
541    * Function permettant d'insérer l'id du demandeur ajouté dans un input hidden    * Fonction permettant de mettre à jour les infos du demandeur
542    **/    **/
543  function getDemandeurId(type) {  function getDemandeurId(type) {
544      var id_demandeur=$('#id_retour').val();      var id_demandeur=$('#id_retour').val();
545      if($.isNumeric(id_demandeur)) {      if($.isNumeric(id_demandeur)) {
         if(type != 'petitionnaire') {  
             $('#add_'+type).hide();  
         }  
         if (type == "petitionnaire") {  
             $('<input type="hidden" class="demandeur" name="'+type+'[]" value="'+id_demandeur+'"/>').insertBefore('#add_'+type);  
         } else {  
             $('<input type="hidden" class="demandeur" name="'+type+'" value="'+id_demandeur+'"/>').insertBefore('#add_'+type);  
         }  
           
546          afficherDemandeur(id_demandeur,type);          afficherDemandeur(id_demandeur,type);
547          om_initialize_content();          om_initialize_content();
548      }      }
   
549  }  }
550    
551  /**  /**
# Line 354  function afficherDemandeur(id,type) { Line 557  function afficherDemandeur(id,type) {
557          url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+id+'&type='+type,          url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+id+'&type='+type,
558          cache: false,          cache: false,
559          success: function(html){          success: function(html){
560              $(html).insertBefore('#add_'+type);              $(html).insertBefore('#add_'+type).fadeIn(500);
561          }  
562            },
563            async:false
564      });      });
565        affichageBoutonsDemandeurs();
566  }  }
567    
568  /*  /**
569   * A garder   * Fonction permettant de modifier un demandeur
570   */   */
571  /*  function editDemandeur(obj,id,type,id_css) {
572   * '<div class="field field-type-text morePetitionnaire" style="display: table-row;">' +      var url = '../scr/sousform.php?obj='+obj+'&retourformulaire=demande';
573          '<div class="form-libelle">' +      //Vérification des contraintes de récupération des demandeurs
574              '<label class="libelle-more_petitionnaire" for="terrain_superficie"> + Ajouter un autre p&eacute;titionnaire </label>' +      if(getDemandeInfo('contraintes') == 'avec_recup') {
575          '</div>' +          url += '&action=0&idx_demandeur='+id;
576          '<div class="form-content">' +      } else {
577          '</div>' +          url += '&action=1&idx='+id;
578      '</div>'      }
579        popupIt(obj, url, 860, 'auto',
580                replaceDemandeur, {'type':type,'id': id, 'id_css':id_css});
581        affichageBoutonsDemandeurs();
582    }
583    
584    /**
585     * Function permettant de remplacer un contenu déjà existant
586     **/
587    function replaceDemandeur(obj) {
588        var new_demandeur=$('#id_retour').val();
589        if($.isNumeric(new_demandeur)) {
590            $.ajax({
591                type: "GET",
592                url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+new_demandeur+'&type='+obj.type,
593                cache: false,
594                success: function(html){
595                    $(obj.id_css).replaceWith(html);
596                }
597            });
598        }
599    }
600    /**
601     * Function permettant de remplacer un contenu déjà existant
602     **/
603    function removeDemandeur(id) {
604        var div_class=$('#'+id).attr("class");
605        $('#'+id).remove();
606        if(div_class == "delegataire") {
607            $('#add_delegataire').fadeIn(500);
608        }
609        affichageBoutonsDemandeurs();
610    }
611    
612    /**
613     * Fonction permettant d'afficher et cacher les boutons d'ajout de demandeurs
614   */   */
615    function affichageBoutonsDemandeurs(){
616    
617        // Si formulaire après validation on cache les boutons d'ajout de demandeurs
618        url = document.location + "" ;
619    
620        if ((url.indexOf("form.php?obj=demande&") != -1
621            || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
622            || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)
623            && $("form[name=f1] .form-is-valid").size() > 0 ) {
624    
625            $('#add_petitionnaire_principal').hide();
626            $('#add_delegataire').hide();
627            if($('input[name=delegataire][type=hidden]').size() == 0) {
628                $('#delegataire').hide();
629            }
630            $('#add_petitionnaire').hide();
631    
632  /*      } else {
633      Ajoute le formulaire d'ajout de référence cadastrale personnalisé  
634   * */          // Affichage du bouton d'ajout du petitionnaire principal
635            if($('input[name=petitionnaire_principal][type=hidden]').size() == 1) {
636                $('#add_petitionnaire_principal').hide();
637            } else {
638                $('#add_petitionnaire_principal').fadeIn(500);
639            }
640    
641            // Affichage du bouton d'ajout du delegataire
642            if($('input[name=petitionnaire_principal][type=hidden]').size() == 1
643               || $('input[name=delegataire][type=hidden]').size() == 1) {
644                $('#delegataire').fadeIn(500);
645                if($('input[name=delegataire][type=hidden]').size() == 0) {
646                    $('#add_delegataire').fadeIn(500);
647                } else {
648                    $('#add_delegataire').hide();
649                }
650            } else {
651                $('#delegataire').hide();
652            }
653    
654            // Affichage du bouton d'ajout de petitionnaires
655            if($('input[name=petitionnaire_principal][type=hidden]').size() == 0) {
656                $('#add_petitionnaire').hide();
657            } else {
658                $('#add_petitionnaire').fadeIn(500);
659            }
660        }
661    }
662    
663    /**
664     * Appel au chargement de la page
665     **/
666  $(function() {  $(function() {
667      changeDemandeurType('qualite');      changeDemandeurType('qualite');
668      if ( $('#type_demandeur') == 'petitionnaire' ){      if ( $('#type_demandeur') == 'petitionnaire' ){
# Line 383  $(function() { Line 670  $(function() {
670          addSearchIcon();          addSearchIcon();
671          addDivDialog('.bloc_demandeur');          addDivDialog('.bloc_demandeur');
672      }      }
673        affichageBoutonsDemandeurs();
674      // Bind de la fonction permettant l'ajout du pétitionnaire principal      // Bind de la fonction permettant l'ajout du pétitionnaire principal
675      $("#add_petitionnaire_principal").click( function() {      $("#formulaire").on("click","#add_petitionnaire_principal",  function() {
676          popupIt('petitionnaire',          popupIt('petitionnaire',
677                  '../scr/sousform.php?obj=petitionnaire&action=0'+                  '../scr/sousform.php?obj=petitionnaire&action=0'+
678                  '&retourformulaire=demande&principal=true', 780, 500,                  '&retourformulaire=demande&principal=true', 860, 'auto',
679                  getDemandeurId, 'petitionnaire_principal');                  getDemandeurId, 'petitionnaire_principal');
         changeDemandeurType('qualite');  
         addSearchIcon();  
         addDivDialog('.bloc_demandeur');  
680      });      });
681      // Bind de la fonction permettant l'ajout du délégataire      // Bind de la fonction permettant l'ajout du délégataire
682      $("#formulaire").on("click","#add_delegataire", function(event) {      $("#formulaire").on("click","#add_delegataire", function(event) {
683          popupIt('delegataire',          popupIt('delegataire',
684                  '../scr/sousform.php?obj=delegataire&action=0'+                  '../scr/sousform.php?obj=delegataire&action=0'+
685                  '&retourformulaire=demande', 780, 500,                  '&retourformulaire=demande', 860, 'auto',
686                  getDemandeurId, 'delegataire');                  getDemandeurId, 'delegataire');
         changeDemandeurType('qualite');  
         addSearchIcon();  
         addDivDialog('.bloc_demandeur');  
687      });      });
688      // Bind de la fonction permettant l'ajout des pétitionnaires      // Bind de la fonction permettant l'ajout des pétitionnaires
689      $("#formulaire").on("click","#add_petitionnaire", function(event) {      $("#formulaire").on("click","#add_petitionnaire", function(event) {
690          popupIt('petitionnaire',          popupIt('petitionnaire',
691                  '../scr/sousform.php?obj=petitionnaire&action=0'+                  '../scr/sousform.php?obj=petitionnaire&action=0'+
692                  '&retourformulaire=demande', 780, 500,                  '&retourformulaire=demande', 860, 'auto',
693                  getDemandeurId, 'petitionnaire');                  getDemandeurId, 'petitionnaire');
         changeDemandeurType('qualite');  
         addSearchIcon();  
         addDivDialog('.bloc_demandeur');  
694      });      });
695    
           
696      url = document.location + "" ;      url = document.location + "" ;
697      if (url.indexOf("form.php?obj=demande") != -1      if ((
698            url.indexOf("form.php?obj=demande&") != -1 ||
699            url.indexOf("form.php?obj=dossier&") != -1 ||
700            url.indexOf("form.php?obj=dossier_instruction&") != -1
701            )
702            && url.indexOf("&action=3") == -1) {
703    
704            formatFieldReferenceCadastrale();
705        }
706        
707        if (url.indexOf("form.php?obj=demande&") != -1
708            && (url.indexOf("&action=3") == -1
709            && url.indexOf("&action=2") == -1
710            && $(".form-is-valid").size() == 0)) {
711            
712            addButtonCadastraleAdesse();
713            changeDemandeType();
714        }
715        
716        // Ajout de demande
717        if ((url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
718            || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)
719          && url.indexOf("&action=0") != -1 ){          && url.indexOf("&action=0") != -1 ){
720    
721          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
722          hideFields();          hideFields();
723      }      }
724          
725     if (url.indexOf("form.php?obj=demande") != -1      // Ajout de demande sur dossier existant
726          && url.indexOf("&action=1") != -1 ){      if (url.indexOf("form.php?obj=demande_dossier_existant&") != -1
727                    && url.indexOf("&action=0") != -1 ){
728    
729            /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
730            hideFields();
731            changeDemandeType();
732        }
733        
734        // Modification de demande
735        if (
736            (
737                url.indexOf("form.php?obj=demande&") != -1
738                || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
739                || url.indexOf("form.php?obj=demande_dossier_existant&") != -1
740            )
741            && url.indexOf("&action") == -1
742        ){
743    
744          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale();
745     }      }
746        
747        //Gestion de la commission
748        $( "#tabs" ).tabs();
749          
750        // Affichage du tableau des dossier_commission au clique
751        $("#dossier_planifie").click(function() {
752            
753            var params = extractUrlParams();
754            idx = params['idx'];
755    
756            ajaxIt(
757                'dossier_commission',
758                '../scr/soustab.php?obj=dossier_commission&idxformulaire='+
759                idx +
760                '&retourformulaire=commission');
761        });
762        
763        // Affichage du tableau des dossier_commission posssible au clique
764        $('#commission_dossiers_plannifier_retirer').click(
765            function(){
766                
767                var params = extractUrlParams();
768                idx = params['idx'];
769                
770                $('#tabs-2').empty();
771                ajouterTableauDossierCommissionPossible(idx);
772            }
773        );
774        
775        //Suppression du message et des données dans le champ dossier
776        $('#commission_dossiers_plannifier_numero').click(
777            function(){
778                
779                $('#tabs-3 .message').remove();
780                $('#tabs-3 #dossier').val("");
781            }
782        );
783  });  });
784    
785  /*  /*
786   * Action sur les champs pour les références cadastrales   * Action sur les champs pour les références cadastrales
787   */   */
788  function formatFieldReferenceCadastrale(){  function formatFieldReferenceCadastrale(){
789    
790      addNewFieldReferencesCadastrales();      addNewFieldReferencesCadastrales();
791      $('#terrain_references_cadastrales').parent().parent().hide();      $('#terrain_references_cadastrales').parent().parent().hide();
792            
793        url = document.location + "";
794    
795      reference_cadastrale = $('#terrain_references_cadastrales').val();      reference_cadastrale = $('#terrain_references_cadastrales').val();
796      /*Formatage de la reference cadastrale*/      /*Formatage de la reference cadastrale*/
797      if ( reference_cadastrale != '' ){      if ( reference_cadastrale != '' ){
# Line 496  function formatFieldReferenceCadastrale( Line 851  function formatFieldReferenceCadastrale(
851                  }                  }
852                            
853              /* Récupère les séparateurs [ A / ] et les sections */              /* Récupère les séparateurs [ A / ] et les sections */
854              m = 0 ;              m = 0 ; // Nombre de suffixe
855              if ( k < references_cadastrales[l].length ){              if ( k < references_cadastrales[l].length ){
856                                    
857                  for ( j = k ; j < references_cadastrales[l].length ; j++ )                  for ( j = k ; j < references_cadastrales[l].length ; j++ )
# Line 555  function formatFieldReferenceCadastrale( Line 910  function formatFieldReferenceCadastrale(
910      }      }
911  }  }
912    
913  /*  /**
914   * Ajoute les icônes pour la recherche de pétitionnaire fréquent.   * Ajoute les icônes pour la recherche de pétitionnaire fréquent.
915   */   */
916  function addSearchIcon(){  function addSearchIcon(){
917        
918      /*Ajout de l'icône après le champs du prénom du particulier*/      $("#form-content:not(.form-is-valid) .search_fields").each(
919      $('.search_particulier_fields input').          function() {
920      last().              //Ajout de l'icône après le champs dénomination et nom de la personne morale*/
921      after(              $(this).append(
         '<span '+  
             'class="om-icon om-icon-16 om-icon-fix search-part-16" '+  
             'title="Chercher un petitionnaire">'+  
         '</span>'  
     );  
       
     /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/  
     $('.search_personne_morale_fields input').each(  
         function(){  
             $(this).  
             after(  
922                  '<span '+                  '<span '+
923                      'class="om-icon om-icon-16 om-icon-fix search-mor-16" '+                      'class="om-icon om-icon-16 om-icon-fix search-frequent-16" '+
924                      'title="Chercher un petitionnaire"> '+                      'title="Chercher un frequent"> '+
925                  '</span>'                  '</span>'
926              );              );
927          }          }
928      );      );
929            
930      addActionSearchIcon('#sousform-petitionnaire #form-content');      /*Ajout des actions sur les boutons*/
931        addActionSearchIcon();
932        addActionRemove();
933    
934  }  }
935    
936  /*  /**
937   * Ajoute les actions sur les icônes de recherche   * Fonction permettant de revenir sur le formulaire d'ajout de demandeur
938     **/
939    function addActionRemove(){
940        $('.erase-petitionnaire').click(
941            function(){
942                ajaxIt('petitionnaire','../scr/sousform.php?obj=petitionnaire&action=0');
943        });
944    }
945    
946    /**
947     * Vérifie que les champs necessaires sont remplis et retourne les données necessaires
948     * sous forme de tableau JSOn
949   */   */
950  function addActionSearchIcon(id){  function getDataSearch(){
951            
952      /*Si on recherche un pétitionnaire de type particulier*/      //Il faut un minimum de trois lettres pour lancer la recherche
953      $(' .search-part-16').click(      var minChar = false;
954        //Récupération des données
955        var dataJson = "{";
956        $('.search_fields input').each(
957          function(){          function(){
958                            if ( $(this).val().length >= 3 ){
959              /*Le champ nom du particulier doit contenir au moins trois lettres*/                  minChar = true;
             if ( $('#particulier_nom').val().length < 3 ||  
                 $('#particulier_prenom') < 3 ){  
                   
                 alert('Saisissez au moins trois lettres pour la recherche');  
                 return;  
960              }              }
961                            
962              /*Données des champs nom et prénom du particulier*/              var idInput = $(this).attr("id");
963              var donnees = "?qualite=particulier"+              var valInput = $(this).val();
964                  "&par_nom=" + $('.search_particulier_fields #particulier_nom').val() +              dataJson += "\"" + idInput + "\":\"" + valInput + "\",";
                 "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val();  
   
             /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)  
              * correspondant(s) à la recherche */  
             $.ajax({  
                 type: "GET",  
                 url: "../app/findPetitionnaire.php" + donnees ,  
                 cache: false,  
                 success: function(html){  
                       
                     res = 'Auncune correspondance trouvée.';  
                       
                     /*Si la recherche a donné des résultats*/  
                     if ( html.length > 2 ){  
                           
                         res = '' ;  
                         donnees = html.split(';');  
                         nbRes = donnees.length;  
                           
                         /*Limitation des résultats à 50 */  
                         if ( nbRes > 50 ){  
                               
                             nbRes = 50;  
                             res = 'Votre recherche a donn&eacute; ' + donnees.length  
                                 + ' r&eacute;sultats. Seul les cinquantes premiers ' +  
                                 'seront affich&eacute;s.<br/>';  
                         }  
                           
                         res += '<select>' ;  
                           
                         /* Met les résultats de la recherche dans un select */  
                        for ( i = 0 ; i < nbRes - 1 ; i++ ){  
   
                             val = donnees[i].replace('"', '');  
                             line = donnees[i].split('_');  
                               
                             if ( line[3] != '' ){  
                                   
                                 line[3] = ' - ' + line[3];  
                             }  
                               
                             res += '<option value="' + val + '">' +  
                                         line[1] + ' ' + line[2] + line[3] +  
                                    '</option>';  
                         }  
                           
                         res += '</select>' ;  
                     }  
                       
                     /* Affichage de l'overlay */  
                     $('#dialog').html(res);  
                         
                     $( "#dialog" ).dialog({  
                         modal: true,  
                         buttons : {  
                             Valider: function(){  
                                   
                                 /*Action à l'appui sur le bouton valider*/  
                                 if ( res != 'Auncune correspondance trouvée.' ){  
                                       
                                     /*Vide les valeurs des champs*/  
                                     emptyFields(id);  
                                       
                                     donnees = $('#dialog select option:selected').val();  
                                     donnees = donnees.split('_');  
                                       
                                     if ( $.isNumeric(donnees[4]) ){  
                                         $('#particulier_civilite ' +  
                                             'option[value="' + $.trim(donnees[4]) + '"]').  
                                         attr('selected','selected');  
                                     }  
                                       
                                     $('#particulier_nom').  
                                     val($.trim(donnees[1]));  
                                       
                                     $('#particulier_prenom').  
                                     val($.trim(donnees[2]));  
                                       
                                     /*Vérifie si la date est non vide avant de la traiter*/  
                                     date_temp = $.trim(donnees[3]);  
                                     if ( date_temp != '' ){  
                                           
                                         date = date_temp.split('-');  
                                         date = date[2] + "/" + date[1] + "/" + date[0] ;  
                                         $('#particulier_date_naissance').  
                                         val(date);  
                                           
                                     }  
                                     $('#particulier_commune_naissance').  
                                     val($.trim(donnees[10]));  
                                     $('#particulier_departement_naissance').  
                                     val($.trim(donnees[11]));  
                                       
                                     changeValInputDemandeur(donnees);  
                                 }  
                                   
                                 /*Fermeture de l'overlay*/  
                                 $(this).dialog( "close" );  
                             }  
                         }  
                     });  
                 },  
                 async: false  
             });  
965          }          }
966      );      );
967        if (!minChar){
968            alert('Saisissez au moins trois lettres pour la recherche');
969            return "";
970        }
971            
972      /*Si on recherche un pétitionnaire de type personne morale*/      dataJson = $.parseJSON(dataJson.substring(0,dataJson.length-1)+"}");
973      $('.search-mor-16').click(      //Données sous forme d'un tableau JSON
974        return dataJson;
975    }
976    
977    /*
978     * Ajoute les actions sur les icônes de recherche
979     */
980    function addActionSearchIcon(){
981        
982        //Selon l'objet dans lequel on se trouve
983        var objName = '';
984        var objReturn = '';
985        if ( $('#demandeur').length == 1 ){
986            objName = 'petitionnaire';
987            objReturn = 'demande';
988        }
989        else if($('#architecte').length == 1){
990            objName = 'architecte';
991            objReturn = 'donnees_techniques';
992        }
993        
994        $('.search-frequent-16').click(
995          function(){          function(){
996                            //Récupération des données
997              /*Le champ nom du particulier doit contenir au moins trois lettres*/              dataJson = getDataSearch();
998              if ( $('#personne_morale_denomination').val().length < 3 ||              //Si ce n'est pas un tableau JSON on n'exécute pas le reste du code
999                  $('#personne_morale_nom') < 3 ){              if ( typeof dataJson !== 'object' ){
                   
                 alert('Saisissez au moins trois lettres pour la recherche');  
1000                  return;                  return;
1001              }              }
1002                            
1003              /*Données des champs dénomination et nom de la personne morale*/              //Requête qui va récupérer les données du addSearchIcon(es)
1004              var donnees = "?qualite=personne_morale"+              //pétitionnaire(s) correspondant(s) à la recherche
                 "&mor_denomination="+$('#personne_morale_denomination').val() +  
                 "&mor_nom="+$('#personne_morale_nom').val();  
                   
             /* Requête qui va récupérer les données du(es) pétitionnaire(s)  
              * correspondant(s) à la recherche */      
1005              $.ajax({              $.ajax({
1006                  type: "GET",                  type: "POST",
1007                  url: "../app/findPetitionnaire.php" + donnees ,                  dataType: "json",
1008                    data: dataJson,
1009                    url: "../app/find" + objName.charAt(0).toUpperCase() + objName.substring(1) + ".php" ,
1010                  cache: false,                  cache: false,
1011                  success: function(html){                  success: function(obj){
1012                                            var freq = obj;
1013                      res = 'Auncune correspondance trouvée.';                      var res='';
   
1014                      /*Si la recherche a donné des résultats*/                      /*Si la recherche a donné des résultats*/
1015                      if ( html.length > 2 ){                      if ( freq.length > 0 ){
                           
                         res = '' ;  
                         donnees = html.split(';');  
                         nbRes = donnees.length;  
                           
1016                          /*Limitation des résultats à 50 */                          /*Limitation des résultats à 50 */
1017                          if ( nbRes > 50 ){                          if ( freq.length > 50 ){
1018                                                            
1019                              nbRes = 50;                              nbRes = 50;
1020                              res = 'Votre recherche a donn&eacute; ' + donnees.length                              res += 'Votre recherche a donn&eacute; ' + freq.length
1021                                  + ' r&eacute;sultats. Seul les cinquantes premiers ' +                                  + ' r&eacute;sultats. Seul les cinquantes premiers ' +
1022                                  'seront affich&eacute;s.<br/>';                                  'seront affich&eacute;s.<br/>';
1023                            } else {
1024                                nbRes = freq.length;
1025                          }                          }
1026                                                    
1027                          res += '<select>' ;                          res += '<select id="select-'+objName+'">' ;
1028                                                    
1029                          /* Met les résultats de la recherche dans un select */                          /* Met les résultats de la recherche dans un select */
1030                          for ( i = 0 ; i < nbRes - 1 ; i++ ){                         for ( i = 0 ; i < nbRes ; i++ ){
1031                                res += '<option value="' + freq[i].value + '">' +
1032                              val = donnees[i].replace('"', '');                                          freq[i].content +
1033                              line = donnees[i].split('_');                                     '</option>';
                               
                             res += '<option value="' + val + '">' +  
                                         line[5] + ' ' + line[6] +  
                                     '</option>';  
1034                          }                          }
1035                                                    
1036                          res += '</select>' ;                          res += '</select>';
1037                        } else {
1038                            res += 'Aucune correspondance trouvée.';
1039                      }                      }
1040                                            
1041                        addDivDialog('#sousform-' + objName);
1042                      /* Affichage de l'overlay */                      /* Affichage de l'overlay */
1043                      $('#dialog').html(res);                      $('#dialog').html(res);
1044                                                
# Line 779  function addActionSearchIcon(id){ Line 1046  function addActionSearchIcon(id){
1046                          modal: true,                          modal: true,
1047                          buttons : {                          buttons : {
1048                              Valider: function(){                              Valider: function(){
1049                                                                    if ( res != 'Aucune correspondance trouvée.'){
1050                                  /*Vide les valeurs des champs*/                                      var id = $('#select-'+objName+' option:selected').val();
1051                                  emptyFields(id);                                      if($.isNumeric(id)) {
1052                                                                            ajaxIt(objName,
1053                                  /*Action à l'appui sur le bouton valider*/                                          '../scr/sousform.php?obj=' + objName +
1054                                  if ( res != 'Auncune correspondance trouvée.' ){                                          '&action=1&retourformulaire=' + objReturn +
1055                                      donnees = $('#dialog select option:selected').val();                                          '&idx='+id
1056                                      donnees = donnees.split('_');                                          );
                                                                           
                                     if ( $.isNumeric(donnees[8]) ){  
                                           
                                         $('#personne_morale_civilite ' +  
                                             'option[value="' + $.trim(donnees[8]) + '"]').  
                                         attr('selected','selected');  
1057                                      }                                      }
                                       
                                     $('#personne_morale_denomination').  
                                     val($.trim(donnees[5]));  
                                       
                                     $('#personne_morale_raison_sociale').  
                                     val($.trim(donnees[12]));  
                                       
                                     $('#personne_morale_siret').  
                                     val($.trim(donnees[6]));  
                                       
                                     $('#personne_morale_categorie_juridique').  
                                     val($.trim(donnees[13]));  
                                       
                                     $('#personne_morale_nom').  
                                     val($.trim(donnees[7]));  
                                       
                                     $('#personne_morale_prenom').  
                                     val($.trim(donnees[9]));  
                                       
                                     changeValInputDemandeur(donnees);  
1058                                  }                                  }
1059                                                                    // Fermeture de l'overlay
                                 /*Fermeture de l'overlay*/  
1060                                  $(this).dialog( "close" );                                  $(this).dialog( "close" );
1061                                    $(this).remove();
1062                              }                              }
1063                            },
1064                            close: function(){
1065                                $(this).remove();
1066                          }                          }
1067                      });                      });
1068                  },                  },
                 async: false  
1069              });              });
1070          }          }
1071      );      );
       
 }  
   
 /*  
  * Vide les champs avant d'y mettre les nouvelles informations  
  */  
 function emptyFields(id){  
     $(id + ' input').each(  
         function(){  
             $(this).val('');  
         }  
     );  
       
     $(id + ' select option[value=""]').each(  
         function(){  
               
             /*Ne pas remettre à zéro le select concernant la qualite du demandeur*/  
             if ( $(this).attr('id') != 'qualite' ) {  
                   
                 $(this).attr('selected', 'selected');  
             }  
         }  
     );  
       
     $(id + ' input[type="checkbox"]').each(  
         function(){  
             $(this).val('');  
             $(this).removeAttr('checked');  
         }  
     );  
 }  
   
 /*  
     Change les valeurs des champs en commun des particuliers et des personnes morales  
     Lié à la fonction addActionSearch  
       
  * */  
 function changeValInputDemandeur( donnees){  
       
     $('input[id="demandeur"]').val($.trim(donnees[0]));  
       
     /*Teste si la valeur retournée est TRUE*/  
     if ( donnees[28] === 't' ){  
           
         $('#notification').attr('checked', 'checked');  
         $('#notification').val('Oui');  
     }  
       
     $('#sousform-petitionnaire #frequent').attr('checked','checked');  
     $('#sousform-petitionnaire #frequent').val('Oui');  
     $('#sousform-petitionnaire #numero').val($.trim(donnees[14]));  
     $('#sousform-petitionnaire #voie').val($.trim(donnees[15]));  
     $('#sousform-petitionnaire #complement').val($.trim(donnees[16]));  
     $('#sousform-petitionnaire #lieu_dit').val($.trim(donnees[17]));  
     $('#sousform-petitionnaire #localite').val($.trim(donnees[18]));  
     $('#sousform-petitionnaire #code_postal').val($.trim(donnees[19]));  
     $('#sousform-petitionnaire #bp').val($.trim(donnees[20]));  
     $('#sousform-petitionnaire #cedex').val($.trim(donnees[21]));  
     $('#sousform-petitionnaire #pays').val($.trim(donnees[22]));  
     $('#sousform-petitionnaire #division_territoriale').val($.trim(donnees[23]));  
     $('#sousform-petitionnaire #telephone_fixe').val($.trim(donnees[24]));  
     $('#sousform-petitionnaire #telephone_mobile').val($.trim(donnees[25]));  
     $('#sousform-petitionnaire #indicatif').val($.trim(donnees[26]));  
     $('#sousform-petitionnaire #courriel').val($.trim(donnees[27]));  
     $('#sousform-petitionnaire #type_demandeur').val($.trim(donnees[29]));  
1072  }  }
1073    
1074  /*  /*
# Line 906  function addDivDialog(id){ Line 1084  function addDivDialog(id){
1084   * */   * */
1085  function changeDemandeurType(id){  function changeDemandeurType(id){
1086    
1087        /*Réinitialise les champs et cache les champs inutiles selon la qualité du demandeur*/
1088      /*Si la qualite du demandeur est particulier */      /*Si la qualite du demandeur est particulier */
1089      if ( $('#' + id + ' option:selected').val() == 'particulier' ){      if ( $('#' + id ).val() == 'particulier' ){
1090                    
1091          $('.personne_morale_fields input').each(          $('.personne_morale_fields input').each(
1092              function(){              function(){
# Line 923  function changeDemandeurType(id){ Line 1102  function changeDemandeurType(id){
1102          $('.personne_morale_fields').hide();          $('.personne_morale_fields').hide();
1103          $('.particulier_fields').show();          $('.particulier_fields').show();
1104      }      }
1105        /*Si c'est une personne morale*/
1106      else {      else {
1107                    
1108         $('.particulier_fields input').each(         $('.particulier_fields input').each(
# Line 942  function changeDemandeurType(id){ Line 1122  function changeDemandeurType(id){
1122  }  }
1123    
1124  /*  /*
1125      Function de test des champs      Fonction de test des champs
1126   * */   * */
1127  function isAlpha(str) {  function isAlpha(str) {
1128      return /^[a-zA-Z\/]+$/.test(str);      return /^[a-zA-Z\/]+$/.test(str);
# Line 965  function testSeparator(obj){ Line 1145  function testSeparator(obj){
1145          obj.value = '';          obj.value = '';
1146      }      }
1147  }  }
1148    /* Fin fonction test */
 /* FIN */  
1149    
1150  /*  /*
1151      Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de   *  Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
1152      référence cadastrale   *  référence cadastrale
1153   * */  */
1154  function actionFormReferenceCadastrale(){  function actionFormReferenceCadastrale(){
1155        
1156      $('form').submit(      $('form').submit(
1157          function(){          function(){
1158                            
1159              getDataFieldReferenceCadastrale();              getDataFieldReferenceCadastrale();
1160          }          }
1161      );      );
1162        if( $("form[name=f1] .form-is-valid").size() == 0) {
1163    
1164      $('#moreFieldReferenceCadastrale' +          $('#moreFieldReferenceCadastrale' +
1165          ($('.moreFieldReferenceCadastrale').length - 1 )).              ($('.moreFieldReferenceCadastrale').length - 1 )).
1166      on("click", function() {          on("click", function() {
1167          $(this).before(newInputReferenceCadastrale());              
1168      });              $(this).before(newInputReferenceCadastrale());
1169            });
1170        }
1171            
1172  }  }
1173    
# Line 996  function getDataFieldReferenceCadastrale Line 1179  function getDataFieldReferenceCadastrale
1179      var reference_cadastrale = '';      var reference_cadastrale = '';
1180      var reference_cadastrale_temp = '';      var reference_cadastrale_temp = '';
1181            
1182        /*Pour chacun des champs du formulaire de saisie de référence cadastrale*/
1183      $('.reference_cadastrale_custom_field').each(      $('.reference_cadastrale_custom_field').each(
1184          function(){          function(){
1185                            
1186                /*Si on est à la fin d'une ligne de champs*/
1187              if ( $(this).val() == ';' ){              if ( $(this).val() == ';' ){
1188                                    
1189                  reference_cadastrale_bis = reference_cadastrale_temp ;                  reference_cadastrale_bis = reference_cadastrale_temp ;
1190                                    
1191                    /* Vérifie que les données sont correctement formatées avant de
1192                     * les ajouter au résultat*/
1193                  while( reference_cadastrale_bis != ''){                  while( reference_cadastrale_bis != ''){
1194                      if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*)*$/.test(reference_cadastrale_bis) ){                      if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*)*$/.test(reference_cadastrale_bis) ){
1195                                                    
# Line 1015  function getDataFieldReferenceCadastrale Line 1202  function getDataFieldReferenceCadastrale
1202                      }                          }    
1203                  }                  }
1204                                    
                   
1205                  reference_cadastrale_temp = '';                  reference_cadastrale_temp = '';
1206              }              }
1207                            
1208              else {              else {
1209                                    
1210                    /*Sinon, on récupère la valeur du champ*/
1211                  reference_cadastrale_temp += $(this).val();                  reference_cadastrale_temp += $(this).val();
1212              }              }
               
1213          }          }
1214      );      );
1215        
1216        /*Met la valeur du résultat dans le champs généré par le framework*/
1217      $('#terrain_references_cadastrales').val(reference_cadastrale);      $('#terrain_references_cadastrales').val(reference_cadastrale);
1218  }  }
1219    
1220  /*  /*
1221      Action pour l'ajout de nouvelle ligne      Action pour l'ajout de nouvelle ligne dans le formulaire d'ajout
1222        de référence cadastrale
1223   * */   * */
1224  function actionLineFormReferenceCadastrale(){  function actionLineFormReferenceCadastrale(){
1225      $('#morelineReferenceCadastrale').click(      if( $("form[name=f1] .form-is-valid").size() == 0) {
1226          function(){  
1227                        $('#morelineReferenceCadastrale').click(
1228              $('.reference_cadastrale_custom_fields').              function(){
1229              append( "<br/>" + fieldReferenceCadastraleBase());                  
1230                                /*Ajout des trois champs de base*/
1231              $('#moreFieldReferenceCadastrale'+                  $('.reference_cadastrale_custom_fields').
1232                  ($('.moreFieldReferenceCadastrale').length - 1 )).                  append( "<br/>" + fieldReferenceCadastraleBase());
1233              on("click", function() {  
1234                  $(this).before(newInputReferenceCadastrale());                  /*Ajout du bind pour l'ajout de nouveaux champs*/
1235              });                  $('#moreFieldReferenceCadastrale'+
1236                                    ($('.moreFieldReferenceCadastrale').length - 1 )).
1237                                on("click", function() {
1238          }                      $(this).before(newInputReferenceCadastrale());
1239      );                  });
1240                }
1241            );
1242        }
1243  }  }
1244    
1245  /*  /*
# Line 1056  function actionLineFormReferenceCadastra Line 1247  function actionLineFormReferenceCadastra
1247      dossier_autorisation_type_detaille est choisi      dossier_autorisation_type_detaille est choisi
1248   * */   * */
1249  function changeDemandeType(){  function changeDemandeType(){
1250        
1251      var idDossierAutorisationTypeDetaille =      var idDossierAutorisationTypeDetaille =
1252          $("#dossier_autorisation_type_detaille option:selected").val();          $("#dossier_autorisation_type_detaille").val();
1253                
1254      /* Récupère les données saisies dans les champs pour la référence cadastrale */      /* Récupère les données saisies dans les champs pour la référence cadastrale */
1255      getDataFieldReferenceCadastrale();          getDataFieldReferenceCadastrale();
1256            
1257        /*Si l'identifiant fourni est correct*/
1258      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
1259                    
1260          changeDataSelect('demande_type','dossier_autorisation_type_detaille');          /*Met à jour le select de demande_type avec les données correspondant*/
1261          if ( $('#demande_type option').size() < 2 )          changeDemandeTypeDataSelect();
1262            if ( $('#demande_type option').size() < 2 ) {
1263              showFormsDemande();              showFormsDemande();
1264                    }
        $('#demande_type').parent().parent().show();  
1265                
1266         formatFieldReferenceCadastrale();         /*Affiche le select*/
1267           $('#demande_type').parent().parent().show();
1268           if($('#demande_type').val() == '' ) {
1269                $('.demande_hidden_bloc').each(
1270                    function(){
1271                        $(this).hide();
1272                    }
1273                );
1274                $('input[type=submit]').hide();
1275           }
1276      }      }
1277      else {      else {
1278            
1279            /*Sinon, cache tous les champs du formulaire*/
1280          hideFields();          hideFields();
1281      }      }
1282  }  }
# Line 1082  function changeDemandeType(){ Line 1285  function changeDemandeType(){
1285      Ajoute le code HTML des champs pour les références cadastrales      Ajoute le code HTML des champs pour les références cadastrales
1286   * */   * */
1287  function addNewFieldReferencesCadastrales(){  function addNewFieldReferencesCadastrales(){
1288      $('.references_cadastrales_new_field').remove();  
1289      $('.moreFieldReferenceCadastrale').remove();      var html = '<div class="field field-type-text references_cadastrales_new_field" >'+
     $('#morelineReferenceCadastrale').remove();  
     $('.buttonCadAdr').remove();  
     $('.localisation .fieldsetContent').prepend(  
        '<div class="field field-type-text references_cadastrales_new_field" >'+  
1290              '<div class="form-libelle">' +              '<div class="form-libelle">' +
1291                  '<label '+                  '<label '+
1292                      'class="libelle-terrain_references_cadastrales" '+                      'class="libelle-terrain_references_cadastrales" '+
1293                      'for="terrain_references_cadastrales">'+                      'for="terrain_references_cadastrales">'+
1294                      ' terrain_references_cadastrales '+                      ' Références cadastrales '+
1295                  '</label>' +                  '</label>' +
1296              '</div>' +              '</div>' +
1297              '<div class="form-content reference_cadastrale_custom_fields">' +              '<div class="form-content reference_cadastrale_custom_fields">' +
1298                   fieldReferenceCadastraleBase() +                   fieldReferenceCadastraleBase() +
1299              '</div>' +              '</div>' +
1300         '</div>' +          '</div>';
1301         '<div class="field field-type-text" id="morelineReferenceCadastrale">' +      
1302        url = document.location + "";
1303        if((getDemandeInfo('nature') == 'NOUV' || getDemandeInfo('nature') == 'NONE' ) && $(".form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {
1304            html += '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
1305              '<div class="form-libelle"></div>' +              '<div class="form-libelle"></div>' +
1306              '<div class="form-content">' +              '<div class="form-content">' +
1307                  ' + ajouter d\'autres lignes' +                  '<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres lignes</span>' +
             '</div>' +  
        '</div>'        
    );  
    $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +  
             '<div class="form-libelle"></div>' +  
             '<div class="form-content buttonCadAdr">' +  
                 '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +  
1308              '</div>' +              '</div>' +
1309         '</div>' );         '</div>';
1310        }
1311    
1312        $('.references_cadastrales_new_field').remove();
1313        $('.moreFieldReferenceCadastrale').remove();
1314        $('#morelineReferenceCadastrale').remove();
1315        $('#terrain_references_cadastrales').parent().parent().before(
1316            html
1317        );
1318    }
1319    
1320    function addButtonCadastraleAdesse(){
1321        
1322        $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
1323            '<div class="form-libelle"></div>' +
1324            '<div class="form-content buttonCadAdr">' +
1325                '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
1326            '</div>' +
1327       '</div>' );
1328  }  }
1329    
1330  /*  /*
1331      Séparateur caché ;      Séparateur caché ; pour marqué la fin d'une ligne de référence cadastrale
1332   * */   * */
1333  function hiddenSeparatorField(){  function hiddenSeparatorField(){
1334    
1335      return '<input ' +      return '<input ' +
1336                  'class="reference_cadastrale_custom_field " ' +                  'class="reference_cadastrale_custom_field" ' +
1337                  'type="hidden" ' +                  'type="hidden" ' +
1338                  'maxlength="2" ' +                  'maxlength="2" ' +
1339                  'size="2" ' +                  'size="2" ' +
1340                  'value=";" />';                  'value=";" />';
1341  }  }
1342    
1343    /**
1344     * Retourne l'info passée en paramètre (nature de la demande ou type de la demande)
1345     **/
1346    function getDemandeInfo(info) {
1347        var id_demande_type = $('#demande_type').val();
1348        var res = "";
1349        if ( typeof id_demande_type !== "undefined" ){
1350            $.ajax({
1351                type: "GET",
1352                url: "../app/getDemandeInfo.php?iddemandetype=" + id_demande_type
1353                        + "&info=" + info,
1354                cache: false,
1355                async: false,
1356                success: function(val){
1357                    res = val;
1358                }
1359            });
1360        }
1361        else {
1362            
1363            res = "NONE"
1364        }
1365        return res;
1366    }
1367  /*  /*
1368      Ajout d'une nouvelle ligne de champ      Ajout d'une nouvelle ligne de champ de référence cadastrale
1369        Retourne le code HTML
1370   * */   * */
1371  function fieldReferenceCadastraleBase(){  function fieldReferenceCadastraleBase(){
1372      return '<input ' +      
1373        url = document.location + "";
1374        
1375        var type = getDemandeInfo('nature');
1376        var reference_cadastrale = '<input ' +
1377                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1378                  'type="text" ' +                  'type="text" ' +
1379                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this)" ' +
1380                  'maxlength="4" ' +                  'maxlength="4" ' +
1381                  'size="4" ' +                  'size="4" '+
1382                  'value="" />' +                  'placeholder="Quart." ';
1383              '<input ' +                  
1384        // désactivation des champs de référence cadastrale
1385        if( (type != 'NOUV' &&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1386            reference_cadastrale += 'disabled="disabled" ';
1387        }
1388        
1389        reference_cadastrale += 'value="" />';
1390    
1391        reference_cadastrale += '<input ' +
1392                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1393                  'type="text" ' +                  'type="text" ' +
1394                  'maxlength="3" ' +                  'maxlength="3" ' +
1395                  'size="3" ' +                  'size="3" '+
1396                  'value="" '+                  'placeholder="Sect." ';
1397                  'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>' +      
1398              '<input ' +      // désactivation des champs de référence cadastrale
1399        if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1400            reference_cadastrale += 'disabled="disabled" ';
1401        }
1402        
1403        reference_cadastrale += 'value="" '+
1404                    'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>';
1405        reference_cadastrale += '<input ' +
1406                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1407                  'type="text" ' +                  'type="text" ' +
1408                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this)" ' +
1409                  'maxlength="5" ' +                  'maxlength="5" ' +
1410                  'size="5" ' +                  'size="5" '+
1411                  'value="" />' +                  'placeholder="Parc." ';
1412              '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +      
1413                  hiddenSeparatorField() +      // désactivation des champs de référence cadastrale
1414                  ' + ajouter d\'autres champs' +      if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1415              '</span>';          reference_cadastrale += 'disabled="disabled" ';
1416        }
1417        
1418        reference_cadastrale += 'value="" />';
1419    
1420        reference_cadastrale += '<span id="moreFieldReferenceCadastrale' +
1421            $('.moreFieldReferenceCadastrale').length +
1422            '" class="moreFieldReferenceCadastrale">' + hiddenSeparatorField();
1423    
1424        // Si form validé pas de bouton
1425        url = document.location + "";
1426        if( (type == 'NOUV' ||  type == 'NONE') && $("form[name=f1] .form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {
1427    
1428            reference_cadastrale +=
1429                '<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres champs</span>';
1430        }
1431    
1432        reference_cadastrale += '</span>';
1433        
1434        return reference_cadastrale;
1435  }  }
1436    
1437  /**  /**
1438   * Cache les champs inutules   * Cache les champs inutules [formulaire de demande]
1439   **/   **/
1440  function hideFields(){  function hideFields(){
1441      $('.demande_hidden_bloc').each(      $('.demande_hidden_bloc').each(
# Line 1173  function hideFields(){ Line 1450  function hideFields(){
1450  }  }
1451    
1452  /*  /*
1453      Affiche les champs dont on a besoin      Affiche les champs dont on a besoin dans le formulaire de demande
1454   * */   * */
1455  function showFormsDemande(){  function showFormsDemande(){
     $('.demande_hidden_bloc').each(  
         function(){  
             $(this).show();  
         }  
     );  
1456            
     $('.field-type-text').show();  
     $('input[type=submit]').show();  
     $('.terrain_references_cadastrales_custom').hide();  
1457            
1458      $('#terrain_references_cadastrales').parent().parent().hide();      if($('#demande_type').val() != "") {
1459    
1460            $('.demande_hidden_bloc').each(
1461                function(){
1462                    $(this).show();
1463                }
1464            );
1465            formatFieldReferenceCadastrale(1);
1466            $('.field-type-text').show();
1467            $('input[type=submit]').show();
1468            $('.terrain_references_cadastrales_custom').hide();
1469            
1470            $('#terrain_references_cadastrales').parent().parent().hide();
1471    
1472            //Vérification des contraintes de récupération des demandeurs si
1473            // pas de récupération, on efface la liste
1474            if(getDemandeInfo('contraintes') == 'sans_recup') {
1475                if($('input[name=petitionnaire_principal]').size() != -1) {
1476                    removeDemandeur("petitionnaire_principal_" + $('input[name=petitionnaire_principal]').val());
1477                }
1478                if($('input[name=delegataire]').size() != -1) {
1479                    removeDemandeur("delegataire_" + $('input[name=delegataire]').val());
1480                }
1481    
1482                $('#listePetitionnaires input.demandeur_id').each(function(){
1483                    if($(this).size() != -1) {
1484    
1485                        removeDemandeur("petitionnaire_" + $(this).val());
1486                    }
1487                });
1488            } else if ( getDemandeInfo('contraintes') == 'avec_recup' ) {
1489                            //Récupération des demandeurs si la contrainte le permet
1490                $.ajax({
1491                    type: "GET",
1492                    url: "../app/getDemandeurList.php?dossier_autorisation=" + $('#dossier_autorisation').val(),
1493                    cache: false,
1494                    async: false,
1495                    success: function(html){
1496                        $('#liste_demandeur').replaceWith(html);
1497                    }
1498                });
1499            }
1500            affichageBoutonsDemandeurs();
1501        } else {
1502            
1503            /*Récupère les references cadastrales*/
1504            getDataFieldReferenceCadastrale();
1505            
1506            $('.demande_hidden_bloc').each(
1507                function(){
1508                    $(this).hide();
1509                }
1510            );
1511            $('input[type=submit]').hide();
1512    
1513        }
1514  }  }
1515    
1516  /*  /*
1517      Action au clique sur le bouton " + ajouter d'autres champs"      Action au clique sur le bouton " + ajouter d'autres champs"
1518   * */   * */
1519  function newInputReferenceCadastrale(){  function newInputReferenceCadastrale(){
1520        
1521        // Champs désactivé si le formulaire a été validé et est valide
1522        var type = getDemandeInfo('nature');
1523        var reference_cadastrale_disabled = '';
1524        if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1525            reference_cadastrale_disabled = 'disabled="disabled" ';
1526        }
1527        
1528      return '<input ' +      return '<input ' +
1529              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1530              'type="text" ' +              'type="text" ' +
1531              'maxlength="1" ' +              'maxlength="1" ' +
1532              'size="1" ' +              'size="3" ' +
1533              'value="" ' +              'value="" ' +
1534                'placeholder="Sep." ' +
1535                reference_cadastrale_disabled +
1536              'onchange="testSeparator(this);"/>' +              'onchange="testSeparator(this);"/>' +
1537          '<input ' +          '<input ' +
1538              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
# Line 1206  function newInputReferenceCadastrale(){ Line 1540  function newInputReferenceCadastrale(){
1540              'onchange="VerifNum(this)" ' +              'onchange="VerifNum(this)" ' +
1541              'maxlength="4" ' +              'maxlength="4" ' +
1542              'size="4" ' +              'size="4" ' +
1543                'placeholder="Parc." ' +
1544                reference_cadastrale_disabled +
1545              'value="" />';              'value="" />';
1546  }  }
1547    
# Line 1219  function widget_bind_move_actions() {} Line 1555  function widget_bind_move_actions() {}
1555  function widget_bind_add_action() {}  function widget_bind_add_action() {}
1556  function widget_bind_edit_actions(widget_selector) {}  function widget_bind_edit_actions(widget_selector) {}
1557    
1558    // Cette fonction permet d'associer a un arbre html les fonctions jquery
1559    // necessaires. Elle permet notamment lors du chargement d'une page en ajax
1560    // d'associer le comportement du bouton, la gestion du calendrier et la gestion
1561    // du fieldset.
1562    function om_initialize_content() {
1563        // Gestion du skin des boutons, liens
1564        link_bind_button();
1565        // Gestion du calendrier avec le widget datepicker de jqueryui
1566        inputdate_bind_datepicker();
1567        // Gestion des fieldset avec le plugin collaspsible de jquery
1568        fieldset_bind_collapsible();
1569        // Gestion du picker color avec le plugin minicolors
1570        bind_form_field_rvb();
1571        // Gestion du widget aide à la saisie localisation avec le plugin draggable
1572        // de jqueryui
1573        localisation_bind_draggable();
1574        // Gestion de la redimension automatique des textarea
1575        textarea_autoresize();
1576        
1577    
1578        changeDemandeurType('qualite');
1579        addSearchIcon();
1580        addDivDialog('.bloc_demandeur');
1581        
1582    }
1583    
1584    // Retourne la valeur d'une variable GET de l'URL
1585    function getQuerystring(key, default_)
1586    {
1587      if (default_==null) default_="";
1588      key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
1589      var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
1590      var qs = regex.exec(window.location.href);
1591      if(qs == null)
1592        return default_;
1593      else
1594        return qs[1];
1595    }
1596    
1597    // Récupère l'id de l'enregistrement lié au lot passé en parametre puis appel popupit
1598    function overlayCerfa(idLot) {
1599        $.get("../app/displayLotCerfa.php?lot="+idLot, function(data) {
1600            if(data != '') {
1601                    popupIt('donnees_techniques',
1602                            '../scr/sousform.php?obj=donnees_techniques&idx='+data+
1603                                '&retourformulaire=lot&maj=1&idxformulaire='+idLot,
1604                                950, 700);
1605                    
1606                } else {
1607                    // Si pas d'id retourner on créer un nouvel enregistrement de donnéees techniques
1608                    popupIt('donnees_techniques',
1609                            '../scr/sousform.php?obj=donnees_techniques&retourformulaire=lot&maj=0&idxformulaire='+idLot,
1610                                950, 700);
1611                }
1612    
1613            });
1614    }
1615    
1616    /*
1617     * Marque comme lu une consultation ou commission
1618     */
1619    function portletUpdateData(id, objet, objetc, file, field, message){
1620        
1621        /*Vérifie que l'identifiant passé en paramètre est bien un chiffre
1622         * et que le type d'objet est défini
1623         * */
1624        if ( $.isNumeric(id) && objet != '' ){
1625            
1626            donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc + '&idxDossier=' + getQuerystring('idx');
1627            $.ajax({
1628                type: "GET",
1629                url: "../app/"+file+".php" + donnees ,
1630                cache: false,
1631                success: function(html){
1632                    
1633                    $('#sousform-' + objet + ' .message').remove();
1634                    /*Change la valeur affiché et affiche un message valide*/
1635                    if ( $.parseJSON(html) == "Mise a jour effectue avec succes" ||
1636                    $.parseJSON(html).indexOf("Transfert effectue avec succes") != -1 ){
1637                        
1638                        // On modife le champ field
1639                        if ( field != '' && message != '' ){
1640                            $('#'+field).html(message);
1641                            html = $.parseJSON(html);
1642                        }
1643                        else {
1644                            html = $.parseJSON(html).split(';');
1645                            
1646                            $('#'+field).html(html[0]);
1647                            
1648                            html = html[1];
1649                        }
1650                        
1651                        // On supprime l'action
1652                        $('span.'+field+'-16').parent().parent().remove();
1653                        // On affiche le message
1654                        $('#sousform-' + objet + ' .subtitle').after(
1655                            '<div ' +
1656                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
1657                                '<p>' +
1658                                    '<span class="ui-icon ui-icon-info"></span>' +
1659                                    '<span class="text">' +
1660                                        html +
1661                                    '</span>' +
1662                                '</p>' +
1663                            '</div>'                    
1664                        );
1665                    }
1666                    /*Affichage d'une erreur*/
1667                    else{
1668                        $('#sousform-' + objet + ' .subtitle').after(
1669                            '<div ' +
1670                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-error">' +
1671                                '<p>' +
1672                                    '<span class="ui-icon ui-icon-info"></span>' +
1673                                    '<span class="text">' +
1674                                        $.parseJSON(html) +
1675                                    '</span>' +
1676                                '</p>' +
1677                            '</div>'                    
1678                        );
1679                    }
1680                }
1681            });
1682        }
1683    }
1684    
1685    /*
1686     * Marque comme non frequent un petitionnaire
1687     */
1688    function portletUpdatePetitionnaire(id, objet, objetc, file, field, message){
1689        
1690        /*
1691         *Vérifie que l'identifiant passé en paramètre est bien un chiffre
1692         * et que le type d'objet est défini
1693         */
1694        if ( $.isNumeric(id) && objet != '' ){
1695            
1696            donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc + '&idxDossier=' + getQuerystring('idx');
1697            $.ajax({
1698                type: "GET",
1699                url: "../app/"+file+".php" + donnees ,
1700                cache: false,
1701                success: function(html){
1702                    
1703                    $('#formulaire .message').remove();
1704                    /*Change la valeur affiché et affiche un message valide*/
1705                    if ( $.parseJSON(html) == "Mise a jour effectue avec succes" ||
1706                    $.parseJSON(html).indexOf("Transfert effectue avec succes") != -1 ){
1707                        
1708                        // On modife le champ field
1709                        if ( field != '' && message != '' ){
1710                            $('#'+field).html(message);
1711                            html = $.parseJSON(html);
1712                        }
1713                        else {
1714                            html = $.parseJSON(html).split(';');
1715                            
1716                            $('#'+field).html(html[0]);
1717                            
1718                            html = html[1];
1719                        }
1720                        
1721                        // On supprime l'action
1722                        $('span.'+field+'-16').parent().parent().remove();
1723                        // On affiche le message
1724                        $('#formulaire #tabs-1').prepend(
1725                            '<div ' +
1726                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
1727                                '<p>' +
1728                                    '<span class="ui-icon ui-icon-info"></span>' +
1729                                    '<span class="text">' +
1730                                        html +
1731                                    '</span>' +
1732                                '</p>' +
1733                            '</div>'
1734                        );
1735                    }
1736                    /*Affichage d'une erreur*/
1737                    else{
1738                        $('#formulaire #tabs-1').prepend(
1739                            '<div ' +
1740                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-error">' +
1741                                '<p>' +
1742                                    '<span class="ui-icon ui-icon-info"></span>' +
1743                                    '<span class="text">' +
1744                                        $.parseJSON(html) +
1745                                    '</span>' +
1746                                '</p>' +
1747                            '</div>'
1748                        );
1749                    }
1750                }
1751            });
1752        }
1753    }
1754    
1755    
1756    // Affiche le sous formulaire onglet
1757    function redirectPortletAction(id, onglet, nom_tabs){
1758    
1759        var nom_tabs =  ( typeof nom_tabs === "undefined" ) ? ".ui-tabs" : nom_tabs;
1760        var $tabs = $(nom_tabs).tabs();
1761    
1762        lien_onglet = $('#' + onglet).attr('href');
1763        lien_onglet = lien_onglet.substring( lien_onglet.length - 1, lien_onglet.length);
1764    
1765        $tabs.tabs('select', lien_onglet);
1766    }
1767    
1768    //Rajoute un dossier pour la commission id
1769    function addDossierCommission(id, container){
1770        
1771        link = "../app/commission_ajouter_dossier.php?idx=" + id + "&idxDossier=" + $(container+" #dossier").val();
1772    
1773        $.ajax({
1774            type: "GET",
1775            url: link,
1776            cache: false,
1777            dataType: "json",
1778            success: function(i, obj){
1779                
1780                $(container + " .message").remove();
1781                $(container).prepend(
1782                    '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
1783                        '<p>'+
1784                            '<span class="ui-icon ui-icon-info"></span>'+
1785                            '<span class="text">'+
1786                            '</span>'+
1787                        '</p>'+
1788                    '</div>'
1789                );
1790                    
1791                // Nouveau dossier ajouté
1792                if ( i.return == "1" ){
1793                    
1794                    $(container + ' .message').addClass("ui-state-ok");
1795                    $(container + ' .message .text').html("Dossier ajouté avec succès.");
1796                }
1797                //Dossier existe mais non ajouté
1798                else if( i.return == "0" ){
1799                    
1800                    $(container + ' .message').addClass("ui-state-error");
1801                    $(container + ' .message .text').html("Une erreur s'est produite lors de l'ajout de ce dossier. " +
1802                        "Veuillez contacter votre administrateur");
1803                }
1804                //Le dossier n'existe pas
1805                else if( i.return == "-1" ){
1806                    
1807                    $(container + ' .message').addClass("ui-state-error");
1808                    $(container + ' .message .text').html("Ce dossier n'existe pas.");
1809                }
1810                //Le dossier est déjà à l'ordre du jour
1811                else if( i.return == "2" ){
1812                    
1813                    $(container + ' .message').addClass("ui-state-error");
1814                    $(container + ' .message .text').html("Ce dossier est deja a l'ordre du jour.");
1815                }
1816                
1817            },
1818            async: false
1819        });
1820    }
1821    
1822    //Affichage du tableau des dossier_commission possibles
1823    function ajouterTableauDossierCommissionPossible(id){
1824        
1825        link = "../app/commission_tableau_dossier_possible.php?idx=" + id ;
1826    
1827        $.ajax({
1828            type: "GET",
1829            url: link,
1830            cache: false,
1831            success: function(html){
1832                
1833                $('#tabs-2').html(html);
1834            },
1835            async: false
1836        });
1837    }
1838    
1839    //Met à jour la liste des dossiers de la commission
1840    function updateCommission(id, container){
1841        
1842        var link = "../app/commission_update_dossier.php?idx=" + id ;
1843        var valid = "";
1844        var error = "";
1845        var error_avis = "";
1846        
1847         //Affiche du message de retour
1848        $(container + " .message").remove();
1849        $(container).prepend(
1850            '<div class="message ui-widget ui-corner-all ui-state-highlight dossier-ok">'+
1851                '<p>'+
1852                    '<span class="ui-icon ui-icon-info"></span>'+
1853                    '<span class="text">'+
1854                    msg_loading +
1855                    '</span>'+
1856                '</p>'+
1857            '</div>'
1858        );
1859    
1860        $(container + " input[type='checkbox']").each(
1861            function(index) {
1862                
1863                var idxDossier = $(this).val();
1864                //Identifiant du dossier formaté de façon lisible
1865                var idzDossier = $(this).parent().next().text();
1866                
1867                link = "../app/commission_update_dossier.php?idx=" + id +
1868                    "&idxDossier=" + idxDossier;
1869                
1870                //Ajoute ces dossiers de l'ordre du jour
1871                if ( $(this).is(":checked")){
1872                    
1873                    link += "&action=add";
1874                }
1875                //Supprime ces dossiers de l'ordre du jour
1876                else{
1877                    
1878                    link += "&action=remove";
1879                }
1880    
1881                //Mise à jour des données
1882                $.ajax({
1883                    type: "GET",
1884                    url: link,
1885                    cache: false,
1886                    dataType: "json",
1887                    success: function(i, obj){
1888                        
1889                        // Erreur
1890                        if( i.error == "0" ){
1891                            
1892                            error += idzDossier + ", ";
1893                        }
1894                        else if ( i.error == "-1" ) {
1895    
1896                            error_avis += idzDossier + ", ";
1897                        }
1898                        else{
1899                            valid += idzDossier + ", ";
1900                        }
1901                    },
1902                    async: false
1903                });
1904            }
1905        );
1906    
1907        //Ajout du div des erreurs
1908        if ( error != "" || error_avis != "" ){
1909            
1910            $(container + " .dossier-ok").after(
1911            '<div class="message ui-widget ui-corner-all ui-state-highlight dossier-err">'+
1912                '<p>'+
1913                    '<span class="ui-icon ui-icon-info"></span>'+
1914                    '<span class="text">'+
1915                    '</span>'+
1916                '</p>'+
1917            '</div>');
1918        }
1919    
1920        //le traitement a été effectué avec succès
1921        if ( valid != "" ){
1922            
1923            $(container + ' .dossier-ok').addClass("ui-state-ok");
1924            $(container + ' .dossier-ok .text').html("Mise à jour réalisée avec succès pour le(s) dossier(s) : "+
1925                valid.slice(0,valid.length-2) +
1926                ".");
1927        }
1928        else {
1929            
1930            $(container + " .dossier-ok").remove();
1931        }
1932        //Une erreur s'est produite
1933        if ( error != "" ) {
1934            
1935            $(container + ' .dossier-err').addClass("ui-state-error");
1936            $(container + ' .dossier-err .text').append(
1937                "Dossier : " + error.slice(0,error.length-2) + " déjà plannifié pour une autre commission.");
1938        }
1939        else if ( error_avis != "" ){
1940            
1941            $(container + ' .dossier-err').addClass("ui-state-error");
1942            $(container + ' .dossier-err .text').append(
1943                "Un  avis a déjà été rendu pour le(s) dossier(s): " +
1944                error_avis.slice(0,error_avis.length-2) +
1945                ".");
1946        }
1947    }
1948    
1949    
1950    //Récupère les données du type de commission et les mets dans les champs
1951    function chargeDonneesCommissionType(id_commission_type){
1952    
1953        //Requête ajax de récupération des données
1954        $.ajax({
1955            type: "GET",
1956            url: "../app/getCommissionTypeInfo.php?idx=" + id_commission_type,
1957            dataType: "json",
1958            async: false,
1959            success: function(data){
1960    
1961                // Ajout des données dans les champs
1962                $('#libelle').val(data.libelle);
1963                $('#lieu_adresse_ligne1').val(data.lieu_adresse_ligne1);
1964                $('#lieu_adresse_ligne2').val(data.lieu_adresse_ligne2);
1965                $('#lieu_salle').val(data.lieu_salle);
1966                $('#listes_de_diffusion').val(data.listes_de_diffusion);
1967                $('#participants').val(data.participants);
1968            }
1969        });
1970    }
1971    
1972    // Action de diffusion de mails des commissions
1973    function commission_diffusion(idx, obj, champ){
1974        
1975        $('#tabs-1 .message').remove();
1976        
1977        // Si les données sont fournies
1978        if ( $.isNumeric(idx) && obj != "" ){
1979            
1980            //Requête ajax d'envoi des données
1981            $.ajax({
1982                type: "GET",
1983                url: "../app/commission_diffusion.php?idx=" + idx + "&obj=" + obj,
1984                dataType: "json",
1985                async: false,
1986                success: function(data){
1987    
1988                    $('#tabs-1').prepend(
1989                        '<div ' +
1990                            'class="message ui-widget ui-corner-all ui-state-highlight">' +
1991                            '<p>' +
1992                                '<span class="ui-icon ui-icon-info"></span>' +
1993                                '<span class="text">' +
1994                                '</span>' +
1995                            '</p>' +
1996                        '</div>'                    
1997                    );
1998                    
1999                    var type = ( obj == "commission_compte_rendu" ) ? "du compte-rendu" : "de l'ordre du jour";
2000                    //L'envoi des mails a été effectué avec succès
2001                    if ( data.return == 1 ){
2002                        
2003                        //Finalisation du document
2004                        $.ajax({
2005                            type: "GET",
2006                            url: "../app/finalisation_document.php?idx=" + idx +
2007                                "&obj=commission&champ="+champ,
2008                            dataType: "json",
2009                            async: false,
2010                            success: function(data){
2011    
2012                                //Si la finalisation a été effectuée avec succès
2013                                if ( data != -1 ){
2014                                                      
2015                                    //On affiche le lien du document finalisé
2016                                    $('.'+champ).parent().attr("href", data+"");
2017                                    
2018                                    //On affiche un message de valisation
2019                                    $('.'+obj+' .message .text').html(
2020                                        "La finalisation du document s'est effectuée avec succès.<br/>"
2021                                    );
2022                                }
2023                                // Si une erreur s'est produite
2024                                else {
2025                                    
2026                                    //On affiche un message de validation
2027                                    $('.'+obj+' .message .text').html(
2028                                        "Une erreur s'est produite lors de la finalisation du document."
2029                                    );
2030                                }
2031                            }
2032                        });
2033                        
2034                        $('#tabs-1 .message').addClass("ui-state-valid");
2035                        $('#tabs-1 .message .text').prepend(
2036                            "La diffusion " + type + " s'est effectuée avec succès."
2037                        );
2038                    }
2039                    //Un erreur s'est produite
2040                    else if ( data.return == -1 ){
2041                        
2042                        $('#tabs-1 .message').addClass("ui-state-error");
2043                        $('#tabs-1 .message .text').html(
2044                            "Une erreur s'est produite lors de la diffusion " +
2045                            type +
2046                            ". Veuillez contacter votre administrateur."
2047                        );
2048                    }
2049                }
2050            });
2051        }
2052    }
2053    
2054    /**
2055     * Popup de confirmation pour les traitements
2056     */
2057    //
2058    function trt_confirm() {
2059        //
2060        if (confirm("Etes-vous sur de vouloir confirmer cette action ?")) {
2061            //
2062            return true;
2063        } else {
2064            //
2065            return false;
2066        }
2067    }
2068    
2069    /**
2070     * Finalisation des documents.
2071     *
2072     */
2073    function finalizeDocument(idx, obj, sousform, status, retour){
2074    
2075        //Requête ajax de finalisation des documents
2076        $.ajax({
2077            type: "GET",
2078            url: "../app/finalisation_document.php?idx=" + idx + "&obj=" + obj +
2079                "&status="+status+"&sousform="+sousform+"&retourformulaire="+retour,
2080            dataType: "json",
2081            async: false,
2082            success: function(data){
2083                
2084                $('#'+sousform+obj+' .message.ui-widget.ui-corner-all.ui-state-highlight').remove()
2085                $('#'+sousform+obj+' a.retour').first().before(
2086                    '<div ' +
2087                        'class="message ui-widget ui-corner-all ui-state-highlight">' +
2088                        '<p>' +
2089                            '<span class="ui-icon ui-icon-info"></span>' +
2090                            '<span class="text">' +
2091                            '</span>' +
2092                        '</p>' +
2093                    '</div>'                    
2094                );
2095                
2096                //Si la finalisation a été effectuée avec succès
2097                if ( data.pdf != -1 ){
2098                    
2099                    // On change le lien
2100                    var etat = ((status == 1)?'':'de') + 'finalis';
2101                    
2102                    $('.'+etat+'e').parent().parent().html(
2103                        data.portlet+""
2104                    );
2105                    
2106                    //On affiche le lien de l'action inverse
2107                    $('.edition').parent().attr("href", data.pdf+"");
2108                    
2109                    //Si on le document est finalisé, on cache les actions du portlet
2110                    if ( status == 1 ){
2111                        
2112                        $(".edit-16").parent().parent().remove();
2113                        $(".delete-16").parent().parent().remove();
2114                    }
2115                    else{
2116                        
2117                        var actions = '';
2118                        //Si le lien modifier est autorisé pour cet utilisateur
2119                        if ( typeof(data.actions.modifier)!='undefined' ){
2120                            
2121                            actions += data.actions.modifier;
2122                        }
2123                        
2124                        //Si le lien supprimer est autorisé pour cet utilisateur
2125                        if ( typeof(data.actions.supprimer)!='undefined' ){
2126                            
2127                            actions += data.actions.supprimer;
2128                        }
2129                        
2130                        $('.portlet-list').prepend(actions);
2131                    }
2132                    
2133                    //On affiche un message de valisation
2134                    $('#'+sousform+obj+' .message').addClass("ui-state-valid");
2135                    $('#'+sousform+obj+' .message .text').html(
2136                        "La "+etat+"ation du document s'est effectuée avec succès."
2137                    );
2138                }
2139                // Si une erreur s'est produite
2140                else {
2141                    
2142                    //On affiche un message de validation
2143                    $('#'+sousform+obj+' .message').addClass("ui-state-error");
2144                    $('#'+sousform+obj+' .message .text').html(
2145                        "Une erreur s'est produite lors de la finalisation du document."
2146                    );
2147                }
2148            }
2149        });
2150    }
2151    
2152    /**
2153     * Cette fonction permet d'afficher les options d'un select par rapport
2154     * à un autre champ
2155     *
2156     * @param  int id               Données (identifiant) du champ visé
2157     * @param  string tableName     Nom de la table
2158     * @param  string linkedField   Champ visé
2159     * @param  string formCible     Formulaire visé
2160     */
2161    function filterSelect(id, tableName, linkedField, formCible) {
2162    
2163        //lien vers script php
2164        link = "../app/filterSelect.php?idx=" + id + "&tableName=" + tableName +
2165                "&linkedField=" + linkedField + "&formCible=" + formCible;
2166    
2167        $.ajax({
2168            type: "GET",
2169            url: link,
2170            cache: false,
2171            dataType: "json",
2172            success: function(res){
2173                $('#'+tableName).empty();
2174    
2175                for ( j=0 ; j < res[0].length ; j++ ){
2176    
2177                    $('#'+tableName).append(
2178                        '<option value="'+res[0][j]+'" >'+res[1][j]+'</option>'
2179                    );
2180                    
2181                }
2182    
2183            },
2184            async: false
2185        });
2186    }
2187    
2188    /**
2189     * Retourne ce qu'il y a à afficher dans le formulaire de retour (bouton ajouter ou supprimer et éditer)
2190     */
2191    function getObjId(obj){
2192    
2193        //Récupération de l'id de l'objet
2194        var id=$('#id_retour').val();
2195    
2196        //Retour des données
2197        if ( $('#id_retour').length > 0 ){
2198            setDataFrequent(id, obj);
2199            om_initialize_content();
2200        }
2201    }
2202    
2203    function setDataFrequent(id,obj) {
2204        $.ajax({
2205            type: "GET",
2206            url: '../app/afficher_synthese_obj.view.php?idx='+id+'&obj=' + obj,
2207            cache: false,
2208            success: function(html){
2209                $('.add_'+obj).each(
2210                    function(){
2211                        $(this).remove();
2212                    }
2213                );
2214                $(html).insertBefore('#'+obj).fadeIn(500);
2215                $('#'+obj).val(id);
2216            },
2217            async:false
2218        });
2219    }

Legend:
Removed from v.833  
changed lines
  Added in v.2113

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26