/[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 528 by nhaye, Fri Oct 19 16:50:44 2012 UTC revision 756 by vpihour, Mon Nov 19 16:59:45 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)
# Line 64  function VerifNumdec(champ) { Line 70  function VerifNumdec(champ) {
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 );
306                
307                addDatePicker( 'petitionnaire__' + nb + ' #particulier_date_naissance');
308                
309                addActionSearch('petitionnaire__' + nb);
310                
311                setTypeDemandeur('petitionnaire__' + nb );
312                
313                $('html, body').animate({
314                    scrollTop: $('#petitionnaire__' + nb + ' #type_demandeur').offset().top
315                }, 1000);
316            });    
317            
318            $('.lots').append(createFieldset('D&eacute;l&eacute;gataire', 'delegataire'));
319            setDelegataire();
320            setPetitionnaire();
321            setTypeDemandeur('petitionnaire__0');
322            
323            $('#petitionnaire__0').before(
324                '<div id="dialog" title="Résultats de votre recherche"></div>'
325            );
326                
327            hideFields();
328        }
329      
330       if ( $('#date_demande').length > 0
331            && !$('#dossier_autorisation_type_detaille').is(':disabled')
332            && url.indexOf("form.php?obj=demande&action=1") != -1 ){
333                
334            addNewFieldReferencesCadastrales();
335            $('#terrain_references_cadastrales').parent().parent().hide();
336            
337            reference_cadastrale = $('#terrain_references_cadastrales').val();
338            /*Formatage de la reference cadastrale*/
339            if ( reference_cadastrale != '' ){
340                
341                references_cadastrales = reference_cadastrale.split(';');
342                donnees = new Array();
343                
344                i = 0 ;
345                for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
346                    
347                    k = 0;
348                    donnees[i] = '';
349                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
350                        if ( references_cadastrales[l].charAt(j) >= 0 && references_cadastrales[l].charAt(j) <= 9 ){
351                            donnees[i] += references_cadastrales[l].charAt(j);
352                            k++;
353                        } else {
354                            i++;
355                            break;
356                        }
357                    
358                          
359                    donnees[i] = '';
360                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
361                        if ( isAlpha(references_cadastrales[l].charAt(j)) ){
362                            donnees[i] += references_cadastrales[l].charAt(j);
363                            k++;
364                        } else {
365                            i++;
366                            break;
367                        }
368                    
369                    donnees[i] = '';
370                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
371                        if ( references_cadastrales[l].charAt(j) >= 0 && references_cadastrales[l].charAt(j) <= 9 ){
372                            donnees[i] += references_cadastrales[l].charAt(j);
373                            k++;
374                        } else {
375                            break;
376                        }
377                    
378                    m = 0 ;
379                    if ( k < references_cadastrales[l].length ){
380                        
381                        for ( j = k ; j < references_cadastrales[l].length ; j++ )
382                            if ( isAlpha(references_cadastrales[l].charAt(j)) ){
383                                m++;
384                                donnees[++i] = references_cadastrales[l].charAt(j);
385                                donnees[++i] = '';
386                            }
387                            else {
388                                donnees[i] += references_cadastrales[l].charAt(j);
389                            }
390                    }
391    
392                    donnees[++i] = ';';
393                    i++;
394    
395                    if ( l > 0 )
396                        $('.reference_cadastrale_custom_fields').append( "<br/>" + fieldReferenceCadastraleBase());
397                    actionFormReferenceCadastrale();
398                    
399                    if ( m > 0 ){
400                                
401                        for ( j = 0 ; j < m ; j++ )
402                            $('#moreFieldReferenceCadastrale' + ( $('.moreFieldReferenceCadastrale').length - 1 ) ).before(newInputReferenceCadastrale());
403                    }
404                }
405    
406                actionLineFormReferenceCadastrale();
407                
408                $('.reference_cadastrale_custom_field').each(
409                    function(index) {
410                         $(this).val(donnees[index])
411                    }
412                );
413            }
414       }
415    });
416    
417    /*
418        Création du formuliare pour le petitionnaire
419     * */
420    function setPetitionnaire(){
421        $('#petitionnaire__0').prepend("<br/>" + $('#test').html() + "<br/>");
422        $('#test').parent().remove();
423        
424        addActionSearch('petitionnaire__0');
425        
426    }
427    
428    /*
429        Action au changement du select du type de demandeur
430     * */
431    function setTypeDemandeur(id){
432        $('#'+id + ' select[id="type_demandeur"]').on('change',
433            function() {
434    
435                if ( $(this).find('option:selected').first().text() == 'particulier' )
436                    fieldTypeDemandeur('#' + id, true);
437                else
438                    fieldTypeDemandeur('#' + id, false);
439            }
440        );
441    }
442    
443    /*
444        Création du formulaire pour le délégataire
445     * */
446    function setDelegataire(){
447        $('#delegataire').html($('#test').html());
448        
449        $('#delegataire #type_demandeur').parent().parent().remove();
450        $('#delegataire #personne_morale_denomination').parent().parent().remove();
451        $('#delegataire #personne_morale_raison_sociale').parent().parent().remove();
452        $('#delegataire #personne_morale_siret').parent().parent().remove();
453        $('#delegataire #personne_morale_categorie_juridique').parent().parent().remove();
454        $('#delegataire #personne_morale_civilite').parent().parent().remove();
455        $('#delegataire #personne_morale_nom').parent().parent().remove();
456        $('#delegataire #personne_morale_prenom').parent().parent().remove();
457        $('#delegataire #frequent').parent().parent().remove();
458        
459        changeIdNameField('delegataire');
460        addDatePicker('delegataire #particulier_date_naissance');
461    }
462    
463    /*
464        Change les id des champs
465     * */
466    function changeIdNameField(name){
467        
468        $('#' + name + ' input').each(
469            function(){
470                $(this).attr('name', name + '__' + $(this).attr('name') );
471            }
472        );
473    
474        $('#' + name + ' select').each(
475            function(){
476                $(this).attr('name', name + '__' + $(this).attr('name') );
477            }
478        );
479        
480        
481    }
482    
483    /*
484        Ajoute les le datespicker sur les champs de date
485     * */
486    function addDatePicker(id){
487        
488        $("#" + id ).datepicker({
489            dateFormat: dateFormat,
490            changeMonth: true,
491            changeYear: true,
492            yearRange: minYear+':'+maxYear,
493            showOn: 'button',
494            buttonImage: '../img/calendar.png',
495            buttonImageOnly: true,
496            constrainInput: true
497        });
498    }
499    
500    /*
501        Ajout de l'action de recherche des pétitionnaire fréquent dans un overlay
502     * */
503    function addActionSearch(id){
504        
505        $('#' + id + ' .search-part-16').click(
506            function(){
507                
508                var donnees = "?type=particulier&par_nom=";
509                $('#' + id + ' .search_particulier_fields input').each(
510                    function(i){
511    
512                        donnees += $(this).val() + (( i == 0 ) ?  '&par_prenom='  : '') ;
513                    }
514                );
515    
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                        if ( html.length > 2 ){
525                            
526                            res = '<select>' ;
527                            donnees = html.split(';');
528    
529                            for ( i = 0 ; i < donnees.length - 1 ; i++ ){
530    
531                                val = donnees[i].replace('"', '');
532                                line = donnees[i].split('_');
533                                
534                                res += '<option value="' + val + '">' + line[1] + ' ' + line[2] + ' - ' + line[3] + '</option>';
535                            }
536                            
537                            res += '</select>' ;
538                        }
539                        
540                        $('#dialog').html(res);
541                          
542                        $( "#dialog" ).dialog({
543                            modal: true,
544                            buttons : {
545                                Valider: function(){
546                                    
547                                    if ( res != 'Auncune correspondance trouvée.' ){
548                                        donnees = $('#dialog select option:selected').val();
549                                        donnees = donnees.split('_');
550                                        
551                                        if ( $.isNumeric(donnees[4]) )
552                                            $('#' + id + ' select[id="particulier_civilite"] option[value="' + $.trim(donnees[4]) + '"]').attr('selected','selected');
553                                        $('#' + id + ' input[id="particulier_nom"]').val($.trim(donnees[1]));
554                                        $('#' + id + ' input[id="particulier_prenom"]').val($.trim(donnees[2]));
555                                        date = $.trim(donnees[3]).split('-');
556                                        date = date[2] + "/" + date[1] + "/" + date[0] ;
557                                        $('#' + id + ' input[id="particulier_date_naissance"]').val(date);
558                                        $('#' + id + ' input[id="particulier_commune_naissance"]').val($.trim(donnees[10]));
559                                        $('#' + id + ' input[id="particulier_departement_naissance"]').val($.trim(donnees[11]));
560                                        
561                                        changeValInputDemandeur(id, donnees);
562                                    }
563                                    
564                                    $(this).dialog( "close" );
565                                }
566                            }
567                        });
568                    },
569                    async: false
570                });
571            }
572        );
573        
574        $('#' + id + ' .search-mor-16').click(
575            function(){
576                
577                var donnees = "?type=personne_morale"+
578                    "&mor_denomination="+$('#'+id+' input[id="personne_morale_denomination"]').val() +
579                    "&mor_nom="+$('#'+id+' input[id="personne_morale_nom"]').val();
580    
581                $.ajax({
582                    type: "GET",
583                    url: "../app/findPetitionnaire.php" + donnees ,
584                    cache: false,
585                    success: function(html){
586                        
587                        res = 'Auncune correspondance trouvée.';
588                        
589                        if ( html > 2 ){
590                            
591                            res = '<select>' ;
592                            donnees = html.split(';');
593    
594                            for ( i = 0 ; i < donnees.length - 1 ; i++ ){
595    
596                                val = donnees[i].replace('"', '');
597                                line = donnees[i].split('_');
598                                
599                                res += '<option value="' + val + '">' + line[5] + ' ' + line[6] + '</option>';
600                            }
601                            
602                            res += '</select>' ;
603                        }
604                        
605                        $('#dialog').html(res);
606                          
607                        $( "#dialog" ).dialog({
608                            modal: true,
609                            buttons : {
610                                Valider: function(){
611                                    
612                                    if ( res != 'Auncune correspondance trouvée.' ){
613                                        donnees = $('#dialog select option:selected').val();
614                                        donnees = donnees.split('_');
615                                        
616                                        if ( $.isNumeric(donnees[8]) )
617                                            $('#' + id + ' select[id="personne_morale_civilite"] option[value="' + $.trim(donnees[8]) + '"]').attr('selected','selected');
618                                        $('#' + id + ' input[id="personne_morale_denomination"]').val($.trim(donnees[5]));
619                                        $('#' + id + ' input[id="personne_morale_raison_sociale"]').val($.trim(donnees[12]));
620                                        $('#' + id + ' input[id="personne_morale_siret"]').val($.trim(donnees[6]));
621                                        $('#' + id + ' input[id="personne_morale_categorie_juridique"]').val($.trim(donnees[13]));
622                                        $('#' + id + ' input[id="personne_morale_nom"]').val($.trim(donnees[7]));
623                                        $('#' + id + ' input[id="personne_morale_prenom"]').val($.trim(donnees[9]));
624                                        
625                                        changeValInputDemandeur(id, donnees);
626                                    }
627                                    $(this).dialog( "close" );
628                                }
629                            }
630                        });
631                    },
632                    async: false
633                });
634            }
635        );
636    }
637    
638    /*
639        Change les valeurs des champs en commun des particuliers et des personnes morales
640     * */
641    function changeValInputDemandeur(id, donnees){
642        
643        $('#' + id + ' input[id="demandeur"]').val($.trim(donnees[0]));
644        /*Teste si la valeur retournée est TRUE*/
645        if ( donnees[28] === 't' )
646            $('#' + id + ' input[id="notification"]').attr('checked', 'checked');
647        $('#' + id + ' input[id="frequent"]').attr('checked','checked');
648        $('#' + id + ' input[id="numero"]').val($.trim(donnees[14]));
649        $('#' + id + ' input[id="voie"]').val($.trim(donnees[15]));
650        $('#' + id + ' input[id="complement"]').val($.trim(donnees[16]));
651        $('#' + id + ' input[id="lieu_dit"]').val($.trim(donnees[17]));
652        $('#' + id + ' input[id="localite"]').val($.trim(donnees[18]));
653        $('#' + id + ' input[id="code_postal"]').val($.trim(donnees[19]));
654        $('#' + id + ' input[id="bp"]').val($.trim(donnees[20]));
655        $('#' + id + ' input[id="cedex"]').val($.trim(donnees[21]));
656        $('#' + id + ' input[id="pays"]').val($.trim(donnees[22]));
657        $('#' + id + ' input[id="division_territoriale"]').val($.trim(donnees[23]));
658        $('#' + id + ' input[id="telephone_fixe"]').val($.trim(donnees[24]));
659        $('#' + id + ' input[id="telephone_mobile"]').val($.trim(donnees[25]));
660        $('#' + id + ' input[id="indicatif"]').val($.trim(donnees[26]));
661        $('#' + id + ' input[id="courriel"]').val($.trim(donnees[27]));
662    }
663    
664    /*
665        Création des select pour la civilité
666     * */
667    function setSelectCivilite(){
668        
669        $.ajax({
670            type: "GET",
671            url: "../app/civilite.php",
672            dataType: "json",
673            cache: false,
674            success: function(html){
675                if ( html != '' ){
676                    
677                    $('#particulier_civilite').parent().html('<select id="particulier_civilite" class="champFormulaire" size="1" name="particulier_civilite">' +
678                            '<option value="" selected="selected">choisir particulier_civilite</option>');
679                    $('#personne_morale_civilite').parent().html('<select id="personne_morale_civilite" class="champFormulaire" size="1" name="personne_morale_civilite">' +
680                            '<option value="" selected="selected">choisir personne_morale_civilite</option>');
681                    
682                    civilites = html.split(';');
683                    for ( i = 0 ; i < civilites.length - 1 ; i++ ){
684                        
685                        civilite = civilites[i].split('_');
686                        $('#particulier_civilite').append('<option value="' + civilite[0] + '">' + civilite[1] + '</option>');
687                        $('#personne_morale_civilite').append('<option value="' + civilite[0] + '">' + civilite[1] + '</option>');
688                    }
689                    
690                    $('#particulier_civilite').append('</select>');
691                    $('#personne_morale_civilite').append('</select>');
692                }
693            },
694            async: false
695        });
696    }
697    
698    /*
699        Retourne le code HTML d'un fieldset
700     * */
701    function createFieldset(name, className){
702        return '<fieldset class="cadre ui-corner-all ui-widget-content" id="fieldset' + className + '">' +
703                    '<legend class="ui-corner-all ui-widget-content ui-state-active">' + name + ' </legend>' +
704                    '<input class="formsDemandeur" type="hidden" val=""/>'+
705                    '<div class="fieldsetContent " id="' + className + '">' +
706                    '</div>' +
707                    '<div class="visualClear"></div>' +
708                    '</div>' +
709               '</fieldset>';
710    }
711    
712    /*
713        Test str est une lettre de l'alphabet
714     * */
715    function isAlpha(str) {
716        return /^[a-zA-Z\/]+$/.test(str);
717    }
718    
719    /*
720        Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de référence cadastrale
721     * */
722    function actionFormReferenceCadastrale(){
723        $('form').submit(
724            function(){
725                
726                var reference_cadastrale = '';
727                var reference_cadastrale_temp = '';
728                
729                $('.reference_cadastrale_custom_field').each(
730                    function(){
731                        
732                        if ( $(this).val() == ';' ){
733                            
734                            reference_cadastrale += reference_cadastrale_temp + ( ( reference_cadastrale_temp != '' && reference_cadastrale_temp.length > 0 ) ? ';' : '' );
735                            reference_cadastrale_temp = '';
736                        }
737                        else
738                            reference_cadastrale_temp += $(this).val();
739                        
740                    }
741                );
742                
743                $('#terrain_references_cadastrales').val(reference_cadastrale);
744            }
745        );
746    
747        $('#moreFieldReferenceCadastrale' + ($('.moreFieldReferenceCadastrale').length - 1 )).on("click", function() {
748            $(this).before(newInputReferenceCadastrale());
749        });
750    }
751    
752    /*
753        Action pour l'ajout de nouvelle ligne
754     * */
755    function actionLineFormReferenceCadastrale(){
756        $('#morelineReferenceCadastrale').click(
757            function(){
758                
759                $('.reference_cadastrale_custom_fields').append( "<br/>" + fieldReferenceCadastraleBase());
760                $('#moreFieldReferenceCadastrale'+ ($('.moreFieldReferenceCadastrale').length - 1 )).on("click", function() {
761                    $(this).before(newInputReferenceCadastrale());
762                });
763            }
764        );
765    }
766    
767    /*
768        Met à jour le select demande_type dès qu'un dossier_autorisation_type_detaille est choisi
769     * */
770    function changeDemandeType(){
771        
772        var idDossierAutorisationTypeDetaille = $("#dossier_autorisation_type_detaille option:selected").val();
773        
774        if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
775            
776            changeDataSelect('demande_type','dossier_autorisation_type_detaille');
777            if ( $('#demande_type option').size() < 2 )
778                showFormsDemande();
779            
780           $('#demande_type').parent().parent().show();
781          
782           addNewFieldReferencesCadastrales();
783          
784           actionFormReferenceCadastrale();
785           actionLineFormReferenceCadastrale()        
786        }
787        else {
788            hideFields();
789        }
790    }
791    
792    /*
793        Ajoute le code HTML des champs pour les références cadastrales
794     * */
795    function addNewFieldReferencesCadastrales(){
796        $('.references_cadastrales_new_field').remove();
797        $('.moreFieldReferenceCadastrale').remove();
798        $('#morelineReferenceCadastrale').remove();
799        $('.localisation .fieldsetContent').prepend(
800           '<div class="field field-type-text references_cadastrales_new_field" >'+
801                '<div class="form-libelle">' +
802                    '<label '+
803                        'class="libelle-terrain_references_cadastrales" '+
804                        'for="terrain_references_cadastrales">'+
805                        ' terrain_references_cadastrales '+
806                    '</label>' +
807                '</div>' +
808                '<div class="form-content reference_cadastrale_custom_fields">' +
809                     fieldReferenceCadastraleBase() +
810                '</div>' +
811           '</div>' +
812           '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
813                '<div class="form-libelle"></div>' +
814                '<div class="form-content">' +
815                    ' + ajouter d\'autres lignes' +
816                '</div>' +
817           '</div>'      
818       );
819       $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
820                '<div class="form-libelle"></div>' +
821                '<div class="form-content">' +
822                    '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
823                '</div>' +
824           '</div>' );
825    }
826    
827    /*
828        Séparateur caché ;
829     * */
830    function hiddenSeparatorField(){
831        return '<input ' +
832                    'class="reference_cadastrale_custom_field " ' +
833                    'type="hidden" ' +
834                    'maxlength="2" ' +
835                    'size="2" ' +
836                    'value=";" />';
837    }
838    
839    /*
840        Ajout d'une nouvelle ligne de champ
841     * */
842    function fieldReferenceCadastraleBase(){
843        return '<input ' +
844                    'class="champFormulaire reference_cadastrale_custom_field" ' +
845                    'type="text" ' +
846                    'onchange="VerifNum(this)" ' +
847                    'maxlength="3" ' +
848                    'size="3" ' +
849                    'value="" />' +
850                '<input ' +
851                    'class="champFormulaire reference_cadastrale_custom_field" ' +
852                    'type="text" ' +
853                    'maxlength="2" ' +
854                    'size="2" ' +
855                    'value="" />' +
856                '<input ' +
857                    'class="champFormulaire reference_cadastrale_custom_field" ' +
858                    'type="text" ' +
859                    'onchange="VerifNum(this)" ' +
860                    'maxlength="4" ' +
861                    'size="4" ' +
862                    'value="" />' +
863                '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
864                    hiddenSeparatorField() +
865                    ' + ajouter d\'autres champs' +
866                '</span>';
867    }
868    
869    /*
870        Cache les champs inutules
871     * */    
872    function hideFields(){
873        $('.bloc').each(
874            function(){
875                if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )
876                    $(this).hide();
877            }
878        );
879        
880        $('.field-type-text').hide();
881        $('input[type=submit]').hide();
882        $('#demande_type').parent().parent().hide();
883    }
884    
885    /*
886        Affiche les champs dont on a besoin
887     * */
888    function showFormsDemande(){
889        $('.bloc').each(
890            function(){
891                if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )
892                    $(this).show();
893            }
894        );
895        
896        $('.field-type-text').show();
897        $('input[type=submit]').show();
898        $('.terrain_references_cadastrales_custom').hide();
899        
900        $('#terrain_references_cadastrales').parent().parent().hide();
901        
902        /*Cache les champs inutiles*/
903        fieldTypeDemandeur('#petitionnaire__0', true);
904        
905        $('#fieldsetpetitionnaire__0 .formsDemandeur').val($('#petitionnaire__0').html());
906        
907        changeIdNameField('petitionnaire__0');
908        
909        addDatePicker('petitionnaire__0 #particulier_date_naissance');
910    }
911    
912    /*
913        Cache/montre des champs selon le type de demandeur
914     * */
915    function fieldTypeDemandeur(name, particulier){
916    
917        if ( particulier == true ){
918    
919            $(name + ' select[id="particulier_civilite"] option[value=""]').attr('selected', 'selected');
920            $(name + ' input[id="particulier_nom"]').val('');
921            $(name + ' input[id="particulier_prenom"]').val('');
922            $(name + ' input[id="particulier_date_naissance"]').val('');
923            $(name + ' input[id="particulier_commune_naissance"]').val('');
924            $(name + ' input[id="particulier_departement_naissance"]').val('');
925            
926            $( name + ' .particulier_fields').show();
927            $( name + ' .personne_morale_fields').hide();
928        }
929        else{
930            
931            $(name + ' select[id="personne_morale_civilite"] option[value=""]').attr('selected', 'selected');
932            $(name + ' input[id="personne_morale_denomination"]').val('');
933            $(name + ' input[id="personne_morale_raison_sociale"]').val('');
934            $(name + ' input[id="personne_morale_siret"]').val('');
935            $(name + ' input[id="personne_morale_categorie_juridique"]').val('');
936            $(name + ' input[id="personne_morale_nom"]').val('');
937            $(name + ' input[id="personne_morale_prenom"]').val('');
938            $( name + ' .particulier_fields').hide();
939            $( name + ' .personne_morale_fields').show();
940        }
941    }
942    
943    /*
944        Action au clique sur le bouton " + ajouter d'autres champs"
945     * */
946    function newInputReferenceCadastrale(){
947        return '<input ' +
948                'class="champFormulaire reference_cadastrale_custom_field" ' +
949                'type="text" ' +
950                'maxlength="1" ' +
951                'size="1" ' +
952                'value="" ' +
953                'onchange="testSeparator(this);"/>' +
954            '<input ' +
955                'class="champFormulaire reference_cadastrale_custom_field" ' +
956                'type="text" ' +
957                'onchange="VerifNum(this)" ' +
958                'maxlength="4" ' +
959                'size="4" ' +
960                'value="" />';
961    }
962    
963    function testSeparator(obj){
964    
965        if ( (obj.value != 'a' || obj.value != 'A') &&
966             obj.value != '/' ) {
967                
968            alert('Saisissez uniquement un A ou un / comme séparateur');
969            obj.value = '';
970        }
971    }
972    
973    // Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
974    // tableau de bord
975    function widget_bind_move_actions() {}
976    function widget_bind_add_action() {}
977    function widget_bind_edit_actions(widget_selector) {}
978    
 /* -- FIN -- */  
979    function file(fichier) {
980        //
981        if (fichier == "") {
982            alert("zone vide");
983        }
984        //
985        pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");
986        //
987        fenetreouverte = true;
988    }

Legend:
Removed from v.528  
changed lines
  Added in v.756

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26