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

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

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

trunk/app/js/script.js revision 660 by fmichon, Mon Nov 12 09:13:10 2012 UTC branches/3.2.x/app/js/script.js revision 965 by nhaye, Mon Dec 3 14:29:22 2012 UTC
# Line 1  Line 1 
1  // specific openfoncier ========================================================  // specific openfoncier ========================================================
2  // OnReady  
3    // Document is ready
4  $(function(){  $(function(){
5     // Document is ready  
6       /**
7        * Spécifique app/avis_code_barre.php pour donner le focus sur le champ de
8        * recherche au chargement de la page.
9        */
10     $('#avis_code_barre_form #consultation').focus();     $('#avis_code_barre_form #consultation').focus();
11   });   });
12    
13    
14  function bible(){  /**
15     * WIDGET liés au formulaire et sousformulaire
16     *
17     * Ces fonctions javascript sont appelées depuis les méthodes setOnChange,
18     * setOnClick, ...
19     */
20    // bible - type httpclick
21    function bible() {
22      if(fenetreouverte==true)      if(fenetreouverte==true)
23             pfenetre.close();             pfenetre.close();
24      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
# Line 14  function bible(){ Line 26  function bible(){
26      pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");      pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
27      fenetreouverte=true;      fenetreouverte=true;
28  }  }
29    // bible2 - type httpclick
30  function bible2()  function bible2()
31  {  {
32      if(fenetreouverte==true)      if(fenetreouverte==true)
# Line 24  function bible2() Line 36  function bible2()
36      pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");      pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
37      fenetreouverte=true;      fenetreouverte=true;
38  }  }
39    // bible_auto - type httpclick
40  function bible_auto(){  function bible_auto(){
41      if(fenetreouverte==true)      if(fenetreouverte==true)
42             pfenetre.close();             pfenetre.close();
# Line 33  function bible_auto(){ Line 45  function bible_auto(){
45      pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");      pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");
46      fenetreouverte=true;      fenetreouverte=true;
47  }  }
48    // VerifNumdec - type text
49    function VerifNumdec(champ) {
50        champ.value = champ.value.replace(",", "."); // remplacement de la virgule
51        //if (champ.value.lastIndexOf(".") == -1){ // champ decimal
52            if (isNaN(champ.value)) {
53                alert(msg_alert_error_verifnum);
54                champ.value = "";
55                return;
56            }
57        //}
58        
59    }
60    // Ce widget permet de charger les données d'un select en ajax
61    function changeDataSelect(tn, ds, joker){
62            
63        var id = $("#"+ds+" option:selected").val();
64        link = "../app/listData.php?idx=" + id + "&tn=" + tn + "&ds=" + ds;
65        $.ajax({
66            type: "GET",
67            url: link,
68            cache: false,
69            dataType: "json",
70            success: function(html){
71                
72                $('#'+tn).empty();
73                
74                if ( joker == true )
75                    $('#'+tn).append(
76                        '<option value="" selected="selected">*</option>'
77                    );
78                else
79                    $('#'+tn).append(
80                        '<option value="" selected="selected">Choisir ' + tn + '</option>'
81                    );
82                
83                if ( html !== '' ){
84                    
85                    html = html.split(';');
86                    for ( i = 0 ; i < html.length - 1 ; i++ ){
87                        
88                        html_temp = html[i].split('_');
89                        $('#'+tn).append(
90                            '<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>'
91                        );
92                    }
93                }
94            },
95            async: false
96        });
97    }
98    // vuploadMulti - XXX
99    function vuploadMulti(champ) {
100        //
101        if (fenetreouverte == true) {
102            pfenetre.close();
103        }
104        //
105        pfenetre = window.open("../spg/upload.php?origine="+champ+"&form="+$('input[name='+champ+']').closest('form').attr('name'),"upload","width=400,height=300,top=120,left=120");
106        //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
107        //
108        fenetreouverte = true;
109    }
110    // tmpUpload - Upload  XXX
111    function tmpUpload(champ) {
112        //
113        if (fenetreouverte == true) {
114            pfenetre.close();
115        }
116        //
117        pfenetre = window.open("../app/tmpUpload.php?origine="+champ+"&form="+$('input[name='+champ+']').closest('form').attr('name'),"upload","width=400,height=300,top=120,left=120");
118        //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
119        //
120        fenetreouverte = true;
121    }
122    
123    
124    
125    /**
126     * POPUP pour le téléchargement de fichier
127     *
128     * Ces fonctions javascript sont appelées depuis des onClick sur des
129     * formulaires spécifiques pour permettre de transmettre des paramètres aux
130     * éditions pdf ainsi appelées.
131     */
132    //
133  function dossierads_d(debut)  function dossierads_d(debut)
134  {  {
135  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 41  window.location="../pdf/pdfetat.php?obj= Line 137  window.location="../pdf/pdfetat.php?obj=
137  +document.f1.nature.value+"&idx=demo&datedebut="  +document.f1.nature.value+"&idx=demo&datedebut="
138  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
139  }  }
140    //
141    function dossier_m(){
142    window.location="../pdf/pdfetat.php?obj=dossier_m&idx=demo";  
143    /*Requete AJAX vers le fichier edition_m.php pour mettre à jour les dossiers*/
144    $.ajax({
145        type: "GET",
146        url: "../app/edition_m.php?update",
147        cache: false,
148        success: function(html){
149            if ( html.length > 2 ){
150                
151                alert(html);
152            }
153        },
154        async: false
155    });
156    }
157    //
158  function dossierdepot()  function dossierdepot()
159  {  {
160  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 49  function dossierdepot() Line 162  function dossierdepot()
162      document.f1.nature.value+"&idx=demo&datedebut="+      document.f1.nature.value+"&idx=demo&datedebut="+
163      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
164  }  }
165    //
166  function dossierads()  function dossierads()
167  {  {
168  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 58  function dossierads() Line 171  function dossierads()
171      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
172  }  }
173    
174    // téléchargement du fichier
175  function VerifNumdec(champ) {  function file(fichier) {
176      champ.value = champ.value.replace(",", "."); // remplacement de la virgule      //
177      //if (champ.value.lastIndexOf(".") == -1){ // champ decimal      if (fichier == "") {
178          if (isNaN(champ.value)) {          alert("zone vide");
179              alert(msg_alert_error_verifnum);      }
180              champ.value = "";      //
181              return;      pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");
182          }      //
183      //}      fenetreouverte = true;
       
184  }  }
185  /* -- Debut -- */  
186    /**
187     * Retour spécifique de l'écran de consultation multiple - surcharge de ajaxIt
188     * @todo XXX voir les différences avec ajaxIt et si il n'est pas possible
189     * d'effectuer  la modification dans le core
190     */
191  function messageIt(objsf, link, empty) {  function messageIt(objsf, link, empty) {
192      // recuperation du terme recherche      // recuperation du terme recherche
193      var recherche = document.getElementById("recherchedyn");      var recherche = document.getElementById("recherchedyn");
# Line 93  function messageIt(objsf, link, empty) { Line 210  function messageIt(objsf, link, empty) {
210      });      });
211  }  }
212    
213    /**
214     * TTélécharegement de fichier pdf en ajax
215     * spécifique de l'écran de consultation multiple
216     */
217  /* 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*/
218  jQuery.download = function(url, data, method){  jQuery.download = function(url, data, method){
219      //url and data options required      //url and data options required
# Line 111  jQuery.download = function(url, data, me Line 232  jQuery.download = function(url, data, me
232      };      };
233  };  };
234    
235  /* -- FIN -- */  /**
236  function popupIt(objsf, link) {   * Cette fonction permet de charger dans un dialog jqueryui un formulaire tel
237     * qu'il aurait été chargé avec ajaxIt
238     *
239     * @param objsf string : objet de sousformulaire
240     * @param link string : lien vers un sousformulaire (../scr/sousform.php...)
241     * @param width integer: width en px
242     * @param height integer: height en px
243     * @param callback function (optionel) : nom de la méthode à appeler
244     *                                       à la fermeture du dialog
245     * @param callbackParams mixed (optionel) : paramètre à traiter dans la function
246     *                                          callback
247     *
248     **/
249    function popupIt(objsf, link, width, height, callback, callbackParams) {
250      // Insertion du conteneur du dialog      // Insertion du conteneur du dialog
251      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');
252      $('<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 268  function popupIt(objsf, link) {
268              $(dialog).dialog({              $(dialog).dialog({
269              //OnClose suppression du contenu              //OnClose suppression du contenu
270              close: function(ev, ui) {              close: function(ev, ui) {
271                  // Si le formulaire est submit et valide                  // Si le formulaire est submit et valide on execute la méthode
272                  var valid=$('#sousform-'+objsf+' div.ui-state-valid');                  // passée en paramètre
273                  if(valid.length > 0) {                  if (typeof(callback) === "function") {
274                      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');  
275                  }                  }
276                  $(this).remove();                  $(this).remove();
277              },              },
278              resizable: false,              resizable: false,
279              modal: true,              modal: true,
280              width: 700,              width: width,
281              height: 520,              height: height,
282            });            });
283          },          },
284          async : false          async : false
285      });      });
286      //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','');  
     });  
