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

Annotation of /trunk/app/js/script.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 793 - (hide annotations)
Wed Nov 21 14:54:11 2012 UTC (12 years, 2 months ago) by vpihour
File MIME type: application/javascript
File size: 39248 byte(s)
Retrait du code inutile et ajout des commentaires

1 fraynaud 88 // specific openfoncier ========================================================
2 fmichon 784
3     // Document is ready
4 nhaye 585 $(function(){
5 fmichon 784
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 nhaye 585 $('#avis_code_barre_form #consultation').focus();
11     });
12 fraynaud 88
13 nhaye 585
14 fmichon 784 /**
15     * WIDGET liés au formulaire et sousformulaire
16     *
17     * Ces fonctions javascript sont appelées depuis les méthodes setOnChange,
18     * setOnClick, ...
19     */
20     // bible - type httpclick
21     function bible() {
22 fraynaud 88 if(fenetreouverte==true)
23     pfenetre.close();
24     var ev=document.f2.evenement.value;
25     var idx=document.f2.dossier.value;
26 fraynaud 343 pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
27 fraynaud 88 fenetreouverte=true;
28     }
29 fmichon 784 // bible2 - type httpclick
30 fraynaud 88 function bible2()
31     {
32     if(fenetreouverte==true)
33     pfenetre.close();
34     var ev=document.f2.evenement.value;
35     var idx=document.f2.dossier.value;
36 fraynaud 343 pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
37 fraynaud 88 fenetreouverte=true;
38     }
39 fmichon 784 // bible_auto - type httpclick
40 fraynaud 88 function bible_auto(){
41     if(fenetreouverte==true)
42     pfenetre.close();
43     var ev=document.f2.evenement.value;
44     var idx=document.f2.dossier.value;
45 fraynaud 90 pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");
46 fraynaud 88 fenetreouverte=true;
47     }
48 fmichon 784 // VerifNumdec - type text
49     function VerifNumdec(champ) {
50     champ.value = champ.value.replace(",", "."); // remplacement de la virgule
51     //if (champ.value.lastIndexOf(".") == -1){ // champ decimal
52     if (isNaN(champ.value)) {
53     alert(msg_alert_error_verifnum);
54     champ.value = "";
55     return;
56     }
57     //}
58    
59     }
60     // Ce widget permet de charger les données d'un select en ajax
61     function changeDataSelect(tn, ds, joker){
62    
63     var id = $("#"+ds+" option:selected").val();
64     link = "../app/listData.php?idx=" + id + "&tn=" + tn + "&ds=" + ds;
65     $.ajax({
66     type: "GET",
67     url: link,
68     cache: false,
69     dataType: "json",
70     success: function(html){
71    
72     $('#'+tn).empty();
73    
74     if ( joker == true )
75     $('#'+tn).append(
76     '<option value="" selected="selected">*</option>'
77     );
78     else
79     $('#'+tn).append(
80     '<option value="" selected="selected">Choisir ' + tn + '</option>'
81     );
82    
83     if ( html !== '' ){
84    
85     html = html.split(';');
86     for ( i = 0 ; i < html.length - 1 ; i++ ){
87    
88     html_temp = html[i].split('_');
89     $('#'+tn).append(
90     '<option value="'+html_temp[0]+'" >'+html_temp[1]+'</option>'
91     );
92     }
93     }
94     },
95     async: false
96     });
97     }
98     // vuploadMulti - XXX
99     function vuploadMulti(champ) {
100     //
101     if (fenetreouverte == true) {
102     pfenetre.close();
103     }
104     //
105     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");
106     //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
107     //
108     fenetreouverte = true;
109     }
110     // tmpUpload - Upload XXX
111     function tmpUpload(champ) {
112     //
113     if (fenetreouverte == true) {
114     pfenetre.close();
115     }
116     //
117     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");
118     //pfenetre = window.open("../spg/upload2.php?origine="+champ,"upload2","width=300,height=100,top=120,left=120");
119     //
120     fenetreouverte = true;
121     }
122 fraynaud 88
123 fmichon 784
124    
125     /**
126     * POPUP pour le téléchargement de fichier
127     *
128     * Ces fonctions javascript sont appelées depuis des onClick sur des
129     * formulaires spécifiques pour permettre de transmettre des paramètres aux
130     * éditions pdf ainsi appelées.
131     */
132     //
133 fraynaud 88 function dossierads_d(debut)
134     {
135     //if(fenetreouverte==true)
136     window.location="../pdf/pdfetat.php?obj=dossier_ads_d&nature="
137     +document.f1.nature.value+"&idx=demo&datedebut="
138     +document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
139     }
140 fmichon 784 //
141 fraynaud 88 function dossierdepot()
142     {
143     //if(fenetreouverte==true)
144     window.location="../pdf/pdfetat.php?obj=dossier_depot&nature="+
145     document.f1.nature.value+"&idx=demo&datedebut="+
146     document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
147     }
148 fmichon 784 //
149 fraynaud 88 function dossierads()
150     {
151     //if(fenetreouverte==true)
152     window.location="../pdf/pdfetat.php?obj=dossier_ads&nature="+
153     document.f1.nature.value+"&idx=demo&datedebut="+
154     document.f1.datedebut.value+"&datefin="+document.f1.datefin.value;
155     }
156    
157 fmichon 784 // téléchargement du fichier
158     function file(fichier) {
159     //
160     if (fichier == "") {
161     alert("zone vide");
162     }
163     //
164     pfenetre = window.open("../app/file.php?file="+fichier,"Visualisation","width=100,height=100,top=1,left=150,scrollbars=yes,resizable = yes");
165     //
166     fenetreouverte = true;
167     }
168 fraynaud 271
169 fmichon 784 /**
170     * Retour spécifique de l'écran de consultation multiple - surcharge de ajaxIt
171     * @todo XXX voir les différences avec ajaxIt et si il n'est pas possible
172     * d'effectuer la modification dans le core
173     */
174 vpihour 534 function messageIt(objsf, link, empty) {
175     // recuperation du terme recherche
176     var recherche = document.getElementById("recherchedyn");
177     if (recherche != null) {
178     link += "&recherche="+recherche.value;
179     }else {
180     link += "&recherche=";
181     }
182 vpihour 558 // execution de la requete en GET
183 vpihour 534 $.ajax({
184     type: "GET",
185     url: link,
186     cache: false,
187     success: function(html){
188     (empty == true )?$("#sousform-"+objsf).empty():'';
189     $("#sousform-"+objsf).append(html);
190     om_initialize_content();
191     },
192     async: false
193     });
194     }
195 vpihour 536
196 fmichon 784 /**
197     * TTélécharegement de fichier pdf en ajax
198     * spécifique de l'écran de consultation multiple
199     */
200 vpihour 536 /* Plugin jQuery qui lance un espèce d'appel AJAX vers un script PHP de téléchargement de fichier*/
201     jQuery.download = function(url, data, method){
202     //url and data options required
203     if( url && data ){
204     //data can be string of parameters or array/object
205     data = typeof data == 'string' ? data : jQuery.param(data);
206     //split params into form inputs
207     var inputs = '';
208     jQuery.each(data.split('&'), function(){
209     var pair = this.split('=');
210     inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
211     });
212     //send request
213     jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
214     .prependTo('body').submit().remove();
215     };
216     };
217    
218 fmichon 784 /**
219     * Cette fonction permet de charger dans un dialog jqueryui un formulaire tel
220     * qu'il aurait été chargé avec ajaxIt
221     *
222     */
223 nhaye 544 function popupIt(objsf, link) {
224     // Insertion du conteneur du dialog
225     var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');
226     $('<input type=\"text\" name=\"recherchedyn\" id=\"recherchedyn\" value=\"\" class=\"champFormulaire\" style=\"display:none\" />').insertAfter('#sousform-'+objsf);
227    
228     // execution de la requete passee en parametre
229     // (idem ajaxIt + callback)
230     $.ajax({
231     type: "GET",
232     url: link,
233     cache: false,
234     success: function(html){
235     //Suppression d'un precedent dialog
236     dialog.empty();
237     //Ajout du contenu recupere
238     dialog.append(html);
239     //Initialisation du theme OM
240     om_initialize_content();
241     //Creation du dialog
242     $(dialog).dialog({
243     //OnClose suppression du contenu
244     close: function(ev, ui) {
245 nhaye 557 // Si le formulaire est submit et valide
246     var valid=$('#sousform-'+objsf+' div.ui-state-valid');
247     if(valid.length > 0) {
248 nhaye 614 document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')
249     +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')
250     +"&selectioncol="+$.getQuery('selectioncol');
251 nhaye 557 }
252 nhaye 544 $(this).remove();
253     },
254     resizable: false,
255     modal: true,
256     width: 700,
257     height: 520,
258     });
259     },
260     async : false
261     });
262     //Modification des boutons retours du sous formulaire pour fermer le dialog
263     $('#sousform-'+objsf).on("mousedown",'a.retour',function() {
264     $('#sousform-'+objsf+' a.retour').attr('onclick','');
265     });
266     $('#sousform-'+objsf).on("click",'a.retour',function() {
267     $(dialog).dialog('close').remove();
268     });
269     return false;
270     }
271 nhaye 557
272 fmichon 784 /***
273     *
274     * @todo XXX ?????????
275     */
276 nhaye 557 // Parse URL Queries Method
277     (function($){
278     $.getQuery = function( query ) {
279     query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
280     var expr = "[\\?&]"+query+"=([^&#]*)";
281     var regex = new RegExp( expr );
282     var results = regex.exec( window.location.href );
283     if( results !== null ) {
284     return results[1];
285     return decodeURIComponent(results[1].replace(/\+/g, " "));
286     } else {
287     return false;
288     }
289     };
290     })(jQuery);
291 vpihour 558
292 vpihour 641
293 vpihour 793 /*
294     * Javascript concernant la demande
295     *
296     *
297     */
298 fmichon 784
299 vpihour 664 /*
300 vpihour 793 * A garder
301     */
302     /*
303     * '<span class="om-icon om-icon-16 om-icon-fix search-part-16" title="Chercher un petitionnaire"></span>'
304     * '<span class="om-icon om-icon-16 om-icon-fix search-mor-16" title="Chercher un petitionnaire"></span>'
305     * '<div class="field field-type-text morePetitionnaire" style="display: table-row;">' +
306     '<div class="form-libelle">' +
307     '<label class="libelle-more_petitionnaire" for="terrain_superficie"> + Ajouter un autre p&eacute;titionnaire </label>' +
308     '</div>' +
309     '<div class="form-content">' +
310     '</div>' +
311     '</div>'
312     */
313    
314    
315     /*
316 vpihour 664 Ajoute le formulaire d'jout de référence cadastrale personnalisé
317     * */
318     $(function() {
319    
320     url = document.location + "" ;
321     if ( $('#date_demande').length > 0
322     && !$('#dossier_autorisation_type_detaille').is(':disabled')
323 vpihour 676 && url.indexOf("form.php?obj=demande&action=0") != -1 ){
324    
325 vpihour 793 /*Fonction d'ajout de nouveau pétitionnaire*/
326 vpihour 683 $('.morePetitionnaire').click( function() {
327 vpihour 676
328     });
329    
330 vpihour 793 /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
331 vpihour 664 hideFields();
332 vpihour 676 }
333 vpihour 664
334     if ( $('#date_demande').length > 0
335     && !$('#dossier_autorisation_type_detaille').is(':disabled')
336     && url.indexOf("form.php?obj=demande&action=1") != -1 ){
337 vpihour 669
338 vpihour 664 addNewFieldReferencesCadastrales();
339     $('#terrain_references_cadastrales').parent().parent().hide();
340    
341     reference_cadastrale = $('#terrain_references_cadastrales').val();
342     /*Formatage de la reference cadastrale*/
343     if ( reference_cadastrale != '' ){
344    
345 vpihour 793 /* Récupère la référence cadastrale non formatée */
346 vpihour 669 references_cadastrales = reference_cadastrale.split(';');
347     donnees = new Array();
348 vpihour 664
349 vpihour 669 i = 0 ;
350 vpihour 793 /* Boucle sur les références, elles étaient séparées par un ; */
351 vpihour 669 for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
352 vpihour 664
353 vpihour 793 /*Récupère le code impots du qartier [CHIFFRES]*/
354 vpihour 669 k = 0;
355     donnees[i] = '';
356 vpihour 793 for ( j = k ; j < references_cadastrales[l].length ; j++ ){
357    
358     if ( references_cadastrales[l].charAt(j) >= 0 &&
359     references_cadastrales[l].charAt(j) <= 9 ){
360    
361 vpihour 669 donnees[i] += references_cadastrales[l].charAt(j);
362 vpihour 664 k++;
363 vpihour 793
364 vpihour 669 } else {
365 vpihour 793
366 vpihour 669 i++;
367     break;
368     }
369 vpihour 793 }
370 vpihour 669
371 vpihour 793 /* Récupère la section [LETTRES] */
372 vpihour 669 donnees[i] = '';
373     for ( j = k ; j < references_cadastrales[l].length ; j++ )
374     if ( isAlpha(references_cadastrales[l].charAt(j)) ){
375 vpihour 793
376 vpihour 669 donnees[i] += references_cadastrales[l].charAt(j);
377 vpihour 664 k++;
378 vpihour 793
379 vpihour 669 } else {
380 vpihour 793
381 vpihour 669 i++;
382     break;
383 vpihour 664 }
384 vpihour 669
385 vpihour 793 /* Récupère la parcelle [CHIFFRES] */
386 vpihour 669 donnees[i] = '';
387     for ( j = k ; j < references_cadastrales[l].length ; j++ )
388 vpihour 793 if ( references_cadastrales[l].charAt(j) >= 0 &&
389     references_cadastrales[l].charAt(j) <= 9 ){
390    
391 vpihour 669 donnees[i] += references_cadastrales[l].charAt(j);
392     k++;
393 vpihour 793
394 vpihour 669 } else {
395 vpihour 793
396 vpihour 669 break;
397 vpihour 664 }
398 vpihour 669
399 vpihour 793 /* Récupère les séparateurs [ A / ] et les sections */
400 vpihour 669 m = 0 ;
401     if ( k < references_cadastrales[l].length ){
402    
403     for ( j = k ; j < references_cadastrales[l].length ; j++ )
404     if ( isAlpha(references_cadastrales[l].charAt(j)) ){
405 vpihour 793
406 vpihour 669 m++;
407     donnees[++i] = references_cadastrales[l].charAt(j);
408     donnees[++i] = '';
409     }
410     else {
411 vpihour 793
412 vpihour 669 donnees[i] += references_cadastrales[l].charAt(j);
413     }
414     }
415 vpihour 793
416     /*Créé autant de champs de que de référence */
417 vpihour 669 donnees[++i] = ';';
418     i++;
419    
420 vpihour 793 if ( l > 0 ) {
421    
422     $('.reference_cadastrale_custom_fields').append(
423     "<br/>" + fieldReferenceCadastraleBase()
424     );
425     }
426    
427 vpihour 669 actionFormReferenceCadastrale();
428    
429     if ( m > 0 ){
430    
431 vpihour 793 for ( j = 0 ; j < m ; j++ ){
432    
433     $('#moreFieldReferenceCadastrale' +
434     ( $('.moreFieldReferenceCadastrale').length - 1 ) ).
435     before(
436     newInputReferenceCadastrale()
437     );
438     }
439 vpihour 669 }
440 vpihour 664 }
441 vpihour 793 /* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter
442     * d'autres lignes] */
443 vpihour 669 actionLineFormReferenceCadastrale();
444 vpihour 664
445 vpihour 793 /* Ajoute les données dans les champs nouvellement créés */
446 vpihour 664 $('.reference_cadastrale_custom_field').each(
447     function(index) {
448 vpihour 793
449     $(this).val(donnees[index])
450 vpihour 664 }
451     );
452     }
453     }
454     });
455 vpihour 641
456 vpihour 664 /*
457 vpihour 683 Action au changement du select du type de demandeur
458     * */
459 vpihour 762 function setTypeDemandeur(id, complement){
460 vpihour 771
461     $('#'+id + ' select[id="type_demandeur' + complement + '"]').on('change',
462 vpihour 683 function() {
463 vpihour 756
464 vpihour 793 if ( $(this).find('option:selected').first().text() == 'particulier' ){
465 vpihour 683
466 vpihour 793 $(name +
467     ' select[id="particulier_civilite' + complement +
468     '"] option[value=""]').attr('selected', 'selected');
469     $(name +
470     ' input[id="particulier_nom' +
471     complement + '"]').val('');
472     $(name +
473     ' input[id="particulier_prenom' +
474     complement + '"]').val('');
475     $(name +
476     ' input[id="particulier_date_naissance' +
477     complement + '"]').val('');
478     $(name +
479     ' input[id="particulier_commune_naissance' +
480     complement + '"]').val('');
481     $(name +
482     ' input[id="particulier_departement_naissance' +
483     complement + '"]').val('');
484 vpihour 768
485 vpihour 793 $( name + ' .particulier_fields').show();
486     $( name + ' .personne_morale_fields').hide();
487 vpihour 768 }
488 vpihour 793 else {
489 vpihour 768
490 vpihour 793 $(name +
491     ' select[id="personne_morale_civilite' +
492     complement + '"] option[value=""]').attr('selected', 'selected');
493     $(name +
494     ' input[id="personne_morale_denomination'
495     + complement + '"]').val('');
496     $(name +
497     ' input[id="personne_morale_raison_sociale'
498     + complement + '"]').val('');
499     $(name +
500     ' input[id="personne_morale_siret'
501     + complement + '"]').val('');
502     $(name +
503     ' input[id="personne_morale_categorie_juridique'
504     + complement + '"]').val('');
505     $(name +
506     ' input[id="personne_morale_nom'
507     + complement + '"]').val('');
508     $(name +
509     ' input[id="personne_morale_prenom'
510     + complement + '"]').val('');
511 vpihour 768
512 vpihour 793 $( name + ' .particulier_fields').hide();
513     $( name + ' .personne_morale_fields').show();
514 vpihour 768 }
515     }
516     );
517     }
518    
519 vpihour 741 /*
520     Ajout de l'action de recherche des pétitionnaire fréquent dans un overlay
521     * */
522 vpihour 762 function addActionSearch(id, complement){
523 vpihour 741
524 vpihour 793 /*Si on recherche un pétitionnaire de type particulier*/
525 vpihour 741 $('#' + id + ' .search-part-16').click(
526     function(){
527    
528 vpihour 793 /*Données des champs nom et prénom du particulier*/
529 vpihour 756 var donnees = "?type=particulier&par_nom=";
530 vpihour 741 $('#' + id + ' .search_particulier_fields input').each(
531     function(i){
532    
533 vpihour 756 donnees += $(this).val() + (( i == 0 ) ? '&par_prenom=' : '') ;
534 vpihour 741 }
535     );
536    
537 vpihour 793 /* Requête qui va récupérer les données du(es) pétitionnaire(s)
538     * correspondant(s) à la recherche */
539 vpihour 741 $.ajax({
540     type: "GET",
541     url: "../app/findPetitionnaire.php" + donnees ,
542     cache: false,
543     success: function(html){
544    
545     res = 'Auncune correspondance trouvée.';
546    
547 vpihour 793 /*Si la recherche a donné des résultats*/
548 vpihour 756 if ( html.length > 2 ){
549 vpihour 741
550     res = '<select>' ;
551     donnees = html.split(';');
552 vpihour 793
553     /* Met les résultats de la recherche dans un select */
554 vpihour 741 for ( i = 0 ; i < donnees.length - 1 ; i++ ){
555    
556     val = donnees[i].replace('"', '');
557     line = donnees[i].split('_');
558    
559 vpihour 764 if ( line[3] != '' ){
560    
561     line[3] = ' - ' + line[3];
562     }
563    
564 vpihour 793 res += '<option value="' + val + '">' +
565     line[1] + ' ' + line[2] + line[3] +
566     '</option>';
567 vpihour 741 }
568    
569     res += '</select>' ;
570     }
571    
572 vpihour 793 /* Affichage de l'overlay */
573 vpihour 741 $('#dialog').html(res);
574    
575     $( "#dialog" ).dialog({
576     modal: true,
577     buttons : {
578     Valider: function(){
579    
580 vpihour 793 /*Action à l'appui sur le bouton valider*/
581 vpihour 756 if ( res != 'Auncune correspondance trouvée.' ){
582 vpihour 793
583 vpihour 756 donnees = $('#dialog select option:selected').val();
584     donnees = donnees.split('_');
585    
586 vpihour 793 if ( $.isNumeric(donnees[4]) ){
587     $('#' + id +
588     ' select[id="particulier_civilite' +
589     complement + '"] option[value="' +
590     $.trim(donnees[4]) + '"]').
591     attr('selected','selected');
592     }
593 vpihour 764
594 vpihour 793 $('#' + id +
595     ' input[id="particulier_nom' +
596     complement + '"]').
597     val($.trim(donnees[1]));
598    
599     $('#' + id +
600     ' input[id="particulier_prenom' +
601     complement + '"]').
602     val($.trim(donnees[2]));
603    
604 vpihour 764 /*Vérifie si la date est non vide avant de la traiter*/
605     date_temp = $.trim(donnees[3]);
606     if ( date_temp != '' ){
607 vpihour 793
608 vpihour 764 date = date_temp.split('-');
609     date = date[2] + "/" + date[1] + "/" + date[0] ;
610 vpihour 793 $('#' + id +
611     ' input[id="particulier_date_naissance' +
612     complement + '"]').
613     val(date);
614    
615 vpihour 764 }
616 vpihour 793 $('#' + id +
617     ' input[id="particulier_commune_naissance' +
618     complement + '"]').
619     val($.trim(donnees[10]));
620     $('#' + id +
621     ' input[id="particulier_departement_naissance' +
622     complement + '"]').
623     val($.trim(donnees[11]));
624 vpihour 756
625 vpihour 762 changeValInputDemandeur(id, donnees, complement);
626 vpihour 756 }
627 vpihour 741
628 vpihour 793 /*Fermeture de l'overlay*/
629 vpihour 741 $(this).dialog( "close" );
630     }
631     }
632     });
633     },
634     async: false
635     });
636     }
637     );
638    
639 vpihour 793 /*Si on recherche un pétitionnaire de type personne morale*/
640 vpihour 741 $('#' + id + ' .search-mor-16').click(
641     function(){
642    
643 vpihour 793 /*Données des champs dénomination et nom de la personne morale*/
644 vpihour 741 var donnees = "?type=personne_morale"+
645 vpihour 793 "&mor_denomination="+$('#'+id+
646     ' input[id="personne_morale_denomination' +
647     complement + '"]').
648     val() +
649     "&mor_nom="+$('#'+id+
650     ' input[id="personne_morale_nom' +
651     complement + '"]').
652     val();
653    
654     /* Requête qui va récupérer les données du(es) pétitionnaire(s)
655     * correspondant(s) à la recherche */
656 vpihour 741 $.ajax({
657     type: "GET",
658     url: "../app/findPetitionnaire.php" + donnees ,
659     cache: false,
660     success: function(html){
661    
662     res = 'Auncune correspondance trouvée.';
663    
664 vpihour 793 /*Si la recherche a donné des résultats*/
665 vpihour 756 if ( html > 2 ){
666 vpihour 741
667     res = '<select>' ;
668     donnees = html.split(';');
669 vpihour 793
670     /* Met les résultats de la recherche dans un select */
671 vpihour 741 for ( i = 0 ; i < donnees.length - 1 ; i++ ){
672    
673     val = donnees[i].replace('"', '');
674     line = donnees[i].split('_');
675    
676 vpihour 793 res += '<option value="' + val + '">' +
677     line[5] + ' ' + line[6] +
678     '</option>';
679 vpihour 741 }
680    
681     res += '</select>' ;
682     }
683    
684 vpihour 793 /* Affichage de l'overlay */
685 vpihour 741 $('#dialog').html(res);
686    
687     $( "#dialog" ).dialog({
688     modal: true,
689     buttons : {
690     Valider: function(){
691    
692 vpihour 793 /*Action à l'appui sur le bouton valider*/
693 vpihour 756 if ( res != 'Auncune correspondance trouvée.' ){
694     donnees = $('#dialog select option:selected').val();
695     donnees = donnees.split('_');
696    
697 vpihour 793 if ( $.isNumeric(donnees[8]) ){
698    
699     $('#' + id +
700     ' select[id="personne_morale_civilite' +
701     complement +
702     '"] option[value="' +
703     $.trim(donnees[8]) + '"]').
704     attr('selected','selected');
705     }
706 vpihour 756
707 vpihour 793 $('#' + id +
708     ' input[id="personne_morale_denomination' +
709     complement + '"]').
710     val($.trim(donnees[5]));
711     $('#' + id +
712     ' input[id="personne_morale_raison_sociale' +
713     complement + '"]').
714     val($.trim(donnees[12]));
715     $('#' + id +
716     ' input[id="personne_morale_siret' +
717     complement + '"]').
718     val($.trim(donnees[6]));
719     $('#' + id +
720     ' input[id="personne_morale_categorie_juridique' +
721     complement + '"]').
722     val($.trim(donnees[13]));
723     $('#' + id +
724     ' input[id="personne_morale_nom' +
725     complement + '"]').
726     val($.trim(donnees[7]));
727     $('#' + id +
728     ' input[id="personne_morale_prenom' +
729     complement + '"]').
730     val($.trim(donnees[9]));
731    
732 vpihour 762 changeValInputDemandeur(id, donnees, complement);
733 vpihour 756 }
734 vpihour 793
735     /*Fermeture de l'overlay*/
736 vpihour 741 $(this).dialog( "close" );
737     }
738     }
739     });
740     },
741     async: false
742     });
743     }
744     );
745     }
746    
747     /*
748     Change les valeurs des champs en commun des particuliers et des personnes morales
749 vpihour 793 Lié à la fonction addActionSearch
750    
751 vpihour 741 * */
752 vpihour 762 function changeValInputDemandeur(id, donnees, complement){
753 vpihour 741
754 vpihour 762 $('#' + id + ' input[id="demandeur' + complement + '"]').val($.trim(donnees[0]));
755 vpihour 741 /*Teste si la valeur retournée est TRUE*/
756 vpihour 762 if ( donnees[28] === 't' ){
757 vpihour 793
758 vpihour 762 $('#' + id + ' input[id="notification' + complement + '"]').attr('checked', 'checked');
759     $('#' + id + ' input[id="notification' + complement + '"]').val('Oui');
760     }
761 vpihour 793
762 vpihour 762 $('#' + id + ' input[id="frequent' + complement + '"]').attr('checked','checked');
763     $('#' + id + ' input[id="frequent' + complement + '"]').val('Oui');
764     $('#' + id + ' input[id="numero' + complement + '"]').val($.trim(donnees[14]));
765     $('#' + id + ' input[id="voie' + complement + '"]').val($.trim(donnees[15]));
766     $('#' + id + ' input[id="complement' + complement + '"]').val($.trim(donnees[16]));
767     $('#' + id + ' input[id="lieu_dit' + complement + '"]').val($.trim(donnees[17]));
768     $('#' + id + ' input[id="localite' + complement + '"]').val($.trim(donnees[18]));
769     $('#' + id + ' input[id="code_postal' + complement + '"]').val($.trim(donnees[19]));
770     $('#' + id + ' input[id="bp' + complement + '"]').val($.trim(donnees[20]));
771     $('#' + id + ' input[id="cedex' + complement + '"]').val($.trim(donnees[21]));
772     $('#' + id + ' input[id="pays' + complement + '"]').val($.trim(donnees[22]));
773     $('#' + id + ' input[id="division_territoriale' + complement + '"]').val($.trim(donnees[23]));
774     $('#' + id + ' input[id="telephone_fixe' + complement + '"]').val($.trim(donnees[24]));
775     $('#' + id + ' input[id="telephone_mobile' + complement + '"]').val($.trim(donnees[25]));
776     $('#' + id + ' input[id="indicatif' + complement + '"]').val($.trim(donnees[26]));
777     $('#' + id + ' input[id="courriel' + complement + '"]').val($.trim(donnees[27]));
778 vpihour 741 }
779    
780     /*
781 vpihour 793 Function de test des champs
782 vpihour 676 * */
783 vpihour 669 function isAlpha(str) {
784 vpihour 664 return /^[a-zA-Z\/]+$/.test(str);
785     }
786    
787 vpihour 768 function isMail(str){
788     return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str);
789     }
790    
791     function isPhoneNumber(str){
792     return /[0-9-()+]{3,20}/.test(str);
793     }
794    
795 vpihour 793 function testSeparator(obj){
796    
797     if ( obj.value != 'A' &&
798     obj.value != '/' ) {
799    
800     alert('Saisissez uniquement un A ou un / comme séparateur');
801     obj.value = '';
802     }
803     }
804    
805     /* FIN */
806    
807 vpihour 664 /*
808 vpihour 793 Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
809     référence cadastrale
810 vpihour 664 * */
811     function actionFormReferenceCadastrale(){
812     $('form').submit(
813     function(){
814    
815     var reference_cadastrale = '';
816 vpihour 688 var reference_cadastrale_temp = '';
817 vpihour 664
818     $('.reference_cadastrale_custom_field').each(
819     function(){
820    
821 vpihour 688 if ( $(this).val() == ';' ){
822    
823 vpihour 793 reference_cadastrale_bis = reference_cadastrale_temp +
824     ( ( reference_cadastrale_temp != '' &&
825     reference_cadastrale_temp.length > 0 )
826     ? ';' : '' );
827    
828 vpihour 763 if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*;)*$/.test(reference_cadastrale_bis) ){
829 vpihour 762
830     reference_cadastrale += reference_cadastrale_bis;
831     }
832 vpihour 688 reference_cadastrale_temp = '';
833     }
834 vpihour 793
835     else {
836    
837 vpihour 688 reference_cadastrale_temp += $(this).val();
838 vpihour 793 }
839 vpihour 688
840 vpihour 664 }
841     );
842    
843     $('#terrain_references_cadastrales').val(reference_cadastrale);
844     }
845     );
846 vpihour 669
847 vpihour 793 $('#moreFieldReferenceCadastrale' +
848     ($('.moreFieldReferenceCadastrale').length - 1 )).
849     on("click", function() {
850 vpihour 669 $(this).before(newInputReferenceCadastrale());
851 vpihour 664 });
852 vpihour 762
853 vpihour 664 }
854    
855 vpihour 670 /*
856     Action pour l'ajout de nouvelle ligne
857     * */
858 vpihour 669 function actionLineFormReferenceCadastrale(){
859     $('#morelineReferenceCadastrale').click(
860     function(){
861    
862 vpihour 793 $('.reference_cadastrale_custom_fields').
863     append( "<br/>" + fieldReferenceCadastraleBase());
864    
865     $('#moreFieldReferenceCadastrale'+
866     ($('.moreFieldReferenceCadastrale').length - 1 )).
867     on("click", function() {
868 vpihour 669 $(this).before(newInputReferenceCadastrale());
869     });
870 vpihour 762
871    
872 vpihour 669 }
873     );
874     }
875    
876 vpihour 664 /*
877 vpihour 793 Met à jour le select demande_type dès qu'un
878     dossier_autorisation_type_detaille est choisi
879 vpihour 664 * */
880 vpihour 641 function changeDemandeType(){
881    
882 vpihour 793 var idDossierAutorisationTypeDetaille =
883     $("#dossier_autorisation_type_detaille option:selected").val();
884 vpihour 641
885     if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
886    
887     changeDataSelect('demande_type','dossier_autorisation_type_detaille');
888 vpihour 664 if ( $('#demande_type option').size() < 2 )
889     showFormsDemande();
890 vpihour 641
891     $('#demande_type').parent().parent().show();
892 vpihour 651
893 vpihour 664 addNewFieldReferencesCadastrales();
894 vpihour 651
895 vpihour 664 actionFormReferenceCadastrale();
896 vpihour 669 actionLineFormReferenceCadastrale()
897 vpihour 641 }
898     else {
899     hideFields();
900     }
901     }
902    
903 vpihour 664 /*
904     Ajoute le code HTML des champs pour les références cadastrales
905     * */
906     function addNewFieldReferencesCadastrales(){
907     $('.references_cadastrales_new_field').remove();
908 vpihour 669 $('.moreFieldReferenceCadastrale').remove();
909 vpihour 672 $('#morelineReferenceCadastrale').remove();
910 vpihour 793 $('.buttonCadAdr').remove();
911 vpihour 664 $('.localisation .fieldsetContent').prepend(
912     '<div class="field field-type-text references_cadastrales_new_field" >'+
913     '<div class="form-libelle">' +
914     '<label '+
915     'class="libelle-terrain_references_cadastrales" '+
916     'for="terrain_references_cadastrales">'+
917     ' terrain_references_cadastrales '+
918     '</label>' +
919     '</div>' +
920     '<div class="form-content reference_cadastrale_custom_fields">' +
921 vpihour 669 fieldReferenceCadastraleBase() +
922 vpihour 664 '</div>' +
923     '</div>' +
924 vpihour 669 '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
925 vpihour 664 '<div class="form-libelle"></div>' +
926     '<div class="form-content">' +
927 vpihour 669 ' + ajouter d\'autres lignes' +
928 vpihour 664 '</div>' +
929 vpihour 688 '</div>'
930 vpihour 664 );
931 vpihour 688 $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
932     '<div class="form-libelle"></div>' +
933 vpihour 793 '<div class="form-content buttonCadAdr">' +
934 vpihour 688 '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
935     '</div>' +
936     '</div>' );
937 vpihour 664 }
938    
939 vpihour 670 /*
940     Séparateur caché ;
941     * */
942 vpihour 669 function hiddenSeparatorField(){
943     return '<input ' +
944     'class="reference_cadastrale_custom_field " ' +
945     'type="hidden" ' +
946     'maxlength="2" ' +
947     'size="2" ' +
948     'value=";" />';
949     }
950    
951 vpihour 670 /*
952     Ajout d'une nouvelle ligne de champ
953     * */
954 vpihour 669 function fieldReferenceCadastraleBase(){
955     return '<input ' +
956     'class="champFormulaire reference_cadastrale_custom_field" ' +
957     'type="text" ' +
958     'onchange="VerifNum(this)" ' +
959 vpihour 762 'maxlength="4" ' +
960     'size="4" ' +
961 vpihour 669 'value="" />' +
962     '<input ' +
963     'class="champFormulaire reference_cadastrale_custom_field" ' +
964     'type="text" ' +
965 vpihour 762 'maxlength="3" ' +
966     'size="3" ' +
967     'value="" '+
968     'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>' +
969 vpihour 669 '<input ' +
970     'class="champFormulaire reference_cadastrale_custom_field" ' +
971     'type="text" ' +
972     'onchange="VerifNum(this)" ' +
973 vpihour 762 'maxlength="5" ' +
974     'size="5" ' +
975 vpihour 669 'value="" />' +
976     '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
977     hiddenSeparatorField() +
978     ' + ajouter d\'autres champs' +
979     '</span>';
980     }
981    
982 vpihour 664 /*
983     Cache les champs inutules
984     * */
985 vpihour 641 function hideFields(){
986     $('.bloc').each(
987     function(){
988 vpihour 793 if ( !$(this).hasClass('dossier_type') &&
989     !$(this).hasClass('dossier_type_demande_date') ){
990 vpihour 641 $(this).hide();
991 vpihour 793 }
992    
993 vpihour 641 }
994     );
995    
996     $('.field-type-text').hide();
997     $('input[type=submit]').hide();
998     $('#demande_type').parent().parent().hide();
999     }
1000    
1001 vpihour 664 /*
1002     Affiche les champs dont on a besoin
1003     * */
1004 vpihour 641 function showFormsDemande(){
1005     $('.bloc').each(
1006     function(){
1007 vpihour 793 if ( !$(this).hasClass('dossier_type') &&
1008     !$(this).hasClass('dossier_type_demande_date') ){
1009 vpihour 641 $(this).show();
1010 vpihour 793 }
1011    
1012 vpihour 641 }
1013     );
1014    
1015     $('.field-type-text').show();
1016     $('input[type=submit]').show();
1017 vpihour 664 $('.terrain_references_cadastrales_custom').hide();
1018    
1019     $('#terrain_references_cadastrales').parent().parent().hide();
1020 vpihour 641 }
1021 vpihour 651
1022 vpihour 664 /*
1023     Action au clique sur le bouton " + ajouter d'autres champs"
1024     * */
1025 vpihour 651 function newInputReferenceCadastrale(){
1026     return '<input ' +
1027     'class="champFormulaire reference_cadastrale_custom_field" ' +
1028     'type="text" ' +
1029     'maxlength="1" ' +
1030     'size="1" ' +
1031 vpihour 741 'value="" ' +
1032     'onchange="testSeparator(this);"/>' +
1033 vpihour 651 '<input ' +
1034     'class="champFormulaire reference_cadastrale_custom_field" ' +
1035     'type="text" ' +
1036     'onchange="VerifNum(this)" ' +
1037     'maxlength="4" ' +
1038     'size="4" ' +
1039     'value="" />';
1040     }
1041 fmichon 660
1042 vpihour 741
1043    
1044 fmichon 784 /**
1045     * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1046     * tableau de bord
1047     */
1048 fmichon 660 function widget_bind_move_actions() {}
1049     function widget_bind_add_action() {}
1050     function widget_bind_edit_actions(widget_selector) {}
1051    

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26