/[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 651 by vpihour, Fri Nov 9 17:02:00 2012 UTC revision 807 by nhaye, Thu Nov 22 16:33:33 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 dossierdepot()  function dossierdepot()
142  {  {
143  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 49  function dossierdepot() Line 145  function dossierdepot()
145      document.f1.nature.value+"&idx=demo&datedebut="+      document.f1.nature.value+"&idx=demo&datedebut="+
146      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
147  }  }
148    //
149  function dossierads()  function dossierads()
150  {  {
151  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 58  function dossierads() Line 154  function dossierads()
154      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
155  }  }
156    
157    // téléchargement du fichier
158  function VerifNumdec(champ) {  function file(fichier) {
159      champ.value = champ.value.replace(",", "."); // remplacement de la virgule      //
160      //if (champ.value.lastIndexOf(".") == -1){ // champ decimal      if (fichier == "") {
161          if (isNaN(champ.value)) {          alert("zone vide");
162              alert(msg_alert_error_verifnum);      }
163              champ.value = "";      //
164              return;      pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");
165          }      //
166      //}      fenetreouverte = true;
       
167  }  }
168  /* -- Debut -- */  
169    /**
170     * Retour spécifique de l'écran de consultation multiple - surcharge de ajaxIt
171     * @todo XXX voir les différences avec ajaxIt et si il n'est pas possible
172     * d'effectuer  la modification dans le core
173     */
174  function messageIt(objsf, link, empty) {  function messageIt(objsf, link, empty) {
175      // recuperation du terme recherche      // recuperation du terme recherche
176      var recherche = document.getElementById("recherchedyn");      var recherche = document.getElementById("recherchedyn");
# Line 93  function messageIt(objsf, link, empty) { Line 193  function messageIt(objsf, link, empty) {
193      });      });
194  }  }
195    
196    /**
197     * TTélécharegement de fichier pdf en ajax
198     * spécifique de l'écran de consultation multiple
199     */
200  /* 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*/
201  jQuery.download = function(url, data, method){  jQuery.download = function(url, data, method){
202      //url and data options required      //url and data options required
# Line 111  jQuery.download = function(url, data, me Line 215  jQuery.download = function(url, data, me
215      };      };
216  };  };
217    
218  /* -- FIN -- */  /**
219  function popupIt(objsf, link) {   * Cette fonction permet de charger dans un dialog jqueryui un formulaire tel
220     * qu'il aurait été chargé avec ajaxIt
221     *
222     * @param objsf string : objet de sousformulaire
223     * @param link string : lien vers un sousformulaire (../scr/sousform.php...)
224     * @param width integer: width en px
225     * @param height integer: height en px
226     * @param callback function (optionel) : nom de la méthode à appeler
227     *                                       à la fermeture du dialog
228     * @param callbackParams mixed (optionel) : paramètre à traiter dans la function
229     *                                          callback
230     *
231     **/
232    function popupIt(objsf, link, width, height, callback, callbackParams) {
233      // Insertion du conteneur du dialog      // Insertion du conteneur du dialog
234      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');
235      $('<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 251  function popupIt(objsf, link) {
251              $(dialog).dialog({              $(dialog).dialog({
252              //OnClose suppression du contenu              //OnClose suppression du contenu
253              close: function(ev, ui) {              close: function(ev, ui) {
254                  // Si le formulaire est submit et valide                  // Si le formulaire est submit et valide on execute la méthode
255                  var valid=$('#sousform-'+objsf+' div.ui-state-valid');                  // passée en paramètre
256                  if(valid.length > 0) {                  if (typeof(callback) === "function") {
257                      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');  
258                  }                  }
259                  $(this).remove();                  $(this).remove();
260              },              },
261              resizable: false,              resizable: false,
262              modal: true,              modal: true,
263              width: 700,              width: width,
264              height: 520,              height: height,
265            });            });
266          },          },
267          async : false          async : false
268      });      });
269      //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','');  
     });  
