/[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 536 by vpihour, Thu Oct 25 16:12:46 2012 UTC revision 764 by vpihour, Tue Nov 20 11:14:27 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 73  function messageIt(objsf, link, empty) { Line 79  function messageIt(objsf, link, empty) {
79      }else {      }else {
80          link += "&recherche=";          link += "&recherche=";
81      }      }
82      // execution de la requete en POST      // execution de la requete en GET
83      $.ajax({      $.ajax({
84          type: "GET",          type: "GET",
85          url: link,          url: link,
# Line 105  jQuery.download = function(url, data, me Line 111  jQuery.download = function(url, data, me
111      };      };
112  };  };
113    
 /* -- FIN -- */  
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                
309                addActionSearch('petitionnaire__' + nb, '_' + nb);
310                
311                setTypeDemandeur('petitionnaire__' + nb, '_' + 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', '_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', '_0');
425        
426    }
427    
428    /*
429        Action au changement du select du type de demandeur
430     * */
431    function setTypeDemandeur(id, complement){
432        $('#'+id + ' select[id="type_demandeur"]').on('change',
433            function() {
434    
435                if ( $(this).find('option:selected').first().text() == 'particulier' )
436                    fieldTypeDemandeur('#' + id, true, complement);
437                else
438                    fieldTypeDemandeur('#' + id, false, complement);
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        $('#delegataire .search-part-16').remove();
459        
460        changeIdNameField('delegataire', '');
461        addDatePicker('delegataire #particulier_date_naissance');
462    }
463    
464    /*
465        Change les id et les name des champs
466     * */
467    function changeIdNameField(id, complement){
468        
469        $('#' + id + ' input').each(
470            function(){
471                $(this).attr('name', id + '__' + $(this).attr('name') );
472                $(this).attr('id', $(this).attr('id') + complement );
473            }
474        );
475    
476        $('#' + id + ' select').each(
477            function(){
478                $(this).attr('name', id + '__' + $(this).attr('name') );
479                $(this).attr('id', $(this).attr('id') + complement );
480            }
481        );
482        
483        
484    }
485    
486    /*
487        Ajoute les le datespicker sur les champs de date
488     * */
489    function addDatePicker(id){
490        
491        $("#" + id ).datepicker({
492            dateFormat: dateFormat,
493            changeMonth: true,
494            changeYear: true,
495            yearRange: minYear+':'+maxYear,
496            showOn: 'button',
497            buttonImage: '../img/calendar.png',
498            buttonImageOnly: true,
499            constrainInput: true
500        });
501    }
502    
503    /*
504        Ajout de l'action de recherche des pétitionnaire fréquent dans un overlay
505     * */
506    function addActionSearch(id, complement){
507        
508        $('#' + id + ' .search-part-16').click(
509            function(){
510                
511                var donnees = "?type=particulier&par_nom=";
512                $('#' + id + ' .search_particulier_fields input').each(
513                    function(i){
514    
515                        donnees += $(this).val() + (( i == 0 ) ?  '&par_prenom='  : '') ;
516                    }
517                );
518    
519                $.ajax({
520                    type: "GET",
521                    url: "../app/findPetitionnaire.php" + donnees ,
522                    cache: false,
523                    success: function(html){
524                        
525                        res = 'Auncune correspondance trouvée.';
526                        
527                        if ( html.length > 2 ){
528                            
529                            res = '<select>' ;
530                            donnees = html.split(';');
531    
532                            for ( i = 0 ; i < donnees.length - 1 ; i++ ){
533    
534                                val = donnees[i].replace('"', '');
535                                line = donnees[i].split('_');
536                                
537                                if ( line[3] != '' ){
538                                    
539                                    line[3] = ' - ' + line[3];
540                                }
541                                
542                                res += '<option value="' + val + '">' + line[1] + ' ' + line[2] + line[3] + '</option>';
543                            }
544                            
545                            res += '</select>' ;
546                        }
547                        
548                        $('#dialog').html(res);
549                          
550                        $( "#dialog" ).dialog({
551                            modal: true,
552                            buttons : {
553                                Valider: function(){
554                                    
555                                    if ( res != 'Auncune correspondance trouvée.' ){
556                                        donnees = $('#dialog select option:selected').val();
557                                        donnees = donnees.split('_');
558                                        
559                                        if ( $.isNumeric(donnees[4]) )
560                                            $('#' + id + ' select[id="particulier_civilite' + complement + '"] option[value="' + $.trim(donnees[4]) + '"]').attr('selected','selected');
561                                        $('#' + id + ' input[id="particulier_nom' + complement + '"]').val($.trim(donnees[1]));
562                                        $('#' + id + ' input[id="particulier_prenom' + complement + '"]').val($.trim(donnees[2]));
563                                        
564                                        /*Vérifie si la date est non vide avant de la traiter*/
565                                        date_temp = $.trim(donnees[3]);
566                                        if ( date_temp != '' ){
567                                            date = date_temp.split('-');
568                                            date = date[2] + "/" + date[1] + "/" + date[0] ;
569                                            $('#' + id + ' input[id="particulier_date_naissance' + complement + '"]').val(date);
570                                        }
571                                        $('#' + id + ' input[id="particulier_commune_naissance' + complement + '"]').val($.trim(donnees[10]));
572                                        $('#' + id + ' input[id="particulier_departement_naissance' + complement + '"]').val($.trim(donnees[11]));
573                                        
574                                        changeValInputDemandeur(id, donnees, complement);
575                                    }
576                                    
577                                    $(this).dialog( "close" );
578                                }
579                            }
580                        });
581                    },
582                    async: false
583                });
584            }
585        );
586        
587        $('#' + id + ' .search-mor-16').click(
588            function(){
589                
590                var donnees = "?type=personne_morale"+
591                    "&mor_denomination="+$('#'+id+' input[id="personne_morale_denomination' + complement + '"]').val() +
592                    "&mor_nom="+$('#'+id+' input[id="personne_morale_nom' + complement + '"]').val();
593                    
594                $.ajax({
595                    type: "GET",
596                    url: "../app/findPetitionnaire.php" + donnees ,
597                    cache: false,
598                    success: function(html){
599                        
600                        res = 'Auncune correspondance trouvée.';
601                        
602                        if ( html > 2 ){
603                            
604                            res = '<select>' ;
605                            donnees = html.split(';');
606    
607                            for ( i = 0 ; i < donnees.length - 1 ; i++ ){
608    
609                                val = donnees[i].replace('"', '');
610                                line = donnees[i].split('_');
611                                
612                                res += '<option value="' + val + '">' + line[5] + ' ' + line[6] + '</option>';
613                            }
614                            
615                            res += '</select>' ;
616                        }
617                        
618                        $('#dialog').html(res);
619                          
620                        $( "#dialog" ).dialog({
621                            modal: true,
622                            buttons : {
623                                Valider: function(){
624                                    
625                                    if ( res != 'Auncune correspondance trouvée.' ){
626                                        donnees = $('#dialog select option:selected').val();
627                                        donnees = donnees.split('_');
628                                        
629                                        if ( $.isNumeric(donnees[8]) )
630                                            $('#' + id + ' select[id="personne_morale_civilite' + complement + '"] option[value="' + $.trim(donnees[8]) + '"]').attr('selected','selected');
631                                        $('#' + id + ' input[id="personne_morale_denomination' + complement + '"]').val($.trim(donnees[5]));
632                                        $('#' + id + ' input[id="personne_morale_raison_sociale' + complement + '"]').val($.trim(donnees[12]));
633                                        $('#' + id + ' input[id="personne_morale_siret' + complement + '"]').val($.trim(donnees[6]));
634                                        $('#' + id + ' input[id="personne_morale_categorie_juridique' + complement + '"]').val($.trim(donnees[13]));
635                                        $('#' + id + ' input[id="personne_morale_nom' + complement + '"]').val($.trim(donnees[7]));
636                                        $('#' + id + ' input[id="personne_morale_prenom' + complement + '"]').val($.trim(donnees[9]));
637                                        
638                                        changeValInputDemandeur(id, donnees, complement);
639                                    }
640                                    $(this).dialog( "close" );
641                                }
642                            }
643                        });
644                    },
645                    async: false
646                });
647            }
648        );
649    }
650    
651    /*
652        Change les valeurs des champs en commun des particuliers et des personnes morales
653     * */
654    function changeValInputDemandeur(id, donnees, complement){
655        
656        $('#' + id + ' input[id="demandeur' + complement + '"]').val($.trim(donnees[0]));
657        /*Teste si la valeur retournée est TRUE*/
658        if ( donnees[28] === 't' ){
659            $('#' + id + ' input[id="notification' + complement + '"]').attr('checked', 'checked');
660            $('#' + id + ' input[id="notification' + complement + '"]').val('Oui');
661        }
662        $('#' + id + ' input[id="frequent' + complement + '"]').attr('checked','checked');
663        $('#' + id + ' input[id="frequent' + complement + '"]').val('Oui');
664        $('#' + id + ' input[id="numero' + complement + '"]').val($.trim(donnees[14]));
665        $('#' + id + ' input[id="voie' + complement + '"]').val($.trim(donnees[15]));
666        $('#' + id + ' input[id="complement' + complement + '"]').val($.trim(donnees[16]));
667        $('#' + id + ' input[id="lieu_dit' + complement + '"]').val($.trim(donnees[17]));
668        $('#' + id + ' input[id="localite' + complement + '"]').val($.trim(donnees[18]));
669        $('#' + id + ' input[id="code_postal' + complement + '"]').val($.trim(donnees[19]));
670        $('#' + id + ' input[id="bp' + complement + '"]').val($.trim(donnees[20]));
671        $('#' + id + ' input[id="cedex' + complement + '"]').val($.trim(donnees[21]));
672        $('#' + id + ' input[id="pays' + complement + '"]').val($.trim(donnees[22]));
673        $('#' + id + ' input[id="division_territoriale' + complement + '"]').val($.trim(donnees[23]));
674        $('#' + id + ' input[id="telephone_fixe' + complement + '"]').val($.trim(donnees[24]));
675        $('#' + id + ' input[id="telephone_mobile' + complement + '"]').val($.trim(donnees[25]));
676        $('#' + id + ' input[id="indicatif' + complement + '"]').val($.trim(donnees[26]));
677        $('#' + id + ' input[id="courriel' + complement + '"]').val($.trim(donnees[27]));
678    }
679    
680    /*
681        Création des select pour la civilité
682     * */
683    function setSelectCivilite(){
684        
685        $.ajax({
686            type: "GET",
687            url: "../app/civilite.php",
688            dataType: "json",
689            cache: false,
690            success: function(html){
691                if ( html != '' ){
692                    
693                    $('#particulier_civilite').parent().html('<select id="particulier_civilite" class="champFormulaire" size="1" name="particulier_civilite">' +
694                            '<option value="" selected="selected">choisir particulier_civilite</option>');
695                    $('#personne_morale_civilite').parent().html('<select id="personne_morale_civilite" class="champFormulaire" size="1" name="personne_morale_civilite">' +
696                            '<option value="" selected="selected">choisir personne_morale_civilite</option>');
697                    
698                    civilites = html.split(';');
699                    for ( i = 0 ; i < civilites.length - 1 ; i++ ){
700                        
701                        civilite = civilites[i].split('_');
702                        $('#particulier_civilite').append('<option value="' + civilite[0] + '">' + civilite[1] + '</option>');
703                        $('#personne_morale_civilite').append('<option value="' + civilite[0] + '">' + civilite[1] + '</option>');
704                    }
705                    
706                    $('#particulier_civilite').append('</select>');
707                    $('#personne_morale_civilite').append('</select>');
708                }
709            },
710            async: false
711        });
712    }
713    
714    /*
715        Retourne le code HTML d'un fieldset
716     * */
717    function createFieldset(name, className){
718        return '<fieldset class="cadre ui-corner-all ui-widget-content" id="fieldset' + className + '">' +
719                    '<legend class="ui-corner-all ui-widget-content ui-state-active">' + name + ' </legend>' +
720                    '<input class="formsDemandeur" type="hidden" val=""/>'+
721                    '<div class="fieldsetContent " id="' + className + '">' +
722                    '</div>' +
723                    '<div class="visualClear"></div>' +
724                    '</div>' +
725               '</fieldset>';
726    }
727    
728    /*
729        Test str est une lettre de l'alphabet
730     * */
731    function isAlpha(str) {
732        return /^[a-zA-Z\/]+$/.test(str);
733    }
734    
735    /*
736        Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de référence cadastrale
737     * */
738    function actionFormReferenceCadastrale(){
739        $('form').submit(
740            function(){
741                
742                var reference_cadastrale = '';
743                var reference_cadastrale_temp = '';
744                
745                $('.reference_cadastrale_custom_field').each(
746                    function(){
747                        
748                        if ( $(this).val() == ';' ){
749                            
750                            reference_cadastrale_bis = reference_cadastrale_temp + ( ( reference_cadastrale_temp != '' && reference_cadastrale_temp.length > 0 ) ? ';' : '' );
751                            if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*;)*$/.test(reference_cadastrale_bis) ){
752                                
753                                reference_cadastrale += reference_cadastrale_bis;
754                            }
755                            reference_cadastrale_temp = '';
756                        }
757                        else
758                            reference_cadastrale_temp += $(this).val();
759                        
760                    }
761                );
762                
763                $('#terrain_references_cadastrales').val(reference_cadastrale);
764            }
765        );
766    
767        $('#moreFieldReferenceCadastrale' + ($('.moreFieldReferenceCadastrale').length - 1 )).on("click", function() {
768            $(this).before(newInputReferenceCadastrale());
769        });
770        
771    }
772    
773    /*
774        Action pour l'ajout de nouvelle ligne
775     * */
776    function actionLineFormReferenceCadastrale(){
777        $('#morelineReferenceCadastrale').click(
778            function(){
779                
780                $('.reference_cadastrale_custom_fields').append( "<br/>" + fieldReferenceCadastraleBase());
781                $('#moreFieldReferenceCadastrale'+ ($('.moreFieldReferenceCadastrale').length - 1 )).on("click", function() {
782                    $(this).before(newInputReferenceCadastrale());
783                });
784                
785                
786            }
787        );
788    }
789    
790    /*
791        Met à jour le select demande_type dès qu'un dossier_autorisation_type_detaille est choisi
792     * */
793    function changeDemandeType(){
794        
795        var idDossierAutorisationTypeDetaille = $("#dossier_autorisation_type_detaille option:selected").val();
796        
797        if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
798            
799            changeDataSelect('demande_type','dossier_autorisation_type_detaille');
800            if ( $('#demande_type option').size() < 2 )
801                showFormsDemande();
802            
803           $('#demande_type').parent().parent().show();
804          
805           addNewFieldReferencesCadastrales();
806          
807           actionFormReferenceCadastrale();
808           actionLineFormReferenceCadastrale()        
809        }
810        else {
811            hideFields();
812        }
813    }
814    
815    /*
816        Ajoute le code HTML des champs pour les références cadastrales
817     * */
818    function addNewFieldReferencesCadastrales(){
819        $('.references_cadastrales_new_field').remove();
820        $('.moreFieldReferenceCadastrale').remove();
821        $('#morelineReferenceCadastrale').remove();
822        $('.localisation .fieldsetContent').prepend(
823           '<div class="field field-type-text references_cadastrales_new_field" >'+
824                '<div class="form-libelle">' +
825                    '<label '+
826                        'class="libelle-terrain_references_cadastrales" '+
827                        'for="terrain_references_cadastrales">'+
828                        ' terrain_references_cadastrales '+
829                    '</label>' +
830                '</div>' +
831                '<div class="form-content reference_cadastrale_custom_fields">' +
832                     fieldReferenceCadastraleBase() +
833                '</div>' +
834           '</div>' +
835           '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
836                '<div class="form-libelle"></div>' +
837                '<div class="form-content">' +
838                    ' + ajouter d\'autres lignes' +
839                '</div>' +
840           '</div>'      
841       );
842       $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
843                '<div class="form-libelle"></div>' +
844                '<div class="form-content">' +
845                    '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
846                '</div>' +
847           '</div>' );
848    }
849    
850    /*
851        Séparateur caché ;
852     * */
853    function hiddenSeparatorField(){
854        return '<input ' +
855                    'class="reference_cadastrale_custom_field " ' +
856                    'type="hidden" ' +
857                    'maxlength="2" ' +
858                    'size="2" ' +
859                    'value=";" />';
860    }
861    
862    /*
863        Ajout d'une nouvelle ligne de champ
864     * */
865    function fieldReferenceCadastraleBase(){
866        return '<input ' +
867                    'class="champFormulaire reference_cadastrale_custom_field" ' +
868                    'type="text" ' +
869                    'onchange="VerifNum(this)" ' +
870                    'maxlength="4" ' +
871                    'size="4" ' +
872                    'value="" />' +
873                '<input ' +
874                    'class="champFormulaire reference_cadastrale_custom_field" ' +
875                    'type="text" ' +
876                    'maxlength="3" ' +
877                    'size="3" ' +
878                    'value="" '+
879                    'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>' +
880                '<input ' +
881                    'class="champFormulaire reference_cadastrale_custom_field" ' +
882                    'type="text" ' +
883                    'onchange="VerifNum(this)" ' +
884                    'maxlength="5" ' +
885                    'size="5" ' +
886                    'value="" />' +
887                '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
888                    hiddenSeparatorField() +
889                    ' + ajouter d\'autres champs' +
890                '</span>';
891    }
892    
893    /*
894        Cache les champs inutules
895     * */    
896    function hideFields(){
897        $('.bloc').each(
898            function(){
899                if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )
900                    $(this).hide();
901            }
902        );
903        
904        $('.field-type-text').hide();
905        $('input[type=submit]').hide();
906        $('#demande_type').parent().parent().hide();
907    }
908    
909    /*
910        Affiche les champs dont on a besoin
911     * */
912    function showFormsDemande(){
913        $('.bloc').each(
914            function(){
915                if ( !$(this).hasClass('dossier_type') && !$(this).hasClass('dossier_type_demande_date') )
916                    $(this).show();
917            }
918        );
919        
920        $('.field-type-text').show();
921        $('input[type=submit]').show();
922        $('.terrain_references_cadastrales_custom').hide();
923        
924        $('#terrain_references_cadastrales').parent().parent().hide();
925        
926        /*Cache les champs inutiles*/
927        fieldTypeDemandeur('#petitionnaire__0', true, '_0');
928        
929        $('#fieldsetpetitionnaire__0 .formsDemandeur').val($('#petitionnaire__0').html());
930        
931        changeIdNameField('petitionnaire__0', '_0');
932        
933        addDatePicker('petitionnaire__0 #particulier_date_naissance_0');
934    }
935    
936    /*
937        Cache/montre des champs selon le type de demandeur
938     * */
939    function fieldTypeDemandeur(name, particulier, complement){
940    
941        if ( particulier == true ){
942    
943            $(name + ' select[id="particulier_civilite' + complement + '"] option[value=""]').attr('selected', 'selected');
944            $(name + ' input[id="particulier_nom' + complement + '"]').val('');
945            $(name + ' input[id="particulier_prenom' + complement + '"]').val('');
946            $(name + ' input[id="particulier_date_naissance' + complement + '"]').val('');
947            $(name + ' input[id="particulier_commune_naissance' + complement + '"]').val('');
948            $(name + ' input[id="particulier_departement_naissance' + complement + '"]').val('');
949            
950            $( name + ' .particulier_fields').show();
951            $( name + ' .personne_morale_fields').hide();
952        }
953        else{
954            
955            $(name + ' select[id="personne_morale_civilite' + complement + '"] option[value=""]').attr('selected', 'selected');
956            $(name + ' input[id="personne_morale_denomination' + complement + '"]').val('');
957            $(name + ' input[id="personne_morale_raison_sociale' + complement + '"]').val('');
958            $(name + ' input[id="personne_morale_siret' + complement + '"]').val('');
959            $(name + ' input[id="personne_morale_categorie_juridique' + complement + '"]').val('');
960            $(name + ' input[id="personne_morale_nom' + complement + '"]').val('');
961            $(name + ' input[id="personne_morale_prenom' + complement + '"]').val('');
962            $( name + ' .particulier_fields').hide();
963            $( name + ' .personne_morale_fields').show();
964        }
965    }
966    
967    /*
968        Action au clique sur le bouton " + ajouter d'autres champs"
969     * */
970    function newInputReferenceCadastrale(){
971        return '<input ' +
972                'class="champFormulaire reference_cadastrale_custom_field" ' +
973                'type="text" ' +
974                'maxlength="1" ' +
975                'size="1" ' +
976                'value="" ' +
977                'onchange="testSeparator(this);"/>' +
978            '<input ' +
979                'class="champFormulaire reference_cadastrale_custom_field" ' +
980                'type="text" ' +
981                'onchange="VerifNum(this)" ' +
982                'maxlength="4" ' +
983                'size="4" ' +
984                'value="" />';
985    }
986    
987    function testSeparator(obj){
988    
989        if ( obj.value != 'A' &&
990             obj.value != '/' ) {
991                
992            alert('Saisissez uniquement un A ou un / comme séparateur');
993            obj.value = '';
994        }
995    }
996    
997    // Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
998    // tableau de bord
999    function widget_bind_move_actions() {}
1000    function widget_bind_add_action() {}
1001    function widget_bind_edit_actions(widget_selector) {}
1002    
1003    function file(fichier) {
1004        //
1005        if (fichier == "") {
1006            alert("zone vide");
1007        }
1008        //
1009        pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");
1010        //
1011        fenetreouverte = true;
1012    }

Legend:
Removed from v.536  
changed lines
  Added in v.764

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26