/[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 153 by fraynaud, Thu Sep 29 16:48:28 2011 UTC revision 1351 by vpihour, Fri Mar 8 16:47:03 2013 UTC
# Line 1  Line 1 
1  // specific openfoncier ========================================================  // specific openfoncier ========================================================
2    
3  function bible(){  // Document is ready
4    $(function(){
5    
6       /**
7        * Spécifique app/avis_code_barre.php pour donner le focus sur le champ de
8        * recherche au chargement de la page.
9        */
10       $('#avis_code_barre_form #consultation').focus();
11    
12        /**
13        * Spécifique app/maj_dates_suivi.php pour donner le focus sur le champ
14        * instruction au chargement de la page si la date n'est pas vide.
15        */
16        if($('#maj_dates_form #date').val()!="") {
17            $('#maj_dates_form #instruction').focus();
18        }
19     });
20    
21    
22    /**
23     * WIDGET liés au formulaire et sousformulaire
24     *
25     * Ces fonctions javascript sont appelées depuis les méthodes setOnChange,
26     * setOnClick, ...
27     */
28    // bible - type httpclick
29    function bible() {
30      if(fenetreouverte==true)      if(fenetreouverte==true)
31             pfenetre.close();             pfenetre.close();
32      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
33      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
34      pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","width=600,height=100,top=120,left=120");      pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
35      fenetreouverte=true;      fenetreouverte=true;
36  }  }
37    // bible2 - type httpclick
38  function bible2()  function bible2()
39  {  {
40      if(fenetreouverte==true)      if(fenetreouverte==true)
41             pfenetre.close();             pfenetre.close();
42      var ev=document.f2.evenement.value;      var ev=document.f2.evenement.value;
43      var idx=document.f2.dossier.value;      var idx=document.f2.dossier.value;
44      pfenetre=window.open("../app/bible2.php?ev="+ev,"bible","width=600,height=100,top=120,left=120");      pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
45      fenetreouverte=true;      fenetreouverte=true;
46  }  }
47    // bible_auto - type httpclick
48  function bible_auto(){  function bible_auto(){
49      if(fenetreouverte==true)      if(fenetreouverte==true)
50             pfenetre.close();             pfenetre.close();
# Line 27  function bible_auto(){ Line 53  function bible_auto(){
53      pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");      pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");
54      fenetreouverte=true;      fenetreouverte=true;
55  }  }
56    // VerifNumdec - type text
57    function VerifNumdec(champ) {
58        champ.value = champ.value.replace(",", "."); // remplacement de la virgule
59        //if (champ.value.lastIndexOf(".") == -1){ // champ decimal
60            if (isNaN(champ.value)) {
61                alert(msg_alert_error_verifnum);
62                champ.value = "";
63                return;
64            }
65        //}
66        
67    }
68    // Ce widget permet de charger les données d'un select en ajax
69    function changeDataSelect(tableName, linkedField, joker){
70        var id_dossierAutorisation = $("#dossier_autorisation").val();
71        var id = $("#"+linkedField).val();
72        link = "../app/listData.php?idx=" + id + "&tableName=" + tableName +
73                "&linkedField=" + linkedField ;
74        if(id_dossierAutorisation != "") {
75            link += "&nature=EXIST";
76        }
77        var val_tableName = $('#'+tableName).val();
78        $.ajax({
79            type: "GET",
80            url: link,
81            cache: false,
82            dataType: "json",
83            success: function(html){
84                
85                $('#'+tableName).empty();
86                var selected = "";
87                if(val_tableName == "") {
88                    selected=' selected="selected"';
89                }
90                if ( joker == true )
91                    $('#'+tableName).append(
92                        '<option value=""'+selected+'>*</option>'
93                    );
94                else {
95                    $('#'+tableName).append(
96                        '<option value=""'+selected+'>Choisir ' + tableName + '</option>'
97                    );
98                }
99                if ( html !== '' ){
100                    
101                    html = html.split(';');
102                    for ( i = 0 ; i < html.length - 1 ; i++ ){
103                        
104                        html_temp = html[i].split('_');
105                        selected = "";
106                        if(val_tableName == html_temp[0]) {
107                            selected=' selected="selected"';
108                        }
109                        $('#'+tableName).append(
110                            '<option value="'+html_temp[0]+'"'+selected+' >'+html_temp[1]+'</option>'
111                        );
112                        
113                    }
114                }
115            },
116            async: false
117        });
118    }
119    
120    // Ce widget permet de charger les données de la demande type en ajax
121    function changeDemandeTypeDataSelect(){
122        // Récupération de l'id du dossier_autorisation_type_detaille
123        var id_datd = $("#dossier_autorisation_type_detaille").val();
124    
125        // Récupération de la liste des paramètres de l'url
126        var params = extractUrlParams();
127    
128        link = "../app/listDemandeType.php?idx=" + params['idx_dossier'] + "datd = "+ id_datd;
129    
130        var val_tableName = $('#demande_type').val();
131        $.ajax({
132            type: "GET",
133            url: link,
134            cache: false,
135            dataType: "json",
136            success: function(res){
137                $('#demande_type').empty();
138                var selected = "";
139    
140                if(val_tableName == "") {
141                    selected=' selected="selected"';
142                }
143    
144                for ( j=0 ; j < res[0].length ; j++ ){
145    
146                    if(val_tableName == "") {
147                        selected=' selected="selected"';
148                    }
149                    $('#demande_type').append(
150                        '<option value="'+res[0][j]+'"'+selected+' >'+res[1][j]+'</option>'
151                    );
152                    
153                }
154            },
155            async: false
156        });
157    }
158    
159    /**
160     * Fonction de récupération des paramètres GET de la page
161     * @return Array Tableau associatif contenant les paramètres GET
162     */
163    function extractUrlParams(){    
164        var t = location.search.substring(1).split('&');
165        var f = [];
166        for (var i=0; i<t.length; i++){
167            var x = t[ i ].split('=');
168            f[x[0]]=x[1];
169        }
170        return f;
171    }
172    
173    // vuploadMulti - XXX
174    function vuploadMulti(champ) {
175        //
176        if (fenetreouverte == true) {
177            pfenetre.close();
178        }
179        //
180        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");
181        //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
182        //
183        fenetreouverte = true;
184    }
185    // tmpUpload - Upload  XXX
186    function tmpUpload(champ) {
187        //
188        if (fenetreouverte == true) {
189            pfenetre.close();
190        }
191        //
192        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");
193        //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
194        //
195        fenetreouverte = true;
196    }
197    
198    
199    
200    /**
201     * POPUP pour le téléchargement de fichier
202     *
203     * Ces fonctions javascript sont appelées depuis des onClick sur des
204     * formulaires spécifiques pour permettre de transmettre des paramètres aux
205     * éditions pdf ainsi appelées.
206     */
207    //
208  function dossierads_d(debut)  function dossierads_d(debut)
209  {  {
210  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 35  window.location="../pdf/pdfetat.php?obj= Line 212  window.location="../pdf/pdfetat.php?obj=
212  +document.f1.nature.value+"&idx=demo&datedebut="  +document.f1.nature.value+"&idx=demo&datedebut="
213  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;  +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
214  }  }
215    //
216    function dossier_reglementaire(){
217        
218        $('#bouton-PDF').remove();
219        $("#msg").html(msg_loading);
220            
221        /*Requete AJAX vers le fichier edition_reglementaire.php pour mettre à jour les dossiers*/
222        $.ajax({
223            type: "GET",
224            url: "../app/edition_reglementaire.php?update",
225            cache: false,
226            success: function(html){
227                
228                $('#msg').html(
229                    '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
230                        '<p>'+
231                            '<span class="ui-icon ui-icon-info"></span>'+
232                            '<span class="text">'+
233                            '</span>'+
234                        '</p>'+
235                    '</div>'
236                );
237                
238                if ( html.length > 2 ){
239                    
240                    $("#msg .message").addClass("ui-state-error");
241                    $("#msg .text").html(html);
242                }
243                else {
244                    
245                    $("#msg .message").addClass("ui-state-valid");
246                    $("#msg .text").html("PDF affiche avec succes !");
247                    window.open("../pdf/pdfetat.php?obj=dossier_m&idx=demo");
248                }
249            },
250            async: false
251        });
252    }
253    //Fonction de redirection pour le widget de recherche de dossier
254    function widget_recherche_dossier(data,nbRes){
255        /*$('#msg').show();
256        $('#msg').html(msg_loading);*/
257      
258        // S'il n'y a qu'un seul résultat, afficher un résumé
259        if ( nbRes == 1 ){
260        
261            window.location = "../scr/form.php?obj=dossier_instruction&action=3&" +
262                "idx=" + data + "&premier=0&advs_id=&recherche=&tricol=&" +
263                "selectioncol=&valide=&retour=tab";  
264        }
265        // S'il y a une liste de dossier, redirection vers le tableau
266        else {
267            
268            window.location = "../scr/tab.php?obj=recherche_direct&selectioncol=0&recherche=" + data;
269        }
270    }
271    //
272  function dossierdepot()  function dossierdepot()
273  {  {
274  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 43  function dossierdepot() Line 276  function dossierdepot()
276      document.f1.nature.value+"&idx=demo&datedebut="+      document.f1.nature.value+"&idx=demo&datedebut="+
277      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
278  }  }
279    //
280  function dossierads()  function dossierads()
281  {  {
282  //if(fenetreouverte==true)  //if(fenetreouverte==true)
# Line 52  function dossierads() Line 285  function dossierads()
285      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;      document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
286  }  }
287    
288  function onSaisieSelect(evt){  // téléchargement du fichier
289      //ne pas faire la transformation sur la couche mais sur un clone  function file(fichier) {
290      // specifique openfoncier      //
291      geom = evt.feature.geometry.clone()      if (fichier == "") {
292      geom.transform(mercator, projection_externe);          alert("zone vide");
293      if(fenetreouverte==true)      }
294          pfenetre.close();      //
295      //compatibilite IE -> mettre des ' au lieu de "      pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");
296      pfenetre=window.open("../app/form_sig.php?obj="+obj+"&idx="+idx+"&geom="+geom+"&table="+table+"&champ="+champ, 'saisie_geometrie', 'width=400,height=300,top=120,left=120' );      //
297      fenetreouverte=true;      fenetreouverte = true;
298    }
299    
300    /**
301     * Retour spécifique de l'écran de consultation multiple - surcharge de ajaxIt
302     * @todo XXX voir les différences avec ajaxIt et si il n'est pas possible
303     * d'effectuer  la modification dans le core
304     */
305    function messageIt(objsf, link, empty) {
306        // recuperation du terme recherche
307        var recherche = document.getElementById("recherchedyn");
308        if (recherche != null) {
309            link += "&recherche="+recherche.value;
310        }else {
311            link += "&recherche=";
312        }
313        // execution de la requete en GET
314        $.ajax({
315            type: "GET",
316            url: link,
317            cache: false,
318            success: function(html){
319                (empty == true )?$("#sousform-"+objsf).empty():'';
320                $("#sousform-"+objsf).append(html);
321                om_initialize_content();
322            },
323            async: false
324        });
325    }
326    
327    /**
328     * TTélécharegement de fichier pdf en ajax
329     * spécifique de l'écran de consultation multiple
330     */
331    /* Plugin jQuery qui lance un espèce d'appel AJAX vers un script PHP de téléchargement de fichier*/
332    jQuery.download = function(url, data, method){
333        //url and data options required
334        if( url && data ){
335            //data can be string of parameters or array/object
336            data = typeof data == 'string' ? data : jQuery.param(data);
337            //split params into form inputs
338            var inputs = '';
339            jQuery.each(data.split('&'), function(){
340                var pair = this.split('=');
341                inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
342            });
343            //send request
344            jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
345            .prependTo('body').submit().remove();
346        };
347    };
348    
349    /**
350     * Cette fonction permet de charger dans un dialog jqueryui un formulaire tel
351     * qu'il aurait été chargé avec ajaxIt
352     *
353     * @param objsf string : objet de sousformulaire
354     * @param link string : lien vers un sousformulaire (../scr/sousform.php...)
355     * @param width integer: width en px
356     * @param height integer: height en px
357     * @param callback function (optionel) : nom de la méthode à appeler
358     *                                       à la fermeture du dialog
359     * @param callbackParams mixed (optionel) : paramètre à traiter dans la function
360     *                                          callback
361     *
362     **/
363    function popupIt(objsf, link, width, height, callback, callbackParams) {
364        // Insertion du conteneur du dialog
365        var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('#tabs-1 .formControls');
366        $('<input type=\"text\" name=\"recherchedyn\" id=\"recherchedyn\" value=\"\" class=\"champFormulaire\" style=\"display:none\" />').insertAfter('#sousform-'+objsf);
367        
368        // execution de la requete passee en parametre
369        // (idem ajaxIt + callback)
370        $.ajax({
371            type: "GET",
372            url: link,
373            cache: false,
374            success: function(html){
375                //Suppression d'un precedent dialog
376                dialog.empty();
377                //Ajout du contenu recupere
378                dialog.append(html);
379                //Initialisation du theme OM
380                om_initialize_content();
381                //Creation du dialog
382                $(dialog).dialog({
383                //OnClose suppression du contenu
384                close: function(ev, ui) {
385                    // Si le formulaire est submit et valide on execute la méthode
386                    // passée en paramètre
387                    if (typeof(callback) === "function") {
388                        callback(callbackParams);
389                    }
390                    $(this).remove();
391                },
392                resizable: false,
393                modal: true,
394                width: width,
395                height: height,
396                position: 'center',
397              });
398            },
399            async : false
400        });
401        //Fermeture du dialog lors d'un clic sur le bouton retour
402        $('#sousform-'+objsf).on("click",'a.retour',function() {
403            $(dialog).dialog('close').remove();
404            return false;
405        });
406    }
407    
408    /***
409     * Fonction getter des paramètres de l'url courante
410     */
411    // Parse URL Queries Method
412    (function($){
413        $.getQuery = function( query ) {
414            query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
415            var expr = "[\\?&]"+query+"=([^&#]*)";
416            var regex = new RegExp( expr );
417            var results = regex.exec( window.location.href );
418            if( results !== null ) {
419                return results[1];
420                return decodeURIComponent(results[1].replace(/\+/g, " "));
421            } else {
422                return false;
423            }
424        };
425    })(jQuery);
426    
427    
428    /*
429     * Javascript concernant la demande d'avis
430     *
431     *
432     */
433    
434    /**
435     * Fonction de callback appellée lors de la fermeture du dialog (popupit)
436     * du retour d'avis d'un service
437     **/
438    function returnToTab(objsf) {
439        var valid=$('#sousform-'+objsf+' div.ui-state-valid');
440        if(valid.length > 0) {
441            document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')
442            +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')
443            +"&selectioncol="+$.getQuery('selectioncol');
444        }
445    };
446    
447    
448    /*
449     * Javascript concernant la demande
450     *
451     *
452     */
453    
454     /**
455      * Fonction permettant de mettre à jour les infos du demandeur
456      **/
457    function getDemandeurId(type) {
458        var id_demandeur=$('#id_retour').val();
459        if($.isNumeric(id_demandeur)) {
460            afficherDemandeur(id_demandeur,type);
461            om_initialize_content();
462        }
463    }
464    
465    /**
466     * Fonction permettant d'afficher la synthèse d'un demandeur
467     */
468    function afficherDemandeur(id,type) {
469        $.ajax({
470            type: "GET",
471            url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+id+'&type='+type,
472            cache: false,
473            success: function(html){
474                $(html).insertBefore('#add_'+type).fadeIn(500);
475    
476            },
477            async:false
478        });
479        affichageBoutonsDemandeurs();
480    }
481    
482    /**
483     * Fonction permettant de modifier un demandeur
484     */
485    function editDemandeur(obj,id,type,id_css) {
486        var url = '../scr/sousform.php?obj='+obj+'&retourformulaire=demande';
487        if(getDemandeInfo('type') == 'DM') {
488            url += '&action=0&idx_demandeur='+id;
489        } else {
490            url += '&action=1&idx='+id;
491        }
492        popupIt(obj, url, 860, 'auto',
493                replaceDemandeur, {'type':type,'id': id, 'id_css':id_css});
494        affichageBoutonsDemandeurs();
495    }
496    
497    /**
498     * Function permettant de remplacer un contenu déjà existant
499     **/
500    function replaceDemandeur(obj) {
501        var new_demandeur=$('#id_retour').val();
502        if($.isNumeric(new_demandeur)) {
503            $.ajax({
504                type: "GET",
505                url: '../app/afficher_synthese_demandeur.view.php?iddemandeur='+new_demandeur+'&type='+obj.type,
506                cache: false,
507                success: function(html){
508                    $(obj.id_css).replaceWith(html);
509                }
510            });
511        }
512    }
513    /**
514     * Function permettant de remplacer un contenu déjà existant
515     **/
516    function removeDemandeur(id) {
517        var div_class=$('#'+id).attr("class");
518        $('#'+id).remove();
519        if(div_class == "delegataire") {
520            $('#add_delegataire').fadeIn(500);
521        }
522        affichageBoutonsDemandeurs();
523    }
524    
525    /**
526     * Fonction permettant d'afficher et cacher les boutons d'ajout de demandeurs
527     */
528    function affichageBoutonsDemandeurs(){
529    
530        // Si formulaire après validation on cache les boutons d'ajout de demandeurs
531        url = document.location + "" ;
532    
533        if ((url.indexOf("form.php?obj=demande&") != -1
534            || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
535            || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)
536            && $("form[name=f1] .form-is-valid").size() > 0 ) {
537    
538            $('#add_petitionnaire_principal').hide();
539            $('#add_delegataire').hide();
540            if($('input[name=delegataire][type=hidden]').size() == 0) {
541                $('#delegataire').hide();
542            }
543            $('#add_petitionnaire').hide();
544    
545        } else {
546    
547            // Affichage du bouton d'ajout du petitionnaire principal
548            if($('input[name=petitionnaire_principal][type=hidden]').size() == 1) {
549                $('#add_petitionnaire_principal').hide();
550            } else {
551                $('#add_petitionnaire_principal').fadeIn(500);
552            }
553    
554            // Affichage du bouton d'ajout du delegataire
555            if($('input[name=petitionnaire_principal][type=hidden]').size() == 1
556               || $('input[name=delegataire][type=hidden]').size() == 1) {
557                $('#delegataire').fadeIn(500);
558                if($('input[name=delegataire][type=hidden]').size() == 0) {
559                    $('#add_delegataire').fadeIn(500);
560                } else {
561                    $('#add_delegataire').hide();
562                }
563            } else {
564                $('#delegataire').hide();
565            }
566    
567            // Affichage du bouton d'ajout de petitionnaires
568            if($('input[name=petitionnaire_principal][type=hidden]').size() == 0) {
569                $('#add_petitionnaire').hide();
570            } else {
571                $('#add_petitionnaire').fadeIn(500);
572            }
573        }
574    }
575    
576    /**
577     * Appel au chargement de la page
578     **/
579    $(function() {
580        changeDemandeurType('qualite');
581        if ( $('#type_demandeur') == 'petitionnaire' ){
582            
583            addSearchIcon();
584            addDivDialog('.bloc_demandeur');
585        }
586        affichageBoutonsDemandeurs();
587        // Bind de la fonction permettant l'ajout du pétitionnaire principal
588        $("#formulaire").on("click","#add_petitionnaire_principal",  function() {
589            popupIt('petitionnaire',
590                    '../scr/sousform.php?obj=petitionnaire&action=0'+
591                    '&retourformulaire=demande&principal=true', 860, 'auto',
592                    getDemandeurId, 'petitionnaire_principal');
593        });
594        // Bind de la fonction permettant l'ajout du délégataire
595        $("#formulaire").on("click","#add_delegataire", function(event) {
596            popupIt('delegataire',
597                    '../scr/sousform.php?obj=delegataire&action=0'+
598                    '&retourformulaire=demande', 860, 'auto',
599                    getDemandeurId, 'delegataire');
600        });
601        // Bind de la fonction permettant l'ajout des pétitionnaires
602        $("#formulaire").on("click","#add_petitionnaire", function(event) {
603            popupIt('petitionnaire',
604                    '../scr/sousform.php?obj=petitionnaire&action=0'+
605                    '&retourformulaire=demande', 860, 'auto',
606                    getDemandeurId, 'petitionnaire');
607        });
608    
609        url = document.location + "" ;
610        if (url.indexOf("form.php?obj=demande&") != -1
611            && url.indexOf("&action=3") == -1) {
612    
613            formatFieldReferenceCadastrale();
614        }
615        
616        if (url.indexOf("form.php?obj=demande&") != -1
617            && (url.indexOf("&action=3") == -1
618            && url.indexOf("&action=2") == -1
619            && $(".form-is-valid").size() == 0)) {
620            
621            addButtonCadastraleAdesse();
622            changeDemandeType();
623        }
624        
625        // Ajout de demande
626        if ((url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
627            || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)
628            && url.indexOf("&action=0") != -1 ){
629    
630            /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
631            hideFields();
632        }
633        
634        // Ajout de demande sur dossier existant
635        if (url.indexOf("form.php?obj=demande_dossier_existant&") != -1
636            && url.indexOf("&action=0") != -1 ){
637    
638            /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
639            hideFields();
640            changeDemandeType();
641        }
642        
643        // Modification de demande
644        if ((url.indexOf("form.php?obj=demande&") != -1
645            || url.indexOf("form.php?obj=demande_nouveau_dossier&") != -1
646            || url.indexOf("form.php?obj=demande_dossier_existant&") != -1)
647            && url.indexOf("&action") == -1 ){
648            
649            formatFieldReferenceCadastrale();
650        }
651        
652        //Gestion de la commission
653        $( "#tabs" ).tabs();
654          
655        // Affichage du tableau des dossier_commission au clique
656        $("#dossier_commission").click(function() {
657            
658            var params = extractUrlParams();
659            idx = params['idx'];
660    
661            ajaxIt(
662                'dossier_commission',
663                '../scr/soustab.php?obj=dossier_commission&idxformulaire='+
664                idx +
665                '&retourformulaire=commission');
666        });
667        
668        // Affichage du tableau des dossier_commission posssible au clique
669        $('#commission_dossiers_plannifier_retirer').click(
670            function(){
671                
672                var params = extractUrlParams();
673                idx = params['idx'];
674                
675                $('#tabs-2').empty();
676                ajouterTableauDossierCommissionPossible(idx);
677            }
678        );
679        
680        //Suppression du message et des données dans le champ dossier
681        $('#commission_dossiers_plannifier_numero').click(
682            function(){
683                
684                $('#tabs-3 .message').remove();
685                $('#tabs-3 #dossier').val("");
686            }
687        );
688    });
689    
690    /*
691     * Action sur les champs pour les références cadastrales
692     */
693    function formatFieldReferenceCadastrale(){
694    
695        addNewFieldReferencesCadastrales();
696        $('#terrain_references_cadastrales').parent().parent().hide();
697        
698        url = document.location + "";
699    
700        reference_cadastrale = $('#terrain_references_cadastrales').val();
701        /*Formatage de la reference cadastrale*/
702        if ( reference_cadastrale != '' ){
703            
704            /* Récupère la référence cadastrale non formatée */
705            references_cadastrales = reference_cadastrale.split(';');
706            donnees = new Array();
707            
708            i = 0 ;
709            /* Boucle sur les références, elles étaient séparées par un ; */
710            for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
711                
712                /*Récupère le code impots du qartier [CHIFFRES]*/
713                k = 0;
714                donnees[i] = '';
715                for ( j = k ; j < references_cadastrales[l].length ; j++ ){
716                    
717                    if ( references_cadastrales[l].charAt(j) >= 0 &&
718                        references_cadastrales[l].charAt(j) <= 9 ){
719                            
720                        donnees[i] += references_cadastrales[l].charAt(j);
721                        k++;
722                        
723                    } else {
724                        
725                        i++;
726                        break;
727                    }
728                }
729                
730                /* Récupère la section [LETTRES] */    
731                donnees[i] = '';
732                for ( j = k ; j < references_cadastrales[l].length ; j++ )
733                    if ( isAlpha(references_cadastrales[l].charAt(j)) ){
734                        
735                        donnees[i] += references_cadastrales[l].charAt(j);
736                        k++;
737                        
738                    } else {
739                        
740                        i++;
741                        break;
742                    }
743                
744                /* Récupère la parcelle [CHIFFRES] */
745                donnees[i] = '';
746                for ( j = k ; j < references_cadastrales[l].length ; j++ )
747                    if ( references_cadastrales[l].charAt(j) >= 0 &&
748                        references_cadastrales[l].charAt(j) <= 9 ){
749                            
750                        donnees[i] += references_cadastrales[l].charAt(j);
751                        k++;
752                        
753                    } else {
754                        
755                        break;
756                    }
757                
758                /* Récupère les séparateurs [ A / ] et les sections */
759                m = 0 ; // Nombre de suffixe
760                if ( k < references_cadastrales[l].length ){
761                    
762                    for ( j = k ; j < references_cadastrales[l].length ; j++ )
763                        if ( isAlpha(references_cadastrales[l].charAt(j)) ){
764                            
765                            m++;
766                            donnees[++i] = references_cadastrales[l].charAt(j);
767                            donnees[++i] = '';
768                        }
769                        else {
770                            
771                            donnees[i] += references_cadastrales[l].charAt(j);
772                        }
773                }
774                
775                /*Créé autant de champs de que de référence */
776                donnees[++i] = ';';
777                i++;
778    
779                if ( l > 0 ) {
780                    
781                    $('.reference_cadastrale_custom_fields').append(
782                        "<br/>" + fieldReferenceCadastraleBase()
783                    );
784                }
785                
786                actionFormReferenceCadastrale();
787                
788                if ( m > 0 ){
789                            
790                    for ( j = 0 ; j < m ; j++ ){
791                        
792                        $('#moreFieldReferenceCadastrale' +
793                            ( $('.moreFieldReferenceCadastrale').length - 1 ) ).
794                        before(
795                            newInputReferenceCadastrale()
796                        );
797                    }
798                }
799            }
800             /* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter
801              * d'autres lignes] */
802            actionLineFormReferenceCadastrale();
803            
804            /* Ajoute les données dans les champs nouvellement créés */
805            $('.reference_cadastrale_custom_field').each(
806                function(index) {
807                    
808                    $(this).val(donnees[index])
809                }
810            );
811        }
812        else{
813            actionFormReferenceCadastrale();
814            actionLineFormReferenceCadastrale();
815        }
816    }
817    
818    /*
819     * Ajoute les icônes pour la recherche de pétitionnaire fréquent.
820     */
821    function addSearchIcon(){
822    
823        $("#form-content:not(.form-is-valid) .search_particulier_fields,"+
824          "#form-content:not(.form-is-valid) .search_personne_morale_fields").each(function() {
825        /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/
826    
827                $(this).
828                append(
829                    '<span '+
830                        'class="om-icon om-icon-16 om-icon-fix search-petitionnaire-16" '+
831                        'title="Chercher un petitionnaire"> '+
832                    '</span>'+
833                    '<span '+
834                        'class="om-icon om-icon-16 om-icon-fix erase-petitionnaire delete-16" '+
835                        'title="Supprimer le contenu"> '+
836                    '</span>'
837                );
838            }
839        );
840        
841        /*Ajout des actions sur les boutons*/
842        addActionSearchIcon('#sousform-petitionnaire #form-content');
843        addActionRemove();
844    
845    }
846    
847    /**
848     * Fonction permettant de revenir sur le formulaire d'ajout de demandeur
849     **/
850    function addActionRemove(){
851        $('.erase-petitionnaire').click(
852            function(){
853                ajaxIt('petitionnaire','../scr/sousform.php?obj=petitionnaire&action=0');
854        });
855    }
856    
857    /*
858     * Ajoute les actions sur les icônes de recherche
859     */
860    function addActionSearchIcon(id){
861        
862        /*Si on recherche un pétitionnaire de type particulier*/
863        $('.search-petitionnaire-16').click(
864            function(){
865                
866                /*Le champ nom du particulier doit contenir au moins trois lettres*/
867                if ( $('#particulier_nom').val().length < 3 &&
868                    $('#particulier_prenom').val().length < 3 &&
869                    $('#personne_morale_denomination').val().length < 3 &&
870                    $('#personne_morale_nom').val().length < 3 ){
871                    
872                    alert('Saisissez au moins trois lettres pour la recherche');
873                    return;
874                }
875                
876                /*Données des champs nom et prénom du particulier*/
877                var donnees = "?par_nom=" + $('.search_particulier_fields #particulier_nom').val() +
878                    "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val() +
879                    "&mor_denomination="+$('#personne_morale_denomination').val() +
880                    "&mor_nom="+$('#personne_morale_nom').val();
881    
882                /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)
883                 * correspondant(s) à la recherche */
884                $.ajax({
885                    type: "GET",
886                    url: "../app/findPetitionnaire.php" + donnees ,
887                    cache: false,
888                    success: function(obj){
889                        var freq = $.parseJSON(obj);
890                        var res='';
891                        /*Si la recherche a donné des résultats*/
892                        if ( freq.length > 0 ){
893                            /*Limitation des résultats à 50 */
894                            if ( freq.length > 50 ){
895                                
896                                nbRes = 50;
897                                res += 'Votre recherche a donn&eacute; ' + freq.length
898                                    + ' r&eacute;sultats. Seul les cinquantes premiers ' +
899                                    'seront affich&eacute;s.<br/>';
900                            } else {
901                                nbRes = freq.length;
902                            }
903                            
904                            res += '<select>' ;
905                            
906                            /* Met les résultats de la recherche dans un select */
907                           for ( i = 0 ; i < nbRes ; i++ ){
908                                res += '<option value="' + freq[i].value + '">' +
909                                            freq[i].content +
910                                       '</option>';
911                            }
912                            
913                            res += '</select>';
914                        } else {
915                            res += 'Aucune correspondance trouvée.';
916                        }
917                        
918                        /* Affichage de l'overlay */
919                        $('#dialog').html(res);
920                          
921                        $( "#dialog" ).dialog({
922                            modal: true,
923                            buttons : {
924                                Valider: function(){
925                                    if ( res != 'Auncune correspondance trouvée.'){
926    
927                                    }
928                                    var id = $('#dialog select option:selected').val();
929                                    if($.isNumeric(id)) {
930                                        ajaxIt('petitionnaire',
931                                        '../scr/sousform.php?obj=petitionnaire&action=1&retourformulaire=demande&idx='+id);
932                                    }
933                                    // Fermeture de l'overlay
934                                    $(this).dialog( "close" ).empty();
935                                }
936                            }
937                        });
938                    },
939                });
940            }
941        );
942  }  }
943    
944    /*
945     * Ajoute un div pour l'overlay dialog de jQuery
946     */
947    function addDivDialog(id){
948        
949        $(id).prepend('<div id="dialog"></div>');
950    }
951    
952    /*
953        Action au changement du select de la qualite du demandeur
954     * */
955    function changeDemandeurType(id){
956    
957        /*Réinitialise les champs et cache les champs inutiles selon la qualité du demandeur*/
958        /*Si la qualite du demandeur est particulier */
959        if ( $('#' + id ).val() == 'particulier' ){
960            
961            $('.personne_morale_fields input').each(
962                function(){
963                    $(this).val('');
964                }
965            );
966            $('.personne_morale_fields select option[value=""]').each(
967                function(){
968                    $(this).attr('selected', 'selected');
969                }
970            );
971            
972            $('.personne_morale_fields').hide();
973            $('.particulier_fields').show();
974        }
975        /*Si c'est une personne morale*/
976        else {
977            
978           $('.particulier_fields input').each(
979                function(){
980                    $(this).val('');
981                }
982            );
983            $('.particulier_fields select option[value=""]').each(
984                function(){
985                    $(this).attr('selected', 'selected');
986                }
987            );
988            
989            $('.particulier_fields').hide();
990            $('.personne_morale_fields').show();
991        }
992    }
993    
994    /*
995        Fonction de test des champs
996     * */
997    function isAlpha(str) {
998        return /^[a-zA-Z\/]+$/.test(str);
999    }
1000    
1001    function isMail(str){
1002        return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str);
1003    }
1004    
1005    function isPhoneNumber(str){
1006        return /[0-9-()+]{3,20}/.test(str);
1007    }
1008    
1009    function testSeparator(obj){
1010    
1011        if ( obj.value != 'A' &&
1012             obj.value != '/' ) {
1013                
1014            alert('Saisissez uniquement un A ou un / comme séparateur');
1015            obj.value = '';
1016        }
1017    }
1018    /* Fin fonction test */
1019    
1020    /*
1021     *  Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
1022     *  référence cadastrale
1023    */
1024    function actionFormReferenceCadastrale(){
1025        
1026        $('form').submit(
1027            function(){
1028                
1029                getDataFieldReferenceCadastrale();
1030            }
1031        );
1032        if( $("form[name=f1] .form-is-valid").size() == 0) {
1033    
1034            $('#moreFieldReferenceCadastrale' +
1035                ($('.moreFieldReferenceCadastrale').length - 1 )).
1036            on("click", function() {
1037                
1038                $(this).before(newInputReferenceCadastrale());
1039            });
1040        }
1041        
1042    }
1043    
1044    /*
1045     * Récupère les données saisies dans les champs de références cadastrales
1046     */
1047    function getDataFieldReferenceCadastrale(){
1048        
1049        var reference_cadastrale = '';
1050        var reference_cadastrale_temp = '';
1051        
1052        /*Pour chacun des champs du formulaire de saisie de référence cadastrale*/
1053        $('.reference_cadastrale_custom_field').each(
1054            function(){
1055                
1056                /*Si on est à la fin d'une ligne de champs*/
1057                if ( $(this).val() == ';' ){
1058                    
1059                    reference_cadastrale_bis = reference_cadastrale_temp ;
1060                    
1061                    /* Vérifie que les données sont correctement formatées avant de
1062                     * les ajouter au résultat*/
1063                    while( reference_cadastrale_bis != ''){
1064                        if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*)*$/.test(reference_cadastrale_bis) ){
1065                            
1066                            reference_cadastrale += reference_cadastrale_bis + ";";
1067                            break;
1068                        }
1069                        else{
1070                            
1071                            reference_cadastrale_bis = reference_cadastrale_bis.slice( 0, -1);
1072                        }    
1073                    }
1074                    
1075                    reference_cadastrale_temp = '';
1076                }
1077                
1078                else {
1079                    
1080                    /*Sinon, on récupère la valeur du champ*/
1081                    reference_cadastrale_temp += $(this).val();
1082                }
1083            }
1084        );
1085    
1086        /*Met la valeur du résultat dans le champs généré par le framework*/
1087        $('#terrain_references_cadastrales').val(reference_cadastrale);
1088    }
1089    
1090    /*
1091        Action pour l'ajout de nouvelle ligne dans le formulaire d'ajout
1092        de référence cadastrale
1093     * */
1094    function actionLineFormReferenceCadastrale(){
1095        if( $("form[name=f1] .form-is-valid").size() == 0) {
1096    
1097            $('#morelineReferenceCadastrale').click(
1098                function(){
1099                    
1100                    /*Ajout des trois champs de base*/
1101                    $('.reference_cadastrale_custom_fields').
1102                    append( "<br/>" + fieldReferenceCadastraleBase());
1103    
1104                    /*Ajout du bind pour l'ajout de nouveaux champs*/
1105                    $('#moreFieldReferenceCadastrale'+
1106                        ($('.moreFieldReferenceCadastrale').length - 1 )).
1107                    on("click", function() {
1108                        $(this).before(newInputReferenceCadastrale());
1109                    });
1110                }
1111            );
1112        }
1113    }
1114    
1115    /*
1116        Met à jour le select demande_type dès qu'un
1117        dossier_autorisation_type_detaille est choisi
1118     * */
1119    function changeDemandeType(){
1120    
1121        var idDossierAutorisationTypeDetaille =
1122            $("#dossier_autorisation_type_detaille").val();
1123            
1124        /* Récupère les données saisies dans les champs pour la référence cadastrale */
1125        getDataFieldReferenceCadastrale();
1126        
1127        /*Si l'identifiant fourni est correct*/
1128        if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
1129            
1130            /*Met à jour le select de demande_type avec les données correspondant*/
1131            changeDemandeTypeDataSelect();
1132            if ( $('#demande_type option').size() < 2 ) {
1133                showFormsDemande();
1134            }
1135          
1136           /*Affiche le select*/
1137           $('#demande_type').parent().parent().show();
1138           if($('#demande_type').val() == '' ) {
1139                $('.demande_hidden_bloc').each(
1140                    function(){
1141                        $(this).hide();
1142                    }
1143                );
1144                $('input[type=submit]').hide();
1145           }
1146        }
1147        else {
1148            
1149            /*Sinon, cache tous les champs du formulaire*/
1150            hideFields();
1151        }
1152    }
1153    
1154    /*
1155        Ajoute le code HTML des champs pour les références cadastrales
1156     * */
1157    function addNewFieldReferencesCadastrales(){
1158    
1159        var html = '<div class="field field-type-text references_cadastrales_new_field" >'+
1160                '<div class="form-libelle">' +
1161                    '<label '+
1162                        'class="libelle-terrain_references_cadastrales" '+
1163                        'for="terrain_references_cadastrales">'+
1164                        ' terrain_references_cadastrales '+
1165                    '</label>' +
1166                '</div>' +
1167                '<div class="form-content reference_cadastrale_custom_fields">' +
1168                     fieldReferenceCadastraleBase() +
1169                '</div>' +
1170            '</div>';
1171        
1172        url = document.location + "";
1173        if(getDemandeInfo('nature') == 'NOUV' && $(".form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {
1174            html += '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
1175                '<div class="form-libelle"></div>' +
1176                '<div class="form-content">' +
1177                    '<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres lignes</span>' +
1178                '</div>' +
1179           '</div>';
1180        }
1181          
1182        $('.references_cadastrales_new_field').remove();
1183        $('.moreFieldReferenceCadastrale').remove();
1184        $('#morelineReferenceCadastrale').remove();
1185        $('.localisation .fieldsetContent').prepend(
1186           html
1187       );
1188      
1189    }
1190    
1191    function addButtonCadastraleAdesse(){
1192        
1193        $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
1194            '<div class="form-libelle"></div>' +
1195            '<div class="form-content buttonCadAdr">' +
1196                '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
1197            '</div>' +
1198       '</div>' );
1199    }
1200    
1201    /*
1202        Séparateur caché ; pour marqué la fin d'une ligne de référence cadastrale
1203     * */
1204    function hiddenSeparatorField(){
1205    
1206        return '<input ' +
1207                    'class="reference_cadastrale_custom_field" ' +
1208                    'type="hidden" ' +
1209                    'maxlength="2" ' +
1210                    'size="2" ' +
1211                    'value=";" />';
1212    }
1213    
1214    /**
1215     * Retourne l'info passée en paramètre (nature de la demande ou type de la demande)
1216     **/
1217    function getDemandeInfo(info) {
1218        var id_demande_type = $('#demande_type').val();
1219        var res = "";
1220        $.ajax({
1221                    type: "GET",
1222                    url: "../app/getDemandeInfo.php?iddemandetype=" + id_demande_type
1223                            + "&info=" + info,
1224                    cache: false,
1225                    async: false,
1226                    success: function(val){
1227                        res = val;
1228                    }
1229                });
1230        return res;
1231    }
1232    /*
1233        Ajout d'une nouvelle ligne de champ de référence cadastrale
1234        Retourne le code HTML
1235     * */
1236    function fieldReferenceCadastraleBase(){
1237        
1238        url = document.location + "";
1239        
1240        var type = getDemandeInfo('nature');
1241        var reference_cadastrale = '<input ' +
1242                    'class="champFormulaire reference_cadastrale_custom_field" ' +
1243                    'type="text" ' +
1244                    'onchange="VerifNum(this)" ' +
1245                    'maxlength="4" ' +
1246                    'size="4" '+
1247                    'placeholder="Quart." ';
1248                    
1249        // désactivation des champs de référence cadastrale
1250        if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1251            reference_cadastrale += 'disabled="disabled" ';
1252        }
1253        
1254        reference_cadastrale += 'value="" />';
1255    
1256        reference_cadastrale += '<input ' +
1257                    'class="champFormulaire reference_cadastrale_custom_field" ' +
1258                    'type="text" ' +
1259                    'maxlength="3" ' +
1260                    'size="3" '+
1261                    'placeholder="Sect." ';
1262        
1263        // désactivation des champs de référence cadastrale
1264        if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1265            reference_cadastrale += 'disabled="disabled" ';
1266        }
1267        
1268        reference_cadastrale += 'value="" '+
1269                    'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>';
1270        reference_cadastrale += '<input ' +
1271                    'class="champFormulaire reference_cadastrale_custom_field" ' +
1272                    'type="text" ' +
1273                    'onchange="VerifNum(this)" ' +
1274                    'maxlength="5" ' +
1275                    'size="5" '+
1276                    'placeholder="Parc." ';
1277        
1278        // désactivation des champs de référence cadastrale
1279        if(type != 'NOUV' || $(".form-is-valid").size() > 0 || url.indexOf('action=3') != -1 ) {
1280            reference_cadastrale += 'disabled="disabled" ';
1281        }
1282        
1283        reference_cadastrale += 'value="" />';
1284    
1285        reference_cadastrale += '<span id="moreFieldReferenceCadastrale' +
1286            $('.moreFieldReferenceCadastrale').length +
1287            '" class="moreFieldReferenceCadastrale">' + hiddenSeparatorField();
1288    
1289        // Si form validé pas de bouton
1290        url = document.location + "";
1291        if( type == 'NOUV' && $("form[name=f1] .form-is-valid").size() == 0 && url.indexOf('action=3') == -1 ) {
1292    
1293            reference_cadastrale +=
1294                '<span class="om-form-button add-16" title="Ajouter">ajouter d\'autres champs</span>';
1295        }
1296    
1297        reference_cadastrale += '</span>';
1298        
1299        return reference_cadastrale;
1300    }
1301    
1302    /**
1303     * Cache les champs inutules [formulaire de demande]
1304     **/
1305    function hideFields(){
1306        $('.demande_hidden_bloc').each(
1307            function(){
1308                $(this).hide();
1309            }
1310        );
1311        
1312        $('.field-type-text').hide();
1313        $('input[type=submit]').hide();
1314        $('#demande_type').parent().parent().hide();
1315    }
1316    
1317    /*
1318        Affiche les champs dont on a besoin dans le formulaire de demande
1319     * */
1320    function showFormsDemande(){
1321        
1322        
1323        if($('#demande_type').val() != "") {
1324    
1325            $('.demande_hidden_bloc').each(
1326                function(){
1327                    $(this).show();
1328                }
1329            );
1330            formatFieldReferenceCadastrale(1);
1331            $('.field-type-text').show();
1332            $('input[type=submit]').show();
1333            $('.terrain_references_cadastrales_custom').hide();
1334            
1335            $('#terrain_references_cadastrales').parent().parent().hide();
1336    
1337            // Si le type de la demande est un transfert on efface la liste des demandeurs
1338            if(getDemandeInfo('type') == 'DT') {
1339                if($('input[name=petitionnaire_principal]').size() != -1) {
1340                    removeDemandeur("petitionnaire_principal_" + $('input[name=petitionnaire_principal]').val());
1341                }
1342                if($('input[name=delegataire]').size() != -1) {
1343                    removeDemandeur("delegataire_" + $('input[name=delegataire]').val());
1344                }
1345    
1346                $('#listePetitionnaires input.demandeur_id').each(function(){
1347                    if($(this).size() != -1) {
1348    
1349                        removeDemandeur("petitionnaire_" + $(this).val());
1350                    }
1351                });
1352            } else if ( getDemandeInfo('type') == 'DM' ) {
1353                $.ajax({
1354                    type: "GET",
1355                    url: "../app/getDemandeurList.php?dossier_autorisation=" + $('#dossier_autorisation').val(),
1356                    cache: false,
1357                    async: false,
1358                    success: function(html){
1359                        $('#liste_demandeur').replaceWith(html);
1360                    }
1361                });
1362            }
1363            affichageBoutonsDemandeurs();
1364        } else {
1365            
1366            /*Récupère les references cadastrales*/
1367            getDataFieldReferenceCadastrale();
1368            
1369            $('.demande_hidden_bloc').each(
1370                function(){
1371                    $(this).hide();
1372                }
1373            );
1374            $('input[type=submit]').hide();
1375    
1376        }
1377    }
1378    
1379    /*
1380        Action au clique sur le bouton " + ajouter d'autres champs"
1381     * */
1382    function newInputReferenceCadastrale(){
1383        return '<input ' +
1384                'class="champFormulaire reference_cadastrale_custom_field" ' +
1385                'type="text" ' +
1386                'maxlength="1" ' +
1387                'size="3" ' +
1388                'value="" ' +
1389                'placeholder="Sep." ' +
1390                'onchange="testSeparator(this);"/>' +
1391            '<input ' +
1392                'class="champFormulaire reference_cadastrale_custom_field" ' +
1393                'type="text" ' +
1394                'onchange="VerifNum(this)" ' +
1395                'maxlength="4" ' +
1396                'size="4" ' +
1397                'placeholder="Parc." ' +
1398                'value="" />';
1399    }
1400    
1401    
1402    
1403    /**
1404     * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1405     * tableau de bord
1406     */
1407    function widget_bind_move_actions() {}
1408    function widget_bind_add_action() {}
1409    function widget_bind_edit_actions(widget_selector) {}
1410    
1411    // Cette fonction permet d'associer a un arbre html les fonctions jquery
1412    // necessaires. Elle permet notamment lors du chargement d'une page en ajax
1413    // d'associer le comportement du bouton, la gestion du calendrier et la gestion
1414    // du fieldset.
1415    function om_initialize_content() {
1416        // Gestion du skin des boutons, liens
1417        link_bind_button();
1418        // Gestion du calendrier avec le widget datepicker de jqueryui
1419        inputdate_bind_datepicker();
1420        // Gestion des fieldset avec le plugin collaspsible de jquery
1421        fieldset_bind_collapsible();
1422    
1423        changeDemandeurType('qualite');
1424        addSearchIcon();
1425        addDivDialog('.bloc_demandeur');
1426        
1427    }
1428    
1429    // Retourne la valeur d'une variable GET de l'URL
1430    function getQuerystring(key, default_)
1431    {
1432      if (default_==null) default_="";
1433      key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
1434      var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
1435      var qs = regex.exec(window.location.href);
1436      if(qs == null)
1437        return default_;
1438      else
1439        return qs[1];
1440    }
1441    
1442    // Récupère l'id de l'enregistrement lié au lot passé en parametre puis appel popupit
1443    function overlayCerfa(idLot) {
1444        $.get("../app/displayLotCerfa.php?lot="+idLot, function(data) {
1445            if(data != '') {
1446                    popupIt('donnees_techniques',
1447                            '../scr/sousform.php?obj=donnees_techniques&idx='+data+
1448                                '&retourformulaire=lot&maj=1&idxformulaire='+idLot,
1449                                950, 700);
1450                    
1451                } else {
1452                    // Si pas d'id retourner on créer un nouvel enregistrement de donnéees techniques
1453                    popupIt('donnees_techniques',
1454                            '../scr/sousform.php?obj=donnees_techniques&retourformulaire=lot&maj=0&idxformulaire='+idLot,
1455                                950, 700);
1456                }
1457    
1458            });
1459    }
1460    
1461    /*
1462     * Marque comme lu une consultation
1463     */
1464    function portletUpdateData(id, objet, objetc, file, field, message){
1465        
1466        /*Vérifie que l'identifiant passé en paramètre est bien un chiffre
1467         * et que le type d'objet est défini
1468         * */
1469        if ( $.isNumeric(id) && objet != '' ){
1470            
1471            donnees = "?ido=" + id + '&obj=' + objet + '&objk=' + objetc + '&idxDossier=' + getQuerystring('idx');
1472            $.ajax({
1473                type: "GET",
1474                url: "../app/"+file+".php" + donnees ,
1475                cache: false,
1476                success: function(html){
1477                    
1478                    $('#sousform-' + objet + ' .message').remove();
1479                    /*Change la valeur affiché et affiche un message valide*/
1480                    if ( $.parseJSON(html) == "Mise a jour effectue avec succes" ||
1481                    $.parseJSON(html).indexOf("Transfert effectue avec succes") != -1 ){
1482                        
1483                        // On modife le champ field
1484                        if ( field != '' && message != '' ){
1485                            $('#'+field).html(message);
1486                            html = $.parseJSON(html);
1487                        }
1488                        else {
1489                            html = $.parseJSON(html).split(';');
1490                            
1491                            $('#'+field).html(html[0]);
1492                            
1493                            html = html[1];
1494                        }
1495                        
1496                        // On supprime l'action
1497                        $('span.'+field+'-16').parent().parent().remove();
1498                        // On affiche le message
1499                        $('#sousform-' + objet + ' .subtitle').after(
1500                            '<div ' +
1501                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-valid">' +
1502                                '<p>' +
1503                                    '<span class="ui-icon ui-icon-info"></span>' +
1504                                    '<span class="text">' +
1505                                        html +
1506                                    '</span>' +
1507                                '</p>' +
1508                            '</div>'                    
1509                        );
1510                    }
1511                    /*Affichage d'une erreur*/
1512                    else{
1513                        $('#sousform-' + objet + ' .subtitle').after(
1514                            '<div ' +
1515                                'class="message ui-widget ui-corner-all ui-state-highlight ui-state-error">' +
1516                                '<p>' +
1517                                    '<span class="ui-icon ui-icon-info"></span>' +
1518                                    '<span class="text">' +
1519                                        $.parseJSON(html) +
1520                                    '</span>' +
1521                                '</p>' +
1522                            '</div>'                    
1523                        );
1524                    }
1525                }
1526            });
1527        }
1528    }
1529    
1530    // Affiche le sous formulaire onglet
1531    function redirectPortletAction(id, onglet, nom_tabs){
1532    
1533        var nom_tabs =  ( typeof nom_tabs === "undefined" ) ? ".ui-tabs" : nom_tabs;
1534        var $tabs = $(nom_tabs).tabs();
1535    
1536        lien_onglet = $('#' + onglet).attr('href');
1537        lien_onglet = lien_onglet.substring( lien_onglet.length - 1, lien_onglet.length);
1538    
1539        $tabs.tabs('select', lien_onglet);
1540    }
1541    
1542    //Rajoute un dossier pour la commission id
1543    function addDossierCommission(id, container){
1544        
1545        link = "../app/ajouter_dossier_commission.php?idx=" + id + "&idxDossier=" + $(container+" #dossier").val();
1546    
1547        $.ajax({
1548            type: "GET",
1549            url: link,
1550            cache: false,
1551            dataType: "json",
1552            success: function(i, obj){
1553                
1554                $(container + " .message").remove();
1555                $(container).prepend(
1556                    '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
1557                        '<p>'+
1558                            '<span class="ui-icon ui-icon-info"></span>'+
1559                            '<span class="text">'+
1560                            '</span>'+
1561                        '</p>'+
1562                    '</div>'
1563                );
1564                    
1565                // Nouveau dossier ajouté
1566                if ( i.return == "1" ){
1567                    
1568                    $(container + ' .message').addClass("ui-state-ok");
1569                    $(container + ' .message .text').html("Dossier ajouté avec succès.");
1570                }
1571                //Dossier existe mais non ajouté
1572                else if( i.return == "0" ){
1573                    
1574                    $(container + ' .message').addClass("ui-state-error");
1575                    $(container + ' .message .text').html("Une erreur s'est produite lors de l'ajout de ce dossier. " +
1576                        "Veuillez contacter votre administrateur");
1577                }
1578                //Le dossier n'existe pas
1579                else if( i.return == "-1" ){
1580                    
1581                    $(container + ' .message').addClass("ui-state-error");
1582                    $(container + ' .message .text').html("Ce dossier n'existe pas.");
1583                }
1584                //Le dossier est déjà à l'ordre du jour
1585                else if( i.return == "2" ){
1586                    
1587                    $(container + ' .message').addClass("ui-state-error");
1588                    $(container + ' .message .text').html("Ce dossier est deja a l'ordre du jour.");
1589                }
1590                
1591            },
1592            async: false
1593        });
1594    }
1595    
1596    //Affichage du tableau des dossier_commission possibles
1597    function ajouterTableauDossierCommissionPossible(id){
1598        
1599        link = "../app/tableau_dossier_commission_possible.php?idx=" + id ;
1600    
1601        $.ajax({
1602            type: "GET",
1603            url: link,
1604            cache: false,
1605            success: function(html){
1606                
1607                $('#tabs-2').html(html);
1608            },
1609            async: false
1610        });
1611    }
1612    
1613    //Met à jour la liste des dossiers de la commission
1614    function updateCommission(id, container){
1615        
1616        var link = "../app/update_dossier_commission.php?idx=" + id ;
1617        var res = 1;
1618        
1619         //Affiche du message de retour
1620        $(container + " .message").remove();
1621        $(container).prepend(
1622            '<div class="message ui-widget ui-corner-all ui-state-highlight">'+
1623                '<p>'+
1624                    '<span class="ui-icon ui-icon-info"></span>'+
1625                    '<span class="text">'+
1626                    msg_loading +
1627                    '</span>'+
1628                '</p>'+
1629            '</div>'
1630        );
1631    
1632        $(container + " input[type='checkbox']").each(
1633            function(index) {
1634                
1635                link = "../app/update_dossier_commission.php?idx=" + id +
1636                    "&idxDossier=" + $(this).val();
1637                
1638                //Ajoute ces dossiers de l'ordre du jour
1639                if ( $(this).is(":checked")){
1640                    
1641                    link += "&action=add";
1642                }
1643                //Supprime ces dossiers de l'ordre du jour
1644                else{
1645                    
1646                    link += "&action=remove";
1647                }
1648    
1649                //Mise à jour des données
1650                $.ajax({
1651                    type: "GET",
1652                    url: link,
1653                    cache: false,
1654                    dataType: "json",
1655                    success: function(i, obj){
1656                        
1657                        // Erreur
1658                        if( i.return == "-1" ){
1659                            
1660                            res = -1;
1661                        }
1662                    },
1663                    async: false
1664                });
1665            }
1666        );
1667    
1668        //le traitement a été effectué avec succés
1669        if ( res == 1 ){
1670            
1671            $(container + ' .message').addClass("ui-state-ok");
1672            $(container + ' .message .text').html("Mise à jour réalisé avec succès.");
1673        }
1674        //Une erreur s'est produite
1675        else {
1676            
1677            $(container + ' .message').addClass("ui-state-error");
1678            $(container + ' .message .text').html("Une erreur s'est produite la mise à jour de la commission. " +
1679                "Veuillez contacter votre administrateur");
1680        }
1681    }

Legend:
Removed from v.153  
changed lines
  Added in v.1351

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26