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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 793 - (show 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 // 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
14 /**
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 if(fenetreouverte==true)
23 pfenetre.close();
24 var ev=document.f2.evenement.value;
25 var idx=document.f2.dossier.value;
26 pfenetre=window.open("../app/bible.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
27 fenetreouverte=true;
28 }
29 // bible2 - type httpclick
30 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 pfenetre=window.open("../app/bible2.php?ev="+ev+"&idx="+idx,"bible","scrollbars=yes,width=600,height=600,top=120,left=120");
37 fenetreouverte=true;
38 }
39 // bible_auto - type httpclick
40 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 pfenetre=window.open("../app/bible_auto.php?idx="+idx+"&ev="+ev,"evenement","width=600,height=300,top=120,left=120");
46 fenetreouverte=true;
47 }
48 // 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
123
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 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 //
141 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 //
149 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 // 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
169 /**
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 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 // execution de la requete en GET
183 $.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
196 /**
197 * TTélécharegement de fichier pdf en ajax
198 * spécifique de l'écran de consultation multiple
199 */
200 /* 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 /**
219 * Cette fonction permet de charger dans un dialog jqueryui un formulaire tel
220 * qu'il aurait été chargé avec ajaxIt
221 *
222 */
223 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 // Si le formulaire est submit et valide
246 var valid=$('#sousform-'+objsf+' div.ui-state-valid');
247 if(valid.length > 0) {
248 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 }
252 $(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
272 /***
273 *
274 * @todo XXX ?????????
275 */
276 // 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
292
293 /*
294 * Javascript concernant la demande
295 *
296 *
297 */
298
299 /*
300 * 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 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 && url.indexOf("form.php?obj=demande&action=0") != -1 ){
324
325 /*Fonction d'ajout de nouveau pétitionnaire*/
326 $('.morePetitionnaire').click( function() {
327
328 });
329
330 /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
331 hideFields();
332 }
333
334 if ( $('#date_demande').length > 0
335 && !$('#dossier_autorisation_type_detaille').is(':disabled')
336 && url.indexOf("form.php?obj=demande&action=1") != -1 ){
337
338 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 /* Récupère la référence cadastrale non formatée */
346 references_cadastrales = reference_cadastrale.split(';');
347 donnees = new Array();
348
349 i = 0 ;
350 /* Boucle sur les références, elles étaient séparées par un ; */
351 for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
352
353 /*Récupère le code impots du qartier [CHIFFRES]*/
354 k = 0;
355 donnees[i] = '';
356 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 donnees[i] += references_cadastrales[l].charAt(j);
362 k++;
363
364 } else {
365
366 i++;
367 break;
368 }
369 }
370
371 /* Récupère la section [LETTRES] */
372 donnees[i] = '';
373 for ( j = k ; j < references_cadastrales[l].length ; j++ )
374 if ( isAlpha(references_cadastrales[l].charAt(j)) ){
375
376 donnees[i] += references_cadastrales[l].charAt(j);
377 k++;
378
379 } else {
380
381 i++;
382 break;
383 }
384
385 /* Récupère la parcelle [CHIFFRES] */
386 donnees[i] = '';
387 for ( j = k ; j < references_cadastrales[l].length ; j++ )
388 if ( references_cadastrales[l].charAt(j) >= 0 &&
389 references_cadastrales[l].charAt(j) <= 9 ){
390
391 donnees[i] += references_cadastrales[l].charAt(j);
392 k++;
393
394 } else {
395
396 break;
397 }
398
399 /* Récupère les séparateurs [ A / ] et les sections */
400 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
406 m++;
407 donnees[++i] = references_cadastrales[l].charAt(j);
408 donnees[++i] = '';
409 }
410 else {
411
412 donnees[i] += references_cadastrales[l].charAt(j);
413 }
414 }
415
416 /*Créé autant de champs de que de référence */
417 donnees[++i] = ';';
418 i++;
419
420 if ( l > 0 ) {
421
422 $('.reference_cadastrale_custom_fields').append(
423 "<br/>" + fieldReferenceCadastraleBase()
424 );
425 }
426
427 actionFormReferenceCadastrale();
428
429 if ( m > 0 ){
430
431 for ( j = 0 ; j < m ; j++ ){
432
433 $('#moreFieldReferenceCadastrale' +
434 ( $('.moreFieldReferenceCadastrale').length - 1 ) ).
435 before(
436 newInputReferenceCadastrale()
437 );
438 }
439 }
440 }
441 /* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter
442 * d'autres lignes] */
443 actionLineFormReferenceCadastrale();
444
445 /* Ajoute les données dans les champs nouvellement créés */
446 $('.reference_cadastrale_custom_field').each(
447 function(index) {
448
449 $(this).val(donnees[index])
450 }
451 );
452 }
453 }
454 });
455
456 /*
457 Action au changement du select du type de demandeur
458 * */
459 function setTypeDemandeur(id, complement){
460
461 $('#'+id + ' select[id="type_demandeur' + complement + '"]').on('change',
462 function() {
463
464 if ( $(this).find('option:selected').first().text() == 'particulier' ){
465
466 $(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
485 $( name + ' .particulier_fields').show();
486 $( name + ' .personne_morale_fields').hide();
487 }
488 else {
489
490 $(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
512 $( name + ' .particulier_fields').hide();
513 $( name + ' .personne_morale_fields').show();
514 }
515 }
516 );
517 }
518
519 /*
520 Ajout de l'action de recherche des pétitionnaire fréquent dans un overlay
521 * */
522 function addActionSearch(id, complement){
523
524 /*Si on recherche un pétitionnaire de type particulier*/
525 $('#' + id + ' .search-part-16').click(
526 function(){
527
528 /*Données des champs nom et prénom du particulier*/
529 var donnees = "?type=particulier&par_nom=";
530 $('#' + id + ' .search_particulier_fields input').each(
531 function(i){
532
533 donnees += $(this).val() + (( i == 0 ) ? '&par_prenom=' : '') ;
534 }
535 );
536
537 /* Requête qui va récupérer les données du(es) pétitionnaire(s)
538 * correspondant(s) à la recherche */
539 $.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 /*Si la recherche a donné des résultats*/
548 if ( html.length > 2 ){
549
550 res = '<select>' ;
551 donnees = html.split(';');
552
553 /* Met les résultats de la recherche dans un select */
554 for ( i = 0 ; i < donnees.length - 1 ; i++ ){
555
556 val = donnees[i].replace('"', '');
557 line = donnees[i].split('_');
558
559 if ( line[3] != '' ){
560
561 line[3] = ' - ' + line[3];
562 }
563
564 res += '<option value="' + val + '">' +
565 line[1] + ' ' + line[2] + line[3] +
566 '</option>';
567 }
568
569 res += '</select>' ;
570 }
571
572 /* Affichage de l'overlay */
573 $('#dialog').html(res);
574
575 $( "#dialog" ).dialog({
576 modal: true,
577 buttons : {
578 Valider: function(){
579
580 /*Action à l'appui sur le bouton valider*/
581 if ( res != 'Auncune correspondance trouvée.' ){
582
583 donnees = $('#dialog select option:selected').val();
584 donnees = donnees.split('_');
585
586 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
594 $('#' + 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 /*Vérifie si la date est non vide avant de la traiter*/
605 date_temp = $.trim(donnees[3]);
606 if ( date_temp != '' ){
607
608 date = date_temp.split('-');
609 date = date[2] + "/" + date[1] + "/" + date[0] ;
610 $('#' + id +
611 ' input[id="particulier_date_naissance' +
612 complement + '"]').
613 val(date);
614
615 }
616 $('#' + 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
625 changeValInputDemandeur(id, donnees, complement);
626 }
627
628 /*Fermeture de l'overlay*/
629 $(this).dialog( "close" );
630 }
631 }
632 });
633 },
634 async: false
635 });
636 }
637 );
638
639 /*Si on recherche un pétitionnaire de type personne morale*/
640 $('#' + id + ' .search-mor-16').click(
641 function(){
642
643 /*Données des champs dénomination et nom de la personne morale*/
644 var donnees = "?type=personne_morale"+
645 "&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 $.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 /*Si la recherche a donné des résultats*/
665 if ( html > 2 ){
666
667 res = '<select>' ;
668 donnees = html.split(';');
669
670 /* Met les résultats de la recherche dans un select */
671 for ( i = 0 ; i < donnees.length - 1 ; i++ ){
672
673 val = donnees[i].replace('"', '');
674 line = donnees[i].split('_');
675
676 res += '<option value="' + val + '">' +
677 line[5] + ' ' + line[6] +
678 '</option>';
679 }
680
681 res += '</select>' ;
682 }
683
684 /* Affichage de l'overlay */
685 $('#dialog').html(res);
686
687 $( "#dialog" ).dialog({
688 modal: true,
689 buttons : {
690 Valider: function(){
691
692 /*Action à l'appui sur le bouton valider*/
693 if ( res != 'Auncune correspondance trouvée.' ){
694 donnees = $('#dialog select option:selected').val();
695 donnees = donnees.split('_');
696
697 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
707 $('#' + 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 changeValInputDemandeur(id, donnees, complement);
733 }
734
735 /*Fermeture de l'overlay*/
736 $(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 Lié à la fonction addActionSearch
750
751 * */
752 function changeValInputDemandeur(id, donnees, complement){
753
754 $('#' + id + ' input[id="demandeur' + complement + '"]').val($.trim(donnees[0]));
755 /*Teste si la valeur retournée est TRUE*/
756 if ( donnees[28] === 't' ){
757
758 $('#' + id + ' input[id="notification' + complement + '"]').attr('checked', 'checked');
759 $('#' + id + ' input[id="notification' + complement + '"]').val('Oui');
760 }
761
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 }
779
780 /*
781 Function de test des champs
782 * */
783 function isAlpha(str) {
784 return /^[a-zA-Z\/]+$/.test(str);
785 }
786
787 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 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 /*
808 Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
809 référence cadastrale
810 * */
811 function actionFormReferenceCadastrale(){
812 $('form').submit(
813 function(){
814
815 var reference_cadastrale = '';
816 var reference_cadastrale_temp = '';
817
818 $('.reference_cadastrale_custom_field').each(
819 function(){
820
821 if ( $(this).val() == ';' ){
822
823 reference_cadastrale_bis = reference_cadastrale_temp +
824 ( ( reference_cadastrale_temp != '' &&
825 reference_cadastrale_temp.length > 0 )
826 ? ';' : '' );
827
828 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
830 reference_cadastrale += reference_cadastrale_bis;
831 }
832 reference_cadastrale_temp = '';
833 }
834
835 else {
836
837 reference_cadastrale_temp += $(this).val();
838 }
839
840 }
841 );
842
843 $('#terrain_references_cadastrales').val(reference_cadastrale);
844 }
845 );
846
847 $('#moreFieldReferenceCadastrale' +
848 ($('.moreFieldReferenceCadastrale').length - 1 )).
849 on("click", function() {
850 $(this).before(newInputReferenceCadastrale());
851 });
852
853 }
854
855 /*
856 Action pour l'ajout de nouvelle ligne
857 * */
858 function actionLineFormReferenceCadastrale(){
859 $('#morelineReferenceCadastrale').click(
860 function(){
861
862 $('.reference_cadastrale_custom_fields').
863 append( "<br/>" + fieldReferenceCadastraleBase());
864
865 $('#moreFieldReferenceCadastrale'+
866 ($('.moreFieldReferenceCadastrale').length - 1 )).
867 on("click", function() {
868 $(this).before(newInputReferenceCadastrale());
869 });
870
871
872 }
873 );
874 }
875
876 /*
877 Met à jour le select demande_type dès qu'un
878 dossier_autorisation_type_detaille est choisi
879 * */
880 function changeDemandeType(){
881
882 var idDossierAutorisationTypeDetaille =
883 $("#dossier_autorisation_type_detaille option:selected").val();
884
885 if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
886
887 changeDataSelect('demande_type','dossier_autorisation_type_detaille');
888 if ( $('#demande_type option').size() < 2 )
889 showFormsDemande();
890
891 $('#demande_type').parent().parent().show();
892
893 addNewFieldReferencesCadastrales();
894
895 actionFormReferenceCadastrale();
896 actionLineFormReferenceCadastrale()
897 }
898 else {
899 hideFields();
900 }
901 }
902
903 /*
904 Ajoute le code HTML des champs pour les références cadastrales
905 * */
906 function addNewFieldReferencesCadastrales(){
907 $('.references_cadastrales_new_field').remove();
908 $('.moreFieldReferenceCadastrale').remove();
909 $('#morelineReferenceCadastrale').remove();
910 $('.buttonCadAdr').remove();
911 $('.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 fieldReferenceCadastraleBase() +
922 '</div>' +
923 '</div>' +
924 '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
925 '<div class="form-libelle"></div>' +
926 '<div class="form-content">' +
927 ' + ajouter d\'autres lignes' +
928 '</div>' +
929 '</div>'
930 );
931 $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
932 '<div class="form-libelle"></div>' +
933 '<div class="form-content buttonCadAdr">' +
934 '<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 }
938
939 /*
940 Séparateur caché ;
941 * */
942 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 /*
952 Ajout d'une nouvelle ligne de champ
953 * */
954 function fieldReferenceCadastraleBase(){
955 return '<input ' +
956 'class="champFormulaire reference_cadastrale_custom_field" ' +
957 'type="text" ' +
958 'onchange="VerifNum(this)" ' +
959 'maxlength="4" ' +
960 'size="4" ' +
961 'value="" />' +
962 '<input ' +
963 'class="champFormulaire reference_cadastrale_custom_field" ' +
964 'type="text" ' +
965 '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 '<input ' +
970 'class="champFormulaire reference_cadastrale_custom_field" ' +
971 'type="text" ' +
972 'onchange="VerifNum(this)" ' +
973 'maxlength="5" ' +
974 'size="5" ' +
975 'value="" />' +
976 '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
977 hiddenSeparatorField() +
978 ' + ajouter d\'autres champs' +
979 '</span>';
980 }
981
982 /*
983 Cache les champs inutules
984 * */
985 function hideFields(){
986 $('.bloc').each(
987 function(){
988 if ( !$(this).hasClass('dossier_type') &&
989 !$(this).hasClass('dossier_type_demande_date') ){
990 $(this).hide();
991 }
992
993 }
994 );
995
996 $('.field-type-text').hide();
997 $('input[type=submit]').hide();
998 $('#demande_type').parent().parent().hide();
999 }
1000
1001 /*
1002 Affiche les champs dont on a besoin
1003 * */
1004 function showFormsDemande(){
1005 $('.bloc').each(
1006 function(){
1007 if ( !$(this).hasClass('dossier_type') &&
1008 !$(this).hasClass('dossier_type_demande_date') ){
1009 $(this).show();
1010 }
1011
1012 }
1013 );
1014
1015 $('.field-type-text').show();
1016 $('input[type=submit]').show();
1017 $('.terrain_references_cadastrales_custom').hide();
1018
1019 $('#terrain_references_cadastrales').parent().parent().hide();
1020 }
1021
1022 /*
1023 Action au clique sur le bouton " + ajouter d'autres champs"
1024 * */
1025 function newInputReferenceCadastrale(){
1026 return '<input ' +
1027 'class="champFormulaire reference_cadastrale_custom_field" ' +
1028 'type="text" ' +
1029 'maxlength="1" ' +
1030 'size="1" ' +
1031 'value="" ' +
1032 'onchange="testSeparator(this);"/>' +
1033 '<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
1042
1043
1044 /**
1045 * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1046 * tableau de bord
1047 */
1048 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