/[openfoncier]/trunk/app/js/script.js
ViewVC logotype

Diff of /trunk/app/js/script.js

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

revision 91 by fraynaud, Thu Aug 25 10:11:38 2011 UTC revision 768 by vpihour, Tue Nov 20 11:56:59 2012 UTC
# Line 1  Line 1 
1  // specific openfoncier ========================================================  // specific openfoncier ========================================================
2    // OnReady
3    $(function(){
4       // Document is ready
5       $('#avis_code_barre_form #consultation').focus();
6     });
7    
8    
9  function bible(){  function bible(){
10      if(fenetreouverte==true)      if(fenetreouverte==true)
11             pfenetre.close();             pfenetre.close();
12      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
13      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
14      pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","width=600,height=100,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");
15      fenetreouverte=true;      fenetreouverte=true;
16  }  }
17    
# Line 15  function bible2() Line 21  function bible2()
21             pfenetre.close();             pfenetre.close();
22      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
23      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
24      pfenetre=window.open("../app/bible2.php?ev="+ev,"bible","width=600,height=100,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");
25      fenetreouverte=true;      fenetreouverte=true;
26  }  }
27    
# Line 52  function dossierads() Line 58  function dossierads()
58      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
59  }  }
60    
61    
62    function VerifNumdec(champ) {
63        champ.value = champ.value.replace(",", "."); // remplacement de la virgule
64        //if (champ.value.lastIndexOf(".") == -1){ // champ decimal
65            if (isNaN(champ.value)) {
66                alert(msg_alert_error_verifnum);
67                champ.value = "";
68                return;
69            }
70        //}
71        
72    }
73    /* -- Debut -- */
74    function messageIt(objsf, link, empty) {
75        // recuperation du terme recherche
76        var recherche = document.getElementById("recherchedyn");
77        if (recherche != null) {
78            link += "&recherche="+recherche.value;
79        }else {
80            link += "&recherche=";
81        }
82        // execution de la requete en GET
83        $.ajax({
84            type: "GET",
85            url: link,
86            cache: false,
87            success: function(html){
88                (empty == true )?$("#sousform-"+objsf).empty():'';
89                $("#sousform-"+objsf).append(html);
90                om_initialize_content();
91            },
92            async: false
93        });
94    }
95    
96    /* Plugin jQuery qui lance un espèce d'appel AJAX vers un script PHP de téléchargement de fichier*/
97    jQuery.download = function(url, data, method){
98        //url and data options required
99        if( url && data ){
100            //data can be string of parameters or array/object
101            data = typeof data == 'string' ? data : jQuery.param(data);
102            //split params into form inputs
103            var inputs = '';
104            jQuery.each(data.split('&'), function(){
105                var pair = this.split('=');
106                inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
107            });
108            //send request
109            jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
110            .prependTo('body').submit().remove();
111        };
112    };
113    
114    /* -- FIN -- */
115    function popupIt(objsf, link) {
116        // Insertion du conteneur du dialog
117        var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');
118        $('<input type=\"text\" name=\"recherchedyn\" id=\"recherchedyn\" value=\"\" class=\"champFormulaire\" style=\"display:none\" />').insertAfter('#sousform-'+objsf);
119        
120        // execution de la requete passee en parametre
121        // (idem ajaxIt + callback)
122        $.ajax({
123            type: "GET",
124            url: link,
125            cache: false,
126            success: function(html){
127                //Suppression d'un precedent dialog
128                dialog.empty();
129                //Ajout du contenu recupere
130                dialog.append(html);
131                //Initialisation du theme OM
132                om_initialize_content();
133                //Creation du dialog
134                $(dialog).dialog({
135                //OnClose suppression du contenu
136                close: function(ev, ui) {
137                    // Si le formulaire est submit et valide
138                    var valid=$('#sousform-'+objsf+' div.ui-state-valid');
139                    if(valid.length > 0) {
140                        document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')
141                        +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')
142                        +"&selectioncol="+$.getQuery('selectioncol');
143                    }
144                    $(this).remove();
145                },
146                resizable: false,
147                modal: true,
148                width: 700,
149                height: 520,
150              });
151            },
152            async : false
153        });
154        //Modification des boutons retours du sous formulaire pour fermer le dialog
155        $('#sousform-'+objsf).on("mousedown",'a.retour',function() {
156            $('#sousform-'+objsf+' a.retour').attr('onclick','');
157        });
158        $('#sousform-'+objsf).on("click",'a.retour',function() {
159            $(dialog).dialog('close').remove();
160        });
161        return false;
162    }
163    
164    // Parse URL Queries Method
165    (function($){
166            $.getQuery = function( query ) {
167                    query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
168                    var expr = "[\\?&]"+query+"=([^&#]*)";
169                    var regex = new RegExp( expr );
170                    var results = regex.exec( window.location.href );
171                    if( results !== null ) {
172                            return results[1];
173                            return decodeURIComponent(results[1].replace(/\+/g, " "));
174                    } else {
175                            return false;
176                    }
177            };
178    })(jQuery);
179    
180    function changeDataSelect(tn, ds, joker){
181            
182        var id = $("#"+ds+" option:selected").val();
183        link = "../app/listData.php?idx=" + id + "&tn=" + tn + "&ds=" + ds;
184        $.ajax({
185            type: "GET",
186            url: link,
187            cache: false,
188            dataType: "json",
189            success: function(html){
190                
191                $('#'+tn).empty();
192                
193                if ( joker == true )
194                    $('#'+tn).append(
195                        '<option value="" selected="selected">*</option>'
196                    );
197                else
198                    $('#'+tn).append(
199                        '<option value="" selected="selected">Choisir ' + tn + '</option>'
200                    );
201                
202                if ( html !== '' ){
203                    
204                    html = html.split(';');
205                    for ( i = 0 ; i < html.length - 1 ; i++ ){
206                        
207                        html_temp = html[i].split('_');
208                        $('#'+tn).append(
209                            '<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>'
210                        );
211                    }
212                }
213            },
214            async: false
215        });
216    }
217    function vuploadMulti(champ) {
218        //
219        if (fenetreouverte == true) {
220            pfenetre.close();
221        }
222        //
223        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");
224        //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
225        //
226        fenetreouverte = true;
227    }
228    function tmpUpload(champ) {
229        //
230        if (fenetreouverte == true) {
231            pfenetre.close();
232        }
233        //
234        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");
235        //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
236        //
237        fenetreouverte = true;
238    }
239    
240    /*
241        Ajoute le formulaire d'jout de référence cadastrale personnalisé
242     * */
243    $(function() {
244        
245        url = document.location + "" ;
246        if ( $('#date_demande').length > 0
247            && !$('#dossier_autorisation_type_detaille').is(':disabled')
248            && url.indexOf("form.php?obj=demande&action=0") != -1 ){
249            
250            $.ajax({
251                type: "GET",
252                url: "sousform.php?obj=demandeur&action=0&tri=&objsf=demandeur&premiersf=0",
253                cache: false,
254                success: function(html){
255                    
256                    $('.lots').append(createFieldset('test', 'test'));
257                    $('#test').html(html);
258                    $('#test .formControls').remove();
259    
260                    $('#test').html($('#test .formEntete').html());
261                    
262                    $('#test #particulier_prenom').parent().append(
263                        '<span class="om-icon om-icon-16 om-icon-fix search-part-16" title="Chercher un petitionnaire"></span>'
264                    );
265                    $('#test #personne_morale_raison_sociale').parent().append(
266                        '<span class="om-icon om-icon-16 om-icon-fix search-mor-16" title="Chercher un petitionnaire"></span>'
267                    );
268                    $('#test input[id=personne_morale_prenom]').after(
269                        '<span class="om-icon om-icon-16 om-icon-fix search-mor-16" title="Chercher un petitionnaire"></span>'
270                    );
271                    
272                    obj = $('#type_demandeur').parent();
273                    obj.empty();
274                    obj.html(
275                        '<select id="type_demandeur" class="champFormulaire selectTypeDemandeur" name="type_demandeur" size="1">' +
276                            '<option selected="selected" value="particulier">particulier</option>' +
277                            '<option value="personne_morale">personne morale</option>' +                    
278                        '</select>'
279                    );
280                    
281                    setSelectCivilite();
282                },
283                async: false
284            });
285            
286            $('.lots').append(createFieldset('P&eacute;titionnaire(s)', 'petitionnaire__0'));
287            $('#petitionnaire__0').after(
288                '<div class="field field-type-text morePetitionnaire" style="display: table-row;">' +
289                    '<div class="form-libelle">' +
290                        '<label class="libelle-more_petitionnaire" for="terrain_superficie"> + Ajouter un autre p&eacute;titionnaire </label>' +
291                    '</div>' +
292                    '<div class="form-content">' +
293                    '</div>' +
294                '</div>');
295            
296            $('.morePetitionnaire').click( function() {
297                $('#fieldsetpetitionnaire__0 .morePetitionnaire').before(
298                    '<div id="petitionnaire__' + $('#fieldsetpetitionnaire__0 .fieldsetContent').size() +'" class="fieldsetContent">'+
299                        $('#fieldsetpetitionnaire__0 .formsDemandeur').val() +
300                    '</div>'
301                );
302                
303                nb = $('#fieldsetpetitionnaire__0 .fieldsetContent').size() - 1;
304                
305                changeIdNameField('petitionnaire__' + nb, '_' + nb );
306                
307                addDatePicker( 'petitionnaire__' + nb + ' #particulier_date_naissance_' + nb);
308                actionVeerifyFields('petitionnaire__' + nb, '_' + nb);
309                
310                addActionSearch('petitionnaire__' + nb, '_' + nb);
311                
312                setTypeDemandeur('petitionnaire__' + nb, '_' + nb );
313                
314                $('html, body').animate({
315                    scrollTop: $('#petitionnaire__' + nb + ' #type_demandeur').offset().top
316                }, 1000);
317            });    
318            
319            $('.lots').append(createFieldset('D&eacute;l&eacute;gataire', 'delegataire'));
320            setDelegataire();
321            setPetitionnaire();
322            setTypeDemandeur('petitionnaire__0', '_0');
323            
324            $('#petitionnaire__0').before(
325                '<div id="dialog" title="Résultats de votre recherche"></div>'
326            );
327                
328            hideFields();
329        }
330      
331       if ( $('#date_demande').length > 0
332            && !$('#dossier_autorisation_type_detaille').is(':disabled')
333            && url.indexOf("form.php?obj=demande&action=1") != -1 ){
334                
335            addNewFieldReferencesCadastrales();
336            $('#terrain_references_cadastrales').parent().parent().hide();
337            
338            reference_cadastrale = $('#terrain_references_cadastrales').val();
339            /*Formatage de la reference cadastrale*/
340            if ( reference_cadastrale != '' ){
341                
342                references_cadastrales = reference_cadastrale.split(';');
343                donnees = new Array();
344                
345                i = 0 ;
346                for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
347                    
348                    k = 0;
349                    donnees[i] = '';
350                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
351                        if ( references_cadastrales[l].charAt(j) >= 0 && references_cadastrales[l].charAt(j) <= 9 ){
352                            donnees[i] += references_cadastrales[l].charAt(j);
353                            k++;
354                        } else {
355                            i++;
356                            break;
357                        }
358                    
359                          
360                    donnees[i] = '';
361                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
362                        if ( isAlpha(references_cadastrales[l].charAt(j)) ){
363                            donnees[i] += references_cadastrales[l].charAt(j);
364                            k++;
365                        } else {
366                            i++;
367                            break;
368                        }
369                    
370                    donnees[i] = '';
371                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
372                        if ( references_cadastrales[l].charAt(j) >= 0 && references_cadastrales[l].charAt(j) <= 9 ){
373                            donnees[i] += references_cadastrales[l].charAt(j);
374                            k++;
375                        } else {
376                            break;
377                        }
378                    
379                    m = 0 ;
380                    if ( k < references_cadastrales[l].length ){
381                        
382                        for ( j = k ; j < references_cadastrales[l].length ; j++ )
383                            if ( isAlpha(references_cadastrales[l].charAt(j)) ){
384                                m++;
385                                donnees[++i] = references_cadastrales[l].charAt(j);
386                                donnees[++i] = '';
387                            }
388                            else {
389                                donnees[i] += references_cadastrales[l].charAt(j);
390                            }
391                    }
392    
393                    donnees[++i] = ';';
394                    i++;
395    
396                    if ( l > 0 )
397                        $('.reference_cadastrale_custom_fields').append( "<br/>" + fieldReferenceCadastraleBase());
398                    actionFormReferenceCadastrale();
399                    
400                    if ( m > 0 ){
401                                
402                        for ( j = 0 ; j < m ; j++ )
403                            $('#moreFieldReferenceCadastrale' + ( $('.moreFieldReferenceCadastrale').length - 1 ) ).before(newInputReferenceCadastrale());
404                    }
405                }
406    
407                actionLineFormReferenceCadastrale();
408                
409                $('.reference_cadastrale_custom_field').each(
410                    function(index) {
411                         $(this).val(donnees[index])
412                    }
413                );
414            }
415       }
416    });
417    
418    /*
419        Création du formuliare pour le petitionnaire
420     * */
421    function setPetitionnaire(){
422        $('#petitionnaire__0').prepend("<br/>" + $('#test').html() + "<br/>");
423        $('#test').parent().remove();
424        
425        addActionSearch('petitionnaire__0', '_0');
426        
427    }
428    
429    /*
430        Action au changement du select du type de demandeur
431     * */
432    function setTypeDemandeur(id, complement){
433        $('#'+id + ' select[id="type_demandeur"]').on('change',
434            function() {
435    
436                if ( $(this).find('option:selected').first().text() == 'particulier' )
437                    fieldTypeDemandeur('#' + id, true, complement);
438                else
439                    fieldTypeDemandeur('#' + id, false, complement);
440            }
441        );
442    }
443    
444    /*
445        Création du formulaire pour le délégataire
446     * */
447    function setDelegataire(){
448        $('#delegataire').html($('#test').html());
449        
450        $('#delegataire #type_demandeur').parent().parent().remove();
451        $('#delegataire #personne_morale_denomination').parent().parent().remove();
452        $('#delegataire #personne_morale_raison_sociale').parent().parent().remove();
453        $('#delegataire #personne_morale_siret').parent().parent().remove();
454        $('#delegataire #personne_morale_categorie_juridique').parent().parent().remove();
455        $('#delegataire #personne_morale_civilite').parent().parent().remove();
456        $('#delegataire #personne_morale_nom').parent().parent().remove();
457        $('#delegataire #personne_morale_prenom').parent().parent().remove();
458        $('#delegataire #frequent').parent().parent().remove();
459        $('#delegataire .search-part-16').remove();
460        
461        changeIdNameField('delegataire', '');
462        addDatePicker('delegataire #particulier_date_naissance');
463        actionVeerifyFields('delegataire', '');
464    }
465    
466    
467    
468    /*
469        Change les id et les name des champs
470     * */
471    function changeIdNameField(id, complement){
472        
473        $('#' + id + ' input').each(
474            function(){
475                $(this).attr('name', id + '__' + $(this).attr('name') );
476                $(this).attr('id', $(this).attr('id') + complement );
477            }
478        );
479    
480        $('#' + id + ' select').each(
481            function(){
482                $(this).attr('name', id + '__' + $(this).attr('name') );
483                $(this).attr('id', $(this).attr('id') + complement );
484            }
485        );
486        
487        
488    }
489    
490    function actionVeerifyFields(id, complement){
491        $('#' + id + ' #numero'+complement).change(
492            function(){
493                VerifNum(this);
494            }
495        );
496        
497        $('#' + id + ' #telephone_fixe'+complement).change(
498            function(){
499                if ( !isPhoneNumber($(this).val()) ) {
500                    
501                    alert('Vous ne devez saisir que des nombres');
502                    $(this).val('');
503                }
504            }
505        );
506        
507        $('#' + id + ' #telephone_mobile'+complement).change(
508            function(){
509                if ( !isPhoneNumber($(this).val()) ) {
510                    
511                    alert('Vous ne devez saisir que des nombres');
512                    $(this).val('');
513                }
514            }
515        );
516        
517        $('#' + id + ' #courriel'+complement).change(
518            function(){
519                if ( !isMail($(this).val()) ) {
520                    
521                    alert('Saisissez une adresse mail correcte');
522                }
523            }
524        );
525    }
526    
527    /*
528        Ajoute les le datespicker sur les champs de date
529     * */
530    function addDatePicker(id){
531        
532        $("#" + id ).datepicker({
533            dateFormat: dateFormat,
534            changeMonth: true,
535            changeYear: true,
536            yearRange: minYear+':'+maxYear,
537            showOn: 'button',
538            buttonImage: '../img/calendar.png',
539            buttonImageOnly: true,
540            constrainInput: true
541        });
542    }
543    
544    /*
545        Ajout de l'action de recherche des pétitionnaire fréquent dans un overlay
546     * */
547    function addActionSearch(id, complement){
548        
549        $('#' + id + ' .search-part-16').click(
550            function(){
551                
552                var donnees = "?type=particulier&par_nom=";
553                $('#' + id + ' .search_particulier_fields input').each(
554                    function(i){
555    
556                        donnees += $(this).val() + (( i == 0 ) ?  '&par_prenom='  : '') ;
557                    }
558                );
559    
560                $.ajax({
561                    type: "GET",
562                    url: "../app/findPetitionnaire.php" + donnees ,
563                    cache: false,
564                    success: function(html){
565                        
566                        res = 'Auncune correspondance trouvée.';
567                        
568                        if ( html.length > 2 ){
569                            
570                            res = '<select>' ;
571                            donnees = html.split(';');
572    
573                            for ( i = 0 ; i < donnees.length - 1 ; i++ ){
574    
575                                val = donnees[i].replace('"', '');
576                                line = donnees[i].split('_');
577                                
578                                if ( line[3] != '' ){
579                                    
580                                    line[3] = ' - ' + line[3];
581                                }
582                                
583                                res += '<option value="' + val + '">' + line[1] + ' ' + line[2] + line[3] + '</option>';
584                            }
585                            
586                            res += '</select>' ;
587                        }
588                        
589                        $('#dialog').html(res);
590                          
591                        $( "#dialog" ).dialog({
592                            modal: true,
593                            buttons : {
594                                Valider: function(){
595                                    
596                                    if ( res != 'Auncune correspondance trouvée.' ){
597                                        donnees = $('#dialog select option:selected').val();
598                                        donnees = donnees.split('_');
599                                        
600                                        if ( $.isNumeric(donnees[4]) )
601                                            $('#' + id + ' select[id="particulier_civilite' + complement + '"] option[value="' + $.trim(donnees[4]) + '"]').attr('selected','selected');
602                                        $('#' + id + ' input[id="particulier_nom' + complement + '"]').val($.trim(donnees[1]));
603                                        $('#' + id + ' input[id="particulier_prenom' + complement + '"]').val($.trim(donnees[2]));
604                                        
605                                        /*Vérifie si la date est non vide avant de la traiter*/
606                                        date_temp = $.trim(donnees[3]);
607                                        if ( date_temp != '' ){
608                                            date = date_temp.split('-');
609                                            date = date[2] + "/" + date[1] + "/" + date[0] ;
610                                            $('#' + id + ' input[id="particulier_date_naissance' + complement + '"]').val(date);
611                                        }
612                                        $('#' + id + ' input[id="particulier_commune_naissance' + complement + '"]').val($.trim(donnees[10]));
613                                        $('#' + id + ' input[id="particulier_departement_naissance' + complement + '"]').val($.trim(donnees[11]));
614                                        
615                                        changeValInputDemandeur(id, donnees, complement);
616                                    }
617                                    
618                                    $(this).dialog( "close" );
619                                }
620                            }
621                        });
622                    },
623                    async: false
624                });
625            }
626        );
627        
628        $('#' + id + ' .search-mor-16').click(
629            function(){
630                
631                var donnees = "?type=personne_morale"+
632                    "&mor_denomination="+$('#'+id+' input[id="personne_morale_denomination' + complement + '"]').val() +
633                    "&mor_nom="+$('#'+id+' input[id="personne_morale_nom' + complement + '"]').val();
634                    
635                $.ajax({
636                    type: "GET",
637                    url: "../app/findPetitionnaire.php" + donnees ,
638                    cache: false,
639                    success: function(html){
640                        
641                        res = 'Auncune correspondance trouvée.';
642                        
643                        if ( html > 2 ){
644                            
645                            res = '<select>' ;
646                            donnees = html.split(';');
647    
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 + '">' + line[5] + ' ' + line[6] + '</option>';
654                            }
655                            
656                            res += '</select>' ;
657                        }
658                        
659                        $('#dialog').html(res);
660                          
661                        $( "#dialog" ).dialog({
662                            modal: true,
663                            buttons : {
664                                Valider: function(){
665                                    
666                                    if ( res != 'Auncune correspondance trouvée.' ){
667                                        donnees = $('#dialog select option:selected').val();
668                                        donnees = donnees.split('_');
669                                        
670                                        if ( $.isNumeric(donnees[8]) )
671                                            $('#' + id + ' select[id="personne_morale_civilite' + complement + '"] option[value="' + $.trim(donnees[8]) + '"]').attr('selected','selected');
672                                        $('#' + id + ' input[id="personne_morale_denomination' + complement + '"]').val($.trim(donnees[5]));
673                                        $('#' + id + ' input[id="personne_morale_raison_sociale' + complement + '"]').val($.trim(donnees[12]));
674                                        $('#' + id + ' input[id="personne_morale_siret' + complement + '"]').val($.trim(donnees[6]));
675                                        $('#' + id + ' input[id="personne_morale_categorie_juridique' + complement + '"]').val($.trim(donnees[13]));
676                                        $('#' + id + ' input[id="personne_morale_nom' + complement + '"]').val($.trim(donnees[7]));
677                                        $('#' + id + ' input[id="personne_morale_prenom' + complement + '"]').val($.trim(donnees[9]));
678                                        
679                                        changeValInputDemandeur(id, donnees, complement);
680                                    }
681                                    $(this).dialog( "close" );
682                                }
683                            }
684                        });
685                    },
686                    async: false
687                });
688            }
689        );
690    }
691    
692    /*
693        Change les valeurs des champs en commun des particuliers et des personnes morales
694     * */
695    function changeValInputDemandeur(id, donnees, complement){
696        
697        $('#' + id + ' input[id="demandeur' + complement + '"]').val($.trim(donnees[0]));
698        /*Teste si la valeur retournée est TRUE*/
699        if ( donnees[28] === 't' ){
700            $('#' + id + ' input[id="notification' + complement + '"]').attr('checked', 'checked');
701            $('#' + id + ' input[id="notification' + complement + '"]').val('Oui');
702        }
703        $('#' + id + ' input[id="frequent' + complement + '"]').attr('checked','checked');
704        $('#' + id + ' input[id="frequent' + complement + '"]').val('Oui');
705        $('#' + id + ' input[id="numero' + complement + '"]').val($.trim(donnees[14]));
706        $('#' + id + ' input[id="voie' + complement + '"]').val($.trim(donnees[15]));
707        $('#' + id + ' input[id="complement' + complement + '"]').val($.trim(donnees[16]));
708        $('#' + id + ' input[id="lieu_dit' + complement + '"]').val($.trim(donnees[17]));
709        $('#' + id + ' input[id="localite' + complement + '"]').val($.trim(donnees[18]));
710        $('#' + id + ' input[id="code_postal' + complement + '"]').val($.trim(donnees[19]));
711        $('#' + id + ' input[id="bp' + complement + '"]').val($.trim(donnees[20]));
712        $('#' + id + ' input[id="cedex' + complement + '"]').val($.trim(donnees[21]));
713        $('#' + id + ' input[id="pays' + complement + '"]').val($.trim(donnees[22]));
714        $('#' + id + ' input[id="division_territoriale' + complement + '"]').val($.trim(donnees[23]));
715        $('#' + id + ' input[id="telephone_fixe' + complement + '"]').val($.trim(donnees[24]));
716        $('#' + id + ' input[id="telephone_mobile' + complement + '"]').val($.trim(donnees[25]));
717        $('#' + id + ' input[id="indicatif' + complement + '"]').val($.trim(donnees[26]));
718        $('#' + id + ' input[id="courriel' + complement + '"]').val($.trim(donnees[27]));
719    }
720    
721    /*
722        Création des select pour la civilité
723     * */
724    function setSelectCivilite(){
725        
726        $.ajax({
727            type: "GET",
728            url: "../app/civilite.php",
729            dataType: "json",
730            cache: false,
731            success: function(html){
732                if ( html != '' ){
733                    
734                    $('#particulier_civilite').parent().html('<select id="particulier_civilite" class="champFormulaire" size="1" name="particulier_civilite">' +
735                            '<option value="" selected="selected">choisir particulier_civilite</option>');
736                    $('#personne_morale_civilite').parent().html('<select id="personne_morale_civilite" class="champFormulaire" size="1" name="personne_morale_civilite">' +
737                            '<option value="" selected="selected">choisir personne_morale_civilite</option>');
738                    
739                    civilites = html.split(';');
740                    for ( i = 0 ; i < civilites.length - 1 ; i++ ){
741                        
742                        civilite = civilites[i].split('_');
743                        $('#particulier_civilite').append('<option value="' + civilite[0] + '">' + civilite[1] + '</option>');
744                        $('#personne_morale_civilite').append('<option value="' + civilite[0] + '">' + civilite[1] + '</option>');
745                    }
746                    
747                    $('#particulier_civilite').append('</select>');
748                    $('#personne_morale_civilite').append('</select>');
749                }
750            },
751            async: false
752        });
753    }
754    
755    /*
756        Retourne le code HTML d'un fieldset
757     * */
758    function createFieldset(name, className){
759        return '<fieldset class="cadre ui-corner-all ui-widget-content" id="fieldset' + className + '">' +
760                    '<legend class="ui-corner-all ui-widget-content ui-state-active">' + name + ' </legend>' +
761                    '<input class="formsDemandeur" type="hidden" val=""/>'+
762                    '<div class="fieldsetContent " id="' + className + '">' +
763                    '</div>' +
764                    '<div class="visualClear"></div>' +
765                    '</div>' +
766               '</fieldset>';
767    }
768    
769    /*
770        Test str est une lettre de l'alphabet
771     * */
772    function isAlpha(str) {
773        return /^[a-zA-Z\/]+$/.test(str);
774    }
775    
776    function isMail(str){
777        return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str);
778    }
779    
780    function isPhoneNumber(str){
781        return /[0-9-()+]{3,20}/.test(str);
782    }
783    
784    /*
785        Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de référence cadastrale
786     * */
787    function actionFormReferenceCadastrale(){
788        $('form').submit(
789            function(){
790                
791                var reference_cadastrale = '';
792                var reference_cadastrale_temp = '';
793                
794                $('.reference_cadastrale_custom_field').each(
795                    function(){
796                        
797                        if ( $(this).val() == ';' ){
798                            
799                            reference_cadastrale_bis = reference_cadastrale_temp + ( ( reference_cadastrale_temp != '' && reference_cadastrale_temp.length > 0 ) ? ';' : '' );
800                            if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*;)*$/.test(reference_cadastrale_bis) ){
801                                
802                                reference_cadastrale += reference_cadastrale_bis;
803                            }
804                            reference_cadastrale_temp = '';
805                        }
806                        else
807                            reference_cadastrale_temp += $(this).val();
808                        
809                    }
810                );
811                
812                $('#terrain_references_cadastrales').val(reference_cadastrale);
813            }
814        );
815    
816        $('#moreFieldReferenceCadastrale' + ($('.moreFieldReferenceCadastrale').length - 1 )).on("click", function() {
817            $(this).before(newInputReferenceCadastrale());
818        });
819        
820    }
821    
822    /*
823        Action pour l'ajout de nouvelle ligne
824     * */
825    function actionLineFormReferenceCadastrale(){
826        $('#morelineReferenceCadastrale').click(
827            function(){
828                
829                $('.reference_cadastrale_custom_fields').append( "<br/>" + fieldReferenceCadastraleBase());
830                $('#moreFieldReferenceCadastrale'+ ($('.moreFieldReferenceCadastrale').length - 1 )).on("click", function() {
831                    $(this).before(newInputReferenceCadastrale());
832                });
833                
834                
835            }
836        );
837    }
838    
839    /*
840        Met à jour le select demande_type dès qu'un dossier_autorisation_type_detaille est choisi
841     * */
842    function changeDemandeType(){
843        
844        var idDossierAutorisationTypeDetaille = $("#dossier_autorisation_type_detaille option:selected").val();
845        
846        if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
847            
848            changeDataSelect('demande_type','dossier_autorisation_type_detaille');
849            if ( $('#demande_type option').size() < 2 )
850                showFormsDemande();
851            
852           $('#demande_type').parent().parent().show();
853          
854           addNewFieldReferencesCadastrales();
855          
856           actionFormReferenceCadastrale();
857           actionLineFormReferenceCadastrale()        
858        }
859        else {
860            hideFields();
861        }
862    }
863    
864    /*
865        Ajoute le code HTML des champs pour les références cadastrales
866     * */
867    function addNewFieldReferencesCadastrales(){
868        $('.references_cadastrales_new_field').remove();
869        $('.moreFieldReferenceCadastrale').remove();
870        $('#morelineReferenceCadastrale').remove();
871        $('.localisation .fieldsetContent').prepend(
872           '<div class="field field-type-text references_cadastrales_new_field" >'+
873                '<div class="form-libelle">' +
874                    '<label '+
875                        'class="libelle-terrain_references_cadastrales" '+
876                        'for="terrain_references_cadastrales">'+
877                        ' terrain_references_cadastrales '+
878                    '</label>' +
879                '</div>' +
880                '<div class="form-content reference_cadastrale_custom_fields">' +
881                     fieldReferenceCadastraleBase() +
882                '</div>' +
883           '</div>' +
884           '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
885                '<div class="form-libelle"></div>' +
886                '<div class="form-content">' +
887                    ' + ajouter d\'autres lignes' +
888                '</div>' +
889           '</div>'      
890       );
891       $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
892                '<div class="form-libelle"></div>' +
893                '<div class="form-content">' +
894                    '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
895                '</div>' +
896           '</div>' );
897    }
898    
899    /*
900        Séparateur caché ;
901     * */
902    function hiddenSeparatorField(){
903        return '<input ' +
904                    'class="reference_cadastrale_custom_field " ' +
905                    'type="hidden" ' +
906                    'maxlength="2" ' +
907                    'size="2" ' +
908                    'value=";" />';
909    }
910    
911    /*
912        Ajout d'une nouvelle ligne de champ
913     * */
914    function fieldReferenceCadastraleBase(){
915        return '<input ' +
916                    'class="champFormulaire reference_cadastrale_custom_field" ' +
917                    'type="text" ' +
918                    'onchange="VerifNum(this)" ' +
919                    'maxlength="4" ' +
920                    'size="4" ' +
921                    'value="" />' +
922                '<input ' +
923                    'class="champFormulaire reference_cadastrale_custom_field" ' +
924                    'type="text" ' +
925                    'maxlength="3" ' +
926                    'size="3" ' +
927                    'value="" '+
928                    'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>' +
929                '<input ' +
930                    'class="champFormulaire reference_cadastrale_custom_field" ' +
931                    'type="text" ' +
932                    'onchange="VerifNum(this)" ' +
933                    'maxlength="5" ' +
934                    'size="5" ' +
935                    'value="" />' +
936                '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
937                    hiddenSeparatorField() +
938                    ' + ajouter d\'autres champs' +
939                '</span>';
940    }
941    
942    /*
943        Cache les champs inutules
944     * */    
945    function hideFields(){
946        $('.bloc').each(
947            function(){
948                if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )
949                    $(this).hide();
950            }
951        );
952        
953        $('.field-type-text').hide();
954        $('input[type=submit]').hide();
955        $('#demande_type').parent().parent().hide();
956    }
957    
958    /*
959        Affiche les champs dont on a besoin
960     * */
961    function showFormsDemande(){
962        $('.bloc').each(
963            function(){
964                if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )
965                    $(this).show();
966            }
967        );
968        
969        $('.field-type-text').show();
970        $('input[type=submit]').show();
971        $('.terrain_references_cadastrales_custom').hide();
972        
973        $('#terrain_references_cadastrales').parent().parent().hide();
974        
975        /*Cache les champs inutiles*/
976        fieldTypeDemandeur('#petitionnaire__0', true, '_0');
977        
978        $('#fieldsetpetitionnaire__0 .formsDemandeur').val($('#petitionnaire__0').html());
979        
980        changeIdNameField('petitionnaire__0', '_0');
981        actionVeerifyFields('petitionnaire__0', '_0');
982        
983        addDatePicker('petitionnaire__0 #particulier_date_naissance_0');
984        actionVeerifyFields('petitionnaire__0', '_0');
985    }
986    
987    /*
988        Cache/montre des champs selon le type de demandeur
989     * */
990    function fieldTypeDemandeur(name, particulier, complement){
991    
992        if ( particulier == true ){
993    
994            $(name + ' select[id="particulier_civilite' + complement + '"] option[value=""]').attr('selected', 'selected');
995            $(name + ' input[id="particulier_nom' + complement + '"]').val('');
996            $(name + ' input[id="particulier_prenom' + complement + '"]').val('');
997            $(name + ' input[id="particulier_date_naissance' + complement + '"]').val('');
998            $(name + ' input[id="particulier_commune_naissance' + complement + '"]').val('');
999            $(name + ' input[id="particulier_departement_naissance' + complement + '"]').val('');
1000            
1001            $( name + ' .particulier_fields').show();
1002            $( name + ' .personne_morale_fields').hide();
1003        }
1004        else{
1005            
1006            $(name + ' select[id="personne_morale_civilite' + complement + '"] option[value=""]').attr('selected', 'selected');
1007            $(name + ' input[id="personne_morale_denomination' + complement + '"]').val('');
1008            $(name + ' input[id="personne_morale_raison_sociale' + complement + '"]').val('');
1009            $(name + ' input[id="personne_morale_siret' + complement + '"]').val('');
1010            $(name + ' input[id="personne_morale_categorie_juridique' + complement + '"]').val('');
1011            $(name + ' input[id="personne_morale_nom' + complement + '"]').val('');
1012            $(name + ' input[id="personne_morale_prenom' + complement + '"]').val('');
1013            $( name + ' .particulier_fields').hide();
1014            $( name + ' .personne_morale_fields').show();
1015        }
1016    }
1017    
1018    /*
1019        Action au clique sur le bouton " + ajouter d'autres champs"
1020     * */
1021    function newInputReferenceCadastrale(){
1022        return '<input ' +
1023                'class="champFormulaire reference_cadastrale_custom_field" ' +
1024                'type="text" ' +
1025                'maxlength="1" ' +
1026                'size="1" ' +
1027                'value="" ' +
1028                'onchange="testSeparator(this);"/>' +
1029            '<input ' +
1030                'class="champFormulaire reference_cadastrale_custom_field" ' +
1031                'type="text" ' +
1032                'onchange="VerifNum(this)" ' +
1033                'maxlength="4" ' +
1034                'size="4" ' +
1035                'value="" />';
1036    }
1037    
1038    function testSeparator(obj){
1039    
1040        if ( obj.value != 'A' &&
1041             obj.value != '/' ) {
1042                
1043            alert('Saisissez uniquement un A ou un / comme séparateur');
1044            obj.value = '';
1045        }
1046    }
1047    
1048    // Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1049    // tableau de bord
1050    function widget_bind_move_actions() {}
1051    function widget_bind_add_action() {}
1052    function widget_bind_edit_actions(widget_selector) {}
1053    
1054    function file(fichier) {
1055        //
1056        if (fichier == "") {
1057            alert("zone vide");
1058        }
1059        //
1060        pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");
1061        //
1062        fenetreouverte = true;
1063    }

Legend:
Removed from v.91  
changed lines
  Added in v.768

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26