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

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

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

revision 544 by nhaye, Mon Oct 29 16:25:36 2012 UTC revision 799 by vpihour, Wed Nov 21 17:34:18 2012 UTC
# Line 1  Line 1 
1  // specific openfoncier ========================================================  // specific openfoncier ========================================================
2    
3  function bible(){  // Document is ready
4    $(function(){
5    
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();
11     });
12    
13    
14    /**
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 8  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 18  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 27  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 35  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 43  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 52  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 73  function messageIt(objsf, link, empty) { Line 179  function messageIt(objsf, link, empty) {
179      }else {      }else {
180          link += "&recherche=";          link += "&recherche=";
181      }      }
182      // execution de la requete en POST      // execution de la requete en GET
183      $.ajax({      $.ajax({
184          type: "GET",          type: "GET",
185          url: link,          url: link,
# Line 87  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 105  jQuery.download = function(url, data, me Line 215  jQuery.download = function(url, data, me
215      };      };
216  };  };
217    
218  /* -- FIN -- */  /**
219     * Cette fonction permet de charger dans un dialog jqueryui un formulaire tel
220     * qu'il aurait été chargé avec ajaxIt
221     *
222     */
223  function popupIt(objsf, link) {  function popupIt(objsf, link) {
224      // Insertion du conteneur du dialog      // Insertion du conteneur du dialog
225      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');      var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');
# Line 128  function popupIt(objsf, link) { Line 242  function popupIt(objsf, link) {
242              $(dialog).dialog({              $(dialog).dialog({
243              //OnClose suppression du contenu              //OnClose suppression du contenu
244              close: function(ev, ui) {              close: function(ev, ui) {
245                    // Si le formulaire est submit et valide
246                    var valid=$('#sousform-'+objsf+' div.ui-state-valid');
247                    if(valid.length > 0) {
248                        document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')
249                        +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')
250                        +"&selectioncol="+$.getQuery('selectioncol');
251                    }
252                  $(this).remove();                  $(this).remove();
253              },              },
254              resizable: false,              resizable: false,
# Line 147  function popupIt(objsf, link) { Line 268  function popupIt(objsf, link) {
268      });      });
269      return false;      return false;
270  }  }
271    
272    /***
273     *
274     * @todo XXX ?????????
275     */
276    // Parse URL Queries Method
277    (function($){
278            $.getQuery = function( query ) {
279                    query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
280                    var expr = "[\\?&]"+query+"=([^&#]*)";
281                    var regex = new RegExp( expr );
282                    var results = regex.exec( window.location.href );
283                    if( results !== null ) {
284                            return results[1];
285                            return decodeURIComponent(results[1].replace(/\+/g, " "));
286                    } else {
287                            return false;
288                    }
289            };
290    })(jQuery);
291    
292    
293    /*
294     * Javascript concernant la demande
295     *
296     *
297     */
298    
299    /*
300     * A garder
301     */
302    /*
303     * '<span class="om-icon om-icon-16 om-icon-fix search-part-16" title="Chercher un petitionnaire"></span>'
304     * '<span class="om-icon om-icon-16 om-icon-fix search-mor-16" title="Chercher un petitionnaire"></span>'
305     * '<div class="field field-type-text morePetitionnaire" style="display: table-row;">' +
306            '<div class="form-libelle">' +
307                '<label class="libelle-more_petitionnaire" for="terrain_superficie"> + Ajouter un autre p&eacute;titionnaire </label>' +
308            '</div>' +
309            '<div class="form-content">' +
310            '</div>' +
311        '</div>'
312     */
313    
314    
315    /*
316        Ajoute le formulaire d'jout de référence cadastrale personnalisé
317     * */
318    $(function() {
319        
320        url = document.location + "" ;
321        if ( $('#date_demande').length > 0
322            && !$('#dossier_autorisation_type_detaille').is(':disabled')
323            && url.indexOf("form.php?obj=demande&action=0") != -1 ){
324            
325            /*Fonction d'ajout de nouveau pétitionnaire*/  
326            $('.morePetitionnaire').click( function() {
327                
328            });    
329            
330            /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
331            hideFields();
332        }
333      
334       if ( $('#date_demande').length > 0
335            && !$('#dossier_autorisation_type_detaille').is(':disabled')
336            && url.indexOf("form.php?obj=demande&action=1") != -1 ){
337                
338            addNewFieldReferencesCadastrales();
339            $('#terrain_references_cadastrales').parent().parent().hide();
340            
341            reference_cadastrale = $('#terrain_references_cadastrales').val();
342            /*Formatage de la reference cadastrale*/
343            if ( reference_cadastrale != '' ){
344                
345                /* Récupère la référence cadastrale non formatée */
346                references_cadastrales = reference_cadastrale.split(';');
347                donnees = new Array();
348                
349                i = 0 ;
350                /* Boucle sur les références, elles étaient séparées par un ; */
351                for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
352                    
353                    /*Récupère le code impots du qartier [CHIFFRES]*/
354                    k = 0;
355                    donnees[i] = '';
356                    for ( j = k ; j < references_cadastrales[l].length ; j++ ){
357                        
358                        if ( references_cadastrales[l].charAt(j) >= 0 &&
359                            references_cadastrales[l].charAt(j) <= 9 ){
360                                
361                            donnees[i] += references_cadastrales[l].charAt(j);
362                            k++;
363                            
364                        } else {
365                            
366                            i++;
367                            break;
368                        }
369                    }
370                    
371                    /* Récupère la section [LETTRES] */    
372                    donnees[i] = '';
373                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
374                        if ( isAlpha(references_cadastrales[l].charAt(j)) ){
375                            
376                            donnees[i] += references_cadastrales[l].charAt(j);
377                            k++;
378                            
379                        } else {
380                            
381                            i++;
382                            break;
383                        }
384                    
385                    /* Récupère la parcelle [CHIFFRES] */
386                    donnees[i] = '';
387                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
388                        if ( references_cadastrales[l].charAt(j) >= 0 &&
389                            references_cadastrales[l].charAt(j) <= 9 ){
390                                
391                            donnees[i] += references_cadastrales[l].charAt(j);
392                            k++;
393                            
394                        } else {
395                            
396                            break;
397                        }
398                    
399                    /* Récupère les séparateurs [ A / ] et les sections */
400                    m = 0 ;
401                    if ( k < references_cadastrales[l].length ){
402                        
403                        for ( j = k ; j < references_cadastrales[l].length ; j++ )
404                            if ( isAlpha(references_cadastrales[l].charAt(j)) ){
405                                
406                                m++;
407                                donnees[++i] = references_cadastrales[l].charAt(j);
408                                donnees[++i] = '';
409                            }
410                            else {
411                                
412                                donnees[i] += references_cadastrales[l].charAt(j);
413                            }
414                    }
415                    
416                    /*Créé autant de champs de que de référence */
417                    donnees[++i] = ';';
418                    i++;
419    
420                    if ( l > 0 ) {
421                        
422                        $('.reference_cadastrale_custom_fields').append(
423                            "<br/>" + fieldReferenceCadastraleBase()
424                        );
425                    }
426                    
427                    actionFormReferenceCadastrale();
428                    
429                    if ( m > 0 ){
430                                
431                        for ( j = 0 ; j < m ; j++ ){
432                            
433                            $('#moreFieldReferenceCadastrale' +
434                                ( $('.moreFieldReferenceCadastrale').length - 1 ) ).
435                            before(
436                                newInputReferenceCadastrale()
437                            );
438                        }
439                    }
440                }
441                 /* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter
442                  * d'autres lignes] */
443                actionLineFormReferenceCadastrale();
444                
445                /* Ajoute les données dans les champs nouvellement créés */
446                $('.reference_cadastrale_custom_field').each(
447                    function(index) {
448                        
449                        $(this).val(donnees[index])
450                    }
451                );
452            }
453       }
454    });
455    
456    /*
457        Action au changement du select de la qualite du demandeur
458     * */
459    function changeDemandeurType(id){
460    
461        /*Si la qualite du demandeur est particulier */
462        if ( $('#' + id + ' option:selected').val() == 'particulier' ){
463            
464            $('.personne_morale_fields input').each(
465                function(){
466                    $(this).val('');
467                }
468            );
469            $('.personne_morale_fields select option[value=""]').each(
470                function(){
471                    $(this).attr('selected', 'selected');
472                }
473            );
474            
475            $('.personne_morale_fields').hide();
476            $('.particulier_fields').show();
477        }
478        else {
479            
480           $('.particulier_fields input').each(
481                function(){
482                    $(this).val('');
483                }
484            );
485            $('.particulier_fields select option[value=""]').each(
486                function(){
487                    $(this).attr('selected', 'selected');
488                }
489            );
490            
491            $('.particulier_fields').hide();
492            $('.personne_morale_fields').show();
493        }
494    }
495    
496    /*
497        Ajout de l'action de recherche des pétitionnaire fréquent dans un overlay
498     * */
499    function addActionSearch(id, complement){
500        
501        /*Si on recherche un pétitionnaire de type particulier*/
502        $('#' + id + ' .search-part-16').click(
503            function(){
504                
505                /*Données des champs nom et prénom du particulier*/
506                var donnees = "?type=particulier&par_nom=";
507                $('#' + id + ' .search_particulier_fields input').each(
508                    function(i){
509    
510                        donnees += $(this).val() + (( i == 0 ) ?  '&par_prenom='  : '') ;
511                    }
512                );
513    
514                /* Requête qui va récupérer les données du(es) pétitionnaire(s)
515                 * correspondant(s) à la recherche */
516                $.ajax({
517                    type: "GET",
518                    url: "../app/findPetitionnaire.php" + donnees ,
519                    cache: false,
520                    success: function(html){
521                        
522                        res = 'Auncune correspondance trouvée.';
523                        
524                        /*Si la recherche a donné des résultats*/
525                        if ( html.length > 2 ){
526                            
527                            res = '<select>' ;
528                            donnees = html.split(';');
529                            
530                            /* Met les résultats de la recherche dans un select */
531                            for ( i = 0 ; i < donnees.length - 1 ; i++ ){
532    
533                                val = donnees[i].replace('"', '');
534                                line = donnees[i].split('_');
535                                
536                                if ( line[3] != '' ){
537                                    
538                                    line[3] = ' - ' + line[3];
539                                }
540                                
541                                res += '<option value="' + val + '">' +
542                                            line[1] + ' ' + line[2] + line[3] +
543                                       '</option>';
544                            }
545                            
546                            res += '</select>' ;
547                        }
548                        
549                        /* Affichage de l'overlay */
550                        $('#dialog').html(res);
551                          
552                        $( "#dialog" ).dialog({
553                            modal: true,
554                            buttons : {
555                                Valider: function(){
556                                    
557                                    /*Action à l'appui sur le bouton valider*/
558                                    if ( res != 'Auncune correspondance trouvée.' ){
559                                        
560                                        donnees = $('#dialog select option:selected').val();
561                                        donnees = donnees.split('_');
562                                        
563                                        if ( $.isNumeric(donnees[4]) ){
564                                            $('#' + id +
565                                                ' select[id="particulier_civilite' +
566                                                complement + '"] option[value="' +
567                                                $.trim(donnees[4]) + '"]').
568                                            attr('selected','selected');
569                                        }
570                                        
571                                        $('#' + id +
572                                            ' input[id="particulier_nom' +
573                                            complement + '"]').
574                                        val($.trim(donnees[1]));
575                                        
576                                        $('#' + id +
577                                            ' input[id="particulier_prenom' +
578                                            complement + '"]').
579                                        val($.trim(donnees[2]));
580                                        
581                                        /*Vérifie si la date est non vide avant de la traiter*/
582                                        date_temp = $.trim(donnees[3]);
583                                        if ( date_temp != '' ){
584                                            
585                                            date = date_temp.split('-');
586                                            date = date[2] + "/" + date[1] + "/" + date[0] ;
587                                            $('#' + id +
588                                                ' input[id="particulier_date_naissance' +
589                                                complement + '"]').
590                                            val(date);
591                                            
592                                        }
593                                        $('#' + id +
594                                            ' input[id="particulier_commune_naissance' +
595                                            complement + '"]').
596                                        val($.trim(donnees[10]));
597                                        $('#' + id +
598                                            ' input[id="particulier_departement_naissance' +
599                                            complement + '"]').
600                                        val($.trim(donnees[11]));
601                                        
602                                        changeValInputDemandeur(id, donnees, complement);
603                                    }
604                                    
605                                    /*Fermeture de l'overlay*/
606                                    $(this).dialog( "close" );
607                                }
608                            }
609                        });
610                    },
611                    async: false
612                });
613            }
614        );
615        
616        /*Si on recherche un pétitionnaire de type personne morale*/
617        $('#' + id + ' .search-mor-16').click(
618            function(){
619                
620                /*Données des champs dénomination et nom de la personne morale*/
621                var donnees = "?type=personne_morale"+
622                    "&mor_denomination="+$('#'+id+
623                        ' input[id="personne_morale_denomination' +
624                        complement + '"]').
625                    val() +
626                    "&mor_nom="+$('#'+id+
627                        ' input[id="personne_morale_nom' +
628                        complement + '"]').
629                    val();
630                
631                /* Requête qui va récupérer les données du(es) pétitionnaire(s)
632                 * correspondant(s) à la recherche */    
633                $.ajax({
634                    type: "GET",
635                    url: "../app/findPetitionnaire.php" + donnees ,
636                    cache: false,
637                    success: function(html){
638                        
639                        res = 'Auncune correspondance trouvée.';
640                        
641                        /*Si la recherche a donné des résultats*/
642                        if ( html > 2 ){
643                            
644                            res = '<select>' ;
645                            donnees = html.split(';');
646                            
647                            /* Met les résultats de la recherche dans un select */
648                            for ( i = 0 ; i < donnees.length - 1 ; i++ ){
649    
650                                val = donnees[i].replace('"', '');
651                                line = donnees[i].split('_');
652                                
653                                res += '<option value="' + val + '">' +
654                                            line[5] + ' ' + line[6] +
655                                        '</option>';
656                            }
657                            
658                            res += '</select>' ;
659                        }
660                        
661                        /* Affichage de l'overlay */
662                        $('#dialog').html(res);
663                          
664                        $( "#dialog" ).dialog({
665                            modal: true,
666                            buttons : {
667                                Valider: function(){
668                                    
669                                    /*Action à l'appui sur le bouton valider*/
670                                    if ( res != 'Auncune correspondance trouvée.' ){
671                                        donnees = $('#dialog select option:selected').val();
672                                        donnees = donnees.split('_');
673                                        
674                                        if ( $.isNumeric(donnees[8]) ){
675                                            
676                                            $('#' + id +
677                                                ' select[id="personne_morale_civilite' +
678                                                complement +
679                                                '"] option[value="' +
680                                                $.trim(donnees[8]) + '"]').
681                                            attr('selected','selected');
682                                        }
683                                        
684                                        $('#' + id +
685                                            ' input[id="personne_morale_denomination' +
686                                            complement + '"]').
687                                        val($.trim(donnees[5]));
688                                        $('#' + id +
689                                            ' input[id="personne_morale_raison_sociale' +
690                                            complement + '"]').
691                                        val($.trim(donnees[12]));
692                                        $('#' + id +
693                                            ' input[id="personne_morale_siret' +
694                                            complement + '"]').
695                                        val($.trim(donnees[6]));
696                                        $('#' + id +
697                                            ' input[id="personne_morale_categorie_juridique' +
698                                            complement + '"]').
699                                        val($.trim(donnees[13]));
700                                        $('#' + id +
701                                            ' input[id="personne_morale_nom' +
702                                            complement + '"]').
703                                        val($.trim(donnees[7]));
704                                        $('#' + id +
705                                            ' input[id="personne_morale_prenom' +
706                                            complement + '"]').
707                                        val($.trim(donnees[9]));
708                                        
709                                        changeValInputDemandeur(id, donnees, complement);
710                                    }
711                                    
712                                    /*Fermeture de l'overlay*/
713                                    $(this).dialog( "close" );
714                                }
715                            }
716                        });
717                    },
718                    async: false
719                });
720            }
721        );
722    }
723    
724    /*
725        Change les valeurs des champs en commun des particuliers et des personnes morales
726        Lié à la fonction addActionSearch
727        
728     * */
729    function changeValInputDemandeur(id, donnees, complement){
730        
731        $('#' + id + ' input[id="demandeur' + complement + '"]').val($.trim(donnees[0]));
732        /*Teste si la valeur retournée est TRUE*/
733        if ( donnees[28] === 't' ){
734            
735            $('#' + id + ' input[id="notification' + complement + '"]').attr('checked', 'checked');
736            $('#' + id + ' input[id="notification' + complement + '"]').val('Oui');
737        }
738        
739        $('#' + id + ' input[id="frequent' + complement + '"]').attr('checked','checked');
740        $('#' + id + ' input[id="frequent' + complement + '"]').val('Oui');
741        $('#' + id + ' input[id="numero' + complement + '"]').val($.trim(donnees[14]));
742        $('#' + id + ' input[id="voie' + complement + '"]').val($.trim(donnees[15]));
743        $('#' + id + ' input[id="complement' + complement + '"]').val($.trim(donnees[16]));
744        $('#' + id + ' input[id="lieu_dit' + complement + '"]').val($.trim(donnees[17]));
745        $('#' + id + ' input[id="localite' + complement + '"]').val($.trim(donnees[18]));
746        $('#' + id + ' input[id="code_postal' + complement + '"]').val($.trim(donnees[19]));
747        $('#' + id + ' input[id="bp' + complement + '"]').val($.trim(donnees[20]));
748        $('#' + id + ' input[id="cedex' + complement + '"]').val($.trim(donnees[21]));
749        $('#' + id + ' input[id="pays' + complement + '"]').val($.trim(donnees[22]));
750        $('#' + id + ' input[id="division_territoriale' + complement + '"]').val($.trim(donnees[23]));
751        $('#' + id + ' input[id="telephone_fixe' + complement + '"]').val($.trim(donnees[24]));
752        $('#' + id + ' input[id="telephone_mobile' + complement + '"]').val($.trim(donnees[25]));
753        $('#' + id + ' input[id="indicatif' + complement + '"]').val($.trim(donnees[26]));
754        $('#' + id + ' input[id="courriel' + complement + '"]').val($.trim(donnees[27]));
755    }
756    
757    /*
758        Function de test des champs
759     * */
760    function isAlpha(str) {
761        return /^[a-zA-Z\/]+$/.test(str);
762    }
763    
764    function isMail(str){
765        return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str);
766    }
767    
768    function isPhoneNumber(str){
769        return /[0-9-()+]{3,20}/.test(str);
770    }
771    
772    function testSeparator(obj){
773    
774        if ( obj.value != 'A' &&
775             obj.value != '/' ) {
776                
777            alert('Saisissez uniquement un A ou un / comme séparateur');
778            obj.value = '';
779        }
780    }
781    
782    /* FIN */
783    
784    /*
785        Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
786        référence cadastrale
787     * */
788    function actionFormReferenceCadastrale(){
789        $('form').submit(
790            function(){
791                
792                var reference_cadastrale = '';
793                var reference_cadastrale_temp = '';
794                
795                $('.reference_cadastrale_custom_field').each(
796                    function(){
797                        
798                        if ( $(this).val() == ';' ){
799                            
800                            reference_cadastrale_bis = reference_cadastrale_temp +
801                                ( ( reference_cadastrale_temp != '' &&
802                                    reference_cadastrale_temp.length > 0 )
803                                        ? ';' : '' );
804                                        
805                            if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*;)*$/.test(reference_cadastrale_bis) ){
806                                
807                                reference_cadastrale += reference_cadastrale_bis;
808                            }
809                            reference_cadastrale_temp = '';
810                        }
811                        
812                        else {
813                            
814                            reference_cadastrale_temp += $(this).val();
815                        }
816                        
817                    }
818                );
819                
820                $('#terrain_references_cadastrales').val(reference_cadastrale);
821            }
822        );
823    
824        $('#moreFieldReferenceCadastrale' +
825            ($('.moreFieldReferenceCadastrale').length - 1 )).
826        on("click", function() {
827            $(this).before(newInputReferenceCadastrale());
828        });
829        
830    }
831    
832    /*
833        Action pour l'ajout de nouvelle ligne
834     * */
835    function actionLineFormReferenceCadastrale(){
836        $('#morelineReferenceCadastrale').click(
837            function(){
838                
839                $('.reference_cadastrale_custom_fields').
840                append( "<br/>" + fieldReferenceCadastraleBase());
841                
842                $('#moreFieldReferenceCadastrale'+
843                    ($('.moreFieldReferenceCadastrale').length - 1 )).
844                on("click", function() {
845                    $(this).before(newInputReferenceCadastrale());
846                });
847                
848                
849            }
850        );
851    }
852    
853    /*
854        Met à jour le select demande_type dès qu'un
855        dossier_autorisation_type_detaille est choisi
856     * */
857    function changeDemandeType(){
858        
859        var idDossierAutorisationTypeDetaille =
860            $("#dossier_autorisation_type_detaille option:selected").val();
861        
862        if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
863            
864            changeDataSelect('demande_type','dossier_autorisation_type_detaille');
865            if ( $('#demande_type option').size() < 2 )
866                showFormsDemande();
867            
868           $('#demande_type').parent().parent().show();
869          
870           addNewFieldReferencesCadastrales();
871          
872           actionFormReferenceCadastrale();
873           actionLineFormReferenceCadastrale()        
874        }
875        else {
876            hideFields();
877        }
878    }
879    
880    /*
881        Ajoute le code HTML des champs pour les références cadastrales
882     * */
883    function addNewFieldReferencesCadastrales(){
884        $('.references_cadastrales_new_field').remove();
885        $('.moreFieldReferenceCadastrale').remove();
886        $('#morelineReferenceCadastrale').remove();
887        $('.buttonCadAdr').remove();
888        $('.localisation .fieldsetContent').prepend(
889           '<div class="field field-type-text references_cadastrales_new_field" >'+
890                '<div class="form-libelle">' +
891                    '<label '+
892                        'class="libelle-terrain_references_cadastrales" '+
893                        'for="terrain_references_cadastrales">'+
894                        ' terrain_references_cadastrales '+
895                    '</label>' +
896                '</div>' +
897                '<div class="form-content reference_cadastrale_custom_fields">' +
898                     fieldReferenceCadastraleBase() +
899                '</div>' +
900           '</div>' +
901           '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
902                '<div class="form-libelle"></div>' +
903                '<div class="form-content">' +
904                    ' + ajouter d\'autres lignes' +
905                '</div>' +
906           '</div>'      
907       );
908       $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
909                '<div class="form-libelle"></div>' +
910                '<div class="form-content buttonCadAdr">' +
911                    '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
912                '</div>' +
913           '</div>' );
914    }
915    
916    /*
917        Séparateur caché ;
918     * */
919    function hiddenSeparatorField(){
920        return '<input ' +
921                    'class="reference_cadastrale_custom_field " ' +
922                    'type="hidden" ' +
923                    'maxlength="2" ' +
924                    'size="2" ' +
925                    'value=";" />';
926    }
927    
928    /*
929        Ajout d'une nouvelle ligne de champ
930     * */
931    function fieldReferenceCadastraleBase(){
932        return '<input ' +
933                    'class="champFormulaire reference_cadastrale_custom_field" ' +
934                    'type="text" ' +
935                    'onchange="VerifNum(this)" ' +
936                    'maxlength="4" ' +
937                    'size="4" ' +
938                    'value="" />' +
939                '<input ' +
940                    'class="champFormulaire reference_cadastrale_custom_field" ' +
941                    'type="text" ' +
942                    'maxlength="3" ' +
943                    'size="3" ' +
944                    'value="" '+
945                    'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>' +
946                '<input ' +
947                    'class="champFormulaire reference_cadastrale_custom_field" ' +
948                    'type="text" ' +
949                    'onchange="VerifNum(this)" ' +
950                    'maxlength="5" ' +
951                    'size="5" ' +
952                    'value="" />' +
953                '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
954                    hiddenSeparatorField() +
955                    ' + ajouter d\'autres champs' +
956                '</span>';
957    }
958    
959    /*
960        Cache les champs inutules
961     * */    
962    function hideFields(){
963        $('.bloc').each(
964            function(){
965                if ( !$(this).hasClass('dossier_type') &&
966                    !$(this).hasClass('dossier_type_demande_date') ){
967                    $(this).hide();
968                }
969                    
970            }
971        );
972        
973        $('.field-type-text').hide();
974        $('input[type=submit]').hide();
975        $('#demande_type').parent().parent().hide();
976    }
977    
978    /*
979        Affiche les champs dont on a besoin
980     * */
981    function showFormsDemande(){
982        $('.bloc').each(
983            function(){
984                if ( !$(this).hasClass('dossier_type') &&
985                    !$(this).hasClass('dossier_type_demande_date') ){
986                    $(this).show();
987                }
988                    
989            }
990        );
991        
992        $('.field-type-text').show();
993        $('input[type=submit]').show();
994        $('.terrain_references_cadastrales_custom').hide();
995        
996        $('#terrain_references_cadastrales').parent().parent().hide();
997    }
998    
999    /*
1000        Action au clique sur le bouton " + ajouter d'autres champs"
1001     * */
1002    function newInputReferenceCadastrale(){
1003        return '<input ' +
1004                'class="champFormulaire reference_cadastrale_custom_field" ' +
1005                'type="text" ' +
1006                'maxlength="1" ' +
1007                'size="1" ' +
1008                'value="" ' +
1009                'onchange="testSeparator(this);"/>' +
1010            '<input ' +
1011                'class="champFormulaire reference_cadastrale_custom_field" ' +
1012                'type="text" ' +
1013                'onchange="VerifNum(this)" ' +
1014                'maxlength="4" ' +
1015                'size="4" ' +
1016                'value="" />';
1017    }
1018    
1019    
1020    
1021    /**
1022     * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1023     * tableau de bord
1024     */
1025    function widget_bind_move_actions() {}
1026    function widget_bind_add_action() {}
1027    function widget_bind_edit_actions(widget_selector) {}
1028    

Legend:
Removed from v.544  
changed lines
  Added in v.799

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26