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

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26