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

Contents of /trunk/app/js/script.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1389 - (show annotations)
Wed Mar 13 14:45:22 2013 UTC (11 years, 10 months ago) by vpihour
File MIME type: application/javascript
File size: 58181 byte(s)
Paramétrage des commissions

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26