/[openfoncier]/branches/3.2.x/app/js/script.js
ViewVC logotype

Diff of /branches/3.2.x/app/js/script.js

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

revision 762 by vpihour, Tue Nov 20 10:56:27 2012 UTC revision 836 by mlimic, Tue Nov 27 09:58:07 2012 UTC
# Line 1  Line 1 
1  // specific openfoncier ========================================================  // specific openfoncier ========================================================
2  // OnReady  
3    // Document is ready
4  $(function(){  $(function(){
5     // Document is ready  
6       /**
7        * Spécifique app/avis_code_barre.php pour donner le focus sur le champ de
8        * recherche au chargement de la page.
9        */
10     $('#avis_code_barre_form #consultation').focus();     $('#avis_code_barre_form #consultation').focus();
11   });   });
12    
13    
14  function bible(){  /**
15     * WIDGET liés au formulaire et sousformulaire
16     *
17     * Ces fonctions javascript sont appelées depuis les méthodes setOnChange,
18     * setOnClick, ...
19     */
20    // bible - type httpclick
21    function bible() {
22      if(fenetreouverte==true)      if(fenetreouverte==true)
23             pfenetre.close();             pfenetre.close();
24      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
# Line 14  function bible(){ Line 26  function bible(){
26      pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");      pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
27      fenetreouverte=true;      fenetreouverte=true;
28  }  }
29    // bible2 - type httpclick
30  function bible2()  function bible2()
31  {  {
32      if(fenetreouverte==true)      if(fenetreouverte==true)
# Line 24  function bible2() Line 36  function bible2()
36      pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");      pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
37      fenetreouverte=true;      fenetreouverte=true;
38  }  }
39    // bible_auto - type httpclick
40  function bible_auto(){  function bible_auto(){
41      if(fenetreouverte==true)      if(fenetreouverte==true)
42             pfenetre.close();             pfenetre.close();
# Line 33  function bible_auto(){ Line 45  function bible_auto(){
45      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");
46      fenetreouverte=true;      fenetreouverte=true;
47  }  }
48    // VerifNumdec - type text
49    function VerifNumdec(champ) {
50        champ.value = champ.value.replace(",", "."); // remplacement de la virgule
51        //if (champ.value.lastIndexOf(".") == -1){ // champ decimal
52            if (isNaN(champ.value)) {
53                alert(msg_alert_error_verifnum);
54                champ.value = "";
55                return;
56            }
57        //}
58        
59    }
60    // Ce widget permet de charger les données d'un select en ajax
61    function changeDataSelect(tn, ds, joker){
62            
63        var id = $("#"+ds+" option:selected").val();
64        link = "../app/listData.php?idx=" + id + "&tn=" + tn + "&ds=" + ds;
65        $.ajax({
66            type: "GET",
67            url: link,
68            cache: false,
69            dataType: "json",
70            success: function(html){
71                
72                $('#'+tn).empty();
73                
74                if ( joker == true )
75                    $('#'+tn).append(
76                        '<option value="" selected="selected">*</option>'
77                    );
78                else
79                    $('#'+tn).append(
80                        '<option value="" selected="selected">Choisir ' + tn + '</option>'
81                    );
82                
83                if ( html !== '' ){
84                    
85                    html = html.split(';');
86                    for ( i = 0 ; i < html.length - 1 ; i++ ){
87                        
88                        html_temp = html[i].split('_');
89                        $('#'+tn).append(
90                            '<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>'
91                        );
92                    }
93                }
94            },
95            async: false
96        });
97    }
98    // vuploadMulti - XXX
99    function vuploadMulti(champ) {
100        //
101        if (fenetreouverte == true) {
102            pfenetre.close();
103        }
104        //
105        pfenetre = window.open("../spg/upload.php?origine="+champ+"&form="+$('input[name='+champ+']').closest('form').attr('name'),"upload","width=400,height=300,top=120,left=120");
106        //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
107        //
108        fenetreouverte = true;
109    }
110    // tmpUpload - Upload  XXX
111    function tmpUpload(champ) {
112        //
113        if (fenetreouverte == true) {
114            pfenetre.close();
115        }
116        //
117        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");
118        //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
119        //
120        fenetreouverte = true;
121    }
122    
123    
124    
125    /**
126     * POPUP pour le téléchargement de fichier
127     *
128     * Ces fonctions javascript sont appelées depuis des onClick sur des
129     * formulaires spécifiques pour permettre de transmettre des paramètres aux
130     * éditions pdf ainsi appelées.
131     */
132    //
133  function dossierads_d(debut)  function dossierads_d(debut)
134  {  {
135  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 41  window.location="../pdf/pdfetat.php?obj= Line 137  window.location="../pdf/pdfetat.php?obj=
137  +document.f1.nature.value+"&idx=demo&datedebut="  +document.f1.nature.value+"&idx=demo&datedebut="
138  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
139  }  }
140    //
141    function dossier_m(){
142    window.location="../pdf/pdfetat.php?obj=dossier_m&nature="
143    +document.f1.nature.value+"&idx=demo";    
144    }
145    //
146  function dossierdepot()  function dossierdepot()
147  {  {
148  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 49  function dossierdepot() Line 150  function dossierdepot()
150      document.f1.nature.value+"&idx=demo&datedebut="+      document.f1.nature.value+"&idx=demo&datedebut="+
151      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
152  }  }
153    //
154  function dossierads()  function dossierads()
155  {  {
156  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 58  function dossierads() Line 159  function dossierads()
159      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
160  }  }
161    
162    // téléchargement du fichier
163  function VerifNumdec(champ) {  function file(fichier) {
164      champ.value = champ.value.replace(",", "."); // remplacement de la virgule      //
165      //if (champ.value.lastIndexOf(".") == -1){ // champ decimal      if (fichier == "") {
166          if (isNaN(champ.value)) {          alert("zone vide");
167              alert(msg_alert_error_verifnum);      }
168              champ.value = "";      //
169              return;      pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");
170          }      //
171      //}      fenetreouverte = true;
       
172  }  }
173  /* -- Debut -- */  
174    /**
175     * Retour spécifique de l'écran de consultation multiple - surcharge de ajaxIt
176     * @todo XXX voir les différences avec ajaxIt et si il n'est pas possible
177     * d'effectuer  la modification dans le core
178     */
179  function messageIt(objsf, link, empty) {  function messageIt(objsf, link, empty) {
180      // recuperation du terme recherche      // recuperation du terme recherche
181      var recherche = document.getElementById("recherchedyn");      var recherche = document.getElementById("recherchedyn");
# Line 93  function messageIt(objsf, link, empty) { Line 198  function messageIt(objsf, link, empty) {
198      });      });
199  }  }
200    
201    /**
202     * TTélécharegement de fichier pdf en ajax
203     * spécifique de l'écran de consultation multiple
204     */
205  /* Plugin jQuery qui lance un espèce d'appel AJAX vers un script PHP de téléchargement de fichier*/  /* Plugin jQuery qui lance un espèce d'appel AJAX vers un script PHP de téléchargement de fichier*/
206  jQuery.download = function(url, data, method){  jQuery.download = function(url, data, method){
207      //url and data options required      //url and data options required
# Line 111  jQuery.download = function(url, data, me Line 220  jQuery.download = function(url, data, me
220      };      };
221  };  };
222    
223  /* -- FIN -- */  /**
224  function popupIt(objsf, link) {   * Cette fonction permet de charger dans un dialog jqueryui un formulaire tel
225     * qu'il aurait été chargé avec ajaxIt
226     *
227     * @param objsf string : objet de sousformulaire
228     * @param link string : lien vers un sousformulaire (../scr/sousform.php...)
229     * @param width integer: width en px
230     * @param height integer: height en px
231     * @param callback function (optionel) : nom de la méthode à appeler
232     *                                       à la fermeture du dialog
233     * @param callbackParams mixed (optionel) : paramètre à traiter dans la function
234     *                                          callback
235     *
236     **/
237    function popupIt(objsf, link, width, height, callback, callbackParams) {
238      // Insertion du conteneur du dialog      // Insertion du conteneur du dialog
239      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');
240      $('<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);
# Line 134  function popupIt(objsf, link) { Line 256  function popupIt(objsf, link) {
256              $(dialog).dialog({              $(dialog).dialog({
257              //OnClose suppression du contenu              //OnClose suppression du contenu
258              close: function(ev, ui) {              close: function(ev, ui) {
259                  // Si le formulaire est submit et valide                  // Si le formulaire est submit et valide on execute la méthode
260                  var valid=$('#sousform-'+objsf+' div.ui-state-valid');                  // passée en paramètre
261                  if(valid.length > 0) {                  if (typeof(callback) === "function") {
262                      document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')                      callback(callbackParams);
                     +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')  
                     +"&selectioncol="+$.getQuery('selectioncol');  
263                  }                  }
264                  $(this).remove();                  $(this).remove();
265              },              },
266              resizable: false,              resizable: false,
267              modal: true,              modal: true,
268              width: 700,              width: width,
269              height: 520,              height: height,
270            });            });
271          },          },
272          async : false          async : false
273      });      });
274      //Modification des boutons retours du sous formulaire pour fermer le dialog      //Fermeture du dialog lors d'un clic sur le bouton retour
     $('#sousform-'+objsf).on("mousedown",'a.retour',function() {  
         $('#sousform-'+objsf+' a.retour').attr('onclick','');  
     });  
