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

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

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

revision 1099 by vpihour, Tue Dec 18 17:05:32 2012 UTC revision 2237 by softime, Wed Sep 4 10:28:01 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 108  function changeDataSelect(tableName, lin Line 208  function changeDataSelect(tableName, lin
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 120  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 146  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_reglementaire(){  // Cette fonction permet de gérer la validation du formulaire du script :
292        // app/affichage_reglementaire_registre.php
293      $('#bouton-PDF').remove();  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);      $("#msg").html(msg_loading);
303                // Requête AJAX vers le fichier app/affichage_reglementaire_registre.php
304      /*Requete AJAX vers le fichier edition_reglementaire.php pour mettre à jour les dossiers*/      // pour mettre à jour les dossiers
305        // XXX layout
306      $.ajax({      $.ajax({
307          type: "GET",          type: "GET",
308          url: "../app/edition_reglementaire.php?update",          url: "../app/affichage_reglementaire_registre.php?update",
309          cache: false,          cache: false,
310          success: function(html){          success: function(html){
311                            // Ajout d'un bloc de message vide
312              $('#msg').html(              $('#msg').html(
313                  '<div class="message ui-widget ui-corner-all ui-state-highlight">'+                  '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
314                      '<p>'+                      '<p>'+
# Line 172  function dossier_reglementaire(){ Line 318  function dossier_reglementaire(){
318                      '</p>'+                      '</p>'+
319                  '</div>'                  '</div>'
320              );              );
321                            // Si le retour de l'appel Ajax n'est pas vide, alors il y a eu une
322              if ( html.length > 2 ){              // lors du traitement
323                                if ( html.length > 2 ) {
324                  $("#msg .message").addClass("ui-state-error");                  $("#msg .message").addClass("ui-state-error");
325                  $("#msg .text").html(html);                  $("#msg .text").html(html);
326              }              } else {
327              else {                  // Sinon message de succès et appel de l'édition
                   
328                  $("#msg .message").addClass("ui-state-valid");                  $("#msg .message").addClass("ui-state-valid");
329                  $("#msg .text").html("PDF affiche avec succes !");                  $("#msg .text").html("Traitement terminé. Le registre a été téléchargé.");
330                  window.open("../pdf/pdfetat.php?obj=dossier_m&idx=demo");                  window.open("../pdf/pdfetat.php?obj=registre_dossiers_affichage_reglementaire&idx=demo");
331              }              }
332          },          },
333          async: false          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 200  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 282  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 309  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: 'center',              position: 'left top',
483            });            });
484          },          },
485          async : false          async : false
# Line 404  function afficherDemandeur(id,type) { Line 570  function afficherDemandeur(id,type) {
570   */   */
571  function editDemandeur(obj,id,type,id_css) {  function editDemandeur(obj,id,type,id_css) {
572      var url = '../scr/sousform.php?obj='+obj+'&retourformulaire=demande';      var url = '../scr/sousform.php?obj='+obj+'&retourformulaire=demande';
573      if(getDemandeInfo('type') == 'DM') {      //Vérification des contraintes de récupération des demandeurs
574        if(getDemandeInfo('contraintes') == 'avec_recup') {
575          url += '&action=0&idx_demandeur='+id;          url += '&action=0&idx_demandeur='+id;
576      } else {      } else {
577          url += '&action=1&idx='+id;          url += '&action=1&idx='+id;
578      }      }
579      popupIt(obj, url, 780, 'auto',      popupIt(obj, url, 860, 'auto',
580              replaceDemandeur, {'type':type,'id': id, 'id_css':id_css});              replaceDemandeur, {'type':type,'id': id, 'id_css':id_css});
581      affichageBoutonsDemandeurs();      affichageBoutonsDemandeurs();
582  }  }
# Line 450  function affichageBoutonsDemandeurs(){ Line 617  function affichageBoutonsDemandeurs(){
617      // Si formulaire après validation on cache les boutons d'ajout de demandeurs      // Si formulaire après validation on cache les boutons d'ajout de demandeurs
618      url = document.location + "" ;      url = document.location + "" ;
619    
620      if (url.indexOf("form.php?obj=demande&") != -1 && $("form[name=f1] .form-is-valid").size() > 0 ) {      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();          $('#add_petitionnaire_principal').hide();
626          $('#add_delegataire').hide();          $('#add_delegataire').hide();
# Line 505  $(function() { Line 675  $(function() {
675      $("#formulaire").on("click","#add_petitionnaire_principal",  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, 'auto',                  '&retourformulaire=demande&principal=true', 860, 'auto',
679                  getDemandeurId, 'petitionnaire_principal');                  getDemandeurId, 'petitionnaire_principal');
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, 'auto',                  '&retourformulaire=demande', 860, 'auto',
686                  getDemandeurId, 'delegataire');                  getDemandeurId, 'delegataire');
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, 'auto',                  '&retourformulaire=demande', 860, 'auto',
693                  getDemandeurId, 'petitionnaire');                  getDemandeurId, 'petitionnaire');
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) {          && url.indexOf("&action=3") == -1) {
703    
704          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale();
705      }      }
706            
707      if (url.indexOf("form.php?obj=demande&") != -1      if (url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
708          && (url.indexOf("&action=3") == -1 && $(".form-is-valid").size() == 0)) {          && (url.indexOf("&action=3") == -1
709            && url.indexOf("&action=2") == -1
710            && $(".form-is-valid").size() == 0)) {
711                    
712          addButtonCadastraleAdesse();          addButtonCadastraleAdesse();
713          changeDemandeType();          changeDemandeType();
714      }      }
715            
716      // Ajout de demande      // Ajout de demande
717      if (url.indexOf("form.php?obj=demande&") != -1      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*/
# Line 546  $(function() { Line 723  $(function() {
723      }      }
724            
725      // Ajout de demande sur dossier existant      // Ajout de demande sur dossier existant
726      if (url.indexOf("form.php?obj=demande&") != -1      if (url.indexOf("form.php?obj=demande_dossier_existant&") != -1
727          && url.indexOf("&action=0") != -1          && url.indexOf("&action=0") != -1 ){
         && url.indexOf("&idx_dossier=") != -1 ){  
728    
729          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/          /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
730          hideFields();          hideFields();
# Line 556  $(function() { Line 732  $(function() {
732      }      }
733            
734      // Modification de demande      // Modification de demande
735      if (url.indexOf("form.php?obj=demande&") ){      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  /*  /*
# Line 567  $(function() { Line 787  $(function() {
787   */   */
788  function formatFieldReferenceCadastrale(){  function formatFieldReferenceCadastrale(){
789    
     $('.reference_cadastrale_custom_fields').empty();  
   
790      addNewFieldReferencesCadastrales();      addNewFieldReferencesCadastrales();
791      $('#terrain_references_cadastrales').parent().parent().hide();      $('#terrain_references_cadastrales').parent().parent().hide();
792            
# Line 692  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      $("#form-content:not(.form-is-valid) .search_particulier_fields,"+      $("#form-content:not(.form-is-valid) .search_fields").each(
919        "#form-content:not(.form-is-valid) .search_personne_morale_fields").each(function() {          function() {
920      /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/              //Ajout de l'icône après le champs dénomination et nom de la personne morale*/
921                $(this).append(
             $(this).  
             append(  
                 '<span '+  
                     'class="om-icon om-icon-16 om-icon-fix search-petitionnaire-16" '+  
                     'title="Chercher un petitionnaire"> '+  
                 '</span>'+  
922                  '<span '+                  '<span '+
923                      'class="om-icon om-icon-16 om-icon-fix erase-petitionnaire delete-16" '+                      'class="om-icon om-icon-16 om-icon-fix search-frequent-16" '+
924                      'title="Supprimer le contenu"> '+                      'title="Chercher un frequent"> '+
925                  '</span>'                  '</span>'
926              );              );
927          }          }
928      );      );
929            
930      /*Ajout des actions sur les boutons*/      /*Ajout des actions sur les boutons*/
931      addActionSearchIcon('#sousform-petitionnaire #form-content');      addActionSearchIcon();
932      addActionRemove();      addActionRemove();
933    
934  }  }
# Line 731  function addActionRemove(){ Line 943  function addActionRemove(){
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 getDataSearch(){
951        
952        //Il faut un minimum de trois lettres pour lancer la recherche
953        var minChar = false;
954        //Récupération des données
955        var dataJson = "{";
956        $('.search_fields input').each(
957            function(){
958                if ( $(this).val().length >= 3 ){
959                    minChar = true;
960                }
961                
962                var idInput = $(this).attr("id");
963                var valInput = $(this).val();
964                dataJson += "\"" + idInput + "\":\"" + valInput + "\",";
965            }
966        );
967        if (!minChar){
968            alert('Saisissez au moins trois lettres pour la recherche');
969            return "";
970        }
971        
972        dataJson = $.parseJSON(dataJson.substring(0,dataJson.length-1)+"}");
973        //Données sous forme d'un tableau JSON
974        return dataJson;
975    }
976    
977  /*  /*
978   * Ajoute les actions sur les icônes de recherche   * Ajoute les actions sur les icônes de recherche
979   */   */
980  function addActionSearchIcon(id){  function addActionSearchIcon(){
981            
982      /*Si on recherche un pétitionnaire de type particulier*/      //Selon l'objet dans lequel on se trouve
983      $('.search-petitionnaire-16').click(      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 ( $('#particulier_nom').val().length < 3 &&              //Si ce n'est pas un tableau JSON on n'exécute pas le reste du code
999                  $('#particulier_prenom').val().length < 3 &&              if ( typeof dataJson !== 'object' ){
                 $('#personne_morale_denomination').val().length < 3 &&  
                 $('#personne_morale_nom').val().length < 3 ){  
                   
                 alert('Saisissez au moins trois lettres pour la recherche');  
1000                  return;                  return;
1001              }              }
1002                            
1003              /*Données des champs nom et prénom du particulier*/              //Requête qui va récupérer les données du addSearchIcon(es)
1004              var donnees = "?par_nom=" + $('.search_particulier_fields #particulier_nom').val() +              //pétitionnaire(s) correspondant(s) à la recherche
                 "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val() +  
                 "&mor_denomination="+$('#personne_morale_denomination').val() +  
                 "&mor_nom="+$('#personne_morale_nom').val();  
   
             /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)  
              * correspondant(s) à la recherche */  
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(obj){                  success: function(obj){
1012                      var freq = $.parseJSON(obj);                      var freq = obj;
1013                      var res='';                      var res='';
1014                      /*Si la recherche a donné des résultats*/                      /*Si la recherche a donné des résultats*/
1015                      if ( freq.length > 0 ){                      if ( freq.length > 0 ){
# Line 778  function addActionSearchIcon(id){ Line 1024  function addActionSearchIcon(id){
1024                              nbRes = freq.length;                              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 ; i++ ){                         for ( i = 0 ; i < nbRes ; i++ ){
# Line 792  function addActionSearchIcon(id){ Line 1038  function addActionSearchIcon(id){
1038                          res += 'Aucune correspondance trouvée.';                          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                                                
1045                      $( "#dialog" ).dialog({                      $( "#dialog" ).dialog({
1046                            dialogClass: "dialog-search-frequent-"+objName,
1047                          modal: true,                          modal: true,
1048                          buttons : {                          buttons : {
1049                              Valider: function(){                              Valider: function(){
1050                                  if ( res != 'Auncune correspondance trouvée.'){                                  if ( res != 'Aucune correspondance trouvée.'){
1051                                        var id = $('#select-'+objName+' option:selected').val();
1052                                  }                                      if($.isNumeric(id)) {
1053                                  var id = $('#dialog select option:selected').val();                                          ajaxIt(objName,
1054                                  if($.isNumeric(id)) {                                          '../scr/sousform.php?obj=' + objName +
1055                                      ajaxIt('petitionnaire',                                          '&action=1&retourformulaire=' + objReturn +
1056                                      '../scr/sousform.php?obj=petitionnaire&action=1&retourformulaire=demande&idx='+id);                                          '&idx='+id
1057                                            );
1058                                        }
1059                                  }                                  }
1060                                  // Fermeture de l'overlay                                  // Fermeture de l'overlay
1061                                  $(this).dialog( "close" ).empty();                                  $(this).dialog( "close" );
1062                                    $(this).remove();
1063                              }                              }
1064                            },
1065                            close: function(){
1066                                $(this).remove();
1067                          }                          }
1068                      });                      });
1069                  },                  },
# Line 833  function changeDemandeurType(id){ Line 1087  function changeDemandeurType(id){
1087    
1088      /*Réinitialise les champs et cache les champs inutiles selon la qualité du demandeur*/      /*Réinitialise les champs et cache les champs inutiles selon la qualité du demandeur*/
1089      /*Si la qualite du demandeur est particulier */      /*Si la qualite du demandeur est particulier */
1090      if ( $('#' + id + ' option:selected').val() == 'particulier' ){      if ( $('#' + id ).val() == 'particulier' ){
1091                    
1092          $('.personne_morale_fields input').each(          $('.personne_morale_fields input').each(
1093              function(){              function(){
# Line 907  function actionFormReferenceCadastrale() Line 1161  function actionFormReferenceCadastrale()
1161          }          }
1162      );      );
1163      if( $("form[name=f1] .form-is-valid").size() == 0) {      if( $("form[name=f1] .form-is-valid").size() == 0) {
1164            
1165          $('#moreFieldReferenceCadastrale' +          $('#moreFieldReferenceCadastrale' +
1166              ($('.moreFieldReferenceCadastrale').length - 1 )).              ($('.moreFieldReferenceCadastrale').length - 1 )).
1167          on("click", function() {          on("click", function() {
# Line 994  function actionLineFormReferenceCadastra Line 1248  function actionLineFormReferenceCadastra
1248      dossier_autorisation_type_detaille est choisi      dossier_autorisation_type_detaille est choisi
1249   * */   * */
1250  function changeDemandeType(){  function changeDemandeType(){
1251        
1252      var idDossierAutorisationTypeDetaille =      var idDossierAutorisationTypeDetaille =
1253          $("#dossier_autorisation_type_detaille").val();          $("#dossier_autorisation_type_detaille").val();
1254                    
# Line 1005  function changeDemandeType(){ Line 1259  function changeDemandeType(){
1259      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
1260                    
1261          /*Met à jour le select de demande_type avec les données correspondant*/          /*Met à jour le select de demande_type avec les données correspondant*/
1262          changeDataSelect('demande_type','dossier_autorisation_type_detaille');          changeDemandeTypeDataSelect();
1263          if ( $('#demande_type option').size() < 2 ) {          if ( $('#demande_type option').size() < 2 ) {
1264              showFormsDemande();              showFormsDemande();
1265          }          }
# Line 1038  function addNewFieldReferencesCadastrale Line 1292  function addNewFieldReferencesCadastrale
1292                  '<label '+                  '<label '+
1293                      'class="libelle-terrain_references_cadastrales" '+                      'class="libelle-terrain_references_cadastrales" '+
1294                      'for="terrain_references_cadastrales">'+                      'for="terrain_references_cadastrales">'+
1295                      ' terrain_references_cadastrales '+                      ' Références cadastrales '+
1296                  '</label>' +                  '</label>' +
1297              '</div>' +              '</div>' +
1298              '<div class="form-content reference_cadastrale_custom_fields">' +              '<div class="form-content reference_cadastrale_custom_fields">' +
# Line 1047  function addNewFieldReferencesCadastrale Line 1301  function addNewFieldReferencesCadastrale
1301          '</div>';          '</div>';
1302            
1303      url = document.location + "";      url = document.location + "";
1304      if(getDemandeInfo('nature') == 'NOUV' && $(".form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {      if((getDemandeInfo('nature') == 'NOUV' || getDemandeInfo('nature') == 'NONE' ) && $(".form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {
1305          html += '<div class="field field-type-text" id="morelineReferenceCadastrale">' +          html += '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
1306              '<div class="form-libelle"></div>' +              '<div class="form-libelle"></div>' +
1307              '<div class="form-content">' +              '<div class="form-content">' +
# Line 1055  function addNewFieldReferencesCadastrale Line 1309  function addNewFieldReferencesCadastrale
1309              '</div>' +              '</div>' +
1310         '</div>';         '</div>';
1311      }      }
1312          
1313      $('.references_cadastrales_new_field').remove();      $('.references_cadastrales_new_field').remove();
1314      $('.moreFieldReferenceCadastrale').remove();      $('.moreFieldReferenceCadastrale').remove();
1315      $('#morelineReferenceCadastrale').remove();      $('#morelineReferenceCadastrale').remove();
1316      $('.localisation .fieldsetContent').prepend(      $('#terrain_references_cadastrales').parent().parent().before(
1317         html          html
1318     );      );
     
1319  }  }
1320    
1321  function addButtonCadastraleAdesse(){  function addButtonCadastraleAdesse(){
1322            
1323      $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +      $('#terrain_references_cadastrales').parent().parent().after('<div class="field field-type-text" >' +
1324          '<div class="form-libelle"></div>' +          '<div class="form-libelle"></div>' +
1325          '<div class="form-content buttonCadAdr">' +          '<div class="form-content buttonCadAdr">' +
1326              '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +              '<input id="cad-adr-them" '+
1327                    'class="ui-button ui-widget ui-state-default ui-corner-all" '+
1328                    'type="button" '+
1329                    'onclick="getAdressFromCadastrale();" '+
1330                    'value="Récupérer l\'adresse"/>' +
1331          '</div>' +          '</div>' +
1332     '</div>' );     '</div>' );
1333  }  }
# Line 1094  function hiddenSeparatorField(){ Line 1351  function hiddenSeparatorField(){
1351  function getDemandeInfo(info) {  function getDemandeInfo(info) {
1352      var id_demande_type = $('#demande_type').val();      var id_demande_type = $('#demande_type').val();
1353      var res = "";      var res = "";
1354      $.ajax({      if ( typeof id_demande_type !== "undefined" ){
1355                  type: "GET",          $.ajax({
1356                  url: "../app/getDemandeInfo.php?iddemandetype=" + id_demande_type              type: "GET",
1357                          + "&info=" + info,              url: "../app/getDemandeInfo.php?iddemandetype=" + id_demande_type
1358                  cache: false,                      + "&info=" + info,
1359                  async: false,              cache: false,
1360                  success: function(val){              async: false,
1361                      res = val;              success: function(val){
1362                  }                  res = val;
1363              });              }
1364            });
1365        }
1366        else {
1367            
1368            res = "NONE"
1369        }
1370      return res;      return res;
1371  }  }
1372  /*  /*
# Line 1120  function fieldReferenceCadastraleBase(){ Line 1383  function fieldReferenceCadastraleBase(){
1383                  'type="text" ' +                  'type="text" ' +
1384                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this)" ' +
1385                  'maxlength="4" ' +                  'maxlength="4" ' +
1386                  'size="4" ';                  'size="4" '+
1387                    'placeholder="Quart." ';
1388                                    
1389      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
1390      if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {      if( (type != 'NOUV' &&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1391          reference_cadastrale += 'disabled="disabled" ';          reference_cadastrale += 'disabled="disabled" ';
1392      }      }
1393            
# Line 1133  function fieldReferenceCadastraleBase(){ Line 1397  function fieldReferenceCadastraleBase(){
1397                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1398                  'type="text" ' +                  'type="text" ' +
1399                  'maxlength="3" ' +                  'maxlength="3" ' +
1400                  'size="3" ';                  'size="3" '+
1401                    'placeholder="Sect." ';
1402            
1403      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
1404      if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {      if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1405          reference_cadastrale += 'disabled="disabled" ';          reference_cadastrale += 'disabled="disabled" ';
1406      }      }
1407            
# Line 1146  function fieldReferenceCadastraleBase(){ Line 1411  function fieldReferenceCadastraleBase(){
1411                  'class="champFormulaire reference_cadastrale_custom_field" ' +                  'class="champFormulaire reference_cadastrale_custom_field" ' +
1412                  'type="text" ' +                  'type="text" ' +
1413                  'onchange="VerifNum(this)" ' +                  'onchange="VerifNum(this)" ' +
1414                  'maxlength="5" ' +                  'maxlength="4" ' +
1415                  'size="5" ';                  'size="4" '+
1416                    'placeholder="Parc." ';
1417            
1418      // désactivation des champs de référence cadastrale      // désactivation des champs de référence cadastrale
1419      if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {      if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1420          reference_cadastrale += 'disabled="disabled" ';          reference_cadastrale += 'disabled="disabled" ';
1421      }      }
1422            
# Line 1162  function fieldReferenceCadastraleBase(){ Line 1428  function fieldReferenceCadastraleBase(){
1428    
1429      // Si form validé pas de bouton      // Si form validé pas de bouton
1430      url = document.location + "";      url = document.location + "";
1431      if( type == 'NOUV' && $("form[name=f1] .form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {      if( (type == 'NOUV' ||  type == 'NONE') && $("form[name=f1] .form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {
1432    
1433          reference_cadastrale +=          reference_cadastrale +=
1434              '<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres champs</span>';              '<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres champs</span>';
# Line 1201  function showFormsDemande(){ Line 1467  function showFormsDemande(){
1467                  $(this).show();                  $(this).show();
1468              }              }
1469          );          );
1470          formatFieldReferenceCadastrale();          formatFieldReferenceCadastrale(1);
1471          $('.field-type-text').show();          $('.field-type-text').show();
1472          $('input[type=submit]').show();          $('input[type=submit]').show();
1473          $('.terrain_references_cadastrales_custom').hide();          $('.terrain_references_cadastrales_custom').hide();
1474                    
1475          $('#terrain_references_cadastrales').parent().parent().hide();          $('#terrain_references_cadastrales').parent().parent().hide();
1476    
1477          // Si le type de la demande est un transfert on efface la liste des demandeurs          //Vérification des contraintes de récupération des demandeurs si
1478          if(getDemandeInfo('type') == 'DT') {          // pas de récupération, on efface la liste
1479            if(getDemandeInfo('contraintes') == 'sans_recup') {
1480              if($('input[name=petitionnaire_principal]').size() != -1) {              if($('input[name=petitionnaire_principal]').size() != -1) {
1481                  removeDemandeur("petitionnaire_principal_" + $('input[name=petitionnaire_principal]').val());                  removeDemandeur("petitionnaire_principal_" + $('input[name=petitionnaire_principal]').val());
1482              }              }
# Line 1223  function showFormsDemande(){ Line 1490  function showFormsDemande(){
1490                      removeDemandeur("petitionnaire_" + $(this).val());                      removeDemandeur("petitionnaire_" + $(this).val());
1491                  }                  }
1492              });              });
1493          } else if ( getDemandeInfo('type') == 'DM' ) {          } else if ( getDemandeInfo('contraintes') == 'avec_recup' ) {
1494                            //Récupération des demandeurs si la contrainte le permet
1495              $.ajax({              $.ajax({
1496                  type: "GET",                  type: "GET",
1497                  url: "../app/getDemandeurList.php?dossier_autorisation=" + $('#dossier_autorisation').val(),                  url: "../app/getDemandeurList.php?dossier_autorisation=" + $('#dossier_autorisation').val(),
# Line 1254  function showFormsDemande(){ Line 1522  function showFormsDemande(){
1522      Action au clique sur le bouton " + ajouter d'autres champs"      Action au clique sur le bouton " + ajouter d'autres champs"
1523   * */   * */
1524  function newInputReferenceCadastrale(){  function newInputReferenceCadastrale(){
1525        
1526        // Champs désactivé si le formulaire a été validé et est valide
1527        var type = getDemandeInfo('nature');
1528        var reference_cadastrale_disabled = '';
1529        if((type != 'NOUV'&&  type != 'NONE') || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1530            reference_cadastrale_disabled = 'disabled="disabled" ';
1531        }
1532        
1533      return '<input ' +      return '<input ' +
1534              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1535              'type="text" ' +              'type="text" ' +
1536              'maxlength="1" ' +              'maxlength="1" ' +
1537              'size="1" ' +              'size="3" ' +
1538              'value="" ' +              'value="" ' +
1539                'placeholder="Sep." ' +
1540                reference_cadastrale_disabled +
1541              'onchange="testSeparator(this);"/>' +              'onchange="testSeparator(this);"/>' +
1542          '<input ' +          '<input ' +
1543              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
# Line 1267  function newInputReferenceCadastrale(){ Line 1545  function newInputReferenceCadastrale(){
1545              'onchange="VerifNum(this)" ' +              'onchange="VerifNum(this)" ' +
1546              'maxlength="4" ' +              'maxlength="4" ' +
1547              'size="4" ' +              'size="4" ' +
1548                'placeholder="Parc." ' +
1549                reference_cadastrale_disabled +
1550              'value="" />';              'value="" />';
1551  }  }
1552    
1553    
   
 /**  
  * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau  
  * tableau de bord  
  */  
 function widget_bind_move_actions() {}  
 function widget_bind_add_action() {}  
 function widget_bind_edit_actions(widget_selector) {}  
   
1554  // Cette fonction permet d'associer a un arbre html les fonctions jquery  // Cette fonction permet d'associer a un arbre html les fonctions jquery
1555  // necessaires. Elle permet notamment lors du chargement d'une page en ajax  // necessaires. Elle permet notamment lors du chargement d'une page en ajax
1556  // d'associer le comportement du bouton, la gestion du calendrier et la gestion  // d'associer le comportement du bouton, la gestion du calendrier et la gestion
# Line 1291  function om_initialize_content() { Line 1562  function om_initialize_content() {
1562      inputdate_bind_datepicker();      inputdate_bind_datepicker();
1563      // Gestion des fieldset avec le plugin collaspsible de jquery      // Gestion des fieldset avec le plugin collaspsible de jquery
1564      fieldset_bind_collapsible();      fieldset_bind_collapsible();
1565        // Gestion du picker color avec le plugin minicolors
1566        bind_form_field_rvb();
1567        // Gestion du widget aide à la saisie localisation avec le plugin draggable
1568        // de jqueryui
1569        localisation_bind_draggable();
1570        // Gestion de la redimension automatique des textarea
1571        textarea_autoresize();
1572        
1573    
1574      changeDemandeurType('qualite');      changeDemandeurType('qualite');
1575      addSearchIcon();      addSearchIcon();
# Line 1298  function om_initialize_content() { Line 1577  function om_initialize_content() {
1577            
1578  }  }
1579    
1580    // Retourne la valeur d'une variable GET de l'URL
1581    function getQuerystring(key, default_)
1582    {
1583      if (default_==null) default_="";
1584      key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
1585      var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
1586      var qs = regex.exec(window.location.href);
1587      if(qs == null)
1588        return default_;
1589      else
1590        return qs[1];
1591    }
1592    
1593    // Récupère l'id de l'enregistrement lié au lot passé en parametre puis appel popupit
1594    function overlayCerfa(idLot) {
1595        $.get("../app/displayLotCerfa.php?lot="+idLot, function(data) {
1596            if(data != '') {
1597                    popupIt('donnees_techniques',
1598                            '../scr/sousform.php?obj=donnees_techniques&idx='+data+
1599                                '&retourformulaire=lot&maj=1&idxformulaire='+idLot,
1600                                950, 700);
1601                    
1602                } else {
1603                    // Si pas d'id retourner on créer un nouvel enregistrement de donnéees techniques
1604                    popupIt('donnees_techniques',
1605                            '../scr/sousform.php?obj=donnees_techniques&retourformulaire=lot&maj=0&idxformulaire='+idLot,
1606                                950, 700);
1607                }
1608    
1609            });
1610    }
1611    
1612    /**
1613     * Fonction permettant de faire la somme des champs passé en 2nd parametre et
1614     * le stocker dans le champ passé en 1er
1615     */
1616    function sommeChampsCerfa(cible, source) {
1617        val_cible = 0;
1618        
1619        $.each(source, function(index, value) {
1620            // Conversion des champs source en integer
1621            val_source = parseInt($('#'+value).val());
1622            // Cumul des valeurs des champs source
1623            val_cible = val_cible + (isNaN(val_source) ? 0 : val_source);
1624        });
1625        // Affectation de la nouvelle valeur
1626        $('#'+cible).val(val_cible);
1627    }
1628    
1629    function calculSurfaceTotal() {
1630        
1631        var nom_col = [ "su_avt_shon",
1632                        "su_cstr_shon",
1633                        "su_trsf_shon",
1634                        "su_chge_shon",
1635                        "su_demo_shon",
1636                        "su_tot_shon" ];
1637    
1638        // Calcul des totaux de colonnes
1639        $.each(nom_col, function(index, value) {
1640            var tot_col = 0;
1641            for ( var i = 1; i <= 9; i++ ) {
1642                // Conversion des champs source en integer
1643                val_source = parseInt($('#'+value+i).val());
1644                // Cumul des valeurs des champs source
1645                tot_col = tot_col + (isNaN(val_source) ? 0 : val_source);
1646            }
1647    
1648            // Affectation du résultat de ligne
1649            $('#'+value+'_tot').val(tot_col);
1650        });
1651    
1652        // Calcul des totaux des lignes
1653        for ( var j = 1; j <= 9; j++ ) {
1654            // Conversion des champs source en integer
1655            su_avt_shon = parseInt($('#su_avt_shon'+j).val());
1656            su_cstr_shon = parseInt($('#su_cstr_shon'+j).val());
1657            su_trsf_shon = parseInt($('#su_trsf_shon'+j).val());
1658            su_chge_shon = parseInt($('#su_chge_shon'+j).val());
1659            su_demo_shon = parseInt($('#su_demo_shon'+j).val());
1660            
1661            // Cumul des valeurs des champs source
1662            su_avt_shon = isNaN(su_avt_shon) ? 0 : su_avt_shon;
1663            su_cstr_shon = isNaN(su_cstr_shon) ? 0 : su_cstr_shon;
1664            su_trsf_shon = isNaN(su_trsf_shon) ? 0 : su_trsf_shon;
1665            su_chge_shon = isNaN(su_chge_shon) ? 0 : su_chge_shon;
1666            su_demo_shon = isNaN(su_demo_shon) ? 0 : su_demo_shon;
1667    
1668            // Affectation du résultat de ligne
1669            $('#su_tot_shon'+j).val((su_avt_shon+su_cstr_shon+su_trsf_shon)-(su_chge_shon+su_demo_shon));
1670    
1671        }
1672    
1673        // Calcul du total des totaux
1674        // Conversion des champs source en integer
1675        su_avt_shon = parseInt($('#su_avt_shon_tot').val());
1676        su_cstr_shon = parseInt($('#su_cstr_shon_tot').val());
1677        su_trsf_shon = parseInt($('#su_trsf_shon_tot').val());
1678        su_chge_shon = parseInt($('#su_chge_shon_tot').val());
1679        su_demo_shon = parseInt($('#su_demo_shon_tot').val());
1680        
1681        // Cumul des valeurs des champs source
1682        su_avt_shon = isNaN(su_avt_shon) ? 0 : su_avt_shon;
1683        su_cstr_shon = isNaN(su_cstr_shon) ? 0 : su_cstr_shon;
1684        su_trsf_shon = isNaN(su_trsf_shon) ? 0 : su_trsf_shon;
1685        su_chge_shon = isNaN(su_chge_shon) ? 0 : su_chge_shon;
1686        su_demo_shon = isNaN(su_demo_shon) ? 0 : su_demo_shon;
1687    
1688        // Affectation du résultat de ligne
1689        $('#su_tot_shon_tot').val((su_avt_shon+su_cstr_shon+su_trsf_shon)-(su_chge_shon+su_demo_shon));
1690    
1691    }
1692    
1693  /*  /*
1694   * Marque comme lu une consultation   * Marque comme lu une consultation ou commission
1695   */   */
1696  function markedAsRead(id, objet, objetc){  function portletUpdateData(id, objet, objetc, file, field, message){
1697            
1698      /*Vérifie que l'identifiant passé en paramètre est bien un chiffre      /*Vérifie que l'identifiant passé en paramètre est bien un chiffre
1699       * et que le type d'objet est défini       * et que le type d'objet est défini
1700       * */       * */
1701      if ( $.isNumeric(id) && objet != '' ){      if ( $.isNumeric(id) && objet != '' ){
1702                    
1703          donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc;          donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc + '&idxDossier=' + getQuerystring('idx');
1704          $.ajax({          $.ajax({
1705              type: "GET",              type: "GET",
1706              url: "../app/marquer_comme_lu.php" + donnees ,              url: "../app/"+file+".php" + donnees ,
1707              cache: false,              cache: false,
1708              success: function(html){              success: function(html){
1709                                    
1710                  $('#sousform-' + objet + ' .message').remove();                  $('#sousform-' + objet + ' .message').remove();
                   
1711                  /*Change la valeur affiché et affiche un message valide*/                  /*Change la valeur affiché et affiche un message valide*/
1712                  if ( $.parseJSON(html) == "Mise a jour effectue avec succes"){                  if ( $.parseJSON(html) == "Mise a jour effectue avec succes" ||
1713                    $.parseJSON(html).indexOf("Transfert effectue avec succes") != -1 ){
1714                        
1715                        // On modife le champ field
1716                        if ( field != '' && message != '' ){
1717                            $('#'+field).html(message);
1718                            html = $.parseJSON(html);
1719                        }
1720                        else {
1721                            html = $.parseJSON(html).split(';');
1722                            
1723                            $('#'+field).html(html[0]);
1724                            
1725                            html = html[1];
1726                        }
1727                                            
                     // On modife le champ lu  
                     $('#lu').html('Oui');  
1728                      // On supprime l'action                      // On supprime l'action
1729                      $('span.lu-16').parent().parent().remove();                      $('span.'+field+'-16').parent().parent().remove();
1730                      // On affiche le message                      // On affiche le message
1731                      $('#sousform-' + objet + ' .subtitle').after(                      $('#sousform-' + objet + ' .subtitle').after(
1732                          '<div ' +                          '<div ' +
# Line 1331  function markedAsRead(id, objet, objetc) Line 1734  function markedAsRead(id, objet, objetc)
1734                              '<p>' +                              '<p>' +
1735                                  '<span class="ui-icon ui-icon-info"></span>' +                                  '<span class="ui-icon ui-icon-info"></span>' +
1736                                  '<span class="text">' +                                  '<span class="text">' +
1737                                      $.parseJSON(html) +                                      html +
1738                                  '</span>' +                                  '</span>' +
1739                              '</p>' +                              '</p>' +
1740                          '</div>'                                              '</div>'                    
# Line 1355  function markedAsRead(id, objet, objetc) Line 1758  function markedAsRead(id, objet, objetc)
1758          });          });
1759      }      }
1760  }  }
1761    
1762    /*
1763     * Marque comme non frequent un petitionnaire
1764     */
1765    function portletUpdatePetitionnaire(id, objet, objetc, file, field, message){
1766        
1767        /*
1768         *Vérifie que l'identifiant passé en paramètre est bien un chiffre
1769         * et que le type d'objet est défini
1770         */
1771        if ( $.isNumeric(id) && objet != '' ){
1772            
1773            donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc + '&idxDossier=' + getQuerystring('idx');
1774            $.ajax({
1775                type: "GET",
1776                url: "../app/"+file+".php" + donnees ,
1777                cache: false,
1778                success: function(html){
1779                    
1780                    $('#formulaire .message').remove();
1781                    /*Change la valeur affiché et affiche un message valide*/
1782                    if ( $.parseJSON(html) == "Mise a jour effectue avec succes" ||
1783                    $.parseJSON(html).indexOf("Transfert effectue avec succes") != -1 ){
1784                        
1785                        // On modife le champ field
1786                        if ( field != '' && message != '' ){
1787                            $('#'+field).html(message);
1788                            html = $.parseJSON(html);
1789                        }
1790                        else {
1791                            html = $.parseJSON(html).split(';');
1792                            
1793                            $('#'+field).html(html[0]);
1794                            
1795                            html = html[1];
1796                        }
1797                        
1798                        // On supprime l'action
1799                        $('span.'+field+'-16').parent().parent().remove();
1800                        // On affiche le message
1801                        $('#formulaire #tabs-1').prepend(
1802                            '<div ' +
1803                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
1804                                '<p>' +
1805                                    '<span class="ui-icon ui-icon-info"></span>' +
1806                                    '<span class="text">' +
1807                                        html +
1808                                    '</span>' +
1809                                '</p>' +
1810                            '</div>'
1811                        );
1812                    }
1813                    /*Affichage d'une erreur*/
1814                    else{
1815                        $('#formulaire #tabs-1').prepend(
1816                            '<div ' +
1817                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-error">' +
1818                                '<p>' +
1819                                    '<span class="ui-icon ui-icon-info"></span>' +
1820                                    '<span class="text">' +
1821                                        $.parseJSON(html) +
1822                                    '</span>' +
1823                                '</p>' +
1824                            '</div>'
1825                        );
1826                    }
1827                }
1828            });
1829        }
1830    }
1831    
1832    
1833    // Affiche le sous formulaire onglet
1834    function redirectPortletAction(id, onglet, nom_tabs){
1835    
1836        var nom_tabs =  ( typeof nom_tabs === "undefined" ) ? ".ui-tabs" : nom_tabs;
1837        var $tabs = $(nom_tabs).tabs();
1838    
1839        lien_onglet = $('#' + onglet).attr('href');
1840        lien_onglet = lien_onglet.substring( lien_onglet.length - 1, lien_onglet.length);
1841    
1842        $tabs.tabs('select', lien_onglet);
1843    }
1844    
1845    //Rajoute un dossier pour la commission id
1846    function addDossierCommission(id, container){
1847        
1848        link = "../app/commission_ajouter_dossier.php?idx=" + id + "&idxDossier=" + $(container+" #dossier").val();
1849    
1850        $.ajax({
1851            type: "GET",
1852            url: link,
1853            cache: false,
1854            dataType: "json",
1855            success: function(i, obj){
1856                
1857                $(container + " .message").remove();
1858                $(container).prepend(
1859                    '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
1860                        '<p>'+
1861                            '<span class="ui-icon ui-icon-info"></span>'+
1862                            '<span class="text">'+
1863                            '</span>'+
1864                        '</p>'+
1865                    '</div>'
1866                );
1867                    
1868                // Nouveau dossier ajouté
1869                if ( i.return == "1" ){
1870                    
1871                    $(container + ' .message').addClass("ui-state-ok");
1872                    $(container + ' .message .text').html("Dossier ajouté avec succès.");
1873                }
1874                //Dossier existe mais non ajouté
1875                else if( i.return == "0" ){
1876                    
1877                    $(container + ' .message').addClass("ui-state-error");
1878                    $(container + ' .message .text').html("Une erreur s'est produite lors de l'ajout de ce dossier. " +
1879                        "Veuillez contacter votre administrateur");
1880                }
1881                //Le dossier n'existe pas
1882                else if( i.return == "-1" ){
1883                    
1884                    $(container + ' .message').addClass("ui-state-error");
1885                    $(container + ' .message .text').html("Ce dossier n'existe pas.");
1886                }
1887                //Le dossier est déjà à l'ordre du jour
1888                else if( i.return == "2" ){
1889                    
1890                    $(container + ' .message').addClass("ui-state-error");
1891                    $(container + ' .message .text').html("Ce dossier est deja a l'ordre du jour.");
1892                }
1893                
1894            },
1895            async: false
1896        });
1897    }
1898    
1899    //Affichage du tableau des dossier_commission possibles
1900    function ajouterTableauDossierCommissionPossible(id){
1901        
1902        link = "../app/commission_tableau_dossier_possible.php?idx=" + id ;
1903    
1904        $.ajax({
1905            type: "GET",
1906            url: link,
1907            cache: false,
1908            success: function(html){
1909                
1910                $('#tabs-2').html(html);
1911            },
1912            async: false
1913        });
1914    }
1915    
1916    //Met à jour la liste des dossiers de la commission
1917    function updateCommission(id, container){
1918        
1919        var link = "../app/commission_update_dossier.php?idx=" + id ;
1920        var valid = "";
1921        var error = "";
1922        var error_avis = "";
1923        
1924         //Affiche du message de retour
1925        $(container + " .message").remove();
1926        $(container).prepend(
1927            '<div class="message ui-widget ui-corner-all ui-state-highlight dossier-ok">'+
1928                '<p>'+
1929                    '<span class="ui-icon ui-icon-info"></span>'+
1930                    '<span class="text">'+
1931                    msg_loading +
1932                    '</span>'+
1933                '</p>'+
1934            '</div>'
1935        );
1936    
1937        $(container + " input[type='checkbox']").each(
1938            function(index) {
1939                
1940                var idxDossier = $(this).val();
1941                //Identifiant du dossier formaté de façon lisible
1942                var idzDossier = $(this).parent().next().text();
1943                
1944                link = "../app/commission_update_dossier.php?idx=" + id +
1945                    "&idxDossier=" + idxDossier;
1946                
1947                //Ajoute ces dossiers de l'ordre du jour
1948                if ( $(this).is(":checked")){
1949                    
1950                    link += "&action=add";
1951                }
1952                //Supprime ces dossiers de l'ordre du jour
1953                else{
1954                    
1955                    link += "&action=remove";
1956                }
1957    
1958                //Mise à jour des données
1959                $.ajax({
1960                    type: "GET",
1961                    url: link,
1962                    cache: false,
1963                    dataType: "json",
1964                    success: function(i, obj){
1965                        
1966                        // Erreur
1967                        if( i.error == "0" ){
1968                            
1969                            error += idzDossier + ", ";
1970                        }
1971                        else if ( i.error == "-1" ) {
1972    
1973                            error_avis += idzDossier + ", ";
1974                        }
1975                        else{
1976                            valid += idzDossier + ", ";
1977                        }
1978                    },
1979                    async: false
1980                });
1981            }
1982        );
1983    
1984        //Ajout du div des erreurs
1985        if ( error != "" || error_avis != "" ){
1986            
1987            $(container + " .dossier-ok").after(
1988            '<div class="message ui-widget ui-corner-all ui-state-highlight dossier-err">'+
1989                '<p>'+
1990                    '<span class="ui-icon ui-icon-info"></span>'+
1991                    '<span class="text">'+
1992                    '</span>'+
1993                '</p>'+
1994            '</div>');
1995        }
1996    
1997        //le traitement a été effectué avec succès
1998        if ( valid != "" ){
1999            
2000            $(container + ' .dossier-ok').addClass("ui-state-ok");
2001            $(container + ' .dossier-ok .text').html("Mise à jour réalisée avec succès pour le(s) dossier(s) : "+
2002                valid.slice(0,valid.length-2) +
2003                ".");
2004        }
2005        else {
2006            
2007            $(container + " .dossier-ok").remove();
2008        }
2009        //Une erreur s'est produite
2010        if ( error != "" ) {
2011            
2012            $(container + ' .dossier-err').addClass("ui-state-error");
2013            $(container + ' .dossier-err .text').append(
2014                "Dossier : " + error.slice(0,error.length-2) + " déjà plannifié pour une autre commission.");
2015        }
2016        else if ( error_avis != "" ){
2017            
2018            $(container + ' .dossier-err').addClass("ui-state-error");
2019            $(container + ' .dossier-err .text').append(
2020                "Un  avis a déjà été rendu pour le(s) dossier(s): " +
2021                error_avis.slice(0,error_avis.length-2) +
2022                ".");
2023        }
2024    }
2025    
2026    
2027    //Récupère les données du type de commission et les mets dans les champs
2028    function chargeDonneesCommissionType(id_commission_type){
2029    
2030        //Requête ajax de récupération des données
2031        $.ajax({
2032            type: "GET",
2033            url: "../app/getCommissionTypeInfo.php?idx=" + id_commission_type,
2034            dataType: "json",
2035            async: false,
2036            success: function(data){
2037    
2038                // Ajout des données dans les champs
2039                $('#libelle').val(data.libelle);
2040                $('#lieu_adresse_ligne1').val(data.lieu_adresse_ligne1);
2041                $('#lieu_adresse_ligne2').val(data.lieu_adresse_ligne2);
2042                $('#lieu_salle').val(data.lieu_salle);
2043                $('#listes_de_diffusion').val(data.listes_de_diffusion);
2044                $('#participants').val(data.participants);
2045            }
2046        });
2047    }
2048    
2049    // Action de diffusion de mails des commissions
2050    function commission_diffusion(idx, obj, champ){
2051        
2052        $('#tabs-1 .message').remove();
2053        
2054        // Si les données sont fournies
2055        if ( $.isNumeric(idx) && obj != "" ){
2056            
2057            //Requête ajax d'envoi des données
2058            $.ajax({
2059                type: "GET",
2060                url: "../app/commission_diffusion.php?idx=" + idx + "&obj=" + obj,
2061                dataType: "json",
2062                async: false,
2063                success: function(data){
2064    
2065                    $('#tabs-1').prepend(
2066                        '<div ' +
2067                            'class="message ui-widget ui-corner-all ui-state-highlight">' +
2068                            '<p>' +
2069                                '<span class="ui-icon ui-icon-info"></span>' +
2070                                '<span class="text">' +
2071                                '</span>' +
2072                            '</p>' +
2073                        '</div>'                    
2074                    );
2075                    
2076                    var type = ( obj == "commission_compte_rendu" ) ? "du compte-rendu" : "de l'ordre du jour";
2077                    //L'envoi des mails a été effectué avec succès
2078                    if ( data.return == 1 ){
2079                        
2080                        //Finalisation du document
2081                        $.ajax({
2082                            type: "GET",
2083                            url: "../app/finalisation_document.php?idx=" + idx +
2084                                "&obj=commission&champ="+champ,
2085                            dataType: "json",
2086                            async: false,
2087                            success: function(data){
2088    
2089                                //Si la finalisation a été effectuée avec succès
2090                                if ( data != -1 ){
2091                                                      
2092                                    //On affiche le lien du document finalisé
2093                                    $('.'+champ).parent().attr("href", data+"");
2094                                    
2095                                    //On affiche un message de valisation
2096                                    $('.'+obj+' .message .text').html(
2097                                        "La finalisation du document s'est effectuée avec succès.<br/>"
2098                                    );
2099                                }
2100                                // Si une erreur s'est produite
2101                                else {
2102                                    
2103                                    //On affiche un message de validation
2104                                    $('.'+obj+' .message .text').html(
2105                                        "Une erreur s'est produite lors de la finalisation du document."
2106                                    );
2107                                }
2108                            }
2109                        });
2110                        
2111                        $('#tabs-1 .message').addClass("ui-state-valid");
2112                        $('#tabs-1 .message .text').prepend(
2113                            "La diffusion " + type + " s'est effectuée avec succès."
2114                        );
2115                    }
2116                    //Un erreur s'est produite
2117                    else if ( data.return == -1 ){
2118                        
2119                        $('#tabs-1 .message').addClass("ui-state-error");
2120                        $('#tabs-1 .message .text').html(
2121                            "Une erreur s'est produite lors de la diffusion " +
2122                            type +
2123                            ". Veuillez contacter votre administrateur."
2124                        );
2125                    }
2126                }
2127            });
2128        }
2129    }
2130    
2131    /**
2132     * Popup de confirmation pour les traitements
2133     */
2134    //
2135    function trt_confirm() {
2136        //
2137        if (confirm("Etes-vous sur de vouloir confirmer cette action ?")) {
2138            //
2139            return true;
2140        } else {
2141            //
2142            return false;
2143        }
2144    }
2145    
2146    /**
2147     * Finalisation des documents.
2148     *
2149     */
2150    function finalizeDocument(idx, obj, sousform, status, retour){
2151    
2152        //Requête ajax de finalisation des documents
2153        $.ajax({
2154            type: "GET",
2155            url: "../app/finalisation_document.php?idx=" + idx + "&obj=" + obj +
2156                "&status="+status+"&sousform="+sousform+"&retourformulaire="+retour,
2157            dataType: "json",
2158            async: false,
2159            success: function(data){
2160                
2161                $('#'+sousform+obj+' .message.ui-widget.ui-corner-all.ui-state-highlight').remove()
2162                $('#'+sousform+obj+' a.retour').first().before(
2163                    '<div ' +
2164                        'class="message ui-widget ui-corner-all ui-state-highlight">' +
2165                        '<p>' +
2166                            '<span class="ui-icon ui-icon-info"></span>' +
2167                            '<span class="text">' +
2168                            '</span>' +
2169                        '</p>' +
2170                    '</div>'                    
2171                );
2172                
2173                //Si la finalisation a été effectuée avec succès
2174                if ( data.pdf != -1 ){
2175                    
2176                    // On change le lien
2177                    var etat = ((status == 1)?'':'de') + 'finalis';
2178                    
2179                    $('.'+etat+'e').parent().parent().html(
2180                        data.portlet+""
2181                    );
2182                    
2183                    //On affiche le lien de l'action inverse
2184                    $('.edition').parent().attr("href", data.pdf+"");
2185                    
2186                    //Si on le document est finalisé, on cache les actions du portlet
2187                    if ( status == 1 ){
2188                        
2189                        $(".edit-16").parent().parent().remove();
2190                        $(".delete-16").parent().parent().remove();
2191                    }
2192                    else{
2193                        
2194                        var actions = '';
2195                        //Si le lien modifier est autorisé pour cet utilisateur
2196                        if ( typeof(data.actions.modifier)!='undefined' ){
2197                            
2198                            actions += data.actions.modifier;
2199                        }
2200                        
2201                        //Si le lien supprimer est autorisé pour cet utilisateur
2202                        if ( typeof(data.actions.supprimer)!='undefined' ){
2203                            
2204                            actions += data.actions.supprimer;
2205                        }
2206                        
2207                        $('.portlet-list').prepend(actions);
2208                    }
2209                    
2210                    //On affiche un message de valisation
2211                    $('#'+sousform+obj+' .message').addClass("ui-state-valid");
2212                    $('#'+sousform+obj+' .message .text').html(
2213                        "La "+etat+"ation du document s'est effectuée avec succès."
2214                    );
2215                }
2216                // Si une erreur s'est produite
2217                else {
2218                    
2219                    //On affiche un message de validation
2220                    $('#'+sousform+obj+' .message').addClass("ui-state-error");
2221                    $('#'+sousform+obj+' .message .text').html(
2222                        "Une erreur s'est produite lors de la finalisation du document."
2223                    );
2224                }
2225            }
2226        });
2227    }
2228    
2229    /**
2230     * Cette fonction permet d'afficher les options d'un select par rapport
2231     * à un autre champ
2232     *
2233     * @param  int id               Données (identifiant) du champ visé
2234     * @param  string tableName     Nom de la table
2235     * @param  string linkedField   Champ visé
2236     * @param  string formCible     Formulaire visé
2237     */
2238    function filterSelect(id, tableName, linkedField, formCible) {
2239    
2240        //lien vers script php
2241        link = "../app/filterSelect.php?idx=" + id + "&tableName=" + tableName +
2242                "&linkedField=" + linkedField + "&formCible=" + formCible;
2243    
2244        $.ajax({
2245            type: "GET",
2246            url: link,
2247            cache: false,
2248            dataType: "json",
2249            success: function(res){
2250                $('#'+tableName).empty();
2251    
2252                for ( j=0 ; j < res[0].length ; j++ ){
2253    
2254                    $('#'+tableName).append(
2255                        '<option value="'+res[0][j]+'" >'+res[1][j]+'</option>'
2256                    );
2257                    
2258                }
2259    
2260            },
2261            async: false
2262        });
2263    }
2264    
2265    /**
2266     * Redirige vers une page après un temps d'attente
2267     * @param  string   page            lien de la page vers la redirection
2268     * @param  int      milliseconde    temps d'attente avant la redirection
2269     */
2270    function redirection(page, milliseconde) {
2271    
2272        //
2273        setTimeout(window.location = page, milliseconde);
2274    }
2275    
2276    /**
2277     * Retourne ce qu'il y a à afficher dans le formulaire de retour (bouton ajouter ou supprimer et éditer)
2278     */
2279    function getObjId(obj){
2280    
2281        //Récupération de l'id de l'objet
2282        var id=$('#id_retour').val();
2283    
2284        //Retour des données
2285        if ( $('#id_retour').length > 0 ){
2286            setDataFrequent(id, obj);
2287            om_initialize_content();
2288        }
2289    }
2290    
2291    function setDataFrequent(id,obj) {
2292        $.ajax({
2293            type: "GET",
2294            url: '../app/afficher_synthese_obj.view.php?idx='+id+'&obj=' + obj,
2295            cache: false,
2296            success: function(html){
2297                $('.add_'+obj).each(
2298                    function(){
2299                        $(this).remove();
2300                    }
2301                );
2302                $(html).insertBefore('#'+obj).fadeIn(500);
2303                $('#'+obj).val(id);
2304            },
2305            async:false
2306        });
2307    }
2308    
2309    /**
2310     * Redirige vers le script PHP pour mettre à jour les informations
2311     * et met à jour l'interface pour l'utilisateur
2312     * @param  string   id          Identifiant du dossier
2313     * @param  string   fieldname   Nom du champ
2314     * @param  Function callback    Fonction mettant à jour l'interface des données
2315     * @param  string   confirm_message     Texte du message de confirmation
2316     */
2317    function geolocalisation_treatment(id, fieldname, callback, confirm_message) {
2318    
2319        // Overlay de confirmation du traitement
2320        if (confirm_message != null && confirm_message != '') {
2321            var dialog_confirm = confirm(confirm_message);
2322            if( dialog_confirm == false ){
2323              return false;
2324            }
2325        }
2326    
2327        // Affichage du spinner
2328        $('#'+fieldname).each(
2329            function(){
2330                $(this).children().removeClass();
2331                $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-empty');
2332                $(this).children().children().children(".text").html(msg_loading);
2333            }
2334        );
2335        
2336        // lien vers script PHP faisant l'appel au webservice
2337        link = '../app/geolocalisation_treatment.php?fieldname='+fieldname+'&id='+id+'&callback='+callback;
2338    
2339        // Traitement
2340        $.ajax({
2341            type: "GET",
2342            url: link,
2343            cache: false,
2344            dataType: "json",
2345            success: function(res){
2346                //
2347                $('#'+fieldname).each(
2348                    function(){
2349                        $(this).children().children().children(".text").text(res['log']['message']);
2350                        $(this).children().removeClass();
2351                        if (res['log']['etat'] == 't') {
2352                            $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-valid');
2353                        } else {
2354                            $(this).children().addClass('message ui-widget ui-corner-all ui-state-highlight ui-state-error');
2355                        }
2356                    }
2357                );
2358    
2359                //
2360                if (typeof(callback) === "function" && res['log']['etat'] == 't') {
2361                    callback(res);
2362                }
2363            },
2364            async:false
2365        });
2366    }
2367    
2368    /**
2369     * Efface le message en haut du formulaire
2370     * @param array res Résultat après le traitement du script PHP
2371     */
2372    function set_geolocalisation_message(res) {
2373        $('#geolocalisation-message').remove();
2374    }
2375    
2376    /**
2377     * Met le champ centroïde à jour
2378     * @param  array   res  Résultat après le traitement du script PHP
2379     */
2380    function set_geolocalisation_centroide(res) {
2381        $('span#centroide').text("POINT("+res['return']['coordX']+" "+res['return']['coordY']+")");
2382    }
2383    
2384    /**
2385     * Met le champ servitude à jour
2386     * @param  array   res  Résultat après le traitement du script PHP
2387     */
2388    function set_geolocalisation_contrainte(res) {
2389        $('span#servitude').text(res['return']['servitude']);
2390    }
2391    
2392    /**
2393     * Redirige vers ElyxWeb
2394     * @param array res Résultat après le traitement du script PHP
2395     */
2396    function redirection_elyxweb(res) {
2397        window.open(res['return']);
2398    }
2399    
2400    /**
2401     * Traitement du bouton permettant de calculer toutes les données géographiques
2402     * @param  string   id                  Identifiant du dossier
2403     * @param  string   confirm_message     Texte du message de confirmation
2404     */
2405    function all_geolocalisation_treatments(id, confirm_message) {
2406    
2407        // Overlay de confirmation du traitement
2408        if (confirm_message != null && confirm_message != '') {
2409            var dialog_confirm = confirm(confirm_message);
2410            if( dialog_confirm == false ){
2411              return false;
2412            }
2413        }
2414    
2415        // Initialisation des variables utilisées en paramètres
2416        var fieldname = '';
2417        var callback = '';
2418        var confirm_message = '';
2419        var flag = '';
2420    
2421        // Modification des variables utilisées en paramètres pour "Vérifier les
2422        // parcelles"
2423        fieldname = 'verif_parcelle';
2424        callback = set_geolocalisation_message;
2425        // Traitement "Vérifier les parcelles"
2426        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2427    
2428        // Positionne le flag sur le message de "Vérifier les parcelles"
2429        flag = $('#'+fieldname+"-message").attr("class");
2430        // Si c'est un message d'erreur on arrete le traitement
2431        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2432            return false;
2433        }
2434    
2435        // Modification des variables utilisées en paramètres pour "Calculer
2436        // l'emprise"
2437        fieldname = 'calcul_emprise';
2438        callback = '';
2439        // Traitement "Calculer l'emprise"
2440        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2441    
2442        // Positionne le flag sur le message de "Calculer l'emprise"
2443        flag = $('#'+fieldname+"-message").attr("class");
2444        // Si c'est un message d'erreur on arrete le traitement
2445        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2446            return false;
2447        }
2448    
2449        // Modification des variables utilisées en paramètres pour "Calculer le
2450        // centroïde"
2451        fieldname = 'calcul_centroide';
2452        callback = set_geolocalisation_centroide;
2453        // Traitement "Calculer le centroïde"
2454        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2455    
2456        // Positionne le flag sur le message de "Calculer le centroïde"
2457        flag = $('#'+fieldname+"-message").attr("class");
2458        // Si c'est un message d'erreur on arrete le traitement
2459        if (flag == 'message ui-widget ui-corner-all ui-state-highlight ui-state-error') {
2460            return false;
2461        }
2462    
2463        // Modification des variables utilisées en paramètres pour "Récupérer les
2464        // contraintes"
2465        fieldname = 'recup_contrainte';
2466        callback = set_geolocalisation_contrainte;
2467        //Traitement "Récupérer les contraintes"
2468        geolocalisation_treatment(id, fieldname, callback, confirm_message);
2469        
2470    }
2471    
2472    /**
2473     * Remplit le formulaire avec l'adresse trouvée ou affiche un message d'erreur
2474     */
2475    function getAdressFromCadastrale(){
2476        
2477        //Récupération des références cadastrales
2478        var referenceCadastrale = '{"refcad":[{';
2479        var i = 0 ;
2480        var j = 1 ;
2481        var delimit = 0;
2482        var parcelleDelimit = 0;
2483        var noReferenceCadastrale = false;
2484        $(".reference_cadastrale_custom_field").each(
2485            function(){
2486                
2487                //On vérifie que le champ n'est pas vide
2488                if ($(this).val()!=""&&$(this).val() != ";"){
2489                    noReferenceCadastrale = true;
2490                }
2491                
2492                //On va à la ligne suivante
2493                if ( $(this).val() == ";" ){
2494                    referenceCadastrale +=(delimit!=0)?'}]':'';
2495                    referenceCadastrale += "}" ;
2496                    i++;
2497                    j = 1;
2498                    delimit = 0;
2499                    parcelleDelimit = 0;
2500                }
2501                //On parcourt la ligne
2502                else {
2503                    switch(true){
2504                        //Quartier
2505                        case (j==1):
2506                            referenceCadastrale += (i!=0)?',':'';
2507                            referenceCadastrale += '"' + i + '"' + ':{"quartier":"'+$(this).val()+'"';
2508                            break;
2509                        //Section
2510                        case (j==2):
2511                            referenceCadastrale += ', "section":"'+$(this).val()+'"';
2512                            break;
2513                        //Parcelle
2514                        case (j==3):
2515                            referenceCadastrale += ', "parcelle":"'+$(this).val()+'"';
2516                            break;
2517                        //Le délimiteur
2518                        case (j%2==0&&j!=2):
2519                            if ( delimit==0 ){
2520                                referenceCadastrale += ', "delimit":[{"'+(delimit++)+'":"'+$(this).val()+'"';
2521                            }
2522                            else {
2523                                referenceCadastrale += ', "'+(delimit++)+'":"'+$(this).val()+'"';
2524                            }
2525                            break;
2526                        //La parcelle après le délimiteur
2527                        case (j%2==1&&j!=1&&j!=3):
2528                            referenceCadastrale += ',"'+(delimit++)+'":"'+$(this).val()+'"';
2529                            break;
2530                    }
2531                    j++;
2532                }
2533            }
2534        );
2535        if ( noReferenceCadastrale == true ){
2536            referenceCadastrale += "}]}";
2537        }
2538        else {
2539            referenceCadastrale = "";
2540        }
2541    
2542        //Lance la tentative de récupération de l'adresse
2543        $.ajax({
2544            type: "POST",
2545            url: '../app/getAdressFromCadastrale.php',
2546            data: $.parseJSON(referenceCadastrale),
2547            cache: false,
2548            dataType: "json",
2549            success: function(data){
2550    
2551                //Si le retour est un objet JSON, on a un résultat
2552                if ( $.isPlainObject(data)){
2553                    
2554                    //On met l'adresse dans les champs
2555                    $("#terrain_adresse_voie_numero").val(data.return.dnuvoi);
2556                    $("#terrain_adresse_voie").val(data.return.prefixe+" "+data.return.nom);
2557                    $("#terrain_adresse_code_postal").val(data.return.arrdt);
2558                    $("#terrain_adresse_localite").val(data.return.localite);
2559                }
2560                //Sinon, on affiche un message d'erreur
2561                else {
2562                    alert(data);
2563                }
2564            },
2565            async: false
2566        });
2567    }

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26