287      $('#sousform-'+objsf).on("click",'a.retour',function() {      $('#sousform-'+objsf).on("click",'a.retour',function() {
288          $(dialog).dialog('close').remove();          $(dialog).dialog('close').remove();
289            return false;
290      });      });
     return false;  
291  }  }
292    
293    /***
294     * Fonction getter des paramètres de l'url courante
295     */
296  // Parse URL Queries Method  // Parse URL Queries Method
297  (function($){  (function($){
298          $.getQuery = function( query ) {      $.getQuery = function( query ) {
299                  query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");          query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
300                  var expr = "[\\?&]"+query+"=([^&#]*)";          var expr = "[\\?&]"+query+"=([^&#]*)";
301                  var regex = new RegExp( expr );          var regex = new RegExp( expr );
302                  var results = regex.exec( window.location.href );          var results = regex.exec( window.location.href );
303                  if( results !== null ) {          if( results !== null ) {
304                          return results[1];              return results[1];
305                          return decodeURIComponent(results[1].replace(/\+/g, " "));              return decodeURIComponent(results[1].replace(/\+/g, " "));
306                  } else {          } else {
307                          return false;              return false;
308                  }          }
309          };      };
310  })(jQuery);  })(jQuery);
311    
312  function changeDataSelect(tn, ds, joker){  
313            /*
314      var idArrondissement = $("#"+ds+" option:selected").val();   * Javascript concernant la demande d'avis
315      link = "../app/listData.php?idx=" + idArrondissement + "&tn=" + tn + "&ds=" + ds;   *
316     *
317     */
318    
319    /**
320     * Fonction de callback appellée lors de la fermeture du dialog (popupit)
321     * du retour d'avis d'un service
322     **/
323    function returnToTab(objsf) {
324        var valid=$('#sousform-'+objsf+' div.ui-state-valid');
325        if(valid.length > 0) {
326            document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')
327            +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')
328            +"&selectioncol="+$.getQuery('selectioncol');
329        }
330    };
331    
332    
333    /*
334     * Javascript concernant la demande
335     *
336     *
337     */
338    
339     /**
340      * Function permettant de mettre à jour les infos du demandeur
341      **/
342    function getDemandeurId(type) {
343        var id_demandeur=$('#id_retour').val();
344        if($.isNumeric(id_demandeur)) {
345            afficherDemandeur(id_demandeur,type);
346            om_initialize_content();
347        }
348    }
349    
350    /**
351     * Fonction permettant d'afficher la synthèse d'un demandeur
352     */
353    function afficherDemandeur(id,type) {
354      $.ajax({      $.ajax({
355          type: "GET",          type: "GET",
356          url: link,          url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+id+'&type='+type,
357          cache: false,          cache: false,
         dataType: "json",  
358          success: function(html){          success: function(html){
359                alert(html);
360                $(html).insertBefore('#add_'+type).fadeIn(500);
361    
362            },
363            async:false
364        });
365        affichageBoutonsDemandeurs();
366    }
367    
368    /**
369     * Function permettant de modifier un demandeur
370     */
371    function editDemandeur(obj,id,type,id_css) {
372        popupIt(type,
373                    '../scr/sousform.php?obj='+obj+'&action=1'+
374                    '&retourformulaire=demande&idx='+id, 780, 500,
375                    replaceDemandeur, {'type':type,'id': id, 'id_css':id_css});
376        affichageBoutonsDemandeurs();
377    }
378    
379    /**
380     * Function permettant de remplacer un contenu déjà existant
381     **/
382    function replaceDemandeur(obj) {
383        $.ajax({
384            type: "GET",
385            url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+obj.id+'&type='+obj.type,
386            cache: false,
387            success: function(html){
388                $(obj.id_css).replaceWith(html);
389            }
390        });
391    }
392    /**
393     * Function permettant de remplacer un contenu déjà existant
394     **/
395    function removeDemandeur(id) {
396        var div_class=$('#'+id).attr("class");
397        $('#'+id).remove();
398        if(div_class == "delegataire") {
399            $('#add_delegataire').fadeIn(500);
400        }
401        affichageBoutonsDemandeurs();
402    }
403    
404    /**
405     * Fonction permettant d'afficher et cacher les boutons d'ajout de demandeurs
406     */
407    function affichageBoutonsDemandeurs(){
408        console.log($('input[name=petitionnaire_principal][type=hidden]').size());
409        console.log($('input[name=delegataire][type=hidden]').size());
410        if($('input[name=petitionnaire_principal][type=hidden]').size() == 1) {
411            $('#add_petitionnaire_principal').hide();
412        } else {
413            $('#add_petitionnaire_principal').fadeIn(500);
414        }
415        if($('input[name=petitionnaire_principal][type=hidden]').size() == 1
416           || $('input[name=delegataire][type=hidden]').size() == 1) {
417            $('#delegataire').fadeIn(500);
418            if($('input[name=delegataire][type=hidden]').size() == 0) {
419                $('#add_delegataire').fadeIn(500);
420            } else {
421                $('#add_delegataire').hide();
422            }
423        } else {
424            $('#delegataire').hide();
425        }
426        if($('input[name=petitionnaire_principal][type=hidden]').size() == 0) {
427            $('#add_petitionnaire').hide();
428        } else {
429            $('#add_petitionnaire').fadeIn(500);
430        }
431    }
432    
433    /**
434     * Appel au chargement de la page
435     **/
436    $(function() {
437        changeDemandeurType('qualite');
438        if ( $('#type_demandeur') == 'petitionnaire' ){
439            
440            addSearchIcon();
441            addDivDialog('.bloc_demandeur');
442        }
443        affichageBoutonsDemandeurs();
444        // Bind de la fonction permettant l'ajout du pétitionnaire principal
445        $("#formulaire").on("click","#add_petitionnaire_principal",  function() {
446            popupIt('petitionnaire',
447                    '../scr/sousform.php?obj=petitionnaire&action=0'+
448                    '&retourformulaire=demande&principal=true', 780, 500,
449                    getDemandeurId, 'petitionnaire_principal');
450        });
451        // Bind de la fonction permettant l'ajout du délégataire
452        $("#formulaire").on("click","#add_delegataire", function(event) {
453            popupIt('delegataire',
454                    '../scr/sousform.php?obj=delegataire&action=0'+
455                    '&retourformulaire=demande', 780, 500,
456                    getDemandeurId, 'delegataire');
457        });
458        // Bind de la fonction permettant l'ajout des pétitionnaires
459        $("#formulaire").on("click","#add_petitionnaire", function(event) {
460            popupIt('petitionnaire',
461                    '../scr/sousform.php?obj=petitionnaire&action=0'+
462                    '&retourformulaire=demande', 780, 500,
463                    getDemandeurId, 'petitionnaire');
464        });
465    
466            
467        url = document.location + "" ;
468        if (url.indexOf("form.php?obj=demande&") != -1
469            && url.indexOf("&action=0") != -1 ){
470            /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
471            hideFields();
472        }
473      
474       if (url.indexOf("form.php?obj=demande&") != -1
475            && url.indexOf("&action=1") != -1 ){
476            
477            formatFieldReferenceCadastrale();
478       }
479    });
480    
481    /*
482     * Action sur les champs pour les références cadastrales
483     */
484    function formatFieldReferenceCadastrale(){
485        addNewFieldReferencesCadastrales();
486        $('#terrain_references_cadastrales').parent().parent().hide();
487        
488        reference_cadastrale = $('#terrain_references_cadastrales').val();
489        /*Formatage de la reference cadastrale*/
490        if ( reference_cadastrale != '' ){
491            
492            /* Récupère la référence cadastrale non formatée */
493            references_cadastrales = reference_cadastrale.split(';');
494            donnees = new Array();
495            
496            i = 0 ;
497            /* Boucle sur les références, elles étaient séparées par un ; */
498            for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
499                            
500              $('#'+tn).empty();              /*Récupère le code impots du qartier [CHIFFRES]*/
501                k = 0;
502                donnees[i] = '';
503                for ( j = k ; j < references_cadastrales[l].length ; j++ ){
504                    
505                    if ( references_cadastrales[l].charAt(j) >= 0 &&
506                        references_cadastrales[l].charAt(j) <= 9 ){
507                            
508                        donnees[i] += references_cadastrales[l].charAt(j);
509                        k++;
510                        
511                    } else {
512                        
513                        i++;
514                        break;
515                    }
516                }
517                            
518              if ( joker == true )              /* Récupère la section [LETTRES] */    
519                  $('#'+tn).append(              donnees[i] = '';
520                      '<option value="" selected="selected">*</option>'              for ( j = k ; j < references_cadastrales[l].length ; j++ )
521                  );                  if ( isAlpha(references_cadastrales[l].charAt(j)) ){
522              else                      
523                  $('#'+tn).append(                      donnees[i] += references_cadastrales[l].charAt(j);
524                      '<option value="" selected="selected">Choisir ' + tn + '</option>'                      k++;
525                  );                      
526                    } else {
527                        
528                        i++;
529                        break;
530                    }
531                            
532              if ( html !== '' ){              /* Récupère la parcelle [CHIFFRES] */
533                donnees[i] = '';
534                for ( j = k ; j < references_cadastrales[l].length ; j++ )
535                    if ( references_cadastrales[l].charAt(j) >= 0 &&
536                        references_cadastrales[l].charAt(j) <= 9 ){
537                            
538                        donnees[i] += references_cadastrales[l].charAt(j);
539                        k++;
540                        
541                    } else {
542                        
543                        break;
544                    }
545                
546                /* Récupère les séparateurs [ A / ] et les sections */
547                m = 0 ;
548                if ( k < references_cadastrales[l].length ){
549                                    
550                  html = html.split(';');                  for ( j = k ; j < references_cadastrales[l].length ; j++ )
551                  for ( i = 0 ; i < html.length - 1 ; i++ ){                      if ( isAlpha(references_cadastrales[l].charAt(j)) ){
552                            
553                            m++;
554                            donnees[++i] = references_cadastrales[l].charAt(j);
555                            donnees[++i] = '';
556                        }
557                        else {
558                            
559                            donnees[i] += references_cadastrales[l].charAt(j);
560                        }
561                }
562                
563                /*Créé autant de champs de que de référence */
564                donnees[++i] = ';';
565                i++;
566    
567                if ( l > 0 ) {
568                    
569                    $('.reference_cadastrale_custom_fields').append(
570                        "<br/>" + fieldReferenceCadastraleBase()
571                    );
572                }
573                
574                actionFormReferenceCadastrale();
575                
576                if ( m > 0 ){
577                            
578                    for ( j = 0 ; j < m ; j++ ){
579                                            
580                      html_temp = html[i].split('_');                      $('#moreFieldReferenceCadastrale' +
581                      $('#'+tn).append(                          ( $('.moreFieldReferenceCadastrale').length - 1 ) ).
582                          '<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>'                      before(
583                            newInputReferenceCadastrale()
584                      );                      );
585                  }                  }
586              }              }
587          },          }
588          async: false           /* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter
589      });            * d'autres lignes] */
590  }          actionLineFormReferenceCadastrale();
591  function vuploadMulti(champ) {          
592      //          /* Ajoute les données dans les champs nouvellement créés */
593      if (fenetreouverte == true) {          $('.reference_cadastrale_custom_field').each(
594          pfenetre.close();              function(index) {
595                    
596                    $(this).val(donnees[index])
597                }
598            );
599      }      }
600      //      else{
601      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");          actionFormReferenceCadastrale();
602      //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");          actionLineFormReferenceCadastrale();
     //  
     fenetreouverte = true;  
 }  
 function tmpUpload(champ) {  
     //  
     if (fenetreouverte == true) {  
         pfenetre.close();  
603      }      }
     //  
     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;  
604  }  }
605    
606  //$(function() {  /*
607  //    if ( $('#date_demande').length > 0 && !$('#dossier_autorisation_type_detaille').is(':disabled') )   * Ajoute les icônes pour la recherche de pétitionnaire fréquent.
608  //        hideFields();   */
609  //          function addSearchIcon(){
 //      
 //});  