270      $('#sousform-'+objsf).on("click",'a.retour',function() {      $('#sousform-'+objsf).on("click",'a.retour',function() {
271          $(dialog).dialog('close').remove();          $(dialog).dialog('close').remove();
272      });      });
273      return false;      return false;
274  }  }
275    
276    /***
277     * Fonction getter des paramètres de l'url courante
278     */
279  // Parse URL Queries Method  // Parse URL Queries Method
280  (function($){  (function($){
281          $.getQuery = function( query ) {      $.getQuery = function( query ) {
282                  query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");          query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
283                  var expr = "[\\?&]"+query+"=([^&#]*)";          var expr = "[\\?&]"+query+"=([^&#]*)";
284                  var regex = new RegExp( expr );          var regex = new RegExp( expr );
285                  var results = regex.exec( window.location.href );          var results = regex.exec( window.location.href );
286                  if( results !== null ) {          if( results !== null ) {
287                          return results[1];              return results[1];
288                          return decodeURIComponent(results[1].replace(/\+/g, " "));              return decodeURIComponent(results[1].replace(/\+/g, " "));
289                  } else {          } else {
290                          return false;              return false;
291                  }          }
292          };      };
293  })(jQuery);  })(jQuery);
294    
295  function changeDataSelect(tn, ds, joker){  
296    /*
297     * Javascript concernant la demande d'avis
298     *
299     *
300     */
301    
302    /**
303     * Fonction de callback appellée lors de la fermeture du dialog (popupit)
304     * du retour d'avis d'un service
305     **/
306    function returnToTab(objsf) {
307        var valid=$('#sousform-'+objsf+' div.ui-state-valid');
308        if(valid.length > 0) {
309            document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')
310            +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')
311            +"&selectioncol="+$.getQuery('selectioncol');
312        }
313    };
314    
315    
316    /*
317     * Javascript concernant la demande
318     *
319     *
320     */
321    
322     /**
323      * Function permettant d'insérer l'id du demandeur ajouté dans un input hidden
324      **/
325    function getDemandeurId(type) {
326        var id_demandeur=$('#id_retour').val();
327        $('#add_'+type).hide();
328        $('<input type="hidden" name="'+type+'__'+id_demandeur+'" value="'+id_demandeur+'"/>').insertBefore('#add_'+type);
329    }
330    
331    /*
332     * A garder
333     */
334    /*
335     * '<span class="om-icon om-icon-16 om-icon-fix search-part-16" title="Chercher un petitionnaire"></span>'
336     * ''
337     * '<div class="field field-type-text morePetitionnaire" style="display: table-row;">' +
338            '<div class="form-libelle">' +
339                '<label class="libelle-more_petitionnaire" for="terrain_superficie"> + Ajouter un autre p&eacute;titionnaire </label>' +
340            '</div>' +
341            '<div class="form-content">' +
342            '</div>' +
343        '</div>'
344     */
345    
346    
347    /*
348        Ajoute le formulaire d'jout de référence cadastrale personnalisé
349     * */
350    $(function() {
351        
352        changeDemandeurType('qualite');
353        addSearchIcon();
354        addDivDialog('.bloc_demandeur');
355        
356        url = document.location + "" ;
357        if ( $('#date_demande').length > 0
358            && !$('#dossier_autorisation_type_detaille').is(':disabled')
359            && url.indexOf("form.php?obj=demande&action=0") != -1 ){
360                    
361      var idArrondissement = $("#"+ds+" option:selected").val();          /*Fonction d'ajout de nouveau pétitionnaire*/  
362      link = "../app/listData.php?idx=" + idArrondissement + "&tn=" + tn + "&ds=" + ds;          $('.morePetitionnaire').click( function() {
     $.ajax({  
         type: "GET",  
         url: link,  
         cache: false,  
         dataType: "json",  
         success: function(html){  
363                            
364              $('#'+tn).empty();          });
365    
366            $("#add_petitionnaire_principal").click( function() {
367                popupIt('petitionnaire',
368                        '../scr/sousform.php?obj=petitionnaire&action=0'+
369                        '&retourformulaire=demande&principal=dfsdfsd', 780, 500,
370                        getDemandeurId, 'petitionnaire_principal');
371            });
372            /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
373            hideFields();
374        }
375      
376       if ( $('#date_demande').length > 0
377            && !$('#dossier_autorisation_type_detaille').is(':disabled')
378            && url.indexOf("form.php?obj=demande&action=1") != -1 ){
379                            
380              if ( joker == true )          addNewFieldReferencesCadastrales();
381                  $('#'+tn).append(          $('#terrain_references_cadastrales').parent().parent().hide();
382                      '<option value="" selected="selected">*</option>'          
383                  );          reference_cadastrale = $('#terrain_references_cadastrales').val();
384              else          /*Formatage de la reference cadastrale*/
385                  $('#'+tn).append(          if ( reference_cadastrale != '' ){
                     '<option value="" selected="selected">Choisir ' + tn + '</option>'  
                 );  
386                            
387              if ( html !== '' ){              /* Récupère la référence cadastrale non formatée */
388                references_cadastrales = reference_cadastrale.split(';');
389                donnees = new Array();
390                
391                i = 0 ;
392                /* Boucle sur les références, elles étaient séparées par un ; */
393                for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
394                                    
395                  html = html.split(';');                  /*Récupère le code impots du qartier [CHIFFRES]*/
396                  for ( i = 0 ; i < html.length - 1 ; i++ ){                  k = 0;
397                    donnees[i] = '';
398                    for ( j = k ; j < references_cadastrales[l].length ; j++ ){
399                                            
400                      html_temp = html[i].split('_');                      if ( references_cadastrales[l].charAt(j) >= 0 &&
401                      $('#'+tn).append(                          references_cadastrales[l].charAt(j) <= 9 ){
402                          '<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>'                              
403                            donnees[i] += references_cadastrales[l].charAt(j);
404                            k++;
405                            
406                        } else {
407                            
408                            i++;
409                            break;
410                        }
411                    }
412                    
413                    /* Récupère la section [LETTRES] */    
414                    donnees[i] = '';
415                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
416                        if ( isAlpha(references_cadastrales[l].charAt(j)) ){
417                            
418                            donnees[i] += references_cadastrales[l].charAt(j);
419                            k++;
420                            
421                        } else {
422                            
423                            i++;
424                            break;
425                        }
426                    
427                    /* Récupère la parcelle [CHIFFRES] */
428                    donnees[i] = '';
429                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
430                        if ( references_cadastrales[l].charAt(j) >= 0 &&
431                            references_cadastrales[l].charAt(j) <= 9 ){
432                                
433                            donnees[i] += references_cadastrales[l].charAt(j);
434                            k++;
435                            
436                        } else {
437                            
438                            break;
439                        }
440                    
441                    /* Récupère les séparateurs [ A / ] et les sections */
442                    m = 0 ;
443                    if ( k < references_cadastrales[l].length ){
444                        
445                        for ( j = k ; j < references_cadastrales[l].length ; j++ )
446                            if ( isAlpha(references_cadastrales[l].charAt(j)) ){
447                                
448                                m++;
449                                donnees[++i] = references_cadastrales[l].charAt(j);
450                                donnees[++i] = '';
451                            }
452                            else {
453                                
454                                donnees[i] += references_cadastrales[l].charAt(j);
455                            }
456                    }
457                    
458                    /*Créé autant de champs de que de référence */
459                    donnees[++i] = ';';
460                    i++;
461    
462                    if ( l > 0 ) {
463                        
464                        $('.reference_cadastrale_custom_fields').append(
465                            "<br/>" + fieldReferenceCadastraleBase()
466                      );                      );
467                  }                  }
468                    
469                    actionFormReferenceCadastrale();
470                    
471                    if ( m > 0 ){
472                                
473                        for ( j = 0 ; j < m ; j++ ){
474                            
475                            $('#moreFieldReferenceCadastrale' +
476                                ( $('.moreFieldReferenceCadastrale').length - 1 ) ).
477                            before(
478                                newInputReferenceCadastrale()
479                            );
480                        }
481                    }
482              }              }
483          },               /* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter
484          async: false                * d'autres lignes] */
485      });              actionLineFormReferenceCadastrale();
486                
487                /* Ajoute les données dans les champs nouvellement créés */
488                $('.reference_cadastrale_custom_field').each(
489                    function(index) {
490                        
491                        $(this).val(donnees[index])
492                    }
493                );
494            }
495       }
496    });
497    
498    /*
499     * Ajoute les icônes pour la recherche de pétitionnaire fréquent.
500     */
501    function addSearchIcon(){
502        
503        /*Ajout de l'icône après le champs du prénom du particulier*/
504        $('.search_particulier_fields input').
505        last().
506        after(
507            '<span '+
508                'class="om-icon om-icon-16 om-icon-fix search-part-16" '+
509                'title="Chercher un petitionnaire">'+
510            '</span>'
511        );
512        
513        /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/
514        $('.search_personne_morale_fields input').each(
515            function(){
516                $(this).
517                after(
518                    '<span '+
519                        'class="om-icon om-icon-16 om-icon-fix search-mor-16" '+
520                        'title="Chercher un petitionnaire"> '+
521                    '</span>'
522                );
523            }
524        );
525        
526        addActionSearchIcon('#form-content');
527  }  }
528  function vuploadMulti(champ) {  
529      //  /*
530      if (fenetreouverte == true) {   * Ajoute les actions sur les icônes de recherche
531          pfenetre.close();   */
532      }  function addActionSearchIcon(id){
533      //      
534      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");      /*Si on recherche un pétitionnaire de type particulier*/
535      //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");      $(' .search-part-16').click(
536      //          function(){
537      fenetreouverte = true;              
538                /*Le champ nom du particulier doit contenir au moins trois lettres*/
539                if ( $('#particulier_nom').val().length < 3 ||
540                    $('#particulier_prenom') < 3 ){
541                    
542                    alert('Saisissez au moins trois lettres pour la recherche');
543                    return;
544                }
545                
546                /*Données des champs nom et prénom du particulier*/
547                var donnees = "?qualite=particulier"+
548                    "&par_nom=" + $('.search_particulier_fields #particulier_nom').val() +
549                    "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val();
550    
551                /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)
552                 * correspondant(s) à la recherche */
553                $.ajax({
554                    type: "GET",
555                    url: "../app/findPetitionnaire.php" + donnees ,
556                    cache: false,
557                    success: function(html){
558                        
559                        res = 'Auncune correspondance trouvée.';
560                        
561                        /*Si la recherche a donné des résultats*/
562                        if ( html.length > 2 ){
563                            
564                            res = '' ;
565                            donnees = html.split(';');
566                            nbRes = donnees.length;
567                            
568                            /*Limitation des résultats à 50 */
569                            if ( nbRes > 50 ){
570                                
571                                nbRes = 50;
572                                res = 'Votre recherche a donn&eacute; ' + donnees.length
573                                    + ' r&eacute;sultats. Seul les cinquantes premiers ' +
574                                    'seront affich&eacute;s.<br/>';
575                            }
576                            
577                            res += '<select>' ;
578                            
579                            /* Met les résultats de la recherche dans un select */
580                           for ( i = 0 ; i < nbRes - 1 ; i++ ){
581    
582                                val = donnees[i].replace('"', '');
583                                line = donnees[i].split('_');
584                                
585                                if ( line[3] != '' ){
586                                    
587                                    line[3] = ' - ' + line[3];
588                                }
589                                
590                                res += '<option value="' + val + '">' +
591                                            line[1] + ' ' + line[2] + line[3] +
592                                       '</option>';
593                            }
594                            
595                            res += '</select>' ;
596                        }
597                        
598                        /* Affichage de l'overlay */
599                        $('#dialog').html(res);
600                          
601                        $( "#dialog" ).dialog({
602                            modal: true,
603                            buttons : {
604                                Valider: function(){
605                                    
606                                    /*Action à l'appui sur le bouton valider*/
607                                    if ( res != 'Auncune correspondance trouvée.' ){
608                                        
609                                        /*Vide les valeurs des champs*/
610                                        emptyFields(id);
611                                        
612                                        donnees = $('#dialog select option:selected').val();
613                                        donnees = donnees.split('_');
614                                        
615                                        if ( $.isNumeric(donnees[4]) ){
616                                            $('#particulier_civilite ' +
617                                                'option[value="' + $.trim(donnees[4]) + '"]').
618                                            attr('selected','selected');
619                                        }
620                                        
621                                        $('#particulier_nom').
622                                        val($.trim(donnees[1]));
623                                        
624                                        $('#particulier_prenom').
625                                        val($.trim(donnees[2]));
626                                        
627                                        /*Vérifie si la date est non vide avant de la traiter*/
628                                        date_temp = $.trim(donnees[3]);
629                                        if ( date_temp != '' ){
630                                            
631                                            date = date_temp.split('-');
632                                            date = date[2] + "/" + date[1] + "/" + date[0] ;
633                                            $('#particulier_date_naissance').
634                                            val(date);
635                                            
636                                        }
637                                        $('#particulier_commune_naissance').
638                                        val($.trim(donnees[10]));
639                                        $('#particulier_departement_naissance').
640                                        val($.trim(donnees[11]));
641                                        
642                                        changeValInputDemandeur(donnees);
643                                    }
644                                    
645                                    /*Fermeture de l'overlay*/
646                                    $(this).dialog( "close" );
647                                }
648                            }
649                        });
650                    },
651                    async: false
652                });
653            }
654        );
655        
656        /*Si on recherche un pétitionnaire de type personne morale*/
657        $('.search-mor-16').click(
658            function(){
659                
660                /*Le champ nom du particulier doit contenir au moins trois lettres*/
661                if ( $('#personne_morale_denomination').val().length < 3 ||
662                    $('#personne_morale_nom') < 3 ){
663                    
664                    alert('Saisissez au moins trois lettres pour la recherche');
665                    return;
666                }
667                
668                /*Données des champs dénomination et nom de la personne morale*/
669                var donnees = "?qualite=personne_morale"+
670                    "&mor_denomination="+$('#personne_morale_denomination').val() +
671                    "&mor_nom="+$('#personne_morale_nom').val();
672                    
673                /* Requête qui va récupérer les données du(es) pétitionnaire(s)
674                 * correspondant(s) à la recherche */    
675                $.ajax({
676                    type: "GET",
677                    url: "../app/findPetitionnaire.php" + donnees ,
678                    cache: false,
679                    success: function(html){
680                        
681                        res = 'Auncune correspondance trouvée.';
682    
683                        /*Si la recherche a donné des résultats*/
684                        if ( html.length > 2 ){
685                            
686                            res = '' ;
687                            donnees = html.split(';');
688                            nbRes = donnees.length;
689                            
690                            /*Limitation des résultats à 50 */
691                            if ( nbRes > 50 ){
692                                
693                                nbRes = 50;
694                                res = 'Votre recherche a donn&eacute; ' + donnees.length
695                                    + ' r&eacute;sultats. Seul les cinquantes premiers ' +
696                                    'seront affich&eacute;s.<br/>';
697                            }
698                            
699                            res += '<select>' ;
700                            
701                            /* Met les résultats de la recherche dans un select */
702                            for ( i = 0 ; i < nbRes - 1 ; i++ ){
703    
704                                val = donnees[i].replace('"', '');
705                                line = donnees[i].split('_');
706                                
707                                res += '<option value="' + val + '">' +
708                                            line[5] + ' ' + line[6] +
709                                        '</option>';
710                            }
711                            
712                            res += '</select>' ;
713                        }
714                        
715                        /* Affichage de l'overlay */
716                        $('#dialog').html(res);
717                          
718                        $( "#dialog" ).dialog({
719                            modal: true,
720                            buttons : {
721                                Valider: function(){
722                                    
723                                    /*Vide les valeurs des champs*/
724                                    emptyFields(id);
725                                    
726                                    /*Action à l'appui sur le bouton valider*/
727                                    if ( res != 'Auncune correspondance trouvée.' ){
728                                        donnees = $('#dialog select option:selected').val();
729                                        donnees = donnees.split('_');
730                                                                            
731                                        if ( $.isNumeric(donnees[8]) ){
732                                            
733                                            $('#personne_morale_civilite ' +
734                                                'option[value="' + $.trim(donnees[8]) + '"]').
735                                            attr('selected','selected');
736                                        }
737                                        
738                                        $('#personne_morale_denomination').
739                                        val($.trim(donnees[5]));
740                                        
741                                        $('#personne_morale_raison_sociale').
742                                        val($.trim(donnees[12]));
743                                        
744                                        $('#personne_morale_siret').
745                                        val($.trim(donnees[6]));
746                                        
747                                        $('#personne_morale_categorie_juridique').
748                                        val($.trim(donnees[13]));
749                                        
750                                        $('#personne_morale_nom').
751                                        val($.trim(donnees[7]));
752                                        
753                                        $('#personne_morale_prenom').
754                                        val($.trim(donnees[9]));
755                                        
756                                        changeValInputDemandeur(donnees);
757                                    }
758                                    
759                                    /*Fermeture de l'overlay*/
760                                    $(this).dialog( "close" );
761                                }
762                            }
763                        });
764                    },
765                    async: false
766                });
767            }
768        );
769        
770  }  }
771  function tmpUpload(champ) {  
772      //  /*
773      if (fenetreouverte == true) {   * Vide les champs avant d'y mettre les nouvelles informations
774          pfenetre.close();   */
775    function emptyFields(id){
776        $(id + ' input').each(
777            function(){
778                $(this).val('');
779            }
780        );
781        
782        $(id + ' select option[value=""]').each(
783            function(){
784                
785                /*Ne pas remettre à zéro le select concernant la qualite du demandeur*/
786                if ( $(this).attr('id') != 'qualite' ) {
787                    
788                    $(this).attr('selected', 'selected');
789                }
790            }
791        );
792        
793        $(id + ' input[type="checkbox"]').each(
794            function(){
795                $(this).val('');
796                $(this).removeAttr('checked');
797            }
798        );
799    }
800    
801    /*
802        Change les valeurs des champs en commun des particuliers et des personnes morales
803        Lié à la fonction addActionSearch
804        
805     * */
806    function changeValInputDemandeur( donnees){
807        
808        $('input[id="demandeur"]').val($.trim(donnees[0]));
809        
810        /*Teste si la valeur retournée est TRUE*/
811        if ( donnees[28] === 't' ){
812            
813            $('#notification').attr('checked', 'checked');
814            $('#notification').val('Oui');
815      }      }
816      //      
817      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");      $('#frequent').attr('checked','checked');
818      //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");      $('#frequent').val('Oui');
819      //      $('#numero').val($.trim(donnees[14]));
820      fenetreouverte = true;      $('#voie').val($.trim(donnees[15]));
821        $('#complement').val($.trim(donnees[16]));
822        $('#lieu_dit').val($.trim(donnees[17]));
823        $('#localite').val($.trim(donnees[18]));
824        $('#code_postal').val($.trim(donnees[19]));
825        $('#bp').val($.trim(donnees[20]));
826        $('#cedex').val($.trim(donnees[21]));
827        $('#pays').val($.trim(donnees[22]));
828        $('#division_territoriale').val($.trim(donnees[23]));
829        $('#telephone_fixe').val($.trim(donnees[24]));
830        $('#telephone_mobile').val($.trim(donnees[25]));
831        $('#indicatif').val($.trim(donnees[26]));
832        $('#courriel').val($.trim(donnees[27]));
833  }  }
834    
835  $(function() {  /*
836      if ( $('#date_demande').length > 0 && !$('#dossier_autorisation_type_detaille').is(':disabled') )   * Ajoute un div pour l'overlay dialog de jQuery
837          hideFields();   */
838    function addDivDialog(id){
839        
840        $(id).prepend('<div id="dialog"></div>');
841    }
842    
843    /*
844        Action au changement du select de la qualite du demandeur
845     * */
846    function changeDemandeurType(id){
847    
848        /*Si la qualite du demandeur est particulier */
849        if ( $('#' + id + ' option:selected').val() == 'particulier' ){
850            
851            $('.personne_morale_fields input').each(
852                function(){
853                    $(this).val('');
854                }
855            );
856            $('.personne_morale_fields select option[value=""]').each(
857                function(){
858                    $(this).attr('selected', 'selected');
859                }
860            );
861            
862            $('.personne_morale_fields').hide();
863            $('.particulier_fields').show();
864        }
865        else {
866                    
867           $('.particulier_fields input').each(
868                function(){
869                    $(this).val('');
870                }
871            );
872            $('.particulier_fields select option[value=""]').each(
873                function(){
874                    $(this).attr('selected', 'selected');
875                }
876            );
877            
878            $('.particulier_fields').hide();
879            $('.personne_morale_fields').show();
880        }
881    }
882    
883    /*
884        Function de test des champs
885     * */
886    function isAlpha(str) {
887        return /^[a-zA-Z\/]+$/.test(str);
888    }
889    
890    function isMail(str){
891        return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str);
892    }
893    
894    function isPhoneNumber(str){
895        return /[0-9-()+]{3,20}/.test(str);
896    }
897    
898    function testSeparator(obj){
899    
900        if ( obj.value != 'A' &&
901             obj.value != '/' ) {
902                
903            alert('Saisissez uniquement un A ou un / comme séparateur');
904            obj.value = '';
905        }
906    }
907    
908    /* FIN */
909    
910    /*
911        Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
912        référence cadastrale
913     * */
914    function actionFormReferenceCadastrale(){
915        $('form').submit(
916            function(){
917                
918                var reference_cadastrale = '';
919                var reference_cadastrale_temp = '';
920                
921                $('.reference_cadastrale_custom_field').each(
922                    function(){
923                        
924                        if ( $(this).val() == ';' ){
925                            
926                            reference_cadastrale_bis = reference_cadastrale_temp +
927                                ( ( reference_cadastrale_temp != '' &&
928                                    reference_cadastrale_temp.length > 0 )
929                                        ? ';' : '' );
930                                        
931                            if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*;)*$/.test(reference_cadastrale_bis) ){
932                                
933                                reference_cadastrale += reference_cadastrale_bis;
934                            }
935                            reference_cadastrale_temp = '';
936                        }
937                        
938                        else {
939                            
940                            reference_cadastrale_temp += $(this).val();
941                        }
942                        
943                    }
944                );
945                
946                $('#terrain_references_cadastrales').val(reference_cadastrale);
947            }
948        );
949    
950        $('#moreFieldReferenceCadastrale' +
951            ($('.moreFieldReferenceCadastrale').length - 1 )).
952        on("click", function() {
953            $(this).before(newInputReferenceCadastrale());
954        });
955            
956  });  }
957    
958    /*
959        Action pour l'ajout de nouvelle ligne
960     * */
961    function actionLineFormReferenceCadastrale(){
962        $('#morelineReferenceCadastrale').click(
963            function(){
964                
965                $('.reference_cadastrale_custom_fields').
966                append( "<br/>" + fieldReferenceCadastraleBase());
967                
968                $('#moreFieldReferenceCadastrale'+
969                    ($('.moreFieldReferenceCadastrale').length - 1 )).
970                on("click", function() {
971                    $(this).before(newInputReferenceCadastrale());
972                });
973                
974                
975            }
976        );
977    }
978    
979    /*
980        Met à jour le select demande_type dès qu'un
981        dossier_autorisation_type_detaille est choisi
982     * */
983  function changeDemandeType(){  function changeDemandeType(){
984            
985      var idDossierAutorisationTypeDetaille = $("#dossier_autorisation_type_detaille option:selected").val();      var idDossierAutorisationTypeDetaille =
986            $("#dossier_autorisation_type_detaille option:selected").val();
987            
988      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
989                    
990          changeDataSelect('demande_type','dossier_autorisation_type_detaille');          changeDataSelect('demande_type','dossier_autorisation_type_detaille');
991            if ( $('#demande_type option').size() < 2 )
992                showFormsDemande();
993                    
994         $('#demande_type').parent().parent().show();         $('#demande_type').parent().parent().show();
995                
996         $('.terrain_references_cadastrales_custom').append(         addNewFieldReferencesCadastrales();
            '<div class="field field-type-text" >'+  
                 '<div class="form-libelle">' +  
                     '<label '+  
                         'class="libelle-terrain_references_cadastrales" '+  
                         'for="terrain_references_cadastrales">'+  
                         ' terrain_references_cadastrales '+  
                     '</label>' +  
                 '</div>' +  
                 '<div class="form-content reference_cadastrale_custom_fields">' +  
                     '<input ' +  
                         'class="champFormulaire reference_cadastrale_custom_field" ' +  
                         'type="text" ' +  
                         'onchange="VerifNum(this)" ' +  
                         'maxlength="3" ' +  
                         'size="3" ' +  
                         'value="" />' +  
                     '<input ' +  
                         'class="champFormulaire reference_cadastrale_custom_field" ' +  
                         'type="text" ' +  
                         'maxlength="2" ' +  
                         'size="2" ' +  
                         'value="" />' +  
                     '<input ' +  
                         'class="champFormulaire reference_cadastrale_custom_field" ' +  
                         'type="text" ' +  
                         'onchange="VerifNum(this)" ' +  
                         'maxlength="4" ' +  
                         'size="4" ' +  
                         'value="" />' +  
                 '</div>' +  
            '</div>' +  
            '<div id="moreFieldReferenceCadastrale"> + ajouter d\'autres champs</div>'  
        );  
997                
998         $('#moreFieldReferenceCadastrale').click( function() {         actionFormReferenceCadastrale();
999              $('.reference_cadastrale_custom_fields').append(newInputReferenceCadastrale());         actionLineFormReferenceCadastrale()        
         });  
           
         $('form').submit(  
             function(){  
                   
                 var reference_cadastrale = '';  
                   
                 $('.reference_cadastrale_custom_field').each(  
                     function(){  
                           
                         reference_cadastrale += $(this).val();  
                     }  
                 );  
                   
                 $('#terrain_references_cadastrales').val(reference_cadastrale);  
             }  
         );  
           
         $('.terrain_references_cadastrales_custom:').find(">:first-child").hide();  
1000      }      }
1001      else {      else {
1002          hideFields();          hideFields();
1003      }      }
1004  }  }
1005    
1006    /*
1007        Ajoute le code HTML des champs pour les références cadastrales
1008     * */
1009    function addNewFieldReferencesCadastrales(){
1010        $('.references_cadastrales_new_field').remove();
1011        $('.moreFieldReferenceCadastrale').remove();
1012        $('#morelineReferenceCadastrale').remove();
1013        $('.buttonCadAdr').remove();
1014        $('.localisation .fieldsetContent').prepend(
1015           '<div class="field field-type-text references_cadastrales_new_field" >'+
1016                '<div class="form-libelle">' +
1017                    '<label '+
1018                        'class="libelle-terrain_references_cadastrales" '+
1019                        'for="terrain_references_cadastrales">'+
1020                        ' terrain_references_cadastrales '+
1021                    '</label>' +
1022                '</div>' +
1023                '<div class="form-content reference_cadastrale_custom_fields">' +
1024                     fieldReferenceCadastraleBase() +
1025                '</div>' +
1026           '</div>' +
1027           '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
1028                '<div class="form-libelle"></div>' +
1029                '<div class="form-content">' +
1030                    ' + ajouter d\'autres lignes' +
1031                '</div>' +
1032           '</div>'      
1033       );
1034       $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
1035                '<div class="form-libelle"></div>' +
1036                '<div class="form-content buttonCadAdr">' +
1037                    '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
1038                '</div>' +
1039           '</div>' );
1040    }
1041    
1042    /*
1043        Séparateur caché ;
1044     * */
1045    function hiddenSeparatorField(){
1046        return '<input ' +
1047                    'class="reference_cadastrale_custom_field " ' +
1048                    'type="hidden" ' +
1049                    'maxlength="2" ' +
1050                    'size="2" ' +
1051                    'value=";" />';
1052    }
1053    
1054    /*
1055        Ajout d'une nouvelle ligne de champ
1056     * */
1057    function fieldReferenceCadastraleBase(){
1058        return '<input ' +
1059                    'class="champFormulaire reference_cadastrale_custom_field" ' +
1060                    'type="text" ' +
1061                    'onchange="VerifNum(this)" ' +
1062                    'maxlength="4" ' +
1063                    'size="4" ' +
1064                    'value="" />' +
1065                '<input ' +
1066                    'class="champFormulaire reference_cadastrale_custom_field" ' +
1067                    'type="text" ' +
1068                    'maxlength="3" ' +
1069                    'size="3" ' +
1070                    'value="" '+
1071                    'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>' +
1072                '<input ' +
1073                    'class="champFormulaire reference_cadastrale_custom_field" ' +
1074                    'type="text" ' +
1075                    'onchange="VerifNum(this)" ' +
1076                    'maxlength="5" ' +
1077                    'size="5" ' +
1078                    'value="" />' +
1079                '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
1080                    hiddenSeparatorField() +
1081                    ' + ajouter d\'autres champs' +
1082                '</span>';
1083    }
1084    
1085    /**
1086     * Cache les champs inutules
1087     **/
1088  function hideFields(){  function hideFields(){
1089      $('.bloc').each(      $('.demande_hidden_bloc').each(
1090          function(){          function(){
1091              if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )              $(this).hide();
                 $(this).hide();  
1092          }          }
1093      );      );
1094            
# Line 329  function hideFields(){ Line 1097  function hideFields(){
1097      $('#demande_type').parent().parent().hide();      $('#demande_type').parent().parent().hide();
1098  }  }
1099    
1100    /*
1101        Affiche les champs dont on a besoin
1102     * */
1103  function showFormsDemande(){  function showFormsDemande(){
1104      $('.bloc').each(      $('.demande_hidden_bloc').each(
1105          function(){          function(){
1106              if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )              $(this).show();
                 $(this).show();  
1107          }          }
1108      );      );
1109            
1110      $('.field-type-text').show();      $('.field-type-text').show();
1111      $('input[type=submit]').show();      $('input[type=submit]').show();
1112        $('.terrain_references_cadastrales_custom').hide();
1113        
1114        $('#terrain_references_cadastrales').parent().parent().hide();
1115  }  }
1116    
1117    /*
1118        Action au clique sur le bouton " + ajouter d'autres champs"
1119     * */
1120  function newInputReferenceCadastrale(){  function newInputReferenceCadastrale(){
1121      return '<input ' +      return '<input ' +
1122              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1123              'type="text" ' +              'type="text" ' +
1124              'maxlength="1" ' +              'maxlength="1" ' +
1125              'size="1" ' +              'size="1" ' +
1126              'value="" />' +              'value="" ' +
1127                'onchange="testSeparator(this);"/>' +
1128          '<input ' +          '<input ' +
1129              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1130              'type="text" ' +              'type="text" ' +
# Line 356  function newInputReferenceCadastrale(){ Line 1133  function newInputReferenceCadastrale(){
1133              'size="4" ' +              'size="4" ' +
1134              'value="" />';              'value="" />';
1135  }  }
1136    
1137    
1138    
1139    /**
1140     * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1141     * tableau de bord
1142     */
1143    function widget_bind_move_actions() {}
1144    function widget_bind_add_action() {}
1145    function widget_bind_edit_actions(widget_selector) {}
1146    

Legend:
Removed from v.651  
changed lines
  Added in v.807

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26