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

Legend:
Removed from v.643  
changed lines
  Added in v.805

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26