610    
611  function changeDemandeType(){      $('.search_particulier_fields, .search_personne_morale_fields').each(function() {
612        /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/
613    
614                $(this).
615                after(
616                    '<span '+
617                        'class="om-icon om-icon-16 om-icon-fix search-petitionnaire-16" '+
618                        'title="Chercher un petitionnaire"> '+
619                    '</span>'+
620                    '<span '+
621                        'class="om-icon om-icon-16 om-icon-fix erase-petitionnaire delete-16" '+
622                        'title="Supprimer le contenu"> '+
623                    '</span>'
624                );
625            }
626        );
627            
628      var idDossierAutorisationTypeDetaille = $("#dossier_autorisation_type_detaille option:selected").val();      addActionSearchIcon('#sousform-petitionnaire #form-content');
629        addActionRemove();
630    
631    }
632    
633    /**
634     * Fonction permettant de revenir sur le formulaire d'ajout de demandeur
635     **/
636    function addActionRemove(){
637        $('.erase-petitionnaire').click(
638            function(){
639                ajaxIt('petitionnaire','../scr/sousform.php?obj=petitionnaire&action=0');
640        });
641    }
642    
643    /*
644     * Ajoute les actions sur les icônes de recherche
645     */
646    function addActionSearchIcon(id){
647            
648      if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){      /*Si on recherche un pétitionnaire de type particulier*/
649        $('.search-petitionnaire-16').click(
650            function(){
651                
652                /*Le champ nom du particulier doit contenir au moins trois lettres*/
653                if ( $('#particulier_nom').val().length < 3 &&
654                    $('#particulier_prenom').val().length < 3 &&
655                    $('#personne_morale_denomination').val().length < 3 &&
656                    $('#personne_morale_nom').val().length < 3 ){
657                    
658                    alert('Saisissez au moins trois lettres pour la recherche');
659                    return;
660                }
661                
662                /*Données des champs nom et prénom du particulier*/
663                var donnees = "?par_nom=" + $('.search_particulier_fields #particulier_nom').val() +
664                    "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val() +
665                    "&mor_denomination="+$('#personne_morale_denomination').val() +
666                    "&mor_nom="+$('#personne_morale_nom').val();
667    
668                /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)
669                 * correspondant(s) à la recherche */
670                $.ajax({
671                    type: "GET",
672                    url: "../app/findPetitionnaire.php" + donnees ,
673                    cache: false,
674                    success: function(obj){
675                        console.log($.parseJSON(obj));
676                        var freq = $.parseJSON(obj);
677                        var res='';
678                        /*Si la recherche a donné des résultats*/
679                        if ( freq.length > 0 ){
680                            /*Limitation des résultats à 50 */
681                            if ( freq.length > 50 ){
682                                
683                                nbRes = 50;
684                                res += 'Votre recherche a donn&eacute; ' + freq.length
685                                    + ' r&eacute;sultats. Seul les cinquantes premiers ' +
686                                    'seront affich&eacute;s.<br/>';
687                            } else {
688                                nbRes = freq.length;
689                            }
690                            
691                            res += '<select>' ;
692                            
693                            /* Met les résultats de la recherche dans un select */
694                           for ( i = 0 ; i < nbRes ; i++ ){
695                                res += '<option value="' + freq[i].value + '">' +
696                                            freq[i].content +
697                                       '</option>';
698                            }
699                            
700                            res += '</select>';
701                        } else {
702                            res += 'Aucune correspondance trouvée.';
703                        }
704                        
705                        /* Affichage de l'overlay */
706                        $('#dialog').html(res);
707                          
708                        $( "#dialog" ).dialog({
709                            modal: true,
710                            buttons : {
711                                Valider: function(){
712                                    if ( res != 'Auncune correspondance trouvée.'){
713    
714                                    }
715                                    var id = $('#dialog select option:selected').val();
716                                    if($.isNumeric(id)) {
717                                        ajaxIt('petitionnaire',
718                                        '../scr/sousform.php?obj=petitionnaire&action=1&retourformulaire=demande&idx='+id);
719                                    }
720                                    // Fermeture de l'overlay
721                                    $(this).dialog( "close" );
722                                }
723                            }
724                        });
725                    },
726                });
727            }
728        );
729    }
730    
731    /*
732     * Ajoute un div pour l'overlay dialog de jQuery
733     */
734    function addDivDialog(id){
735        
736        $(id).prepend('<div id="dialog"></div>');
737    }
738    
739    /*
740        Action au changement du select de la qualite du demandeur
741     * */
742    function changeDemandeurType(id){
743    
744        /*Si la qualite du demandeur est particulier */
745        if ( $('#' + id + ' option:selected').val() == 'particulier' ){
746                    
747          changeDataSelect('demande_type','dossier_autorisation_type_detaille');          $('.personne_morale_fields input').each(
748                function(){
749                    $(this).val('');
750                }
751            );
752            $('.personne_morale_fields select option[value=""]').each(
753                function(){
754                    $(this).attr('selected', 'selected');
755                }
756            );
757                    
758         $('#demande_type').parent().parent().show();          $('.personne_morale_fields').hide();
759                  $('.particulier_fields').show();
760         $('.terrain_references_cadastrales_custom').append(      }
761             '<div class="field field-type-text" >'+      else {
                 '<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>'  
        );  
         
        $('#moreFieldReferenceCadastrale').click( function() {  
             $('.reference_cadastrale_custom_fields').append(newInputReferenceCadastrale());  
         });  
762                    
763          $('form').submit(         $('.particulier_fields input').each(
764              function(){              function(){
765                    $(this).val('');
766                }
767            );
768            $('.particulier_fields select option[value=""]').each(
769                function(){
770                    $(this).attr('selected', 'selected');
771                }
772            );
773            
774            $('.particulier_fields').hide();
775            $('.personne_morale_fields').show();
776        }
777    }
778    
779    /*
780        Function de test des champs
781     * */
782    function isAlpha(str) {
783        return /^[a-zA-Z\/]+$/.test(str);
784    }
785    
786    function isMail(str){
787        return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str);
788    }
789    
790    function isPhoneNumber(str){
791        return /[0-9-()+]{3,20}/.test(str);
792    }
793    
794    function testSeparator(obj){
795    
796        if ( obj.value != 'A' &&
797             obj.value != '/' ) {
798                
799            alert('Saisissez uniquement un A ou un / comme séparateur');
800            obj.value = '';
801        }
802    }
803    
804    /* FIN */
805    
806    /*
807        Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
808        référence cadastrale
809     * */
810    function actionFormReferenceCadastrale(){
811        $('form').submit(
812            function(){
813                
814                getDataFieldReferenceCadastrale();
815            }
816        );
817    
818        $('#moreFieldReferenceCadastrale' +
819            ($('.moreFieldReferenceCadastrale').length - 1 )).
820        on("click", function() {
821            $(this).before(newInputReferenceCadastrale());
822        });
823        
824    }
825    
826    /*
827     * Récupère les données saisies dans les champs de références cadastrales
828     */
829    function getDataFieldReferenceCadastrale(){
830        
831        var reference_cadastrale = '';
832        var reference_cadastrale_temp = '';
833        
834        $('.reference_cadastrale_custom_field').each(
835            function(){
836                
837                if ( $(this).val() == ';' ){
838                                    
839                  var reference_cadastrale = '';                  reference_cadastrale_bis = reference_cadastrale_temp ;
840                                    
841                  $('.reference_cadastrale_custom_field').each(                  while( reference_cadastrale_bis != ''){
842                      function(){                      if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*)*$/.test(reference_cadastrale_bis) ){
843                                                    
844                          reference_cadastrale += $(this).val();                          reference_cadastrale += reference_cadastrale_bis + ";";
845                            break;
846                      }                      }
847                  );                      else{
848                            
849                            reference_cadastrale_bis = reference_cadastrale_bis.slice( 0, -1);
850                        }    
851                    }
852                                    
853                  $('#terrain_references_cadastrales').val(reference_cadastrale);                  
854                    reference_cadastrale_temp = '';
855              }              }
856          );              
857                else {
858                    
859                    reference_cadastrale_temp += $(this).val();
860                }
861                
862            }
863        );
864        
865        $('#terrain_references_cadastrales').val(reference_cadastrale);
866    }
867    
868    /*
869        Action pour l'ajout de nouvelle ligne
870     * */
871    function actionLineFormReferenceCadastrale(){
872        $('#morelineReferenceCadastrale').click(
873            function(){
874                
875                $('.reference_cadastrale_custom_fields').
876                append( "<br/>" + fieldReferenceCadastraleBase());
877                
878                $('#moreFieldReferenceCadastrale'+
879                    ($('.moreFieldReferenceCadastrale').length - 1 )).
880                on("click", function() {
881                    $(this).before(newInputReferenceCadastrale());
882                });
883                
884                
885            }
886        );
887    }
888    
889    /*
890        Met à jour le select demande_type dès qu'un
891        dossier_autorisation_type_detaille est choisi
892     * */
893    function changeDemandeType(){
894        
895        var idDossierAutorisationTypeDetaille =
896            $("#dossier_autorisation_type_detaille option:selected").val();
897        
898        /* Récupère les données saisies dans les champs pour la référence cadastrale */
899        getDataFieldReferenceCadastrale();    
900        
901        if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
902            
903            changeDataSelect('demande_type','dossier_autorisation_type_detaille');
904            if ( $('#demande_type option').size() < 2 )
905                showFormsDemande();
906                    
907          $('.terrain_references_cadastrales_custom:').find(">:first-child").hide();         $('#demande_type').parent().parent().show();
908          
909           formatFieldReferenceCadastrale();
910      }      }
911      else {      else {
912          hideFields();          hideFields();
913      }      }
914  }  }
915    
916    /*
917        Ajoute le code HTML des champs pour les références cadastrales
918     * */
919    function addNewFieldReferencesCadastrales(){
920        $('.references_cadastrales_new_field').remove();
921        $('.moreFieldReferenceCadastrale').remove();
922        $('#morelineReferenceCadastrale').remove();
923        $('.buttonCadAdr').remove();
924        $('.localisation .fieldsetContent').prepend(
925           '<div class="field field-type-text references_cadastrales_new_field" >'+
926                '<div class="form-libelle">' +
927                    '<label '+
928                        'class="libelle-terrain_references_cadastrales" '+
929                        'for="terrain_references_cadastrales">'+
930                        ' terrain_references_cadastrales '+
931                    '</label>' +
932                '</div>' +
933                '<div class="form-content reference_cadastrale_custom_fields">' +
934                     fieldReferenceCadastraleBase() +
935                '</div>' +
936           '</div>' +
937           '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
938                '<div class="form-libelle"></div>' +
939                '<div class="form-content">' +
940                    ' + ajouter d\'autres lignes' +
941                '</div>' +
942           '</div>'      
943       );
944       $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
945                '<div class="form-libelle"></div>' +
946                '<div class="form-content buttonCadAdr">' +
947                    '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
948                '</div>' +
949           '</div>' );
950    }
951    
952    /*
953        Séparateur caché ;
954     * */
955    function hiddenSeparatorField(){
956        return '<input ' +
957                    'class="reference_cadastrale_custom_field " ' +
958                    'type="hidden" ' +
959                    'maxlength="2" ' +
960                    'size="2" ' +
961                    'value=";" />';
962    }
963    
964    /*
965        Ajout d'une nouvelle ligne de champ
966     * */
967    function fieldReferenceCadastraleBase(){
968        return '<input ' +
969                    'class="champFormulaire reference_cadastrale_custom_field" ' +
970                    'type="text" ' +
971                    'onchange="VerifNum(this)" ' +
972                    'maxlength="4" ' +
973                    'size="4" ' +
974                    'value="" />' +
975                '<input ' +
976                    'class="champFormulaire reference_cadastrale_custom_field" ' +
977                    'type="text" ' +
978                    'maxlength="3" ' +
979                    'size="3" ' +
980                    'value="" '+
981                    'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>' +
982                '<input ' +
983                    'class="champFormulaire reference_cadastrale_custom_field" ' +
984                    'type="text" ' +
985                    'onchange="VerifNum(this)" ' +
986                    'maxlength="5" ' +
987                    'size="5" ' +
988                    'value="" />' +
989                '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
990                    hiddenSeparatorField() +
991                    ' + ajouter d\'autres champs' +
992                '</span>';
993    }
994    
995    /**
996     * Cache les champs inutules
997     **/
998  function hideFields(){  function hideFields(){
999      $('.bloc').each(      $('.demande_hidden_bloc').each(
1000          function(){          function(){
1001              if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )              $(this).hide();
                 $(this).hide();  
1002          }          }
1003      );      );
1004            
# Line 329  function hideFields(){ Line 1007  function hideFields(){
1007      $('#demande_type').parent().parent().hide();      $('#demande_type').parent().parent().hide();
1008  }  }
1009    
1010    /*
1011        Affiche les champs dont on a besoin
1012     * */
1013  function showFormsDemande(){  function showFormsDemande(){
1014      $('.bloc').each(      $('.demande_hidden_bloc').each(
1015          function(){          function(){
1016              if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )              $(this).show();
                 $(this).show();  
1017          }          }
1018      );      );
1019            
1020      $('.field-type-text').show();      $('.field-type-text').show();
1021      $('input[type=submit]').show();      $('input[type=submit]').show();
1022        $('.terrain_references_cadastrales_custom').hide();
1023        
1024        $('#terrain_references_cadastrales').parent().parent().hide();
1025  }  }
1026    
1027    /*
1028        Action au clique sur le bouton " + ajouter d'autres champs"
1029     * */
1030  function newInputReferenceCadastrale(){  function newInputReferenceCadastrale(){
1031      return '<input ' +      return '<input ' +
1032              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1033              'type="text" ' +              'type="text" ' +
1034              'maxlength="1" ' +              'maxlength="1" ' +
1035              'size="1" ' +              'size="1" ' +
1036              'value="" />' +              'value="" ' +
1037                'onchange="testSeparator(this);"/>' +
1038          '<input ' +          '<input ' +
1039              'class="champFormulaire reference_cadastrale_custom_field" ' +              'class="champFormulaire reference_cadastrale_custom_field" ' +
1040              'type="text" ' +              'type="text" ' +
# Line 357  function newInputReferenceCadastrale(){ Line 1044  function newInputReferenceCadastrale(){
1044              'value="" />';              'value="" />';
1045  }  }
1046    
1047  // Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau  
1048  // tableau de bord  
1049    /**
1050     * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1051     * tableau de bord
1052     */
1053  function widget_bind_move_actions() {}  function widget_bind_move_actions() {}
1054  function widget_bind_add_action() {}  function widget_bind_add_action() {}
1055  function widget_bind_edit_actions(widget_selector) {}  function widget_bind_edit_actions(widget_selector) {}
1056    
1057    // Cette fonction permet d'associer a un arbre html les fonctions jquery
1058    // necessaires. Elle permet notamment lors du chargement d'une page en ajax
1059    // d'associer le comportement du bouton, la gestion du calendrier et la gestion
1060    // du fieldset.
1061    function om_initialize_content() {
1062        // Gestion du skin des boutons, liens
1063        link_bind_button();
1064        // Gestion du calendrier avec le widget datepicker de jqueryui
1065        inputdate_bind_datepicker();
1066        // Gestion des fieldset avec le plugin collaspsible de jquery
1067        fieldset_bind_collapsible();
1068    
1069        changeDemandeurType('qualite');
1070        addSearchIcon();
1071        addDivDialog('.bloc_demandeur');
1072        
1073    }
1074    
1075    /*
1076     * Marque comme lu une consultation
1077     */
1078    function markedAsRead(id, objet, objetc){
1079        
1080        /*Vérifie que l'identifiant passé en paramètre est bien un chiffre
1081         * et que le type d'objet est défini
1082         * */
1083        if ( $.isNumeric(id) && objet != '' ){
1084            
1085            donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc;
1086            $.ajax({
1087                type: "GET",
1088                url: "../app/marquer_comme_lu.php" + donnees ,
1089                cache: false,
1090                success: function(html){
1091                    
1092                    $('#sousform-' + objet + ' .message').remove();
1093                    
1094                    /*Change la valeur affiché et affiche un message valide*/
1095                    if ( $.parseJSON(html) == "Mise a jour effectue avec succes"){
1096                        
1097                        // On modife le champ lu
1098                        $('#lu').html('Oui');
1099                        // On supprime l'action
1100                        $('span.lu-16').parent().parent().remove();
1101                        // On affiche le message
1102                        $('#sousform-' + objet + ' .subtitle').after(
1103                            '<div ' +
1104                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
1105                                '<p>' +
1106                                    '<span class="ui-icon ui-icon-info"></span>' +
1107                                    '<span class="text">' +
1108                                        $.parseJSON(html) +
1109                                    '</span>' +
1110                                '</p>' +
1111                            '</div>'                    
1112                        );
1113                    }
1114                    /*Affichage d'une erreur*/
1115                    else{
1116                        $('#sousform-' + objet + ' .subtitle').after(
1117                            '<div ' +
1118                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-error">' +
1119                                '<p>' +
1120                                    '<span class="ui-icon ui-icon-info"></span>' +
1121                                    '<span class="text">' +
1122                                        $.parseJSON(html) +
1123                                    '</span>' +
1124                                '</p>' +
1125                            '</div>'                    
1126                        );
1127                    }
1128                }
1129            });
1130        }
1131    }

Legend:
Removed from v.660  
changed lines
  Added in v.965

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26