275      $('#sousform-'+objsf).on("click",'a.retour',function() {      $('#sousform-'+objsf).on("click",'a.retour',function() {
276          $(dialog).dialog('close').remove();          $(dialog).dialog('close').remove();
277      });      });
278      return false;      return false;
279  }  }
280    
281    /***
282     * Fonction getter des paramètres de l'url courante
283     */
284  // Parse URL Queries Method  // Parse URL Queries Method
285  (function($){  (function($){
286          $.getQuery = function( query ) {      $.getQuery = function( query ) {
287                  query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");          query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
288                  var expr = "[\\?&]"+query+"=([^&#]*)";          var expr = "[\\?&]"+query+"=([^&#]*)";
289                  var regex = new RegExp( expr );          var regex = new RegExp( expr );
290                  var results = regex.exec( window.location.href );          var results = regex.exec( window.location.href );
291                  if( results !== null ) {          if( results !== null ) {
292                          return results[1];              return results[1];
293                          return decodeURIComponent(results[1].replace(/\+/g, " "));              return decodeURIComponent(results[1].replace(/\+/g, " "));
294                  } else {          } else {
295                          return false;              return false;
296                  }          }
297          };      };
298  })(jQuery);  })(jQuery);
299    
300  function changeDataSelect(tn, ds, joker){  
301    /*
302     * Javascript concernant la demande d'avis
303     *
304     *
305     */
306    
307    /**
308     * Fonction de callback appellée lors de la fermeture du dialog (popupit)
309     * du retour d'avis d'un service
310     **/
311    function returnToTab(objsf) {
312        var valid=$('#sousform-'+objsf+' div.ui-state-valid');
313        if(valid.length > 0) {
314            document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')
315            +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')
316            +"&selectioncol="+$.getQuery('selectioncol');
317        }
318    };
319    
320    
321    /*
322     * Javascript concernant la demande
323     *
324     *
325     */
326    
327     /**
328      * Function permettant d'insérer l'id du demandeur ajouté dans un input hidden
329      **/
330    function getDemandeurId(type) {
331        var id_demandeur=$('#id_retour').val();
332        if($.isNumeric(id_demandeur)) {
333            if(type != 'petitionnaire') {
334                $('#add_'+type).hide();
335            }
336            if (type == "petitionnaire") {
337                $('<input type="hidden" class="demandeur" name="'+type+'[]" value="'+id_demandeur+'"/>').insertBefore('#add_'+type);
338            } else {
339                $('<input type="hidden" class="demandeur" name="'+type+'" value="'+id_demandeur+'"/>').insertBefore('#add_'+type);
340            }
341                    
342      var id = $("#"+ds+" option:selected").val();          afficherDemandeur(id_demandeur,type);
343      link = "../app/listData.php?idx=" + id + "&tn=" + tn + "&ds=" + ds;          om_initialize_content();
344        }
345    
346    }
347    
348    /**
349     * Fonction permettant d'afficher la synthèse d'un demandeur
350     */
351    function afficherDemandeur(id,type) {
352      $.ajax({      $.ajax({
353          type: "GET",          type: "GET",
354          url: link,          url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+id+'&type='+type,
355          cache: false,          cache: false,
         dataType: "json",  
356          success: function(html){          success: function(html){
357                            $(html).insertBefore('#add_'+type);
358              $('#'+tn).empty();          }
               
             if ( joker == true )  
                 $('#'+tn).append(  
                     '<option value="" selected="selected">*</option>'  
                 );  
             else  
                 $('#'+tn).append(  
                     '<option value="" selected="selected">Choisir ' + tn + '</option>'  
                 );  
               
             if ( html !== '' ){  
                   
                 html = html.split(';');  
                 for ( i = 0 ; i < html.length - 1 ; i++ ){  
                       
                     html_temp = html[i].split('_');  
                     $('#'+tn).append(  
                         '<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>'  
                     );  
                 }  
             }  
         },  
         async: false  
359      });      });
360  }  }
 function vuploadMulti(champ) {  
     //  
     if (fenetreouverte == true) {  
         pfenetre.close();  
     }  
     //  
     pfenetre = window.open("../spg/upload.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;  
 }  
 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;  
 }  
361    
362  /*  /*
363      Ajoute le formulaire d'jout de référence cadastrale personnalisé   * A garder
364     */
365    /*
366     * '<div class="field field-type-text morePetitionnaire" style="display: table-row;">' +
367            '<div class="form-libelle">' +
368                '<label class="libelle-more_petitionnaire" for="terrain_superficie"> + Ajouter un autre p&eacute;titionnaire </label>' +
369            '</div>' +
370            '<div class="form-content">' +
371            '</div>' +
372        '</div>'
373     */
374    
375    
376    /*
377        Ajoute le formulaire d'ajout de référence cadastrale personnalisé
378   * */   * */
379  $(function() {  $(function() {
380            changeDemandeurType('qualite');
381      url = document.location + "" ;      if ( $('#type_demandeur') == 'petitionnaire' ){
     if ( $('#date_demande').length > 0  
         && !$('#dossier_autorisation_type_detaille').is(':disabled')  
         && url.indexOf("form.php?obj=demande&action=0") != -1 ){  
           
         $.ajax({  
             type: "GET",  
             url: "sousform.php?obj=demandeur&action=0&tri=&objsf=demandeur&premiersf=0",  
             cache: false,  
             success: function(html){  
                   
                 $('.lots').append(createFieldset('test', 'test'));  
                 $('#test').html(html);  
                 $('#test .formControls').remove();  
   
                 $('#test').html($('#test .formEntete').html());  
                   
                 $('#test #particulier_prenom').parent().append(  
                     '<span class="om-icon om-icon-16 om-icon-fix search-part-16" title="Chercher un petitionnaire"></span>'  
                 );  
                 $('#test #personne_morale_raison_sociale').parent().append(  
                     '<span class="om-icon om-icon-16 om-icon-fix search-mor-16" title="Chercher un petitionnaire"></span>'  
                 );  
                 $('#test input[id=personne_morale_prenom]').after(  
                     '<span class="om-icon om-icon-16 om-icon-fix search-mor-16" title="Chercher un petitionnaire"></span>'  
                 );  
                   
                 obj = $('#type_demandeur').parent();  
                 obj.empty();  
                 obj.html(  
                     '<select id="type_demandeur" class="champFormulaire selectTypeDemandeur" name="type_demandeur" size="1">' +  
                         '<option selected="selected" value="particulier">particulier</option>' +  
                         '<option value="personne_morale">personne morale</option>' +                      
                     '</select>'  
                 );  
                   
                 setSelectCivilite();  
             },  
             async: false  
         });  
382                    
383          $('.lots').append(createFieldset('P&eacute;titionnaire(s)', 'petitionnaire__0'));          addSearchIcon();
384          $('#petitionnaire__0').after(          addDivDialog('.bloc_demandeur');
385              '<div class="field field-type-text morePetitionnaire" style="display: table-row;">' +      }
386                  '<div class="form-libelle">' +  
387                      '<label class="libelle-more_petitionnaire" for="terrain_superficie"> + Ajouter un autre p&eacute;titionnaire </label>' +      // Bind de la fonction permettant l'ajout du pétitionnaire principal
388                  '</div>' +      $("#add_petitionnaire_principal").click( function() {
389                  '<div class="form-content">' +          popupIt('petitionnaire',
390                  '</div>' +                  '../scr/sousform.php?obj=petitionnaire&action=0'+
391              '</div>');                  '&retourformulaire=demande&principal=true', 780, 500,
392                            getDemandeurId, 'petitionnaire_principal');
393          $('.morePetitionnaire').click( function() {          changeDemandeurType('qualite');
394              $('#fieldsetpetitionnaire__0 .morePetitionnaire').before(          addSearchIcon();
395                  '<div id="petitionnaire__' + $('#fieldsetpetitionnaire__0 .fieldsetContent').size() +'" class="fieldsetContent">'+          addDivDialog('.bloc_demandeur');
396                      $('#fieldsetpetitionnaire__0 .formsDemandeur').val() +      });
397                  '</div>'      // Bind de la fonction permettant l'ajout du délégataire
398              );      $("#formulaire").on("click","#add_delegataire", function(event) {
399                        popupIt('delegataire',
400              nb = $('#fieldsetpetitionnaire__0 .fieldsetContent').size() - 1;                  '../scr/sousform.php?obj=delegataire&action=0'+
401                                '&retourformulaire=demande', 780, 500,
402              changeIdNameField('petitionnaire__' + nb, '_' + nb );                  getDemandeurId, 'delegataire');
403                        changeDemandeurType('qualite');
404              addDatePicker( 'petitionnaire__' + nb + ' #particulier_date_naissance_' + nb);          addSearchIcon();
405                        addDivDialog('.bloc_demandeur');
406              addActionSearch('petitionnaire__' + nb, '_' + nb);      });
407                    // Bind de la fonction permettant l'ajout des pétitionnaires
408              setTypeDemandeur('petitionnaire__' + nb, '_' + nb );      $("#formulaire").on("click","#add_petitionnaire", function(event) {
409                        popupIt('petitionnaire',
410              $('html, body').animate({                  '../scr/sousform.php?obj=petitionnaire&action=0'+
411                  scrollTop: $('#petitionnaire__' + nb + ' #type_demandeur').offset().top                  '&retourformulaire=demande', 780, 500,
412              }, 1000);                  getDemandeurId, 'petitionnaire');
413          });              changeDemandeurType('qualite');
414                    addSearchIcon();
415          $('.lots').append(createFieldset('D&eacute;l&eacute;gataire', 'delegataire'));          addDivDialog('.bloc_demandeur');
416          setDelegataire();      });
417          setPetitionnaire();  
         setTypeDemandeur('petitionnaire__0', '_0');  
418                    
419          $('#petitionnaire__0').before(      url = document.location + "" ;
420              '<div id="dialog" title="Résultats de votre recherche"></div>'      if (url.indexOf("form.php?obj=demande&") != -1
421          );          && url.indexOf("&action=0") != -1 ){
422                        /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
423          hideFields();          hideFields();
424      }      }
425        
426     if ( $('#date_demande').length > 0     if (url.indexOf("form.php?obj=demande&") != -1
427          && !$('#dossier_autorisation_type_detaille').is(':disabled')          && url.indexOf("&action=1") != -1 ){
428          && url.indexOf("form.php?obj=demande&action=1") != -1 ){          
429                        formatFieldReferenceCadastrale();
430          addNewFieldReferencesCadastrales();     }
431          $('#terrain_references_cadastrales').parent().parent().hide();  });
432    
433    /*
434     * Action sur les champs pour les références cadastrales
435     */
436    function formatFieldReferenceCadastrale(){
437        addNewFieldReferencesCadastrales();
438        $('#terrain_references_cadastrales').parent().parent().hide();
439        
440        reference_cadastrale = $('#terrain_references_cadastrales').val();
441        /*Formatage de la reference cadastrale*/
442        if ( reference_cadastrale != '' ){
443            
444            /* Récupère la référence cadastrale non formatée */
445            references_cadastrales = reference_cadastrale.split(';');
446            donnees = new Array();
447                    
448          reference_cadastrale = $('#terrain_references_cadastrales').val();          i = 0 ;
449          /*Formatage de la reference cadastrale*/          /* Boucle sur les références, elles étaient séparées par un ; */
450          if ( reference_cadastrale != '' ){          for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
451                
452                /*Récupère le code impots du qartier [CHIFFRES]*/
453                k = 0;
454                donnees[i] = '';
455                for ( j = k ; j < references_cadastrales[l].length ; j++ ){
456                    
457                    if ( references_cadastrales[l].charAt(j) >= 0 &&
458                        references_cadastrales[l].charAt(j) <= 9 ){
459                            
460                        donnees[i] += references_cadastrales[l].charAt(j);
461                        k++;
462                        
463                    } else {
464                        
465                        i++;
466                        break;
467                    }
468                }
469                            
470              references_cadastrales = reference_cadastrale.split(';');              /* Récupère la section [LETTRES] */    
471              donnees = new Array();              donnees[i] = '';
472                for ( j = k ; j < references_cadastrales[l].length ; j++ )
473                    if ( isAlpha(references_cadastrales[l].charAt(j)) ){
474                        
475                        donnees[i] += references_cadastrales[l].charAt(j);
476                        k++;
477                        
478                    } else {
479                        
480                        i++;
481                        break;
482                    }
483                            
484              i = 0 ;              /* Récupère la parcelle [CHIFFRES] */
485              for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){              donnees[i] = '';
486                                for ( j = k ; j < references_cadastrales[l].length ; j++ )
487                  k = 0;                  if ( references_cadastrales[l].charAt(j) >= 0 &&
488                  donnees[i] = '';                      references_cadastrales[l].charAt(j) <= 9 ){
489                  for ( j = k ; j < references_cadastrales[l].length ; j++ )                          
490                      if ( references_cadastrales[l].charAt(j) >= 0 && references_cadastrales[l].charAt(j) <= 9 ){                      donnees[i] += references_cadastrales[l].charAt(j);
491                          donnees[i] += references_cadastrales[l].charAt(j);                      k++;
492                          k++;                      
493                      } else {                  } else {
494                          i++;                      
495                          break;                      break;
496                      }                  }
497                
498                /* Récupère les séparateurs [ A / ] et les sections */
499                m = 0 ;
500                if ( k < references_cadastrales[l].length ){
501                                    
                         
                 donnees[i] = '';  
502                  for ( j = k ; j < references_cadastrales[l].length ; j++ )                  for ( j = k ; j < references_cadastrales[l].length ; j++ )
503                      if ( isAlpha(references_cadastrales[l].charAt(j)) ){                      if ( isAlpha(references_cadastrales[l].charAt(j)) ){
504                          donnees[i] += references_cadastrales[l].charAt(j);                          
505                          k++;                          m++;
506                      } else {                          donnees[++i] = references_cadastrales[l].charAt(j);
507                          i++;                          donnees[++i] = '';
                         break;  
508                      }                      }
509                                        else {
510                  donnees[i] = '';                          
                 for ( j = k ; j < references_cadastrales[l].length ; j++ )  
                     if ( references_cadastrales[l].charAt(j) >= 0 && references_cadastrales[l].charAt(j) <= 9 ){  
511                          donnees[i] += references_cadastrales[l].charAt(j);                          donnees[i] += references_cadastrales[l].charAt(j);
                         k++;  
                     } else {  
                         break;  
512                      }                      }
513                                }
514                  m = 0 ;              
515                  if ( k < references_cadastrales[l].length ){              /*Créé autant de champs de que de référence */
516                                    donnees[++i] = ';';
517                      for ( j = k ; j < references_cadastrales[l].length ; j++ )              i++;
                         if ( isAlpha(references_cadastrales[l].charAt(j)) ){  
                             m++;  
                             donnees[++i] = references_cadastrales[l].charAt(j);  
                             donnees[++i] = '';  
                         }  
                         else {  
                             donnees[i] += references_cadastrales[l].charAt(j);  
                         }  
                 }  
   
                 donnees[++i] = ';';  
                 i++;  
518    
519                  if ( l > 0 )              if ( l > 0 ) {
                     $('.reference_cadastrale_custom_fields').append( "<br/>" + fieldReferenceCadastraleBase());  
                 actionFormReferenceCadastrale();  
520                                    
521                  if ( m > 0 ){                  $('.reference_cadastrale_custom_fields').append(
522                                                    "<br/>" + fieldReferenceCadastraleBase()
523                      for ( j = 0 ; j < m ; j++ )                  );
                         $('#moreFieldReferenceCadastrale' + ( $('.moreFieldReferenceCadastrale').length - 1 ) ).before(newInputReferenceCadastrale());  
                 }  
524              }              }
   
             actionLineFormReferenceCadastrale();  
525                            
526              $('.reference_cadastrale_custom_field').each(              actionFormReferenceCadastrale();
527                  function(index) {              
528                       $(this).val(donnees[index])              if ( m > 0 ){
529                            
530                    for ( j = 0 ; j < m ; j++ ){
531                        
532                        $('#moreFieldReferenceCadastrale' +
533                            ( $('.moreFieldReferenceCadastrale').length - 1 ) ).
534                        before(
535                            newInputReferenceCadastrale()
536                        );
537                  }                  }
538              );              }
539          }          }
540     }           /* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter
541  });            * d'autres lignes] */
542            actionLineFormReferenceCadastrale();
543  /*          
544      Création du formuliare pour le petitionnaire          /* Ajoute les données dans les champs nouvellement créés */
545   * */          $('.reference_cadastrale_custom_field').each(
546  function setPetitionnaire(){              function(index) {
547      $('#petitionnaire__0').prepend("<br/>" + $('#test').html() + "<br/>");                  
548      $('#test').parent().remove();                  $(this).val(donnees[index])
549                    }
550      addActionSearch('petitionnaire__0', '_0');          );
551            }
552        else{
553            actionFormReferenceCadastrale();
554            actionLineFormReferenceCadastrale();
555        }
556  }  }
557    
558  /*  /*
559      Action au changement du select du type de demandeur   * Ajoute les icônes pour la recherche de pétitionnaire fréquent.
560   * */   */
561  function setTypeDemandeur(id, complement){  function addSearchIcon(){
562      $('#'+id + ' select[id="type_demandeur"]').on('change',      
563          function() {      /*Ajout de l'icône après le champs du prénom du particulier*/
564        $('.search_particulier_fields input').
565              if ( $(this).find('option:selected').first().text() == 'particulier' )      last().
566                  fieldTypeDemandeur('#' + id, true, complement);      after(
567              else          '<span '+
568                  fieldTypeDemandeur('#' + id, false, complement);              'class="om-icon om-icon-16 om-icon-fix search-part-16" '+
569          }              'title="Chercher un petitionnaire">'+
570            '</span>'
571      );      );
 }  
   
 /*  
     Création du formulaire pour le délégataire  
  * */  
 function setDelegataire(){  
     $('#delegataire').html($('#test').html());  
       
     $('#delegataire #type_demandeur').parent().parent().remove();  
     $('#delegataire #personne_morale_denomination').parent().parent().remove();  
     $('#delegataire #personne_morale_raison_sociale').parent().parent().remove();  
     $('#delegataire #personne_morale_siret').parent().parent().remove();  
     $('#delegataire #personne_morale_categorie_juridique').parent().parent().remove();  
     $('#delegataire #personne_morale_civilite').parent().parent().remove();  
     $('#delegataire #personne_morale_nom').parent().parent().remove();  
     $('#delegataire #personne_morale_prenom').parent().parent().remove();  
     $('#delegataire #frequent').parent().parent().remove();  
     $('#delegataire .search-part-16').remove();  
572            
573      changeIdNameField('delegataire', '');      /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/
574      addDatePicker('delegataire #particulier_date_naissance');      $('.search_personne_morale_fields input').each(
 }  
   
 /*  
     Change les id et les name des champs  
  * */  
 function changeIdNameField(id, complement){  
       
     $('#' + id + ' input').each(  
         function(){  
             $(this).attr('name', id + '__' + $(this).attr('name') );  
             $(this).attr('id', $(this).attr('id') + complement );  
         }  
     );  
   
     $('#' + id + ' select').each(  
575          function(){          function(){
576              $(this).attr('name', id + '__' + $(this).attr('name') );              $(this).
577              $(this).attr('id', $(this).attr('id') + complement );              after(
578                    '<span '+
579                        'class="om-icon om-icon-16 om-icon-fix search-mor-16" '+
580                        'title="Chercher un petitionnaire"> '+
581                    '</span>'
582                );
583          }          }
584      );      );
585            
586            addActionSearchIcon('#sousform-petitionnaire #form-content');
587  }  }
588    
589  /*  /*
590      Ajoute les le datespicker sur les champs de date   * Ajoute les actions sur les icônes de recherche
591   * */   */
592  function addDatePicker(id){  function addActionSearchIcon(id){
593            
594      $("#" + id ).datepicker({      /*Si on recherche un pétitionnaire de type particulier*/
595          dateFormat: dateFormat,      $(' .search-part-16').click(
         changeMonth: true,  
         changeYear: true,  
         yearRange: minYear+':'+maxYear,  
         showOn: 'button',  
         buttonImage: '../img/calendar.png',  
         buttonImageOnly: true,  
         constrainInput: true  
     });  
 }  
   
 /*  
     Ajout de l'action de recherche des pétitionnaire fréquent dans un overlay  
  * */  
 function addActionSearch(id, complement){  
       
     $('#' + id + ' .search-part-16').click(  
596          function(){          function(){
597                            
598              var donnees = "?type=particulier&par_nom=";              /*Le champ nom du particulier doit contenir au moins trois lettres*/
599              $('#' + id + ' .search_particulier_fields input').each(              if ( $('#particulier_nom').val().length < 3 ||
600                  function(i){                  $('#particulier_prenom') < 3 ){
601                    
602                      donnees += $(this).val() + (( i == 0 ) ?  '&par_prenom='  : '') ;                  alert('Saisissez au moins trois lettres pour la recherche');
603                  }                  return;
604              );              }
605                
606                /*Données des champs nom et prénom du particulier*/
607                var donnees = "?qualite=particulier"+
608                    "&par_nom=" + $('.search_particulier_fields #particulier_nom').val() +
609                    "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val();
610    
611                /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)
612                 * correspondant(s) à la recherche */
613              $.ajax({              $.ajax({
614                  type: "GET",                  type: "GET",
615                  url: "../app/findPetitionnaire.php" + donnees ,                  url: "../app/findPetitionnaire.php" + donnees ,
# Line 524  function addActionSearch(id, complement) Line 618  function addActionSearch(id, complement)
618                                            
619                      res = 'Auncune correspondance trouvée.';                      res = 'Auncune correspondance trouvée.';
620                                            
621                        /*Si la recherche a donné des résultats*/
622                      if ( html.length > 2 ){                      if ( html.length > 2 ){
623                                                    
624                          res = '<select>' ;                          res = '' ;
625                          donnees = html.split(';');                          donnees = html.split(';');
626                            nbRes = donnees.length;
627                          for ( i = 0 ; i < donnees.length - 1 ; i++ ){                          
628                            /*Limitation des résultats à 50 */
629                            if ( nbRes > 50 ){
630                                
631                                nbRes = 50;
632                                res = 'Votre recherche a donn&eacute; ' + donnees.length
633                                    + ' r&eacute;sultats. Seul les cinquantes premiers ' +
634                                    'seront affich&eacute;s.<br/>';
635                            }
636                            
637                            res += '<select>' ;
638                            
639                            /* Met les résultats de la recherche dans un select */
640                           for ( i = 0 ; i < nbRes - 1 ; i++ ){
641    
642                              val = donnees[i].replace('"', '');                              val = donnees[i].replace('"', '');
643                              line = donnees[i].split('_');                              line = donnees[i].split('_');
644                                                            
645                              res += '<option value="' + val + '">' + line[1] + ' ' + line[2] + ' - ' + line[3] + '</option>';                              if ( line[3] != '' ){
646                                    
647                                    line[3] = ' - ' + line[3];
648                                }
649                                
650                                res += '<option value="' + val + '">' +
651                                            line[1] + ' ' + line[2] + line[3] +
652                                       '</option>';
653                          }                          }
654                                                    
655                          res += '</select>' ;                          res += '</select>' ;
656                      }                      }
657                                            
658                        /* Affichage de l'overlay */
659                      $('#dialog').html(res);                      $('#dialog').html(res);
660                                                
661                      $( "#dialog" ).dialog({                      $( "#dialog" ).dialog({
# Line 547  function addActionSearch(id, complement) Line 663  function addActionSearch(id, complement)
663                          buttons : {                          buttons : {
664                              Valider: function(){                              Valider: function(){
665                                                                    
666                                    /*Action à l'appui sur le bouton valider*/
667                                  if ( res != 'Auncune correspondance trouvée.' ){                                  if ( res != 'Auncune correspondance trouvée.' ){
668                                        
669                                        /*Vide les valeurs des champs*/
670                                        emptyFields(id);
671                                        
672                                      donnees = $('#dialog select option:selected').val();                                      donnees = $('#dialog select option:selected').val();
673                                      donnees = donnees.split('_');                                      donnees = donnees.split('_');
674                                                                            
675                                      if ( $.isNumeric(donnees[4]) )                                      if ( $.isNumeric(donnees[4]) ){
676                                          $('#' + id + ' select[id="particulier_civilite' + complement + '"] option[value="' + $.trim(donnees[4]) + '"]').attr('selected','selected');                                          $('#particulier_civilite ' +
677                                      $('#' + id + ' input[id="particulier_nom' + complement + '"]').val($.trim(donnees[1]));                                              'option[value="' + $.trim(donnees[4]) + '"]').
678                                      $('#' + id + ' input[id="particulier_prenom' + complement + '"]').val($.trim(donnees[2]));                                          attr('selected','selected');
679                                      date = $.trim(donnees[3]).split('-');                                      }
680                                      date = date[2] + "/" + date[1] + "/" + date[0] ;                                      
681                                      $('#' + id + ' input[id="particulier_date_naissance' + complement + '"]').val(date);                                      $('#particulier_nom').
682                                      $('#' + id + ' input[id="particulier_commune_naissance' + complement + '"]').val($.trim(donnees[10]));                                      val($.trim(donnees[1]));
683                                      $('#' + id + ' input[id="particulier_departement_naissance' + complement + '"]').val($.trim(donnees[11]));                                      
684                                        $('#particulier_prenom').
685                                        val($.trim(donnees[2]));
686                                                                            
687                                      changeValInputDemandeur(id, donnees, complement);                                      /*Vérifie si la date est non vide avant de la traiter*/
688                                        date_temp = $.trim(donnees[3]);
689                                        if ( date_temp != '' ){
690                                            
691                                            date = date_temp.split('-');
692                                            date = date[2] + "/" + date[1] + "/" + date[0] ;
693                                            $('#particulier_date_naissance').
694                                            val(date);
695                                            
696                                        }
697                                        $('#particulier_commune_naissance').
698                                        val($.trim(donnees[10]));
699                                        $('#particulier_departement_naissance').
700                                        val($.trim(donnees[11]));
701                                        
702                                        changeValInputDemandeur(donnees);
703                                  }                                  }
704                                                                    
705                                    /*Fermeture de l'overlay*/
706                                  $(this).dialog( "close" );                                  $(this).dialog( "close" );
707                              }                              }
708                          }                          }
# Line 574  function addActionSearch(id, complement) Line 713  function addActionSearch(id, complement)
713          }          }
714      );      );
715            
716      $('#' + id + ' .search-mor-16').click(      /*Si on recherche un pétitionnaire de type personne morale*/
717        $('.search-mor-16').click(
718          function(){          function(){
719                            
720              var donnees = "?type=personne_morale"+              /*Le champ nom du particulier doit contenir au moins trois lettres*/
721                  "&mor_denomination="+$('#'+id+' input[id="personne_morale_denomination' + complement + '"]').val() +              if ( $('#personne_morale_denomination').val().length < 3 ||
722                  "&mor_nom="+$('#'+id+' input[id="personne_morale_nom' + complement + '"]').val();                  $('#personne_morale_nom') < 3 ){
723                                    
724                    alert('Saisissez au moins trois lettres pour la recherche');
725                    return;
726                }
727                
728                /*Données des champs dénomination et nom de la personne morale*/
729                var donnees = "?qualite=personne_morale"+
730                    "&mor_denomination="+$('#personne_morale_denomination').val() +
731                    "&mor_nom="+$('#personne_morale_nom').val();
732                    
733                /* Requête qui va récupérer les données du(es) pétitionnaire(s)
734                 * correspondant(s) à la recherche */    
735              $.ajax({              $.ajax({
736                  type: "GET",                  type: "GET",
737                  url: "../app/findPetitionnaire.php" + donnees ,                  url: "../app/findPetitionnaire.php" + donnees ,
# Line 588  function addActionSearch(id, complement) Line 739  function addActionSearch(id, complement)
739                  success: function(html){                  success: function(html){
740                                            
741                      res = 'Auncune correspondance trouvée.';                      res = 'Auncune correspondance trouvée.';
742                        
743                      if ( html > 2 ){                      /*Si la recherche a donné des résultats*/
744                        if ( html.length > 2 ){
745                                                    
746                          res = '<select>' ;                          res = '' ;
747                          donnees = html.split(';');                          donnees = html.split(';');
748                            nbRes = donnees.length;
749                          for ( i = 0 ; i < donnees.length - 1 ; i++ ){                          
750                            /*Limitation des résultats à 50 */
751                            if ( nbRes > 50 ){
752                                
753                                nbRes = 50;
754                                res = 'Votre recherche a donn&eacute; ' + donnees.length
755                                    + ' r&eacute;sultats. Seul les cinquantes premiers ' +
756                                    'seront affich&eacute;s.<br/>';
757                            }
758                            
759                            res += '<select>' ;
760                            
761                            /* Met les résultats de la recherche dans un select */
762                            for ( i = 0 ; i < nbRes - 1 ; i++ ){
763    
764                              val = donnees[i].replace('"', '');                              val = donnees[i].replace('"', '');
765                              line = donnees[i].split('_');                              line = donnees[i].split('_');
766                                                            
767                              res += '<option value="' + val + '">' + line[5] + ' ' + line[6] + '</option>';                              res += '<option value="' + val + '">' +
768                                            line[5] + ' ' + line[6] +
769                                        '</option>';
770                          }                          }
771                                                    
772                          res += '</select>' ;                          res += '</select>' ;
773                      }                      }
774                                            
775                        /* Affichage de l'overlay */
776                      $('#dialog').html(res);                      $('#dialog').html(res);
777                                                
778                      $( "#dialog" ).dialog({                      $( "#dialog" ).dialog({
# Line 612  function addActionSearch(id, complement) Line 780  function addActionSearch(id, complement)
780                          buttons : {                          buttons : {
781                              Valider: function(){                              Valider: function(){
782                                                                    
783                                    /*Vide les valeurs des champs*/
784                                    emptyFields(id);
785                                    
786                                    /*Action à l'appui sur le bouton valider*/
787                                  if ( res != 'Auncune correspondance trouvée.' ){                                  if ( res != 'Auncune correspondance trouvée.' ){
788                                      donnees = $('#dialog select option:selected').val();                                      donnees = $('#dialog select option:selected').val();
789                                      donnees = donnees.split('_');                                      donnees = donnees.split('_');
790                                                                            
791                                        if ( $.isNumeric(donnees[8]) ){
792                                            
793                                            $('#personne_morale_civilite ' +
794                                                'option[value="' + $.trim(donnees[8]) + '"]').
795                                            attr('selected','selected');
796                                        }
797                                        
798                                        $('#personne_morale_denomination').
799                                        val($.trim(donnees[5]));
800                                        
801                                        $('#personne_morale_raison_sociale').
802                                        val($.trim(donnees[12]));
803                                                                            
804                                      if ( $.isNumeric(donnees[8]) )                                      $('#personne_morale_siret').
805                                          $('#' + id + ' select[id="personne_morale_civilite' + complement + '"] option[value="' + $.trim(donnees[8]) + '"]').attr('selected','selected');                                      val($.trim(donnees[6]));
                                     $('#' + id + ' input[id="personne_morale_denomination' + complement + '"]').val($.trim(donnees[5]));  
                                     $('#' + id + ' input[id="personne_morale_raison_sociale' + complement + '"]').val($.trim(donnees[12]));  
                                     $('#' + id + ' input[id="personne_morale_siret' + complement + '"]').val($.trim(donnees[6]));  
                                     $('#' + id + ' input[id="personne_morale_categorie_juridique' + complement + '"]').val($.trim(donnees[13]));  
                                     $('#' + id + ' input[id="personne_morale_nom' + complement + '"]').val($.trim(donnees[7]));  
                                     $('#' + id + ' input[id="personne_morale_prenom' + complement + '"]').val($.trim(donnees[9]));  
806                                                                            
807                                      changeValInputDemandeur(id, donnees, complement);                                      $('#personne_morale_categorie_juridique').
808                                        val($.trim(donnees[13]));
809                                        
810                                        $('#personne_morale_nom').
811                                        val($.trim(donnees[7]));
812                                        
813                                        $('#personne_morale_prenom').
814                                        val($.trim(donnees[9]));
815                                        
816                                        changeValInputDemandeur(donnees);
817                                  }                                  }
818                                    
819                                    /*Fermeture de l'overlay*/
820                                  $(this).dialog( "close" );                                  $(this).dialog( "close" );
821                              }                              }
822                          }                          }
# Line 636  function addActionSearch(id, complement) Line 826  function addActionSearch(id, complement)
826              });              });
827          }          }
828      );      );
829        
830    }
831    
832    /*
833     * Vide les champs avant d'y mettre les nouvelles informations
834     */
835    function emptyFields(id){
836        $(id + ' input').each(
837            function(){
838                $(this).val('');
839            }
840        );
841        
842        $(id + ' select option[value=""]').each(
843            function(){
844                
845                /*Ne pas remettre à zéro le select concernant la qualite du demandeur*/
846                if ( $(this).attr('id') != 'qualite' ) {
847                    
848                    $(this).attr('selected', 'selected');
849                }
850            }
851        );
852        
853        $(id + ' input[type="checkbox"]').each(
854            function(){
855                $(this).val('');
856                $(this).removeAttr('checked');
857            }
858        );
859  }  }
860    
861  /*  /*
862      Change les valeurs des champs en commun des particuliers et des personnes morales      Change les valeurs des champs en commun des particuliers et des personnes morales
863        Lié à la fonction addActionSearch
864        
865   * */   * */
866  function changeValInputDemandeur(id, donnees, complement){  function changeValInputDemandeur( donnees){
867        
868        $('input[id="demandeur"]').val($.trim(donnees[0]));
869            
     $('#' + id + ' input[id="demandeur' + complement + '"]').val($.trim(donnees[0]));  
870      /*Teste si la valeur retournée est TRUE*/      /*Teste si la valeur retournée est TRUE*/
871      if ( donnees[28] === 't' ){      if ( donnees[28] === 't' ){
872          $('#' + id + ' input[id="notification' + complement + '"]').attr('checked', 'checked');          
873          $('#' + id + ' input[id="notification' + complement + '"]').val('Oui');          $('#notification').attr('checked', 'checked');
874            $('#notification').val('Oui');
875      }      }
876      $('#' + id + ' input[id="frequent' + complement + '"]').attr('checked','checked');      
877      $('#' + id + ' input[id="frequent' + complement + '"]').val('Oui');      $('#sousform-petitionnaire #frequent').attr('checked','checked');
878      $('#' + id + ' input[id="numero' + complement + '"]').val($.trim(donnees[14]));      $('#sousform-petitionnaire #frequent').val('Oui');
879      $('#' + id + ' input[id="voie' + complement + '"]').val($.trim(donnees[15]));      $('#sousform-petitionnaire #numero').val($.trim(donnees[14]));
880      $('#' + id + ' input[id="complement' + complement + '"]').val($.trim(donnees[16]));      $('#sousform-petitionnaire #voie').val($.trim(donnees[15]));
881      $('#' + id + ' input[id="lieu_dit' + complement + '"]').val($.trim(donnees[17]));      $('#sousform-petitionnaire #complement').val($.trim(donnees[16]));
882      $('#' + id + ' input[id="localite' + complement + '"]').val($.trim(donnees[18]));      $('#sousform-petitionnaire #lieu_dit').val($.trim(donnees[17]));
883      $('#' + id + ' input[id="code_postal' + complement + '"]').val($.trim(donnees[19]));      $('#sousform-petitionnaire #localite').val($.trim(donnees[18]));
884      $('#' + id + ' input[id="bp' + complement + '"]').val($.trim(donnees[20]));      $('#sousform-petitionnaire #code_postal').val($.trim(donnees[19]));
885      $('#' + id + ' input[id="cedex' + complement + '"]').val($.trim(donnees[21]));      $('#sousform-petitionnaire #bp').val($.trim(donnees[20]));
886      $('#' + id + ' input[id="pays' + complement + '"]').val($.trim(donnees[22]));      $('#sousform-petitionnaire #cedex').val($.trim(donnees[21]));
887      $('#' + id + ' input[id="division_territoriale' + complement + '"]').val($.trim(donnees[23]));      $('#sousform-petitionnaire #pays').val($.trim(donnees[22]));
888      $('#' + id + ' input[id="telephone_fixe' + complement + '"]').val($.trim(donnees[24]));      $('#sousform-petitionnaire #division_territoriale').val($.trim(donnees[23]));
889      $('#' + id + ' input[id="telephone_mobile' + complement + '"]').val($.trim(donnees[25]));      $('#sousform-petitionnaire #telephone_fixe').val($.trim(donnees[24]));
890      $('#' + id + ' input[id="indicatif' + complement + '"]').val($.trim(donnees[26]));      $('#sousform-petitionnaire #telephone_mobile').val($.trim(donnees[25]));
891      $('#' + id + ' input[id="courriel' + complement + '"]').val($.trim(donnees[27]));      $('#sousform-petitionnaire #indicatif').val($.trim(donnees[26]));
892        $('#sousform-petitionnaire #courriel').val($.trim(donnees[27]));
893        $('#sousform-petitionnaire #type_demandeur').val($.trim(donnees[29]));
894  }  }
895    
896  /*  /*
897      Création des select pour la civilité   * Ajoute un div pour l'overlay dialog de jQuery
898   * */   */
899  function setSelectCivilite(){  function addDivDialog(id){
900            
901      $.ajax({      $(id).prepend('<div id="dialog"></div>');
         type: "GET",  
         url: "../app/civilite.php",  
         dataType: "json",  
         cache: false,  
         success: function(html){  
             if ( html != '' ){  
                   
                 $('#particulier_civilite').parent().html('<select id="particulier_civilite" class="champFormulaire" size="1" name="particulier_civilite">' +  
                         '<option value="" selected="selected">choisir particulier_civilite</option>');  
                 $('#personne_morale_civilite').parent().html('<select id="personne_morale_civilite" class="champFormulaire" size="1" name="personne_morale_civilite">' +  
                         '<option value="" selected="selected">choisir personne_morale_civilite</option>');  
                   
                 civilites = html.split(';');  
                 for ( i = 0 ; i < civilites.length - 1 ; i++ ){  
                       
                     civilite = civilites[i].split('_');  
                     $('#particulier_civilite').append('<option value="' + civilite[0] + '">' + civilite[1] + '</option>');  
                     $('#personne_morale_civilite').append('<option value="' + civilite[0] + '">' + civilite[1] + '</option>');  
                 }  
                   
                 $('#particulier_civilite').append('</select>');  
                 $('#personne_morale_civilite').append('</select>');  
             }  
         },  
         async: false  
     });  
902  }  }
903    
904  /*  /*
905      Retourne le code HTML d'un fieldset      Action au changement du select de la qualite du demandeur
906   * */   * */
907  function createFieldset(name, className){  function changeDemandeurType(id){
908      return '<fieldset class="cadre ui-corner-all ui-widget-content" id="fieldset' + className + '">' +  
909                  '<legend class="ui-corner-all ui-widget-content ui-state-active">' + name + ' </legend>' +      /*Si la qualite du demandeur est particulier */
910                  '<input class="formsDemandeur" type="hidden" val=""/>'+      if ( $('#' + id + ' option:selected').val() == 'particulier' ){
911                  '<div class="fieldsetContent " id="' + className + '">' +          
912                  '</div>' +          $('.personne_morale_fields input').each(
913                  '<div class="visualClear"></div>' +              function(){
914                  '</div>' +                  $(this).val('');
915             '</fieldset>';              }
916            );
917            $('.personne_morale_fields select option[value=""]').each(
918                function(){
919                    $(this).attr('selected', 'selected');
920                }
921            );
922            
923            $('.personne_morale_fields').hide();
924            $('.particulier_fields').show();
925        }
926        else {
927            
928           $('.particulier_fields input').each(
929                function(){
930                    $(this).val('');
931                }
932            );
933            $('.particulier_fields select option[value=""]').each(
934                function(){
935                    $(this).attr('selected', 'selected');
936                }
937            );
938            
939            $('.particulier_fields').hide();
940            $('.personne_morale_fields').show();
941        }
942  }  }
943    
944  /*  /*
945      Test str est une lettre de l'alphabet      Function de test des champs
946   * */   * */
947  function isAlpha(str) {  function isAlpha(str) {
948      return /^[a-zA-Z\/]+$/.test(str);      return /^[a-zA-Z\/]+$/.test(str);
949  }  }
950    
951    function isMail(str){
952        return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str);
953    }
954    
955    function isPhoneNumber(str){
956        return /[0-9-()+]{3,20}/.test(str);
957    }
958    
959    function testSeparator(obj){
960    
961        if ( obj.value != 'A' &&
962             obj.value != '/' ) {
963                
964            alert('Saisissez uniquement un A ou un / comme séparateur');
965            obj.value = '';
966        }
967    }
968    
969    /* FIN */
970    
971  /*  /*
972      Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de référence cadastrale      Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
973        référence cadastrale
974   * */   * */
975  function actionFormReferenceCadastrale(){  function actionFormReferenceCadastrale(){
976      $('form').submit(      $('form').submit(
977          function(){          function(){
978                            
979              var reference_cadastrale = '';              getDataFieldReferenceCadastrale();
980              var reference_cadastrale_temp = '';          }
981        );
982    
983        $('#moreFieldReferenceCadastrale' +
984            ($('.moreFieldReferenceCadastrale').length - 1 )).
985        on("click", function() {
986            $(this).before(newInputReferenceCadastrale());
987        });
988        
989    }
990    
991    /*
992     * Récupère les données saisies dans les champs de références cadastrales
993     */
994    function getDataFieldReferenceCadastrale(){
995        
996        var reference_cadastrale = '';
997        var reference_cadastrale_temp = '';
998        
999        $('.reference_cadastrale_custom_field').each(
1000            function(){
1001                            
1002              $('.reference_cadastrale_custom_field').each(              if ( $(this).val() == ';' ){
1003                  function(){                  
1004                                        reference_cadastrale_bis = reference_cadastrale_temp ;
1005                      if ( $(this).val() == ';' ){                  
1006                    while( reference_cadastrale_bis != ''){
1007                        if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*)*$/.test(reference_cadastrale_bis) ){
1008                                                    
1009                          reference_cadastrale_bis = reference_cadastrale_temp + ( ( reference_cadastrale_temp != '' && reference_cadastrale_temp.length > 0 ) ? ';' : '' );                          reference_cadastrale += reference_cadastrale_bis + ";";
1010                          if ( /^[0-9]{1-3}[a-zA-Z]{1-3}[0-9]{1-5}*$/.test(reference_cadastrale_bis) ){                          break;
                               
                             alert('dans');  
                             reference_cadastrale += reference_cadastrale_bis;  
                         }  
                         reference_cadastrale_temp = '';  
1011                      }                      }
1012                      else                      else{
1013                          reference_cadastrale_temp += $(this).val();                          
1014                                                reference_cadastrale_bis = reference_cadastrale_bis.slice( 0, -1);
1015                        }    
1016                  }                  }
1017              );                  
1018                    
1019                    reference_cadastrale_temp = '';
1020                }
1021                
1022                else {
1023                    
1024                    reference_cadastrale_temp += $(this).val();
1025                }
1026                            
             $('#terrain_references_cadastrales').val(reference_cadastrale);  
1027          }          }
1028      );      );
   
     $('#moreFieldReferenceCadastrale' + ($('.moreFieldReferenceCadastrale').length - 1 )).on("click", function() {  
         $(this).before(newInputReferenceCadastrale());  
     });  
1029            
1030        $('#terrain_references_cadastrales').val(reference_cadastrale);
1031  }  }
1032    
1033  /*  /*
# Line 768  function actionLineFormReferenceCadastra Line 1037  function actionLineFormReferenceCadastra
1037      $('#morelineReferenceCadastrale').click(      $('#morelineReferenceCadastrale').click(
1038          function(){          function(){
1039                            
1040              $('.reference_cadastrale_custom_fields').append( "<br/>" + fieldReferenceCadastraleBase());              $('.reference_cadastrale_custom_fields').
1041              $('#moreFieldReferenceCadastrale'+ ($('.moreFieldReferenceCadastrale').length - 1 )).on("click", function() {              append( "<br/>" + fieldReferenceCadastraleBase());
1042                
1043                $('#moreFieldReferenceCadastrale'+
1044                    ($('.moreFieldReferenceCadastrale').length - 1 )).
1045                on("click", function() {
1046                  $(this).before(newInputReferenceCadastrale());                  $(this).before(newInputReferenceCadastrale());
1047              });              });
1048                            
# Line 779  function actionLineFormReferenceCadastra Line 1052  function actionLineFormReferenceCadastra
1052  }  }
1053    
1054  /*  /*
1055      Met à jour le select demande_type dès qu'un dossier_autorisation_type_detaille est choisi      Met à jour le select demande_type dès qu'un
1056        dossier_autorisation_type_detaille est choisi
1057   * */   * */
1058  function changeDemandeType(){  function changeDemandeType(){
1059            
1060      var idDossierAutorisationTypeDetaille = $("#dossier_autorisation_type_detaille option:selected").val();      var idDossierAutorisationTypeDetaille =
1061            $("#dossier_autorisation_type_detaille option:selected").val();
1062        
1063        /* Récupère les données saisies dans les champs pour la référence cadastrale */
1064        getDataFieldReferenceCadastrale();    
1065            
1066      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
1067                    
# Line 793  function changeDemandeType(){ Line 1071  function changeDemandeType(){
1071                    
1072         $('#demande_type').parent().parent().show();         $('#demande_type').parent().parent().show();
1073                
1074         addNewFieldReferencesCadastrales();         formatFieldReferenceCadastrale();
         
        actionFormReferenceCadastrale();  
        actionLineFormReferenceCadastrale()          
1075      }      }
1076      else {      else {
1077          hideFields();          hideFields();
# Line 810  function addNewFieldReferencesCadastrale Line 1085  function addNewFieldReferencesCadastrale
1085      $('.references_cadastrales_new_field').remove();      $('.references_cadastrales_new_field').remove();
1086      $('.moreFieldReferenceCadastrale').remove();      $('.moreFieldReferenceCadastrale').remove();
1087      $('#morelineReferenceCadastrale').remove();      $('#morelineReferenceCadastrale').remove();
1088        $('.buttonCadAdr').remove();
1089      $('.localisation .fieldsetContent').prepend(      $('.localisation .fieldsetContent').prepend(
1090         '<div class="field field-type-text references_cadastrales_new_field" >'+         '<div class="field field-type-text references_cadastrales_new_field" >'+
1091              '<div class="form-libelle">' +              '<div class="form-libelle">' +
# Line 832  function addNewFieldReferencesCadastrale Line 1108  function addNewFieldReferencesCadastrale
1108     );     );
1109     $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +     $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
1110              '<div class="form-libelle"></div>' +              '<div class="form-libelle"></div>' +
1111              '<div class="form-content">' +              '<div class="form-content buttonCadAdr">' +
1112                  '<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" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
1113              '</div>' +              '</div>' +
1114         '</div>' );         '</div>' );
# Line 881  function fieldReferenceCadastraleBase(){ Line 1157  function fieldReferenceCadastraleBase(){
1157              '</span>';              '</span>';
1158  }  }
1159    
1160  /*  /**
1161      Cache les champs inutules   * Cache les champs inutules
1162   * */       **/
1163  function hideFields(){  function hideFields(){
1164      $('.bloc').each(      $('.demande_hidden_bloc').each(
1165          function(){          function(){
1166              if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )              $(this).hide();
                 $(this).hide();  
1167          }          }
1168      );      );
1169            
# Line 901  function hideFields(){ Line 1176  function hideFields(){
1176      Affiche les champs dont on a besoin      Affiche les champs dont on a besoin
1177   * */   * */
1178  function showFormsDemande(){  function showFormsDemande(){
1179      $('.bloc').each(      $('.demande_hidden_bloc').each(
1180          function(){          function(){
1181              if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )              $(this).show();
                 $(this).show();  
1182          }          }
1183      );      );
1184            
# Line 913  function showFormsDemande(){ Line 1187  function showFormsDemande(){
1187      $('.terrain_references_cadastrales_custom').hide();      $('.terrain_references_cadastrales_custom').hide();
1188            
1189      $('#terrain_references_cadastrales').parent().parent().hide();      $('#terrain_references_cadastrales').parent().parent().hide();
       
     /*Cache les champs inutiles*/  
     fieldTypeDemandeur('#petitionnaire__0', true, '_0');  
       
     $('#fieldsetpetitionnaire__0 .formsDemandeur').val($('#petitionnaire__0').html());  
       
     changeIdNameField('petitionnaire__0', '_0');  
       
     addDatePicker('petitionnaire__0 #particulier_date_naissance_0');  
 }  
   
 /*  
     Cache/montre des champs selon le type de demandeur  
  * */  
 function fieldTypeDemandeur(name, particulier, complement){  
   
     if ( particulier == true ){  
   
         $(name + ' select[id="particulier_civilite' + complement + '"] option[value=""]').attr('selected', 'selected');  
         $(name + ' input[id="particulier_nom' + complement + '"]').val('');  
         $(name + ' input[id="particulier_prenom' + complement + '"]').val('');  
         $(name + ' input[id="particulier_date_naissance' + complement + '"]').val('');  
         $(name + ' input[id="particulier_commune_naissance' + complement + '"]').val('');  
         $(name + ' input[id="particulier_departement_naissance' + complement + '"]').val('');  
           
         $( name + ' .particulier_fields').show();  
         $( name + ' .personne_morale_fields').hide();  
     }  
     else{  
           
         $(name + ' select[id="personne_morale_civilite' + complement + '"] option[value=""]').attr('selected', 'selected');  
         $(name + ' input[id="personne_morale_denomination' + complement + '"]').val('');  
         $(name + ' input[id="personne_morale_raison_sociale' + complement + '"]').val('');  
         $(name + ' input[id="personne_morale_siret' + complement + '"]').val('');  
         $(name + ' input[id="personne_morale_categorie_juridique' + complement + '"]').val('');  
         $(name + ' input[id="personne_morale_nom' + complement + '"]').val('');  
         $(name + ' input[id="personne_morale_prenom' + complement + '"]').val('');  
         $( name + ' .particulier_fields').hide();  
         $( name + ' .personne_morale_fields').show();  
     }  
1190  }  }
1191    
1192  /*  /*
# Line 975  function newInputReferenceCadastrale(){ Line 1209  function newInputReferenceCadastrale(){
1209              'value="" />';              'value="" />';
1210  }  }
1211    
 function testSeparator(obj){  
1212    
     if ( obj.value != 'A' &&  
          obj.value != '/' ) {  
               
         alert('Saisissez uniquement un A ou un / comme séparateur');  
         obj.value = '';  
     }  
 }  
1213    
1214  // Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau  /**
1215  // tableau de bord   * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1216     * tableau de bord
1217     */
1218  function widget_bind_move_actions() {}  function widget_bind_move_actions() {}
1219  function widget_bind_add_action() {}  function widget_bind_add_action() {}
1220  function widget_bind_edit_actions(widget_selector) {}  function widget_bind_edit_actions(widget_selector) {}
1221    
 function file(fichier) {  
     //  
     if (fichier == "") {  
         alert("zone vide");  
     }  
     //  
     pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");  
     //  
     fenetreouverte = true;  
 }  

Legend:
Removed from v.762  
changed lines
  Added in v.836

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26