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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 807 - (show annotations)
Thu Nov 22 16:33:33 2012 UTC (12 years, 2 months ago) by nhaye
File MIME type: application/javascript
File size: 40209 byte(s)
Ajout d'un bouton pour ajouter un petitionnaire principal,
modification du demandeur afin de recupérer l'id du demandeur recement ajouter,
ajout de la function de callback pour recupérer cet id,
modification de la mise en page du formulaire de demande.

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 * @param objsf string : objet de sousformulaire
223 * @param link string : lien vers un sousformulaire (../scr/sousform.php...)
224 * @param width integer: width en px
225 * @param height integer: height en px
226 * @param callback function (optionel) : nom de la méthode à appeler
227 * à la fermeture du dialog
228 * @param callbackParams mixed (optionel) : paramètre à traiter dans la function
229 * callback
230 *
231 **/
232 function popupIt(objsf, link, width, height, callback, callbackParams) {
233 // Insertion du conteneur du dialog
234 var dialog = $('<div id=\"sousform-'+objsf+'\"></div>').insertAfter('.formControls');
235 $('<input type=\"text\" name=\"recherchedyn\" id=\"recherchedyn\" value=\"\" class=\"champFormulaire\" style=\"display:none\" />').insertAfter('#sousform-'+objsf);
236
237 // execution de la requete passee en parametre
238 // (idem ajaxIt + callback)
239 $.ajax({
240 type: "GET",
241 url: link,
242 cache: false,
243 success: function(html){
244 //Suppression d'un precedent dialog
245 dialog.empty();
246 //Ajout du contenu recupere
247 dialog.append(html);
248 //Initialisation du theme OM
249 om_initialize_content();
250 //Creation du dialog
251 $(dialog).dialog({
252 //OnClose suppression du contenu
253 close: function(ev, ui) {
254 // Si le formulaire est submit et valide on execute la méthode
255 // passée en paramètre
256 if (typeof(callback) === "function") {
257 callback(callbackParams);
258 }
259 $(this).remove();
260 },
261 resizable: false,
262 modal: true,
263 width: width,
264 height: height,
265 });
266 },
267 async : false
268 });
269 //Fermeture du dialog lors d'un clic sur le bouton retour
270 $('#sousform-'+objsf).on("click",'a.retour',function() {
271 $(dialog).dialog('close').remove();
272 });
273 return false;
274 }
275
276 /***
277 * Fonction getter des paramètres de l'url courante
278 */
279 // Parse URL Queries Method
280 (function($){
281 $.getQuery = function( query ) {
282 query = query.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
283 var expr = "[\\?&]"+query+"=([^&#]*)";
284 var regex = new RegExp( expr );
285 var results = regex.exec( window.location.href );
286 if( results !== null ) {
287 return results[1];
288 return decodeURIComponent(results[1].replace(/\+/g, " "));
289 } else {
290 return false;
291 }
292 };
293 })(jQuery);
294
295
296 /*
297 * Javascript concernant la demande d'avis
298 *
299 *
300 */
301
302 /**
303 * Fonction de callback appellée lors de la fermeture du dialog (popupit)
304 * du retour d'avis d'un service
305 **/
306 function returnToTab(objsf) {
307 var valid=$('#sousform-'+objsf+' div.ui-state-valid');
308 if(valid.length > 0) {
309 document.location.href="../scr/tab.php?obj="+$.getQuery('obj')+"&premier="+$.getQuery('premier')
310 +"&advs_id="+$.getQuery('advs_id')+"&recherche="+$.getQuery('recherche')+"&tricol="+$.getQuery('tricol')
311 +"&selectioncol="+$.getQuery('selectioncol');
312 }
313 };
314
315
316 /*
317 * Javascript concernant la demande
318 *
319 *
320 */
321
322 /**
323 * Function permettant d'insérer l'id du demandeur ajouté dans un input hidden
324 **/
325 function getDemandeurId(type) {
326 var id_demandeur=$('#id_retour').val();
327 $('#add_'+type).hide();
328 $('<input type="hidden" name="'+type+'__'+id_demandeur+'" value="'+id_demandeur+'"/>').insertBefore('#add_'+type);
329 }
330
331 /*
332 * A garder
333 */
334 /*
335 * '<span class="om-icon om-icon-16 om-icon-fix search-part-16" title="Chercher un petitionnaire"></span>'
336 * ''
337 * '<div class="field field-type-text morePetitionnaire" style="display: table-row;">' +
338 '<div class="form-libelle">' +
339 '<label class="libelle-more_petitionnaire" for="terrain_superficie"> + Ajouter un autre p&eacute;titionnaire </label>' +
340 '</div>' +
341 '<div class="form-content">' +
342 '</div>' +
343 '</div>'
344 */
345
346
347 /*
348 Ajoute le formulaire d'jout de référence cadastrale personnalisé
349 * */
350 $(function() {
351
352 changeDemandeurType('qualite');
353 addSearchIcon();
354 addDivDialog('.bloc_demandeur');
355
356 url = document.location + "" ;
357 if ( $('#date_demande').length > 0
358 && !$('#dossier_autorisation_type_detaille').is(':disabled')
359 && url.indexOf("form.php?obj=demande&action=0") != -1 ){
360
361 /*Fonction d'ajout de nouveau pétitionnaire*/
362 $('.morePetitionnaire').click( function() {
363
364 });
365
366 $("#add_petitionnaire_principal").click( function() {
367 popupIt('petitionnaire',
368 '../scr/sousform.php?obj=petitionnaire&action=0'+
369 '&retourformulaire=demande&principal=dfsdfsd', 780, 500,
370 getDemandeurId, 'petitionnaire_principal');
371 });
372 /*Cache les champs avant que dossier_autorisation_type_detaille soit choisi*/
373 hideFields();
374 }
375
376 if ( $('#date_demande').length > 0
377 && !$('#dossier_autorisation_type_detaille').is(':disabled')
378 && url.indexOf("form.php?obj=demande&action=1") != -1 ){
379
380 addNewFieldReferencesCadastrales();
381 $('#terrain_references_cadastrales').parent().parent().hide();
382
383 reference_cadastrale = $('#terrain_references_cadastrales').val();
384 /*Formatage de la reference cadastrale*/
385 if ( reference_cadastrale != '' ){
386
387 /* Récupère la référence cadastrale non formatée */
388 references_cadastrales = reference_cadastrale.split(';');
389 donnees = new Array();
390
391 i = 0 ;
392 /* Boucle sur les références, elles étaient séparées par un ; */
393 for ( l = 0 ; l < references_cadastrales.length - 1 ; l ++ ){
394
395 /*Récupère le code impots du qartier [CHIFFRES]*/
396 k = 0;
397 donnees[i] = '';
398 for ( j = k ; j < references_cadastrales[l].length ; j++ ){
399
400 if ( references_cadastrales[l].charAt(j) >= 0 &&
401 references_cadastrales[l].charAt(j) <= 9 ){
402
403 donnees[i] += references_cadastrales[l].charAt(j);
404 k++;
405
406 } else {
407
408 i++;
409 break;
410 }
411 }
412
413 /* Récupère la section [LETTRES] */
414 donnees[i] = '';
415 for ( j = k ; j < references_cadastrales[l].length ; j++ )
416 if ( isAlpha(references_cadastrales[l].charAt(j)) ){
417
418 donnees[i] += references_cadastrales[l].charAt(j);
419 k++;
420
421 } else {
422
423 i++;
424 break;
425 }
426
427 /* Récupère la parcelle [CHIFFRES] */
428 donnees[i] = '';
429 for ( j = k ; j < references_cadastrales[l].length ; j++ )
430 if ( references_cadastrales[l].charAt(j) >= 0 &&
431 references_cadastrales[l].charAt(j) <= 9 ){
432
433 donnees[i] += references_cadastrales[l].charAt(j);
434 k++;
435
436 } else {
437
438 break;
439 }
440
441 /* Récupère les séparateurs [ A / ] et les sections */
442 m = 0 ;
443 if ( k < references_cadastrales[l].length ){
444
445 for ( j = k ; j < references_cadastrales[l].length ; j++ )
446 if ( isAlpha(references_cadastrales[l].charAt(j)) ){
447
448 m++;
449 donnees[++i] = references_cadastrales[l].charAt(j);
450 donnees[++i] = '';
451 }
452 else {
453
454 donnees[i] += references_cadastrales[l].charAt(j);
455 }
456 }
457
458 /*Créé autant de champs de que de référence */
459 donnees[++i] = ';';
460 i++;
461
462 if ( l > 0 ) {
463
464 $('.reference_cadastrale_custom_fields').append(
465 "<br/>" + fieldReferenceCadastraleBase()
466 );
467 }
468
469 actionFormReferenceCadastrale();
470
471 if ( m > 0 ){
472
473 for ( j = 0 ; j < m ; j++ ){
474
475 $('#moreFieldReferenceCadastrale' +
476 ( $('.moreFieldReferenceCadastrale').length - 1 ) ).
477 before(
478 newInputReferenceCadastrale()
479 );
480 }
481 }
482 }
483 /* Action sur les boutons [+ ajouter d'autres champs] et [+ ajouter
484 * d'autres lignes] */
485 actionLineFormReferenceCadastrale();
486
487 /* Ajoute les données dans les champs nouvellement créés */
488 $('.reference_cadastrale_custom_field').each(
489 function(index) {
490
491 $(this).val(donnees[index])
492 }
493 );
494 }
495 }
496 });
497
498 /*
499 * Ajoute les icônes pour la recherche de pétitionnaire fréquent.
500 */
501 function addSearchIcon(){
502
503 /*Ajout de l'icône après le champs du prénom du particulier*/
504 $('.search_particulier_fields input').
505 last().
506 after(
507 '<span '+
508 'class="om-icon om-icon-16 om-icon-fix search-part-16" '+
509 'title="Chercher un petitionnaire">'+
510 '</span>'
511 );
512
513 /*Ajout de l'icône après le champs dénomination et nom de la personne morale*/
514 $('.search_personne_morale_fields input').each(
515 function(){
516 $(this).
517 after(
518 '<span '+
519 'class="om-icon om-icon-16 om-icon-fix search-mor-16" '+
520 'title="Chercher un petitionnaire"> '+
521 '</span>'
522 );
523 }
524 );
525
526 addActionSearchIcon('#form-content');
527 }
528
529 /*
530 * Ajoute les actions sur les icônes de recherche
531 */
532 function addActionSearchIcon(id){
533
534 /*Si on recherche un pétitionnaire de type particulier*/
535 $(' .search-part-16').click(
536 function(){
537
538 /*Le champ nom du particulier doit contenir au moins trois lettres*/
539 if ( $('#particulier_nom').val().length < 3 ||
540 $('#particulier_prenom') < 3 ){
541
542 alert('Saisissez au moins trois lettres pour la recherche');
543 return;
544 }
545
546 /*Données des champs nom et prénom du particulier*/
547 var donnees = "?qualite=particulier"+
548 "&par_nom=" + $('.search_particulier_fields #particulier_nom').val() +
549 "&par_prenom=" + $('.search_particulier_fields #particulier_prenom').val();
550
551 /* Requête qui va récupérer les données duaddSearchIcon(es) pétitionnaire(s)
552 * correspondant(s) à la recherche */
553 $.ajax({
554 type: "GET",
555 url: "../app/findPetitionnaire.php" + donnees ,
556 cache: false,
557 success: function(html){
558
559 res = 'Auncune correspondance trouvée.';
560
561 /*Si la recherche a donné des résultats*/
562 if ( html.length > 2 ){
563
564 res = '' ;
565 donnees = html.split(';');
566 nbRes = donnees.length;
567
568 /*Limitation des résultats à 50 */
569 if ( nbRes > 50 ){
570
571 nbRes = 50;
572 res = 'Votre recherche a donn&eacute; ' + donnees.length
573 + ' r&eacute;sultats. Seul les cinquantes premiers ' +
574 'seront affich&eacute;s.<br/>';
575 }
576
577 res += '<select>' ;
578
579 /* Met les résultats de la recherche dans un select */
580 for ( i = 0 ; i < nbRes - 1 ; i++ ){
581
582 val = donnees[i].replace('"', '');
583 line = donnees[i].split('_');
584
585 if ( line[3] != '' ){
586
587 line[3] = ' - ' + line[3];
588 }
589
590 res += '<option value="' + val + '">' +
591 line[1] + ' ' + line[2] + line[3] +
592 '</option>';
593 }
594
595 res += '</select>' ;
596 }
597
598 /* Affichage de l'overlay */
599 $('#dialog').html(res);
600
601 $( "#dialog" ).dialog({
602 modal: true,
603 buttons : {
604 Valider: function(){
605
606 /*Action à l'appui sur le bouton valider*/
607 if ( res != 'Auncune correspondance trouvée.' ){
608
609 /*Vide les valeurs des champs*/
610 emptyFields(id);
611
612 donnees = $('#dialog select option:selected').val();
613 donnees = donnees.split('_');
614
615 if ( $.isNumeric(donnees[4]) ){
616 $('#particulier_civilite ' +
617 'option[value="' + $.trim(donnees[4]) + '"]').
618 attr('selected','selected');
619 }
620
621 $('#particulier_nom').
622 val($.trim(donnees[1]));
623
624 $('#particulier_prenom').
625 val($.trim(donnees[2]));
626
627 /*Vérifie si la date est non vide avant de la traiter*/
628 date_temp = $.trim(donnees[3]);
629 if ( date_temp != '' ){
630
631 date = date_temp.split('-');
632 date = date[2] + "/" + date[1] + "/" + date[0] ;
633 $('#particulier_date_naissance').
634 val(date);
635
636 }
637 $('#particulier_commune_naissance').
638 val($.trim(donnees[10]));
639 $('#particulier_departement_naissance').
640 val($.trim(donnees[11]));
641
642 changeValInputDemandeur(donnees);
643 }
644
645 /*Fermeture de l'overlay*/
646 $(this).dialog( "close" );
647 }
648 }
649 });
650 },
651 async: false
652 });
653 }
654 );
655
656 /*Si on recherche un pétitionnaire de type personne morale*/
657 $('.search-mor-16').click(
658 function(){
659
660 /*Le champ nom du particulier doit contenir au moins trois lettres*/
661 if ( $('#personne_morale_denomination').val().length < 3 ||
662 $('#personne_morale_nom') < 3 ){
663
664 alert('Saisissez au moins trois lettres pour la recherche');
665 return;
666 }
667
668 /*Données des champs dénomination et nom de la personne morale*/
669 var donnees = "?qualite=personne_morale"+
670 "&mor_denomination="+$('#personne_morale_denomination').val() +
671 "&mor_nom="+$('#personne_morale_nom').val();
672
673 /* Requête qui va récupérer les données du(es) pétitionnaire(s)
674 * correspondant(s) à la recherche */
675 $.ajax({
676 type: "GET",
677 url: "../app/findPetitionnaire.php" + donnees ,
678 cache: false,
679 success: function(html){
680
681 res = 'Auncune correspondance trouvée.';
682
683 /*Si la recherche a donné des résultats*/
684 if ( html.length > 2 ){
685
686 res = '' ;
687 donnees = html.split(';');
688 nbRes = donnees.length;
689
690 /*Limitation des résultats à 50 */
691 if ( nbRes > 50 ){
692
693 nbRes = 50;
694 res = 'Votre recherche a donn&eacute; ' + donnees.length
695 + ' r&eacute;sultats. Seul les cinquantes premiers ' +
696 'seront affich&eacute;s.<br/>';
697 }
698
699 res += '<select>' ;
700
701 /* Met les résultats de la recherche dans un select */
702 for ( i = 0 ; i < nbRes - 1 ; i++ ){
703
704 val = donnees[i].replace('"', '');
705 line = donnees[i].split('_');
706
707 res += '<option value="' + val + '">' +
708 line[5] + ' ' + line[6] +
709 '</option>';
710 }
711
712 res += '</select>' ;
713 }
714
715 /* Affichage de l'overlay */
716 $('#dialog').html(res);
717
718 $( "#dialog" ).dialog({
719 modal: true,
720 buttons : {
721 Valider: function(){
722
723 /*Vide les valeurs des champs*/
724 emptyFields(id);
725
726 /*Action à l'appui sur le bouton valider*/
727 if ( res != 'Auncune correspondance trouvée.' ){
728 donnees = $('#dialog select option:selected').val();
729 donnees = donnees.split('_');
730
731 if ( $.isNumeric(donnees[8]) ){
732
733 $('#personne_morale_civilite ' +
734 'option[value="' + $.trim(donnees[8]) + '"]').
735 attr('selected','selected');
736 }
737
738 $('#personne_morale_denomination').
739 val($.trim(donnees[5]));
740
741 $('#personne_morale_raison_sociale').
742 val($.trim(donnees[12]));
743
744 $('#personne_morale_siret').
745 val($.trim(donnees[6]));
746
747 $('#personne_morale_categorie_juridique').
748 val($.trim(donnees[13]));
749
750 $('#personne_morale_nom').
751 val($.trim(donnees[7]));
752
753 $('#personne_morale_prenom').
754 val($.trim(donnees[9]));
755
756 changeValInputDemandeur(donnees);
757 }
758
759 /*Fermeture de l'overlay*/
760 $(this).dialog( "close" );
761 }
762 }
763 });
764 },
765 async: false
766 });
767 }
768 );
769
770 }
771
772 /*
773 * Vide les champs avant d'y mettre les nouvelles informations
774 */
775 function emptyFields(id){
776 $(id + ' input').each(
777 function(){
778 $(this).val('');
779 }
780 );
781
782 $(id + ' select option[value=""]').each(
783 function(){
784
785 /*Ne pas remettre à zéro le select concernant la qualite du demandeur*/
786 if ( $(this).attr('id') != 'qualite' ) {
787
788 $(this).attr('selected', 'selected');
789 }
790 }
791 );
792
793 $(id + ' input[type="checkbox"]').each(
794 function(){
795 $(this).val('');
796 $(this).removeAttr('checked');
797 }
798 );
799 }
800
801 /*
802 Change les valeurs des champs en commun des particuliers et des personnes morales
803 Lié à la fonction addActionSearch
804
805 * */
806 function changeValInputDemandeur( donnees){
807
808 $('input[id="demandeur"]').val($.trim(donnees[0]));
809
810 /*Teste si la valeur retournée est TRUE*/
811 if ( donnees[28] === 't' ){
812
813 $('#notification').attr('checked', 'checked');
814 $('#notification').val('Oui');
815 }
816
817 $('#frequent').attr('checked','checked');
818 $('#frequent').val('Oui');
819 $('#numero').val($.trim(donnees[14]));
820 $('#voie').val($.trim(donnees[15]));
821 $('#complement').val($.trim(donnees[16]));
822 $('#lieu_dit').val($.trim(donnees[17]));
823 $('#localite').val($.trim(donnees[18]));
824 $('#code_postal').val($.trim(donnees[19]));
825 $('#bp').val($.trim(donnees[20]));
826 $('#cedex').val($.trim(donnees[21]));
827 $('#pays').val($.trim(donnees[22]));
828 $('#division_territoriale').val($.trim(donnees[23]));
829 $('#telephone_fixe').val($.trim(donnees[24]));
830 $('#telephone_mobile').val($.trim(donnees[25]));
831 $('#indicatif').val($.trim(donnees[26]));
832 $('#courriel').val($.trim(donnees[27]));
833 }
834
835 /*
836 * Ajoute un div pour l'overlay dialog de jQuery
837 */
838 function addDivDialog(id){
839
840 $(id).prepend('<div id="dialog"></div>');
841 }
842
843 /*
844 Action au changement du select de la qualite du demandeur
845 * */
846 function changeDemandeurType(id){
847
848 /*Si la qualite du demandeur est particulier */
849 if ( $('#' + id + ' option:selected').val() == 'particulier' ){
850
851 $('.personne_morale_fields input').each(
852 function(){
853 $(this).val('');
854 }
855 );
856 $('.personne_morale_fields select option[value=""]').each(
857 function(){
858 $(this).attr('selected', 'selected');
859 }
860 );
861
862 $('.personne_morale_fields').hide();
863 $('.particulier_fields').show();
864 }
865 else {
866
867 $('.particulier_fields input').each(
868 function(){
869 $(this).val('');
870 }
871 );
872 $('.particulier_fields select option[value=""]').each(
873 function(){
874 $(this).attr('selected', 'selected');
875 }
876 );
877
878 $('.particulier_fields').hide();
879 $('.personne_morale_fields').show();
880 }
881 }
882
883 /*
884 Function de test des champs
885 * */
886 function isAlpha(str) {
887 return /^[a-zA-Z\/]+$/.test(str);
888 }
889
890 function isMail(str){
891 return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(str);
892 }
893
894 function isPhoneNumber(str){
895 return /[0-9-()+]{3,20}/.test(str);
896 }
897
898 function testSeparator(obj){
899
900 if ( obj.value != 'A' &&
901 obj.value != '/' ) {
902
903 alert('Saisissez uniquement un A ou un / comme séparateur');
904 obj.value = '';
905 }
906 }
907
908 /* FIN */
909
910 /*
911 Ajoute les ations spécifiques pour le formulaire personnalisé d'ajout de
912 référence cadastrale
913 * */
914 function actionFormReferenceCadastrale(){
915 $('form').submit(
916 function(){
917
918 var reference_cadastrale = '';
919 var reference_cadastrale_temp = '';
920
921 $('.reference_cadastrale_custom_field').each(
922 function(){
923
924 if ( $(this).val() == ';' ){
925
926 reference_cadastrale_bis = reference_cadastrale_temp +
927 ( ( reference_cadastrale_temp != '' &&
928 reference_cadastrale_temp.length > 0 )
929 ? ';' : '' );
930
931 if ( /^([0-9]{1,4}[a-zA-Z]{1,3}[0-9]{1,5}([A\/]{1}[0-9]{1,4})*;)*$/.test(reference_cadastrale_bis) ){
932
933 reference_cadastrale += reference_cadastrale_bis;
934 }
935 reference_cadastrale_temp = '';
936 }
937
938 else {
939
940 reference_cadastrale_temp += $(this).val();
941 }
942
943 }
944 );
945
946 $('#terrain_references_cadastrales').val(reference_cadastrale);
947 }
948 );
949
950 $('#moreFieldReferenceCadastrale' +
951 ($('.moreFieldReferenceCadastrale').length - 1 )).
952 on("click", function() {
953 $(this).before(newInputReferenceCadastrale());
954 });
955
956 }
957
958 /*
959 Action pour l'ajout de nouvelle ligne
960 * */
961 function actionLineFormReferenceCadastrale(){
962 $('#morelineReferenceCadastrale').click(
963 function(){
964
965 $('.reference_cadastrale_custom_fields').
966 append( "<br/>" + fieldReferenceCadastraleBase());
967
968 $('#moreFieldReferenceCadastrale'+
969 ($('.moreFieldReferenceCadastrale').length - 1 )).
970 on("click", function() {
971 $(this).before(newInputReferenceCadastrale());
972 });
973
974
975 }
976 );
977 }
978
979 /*
980 Met à jour le select demande_type dès qu'un
981 dossier_autorisation_type_detaille est choisi
982 * */
983 function changeDemandeType(){
984
985 var idDossierAutorisationTypeDetaille =
986 $("#dossier_autorisation_type_detaille option:selected").val();
987
988 if ( $.isNumeric(idDossierAutorisationTypeDetaille) ){
989
990 changeDataSelect('demande_type','dossier_autorisation_type_detaille');
991 if ( $('#demande_type option').size() < 2 )
992 showFormsDemande();
993
994 $('#demande_type').parent().parent().show();
995
996 addNewFieldReferencesCadastrales();
997
998 actionFormReferenceCadastrale();
999 actionLineFormReferenceCadastrale()
1000 }
1001 else {
1002 hideFields();
1003 }
1004 }
1005
1006 /*
1007 Ajoute le code HTML des champs pour les références cadastrales
1008 * */
1009 function addNewFieldReferencesCadastrales(){
1010 $('.references_cadastrales_new_field').remove();
1011 $('.moreFieldReferenceCadastrale').remove();
1012 $('#morelineReferenceCadastrale').remove();
1013 $('.buttonCadAdr').remove();
1014 $('.localisation .fieldsetContent').prepend(
1015 '<div class="field field-type-text references_cadastrales_new_field" >'+
1016 '<div class="form-libelle">' +
1017 '<label '+
1018 'class="libelle-terrain_references_cadastrales" '+
1019 'for="terrain_references_cadastrales">'+
1020 ' terrain_references_cadastrales '+
1021 '</label>' +
1022 '</div>' +
1023 '<div class="form-content reference_cadastrale_custom_fields">' +
1024 fieldReferenceCadastraleBase() +
1025 '</div>' +
1026 '</div>' +
1027 '<div class="field field-type-text" id="morelineReferenceCadastrale">' +
1028 '<div class="form-libelle"></div>' +
1029 '<div class="form-content">' +
1030 ' + ajouter d\'autres lignes' +
1031 '</div>' +
1032 '</div>'
1033 );
1034 $('#terrain_superficie').parent().parent().after('<div class="field field-type-text" >' +
1035 '<div class="form-libelle"></div>' +
1036 '<div class="form-content buttonCadAdr">' +
1037 '<input id="cad-adr-them" class="ui-button ui-widget ui-state-default ui-corner-all" type="button" value="Cadastrale < = > Adresse"/>' +
1038 '</div>' +
1039 '</div>' );
1040 }
1041
1042 /*
1043 Séparateur caché ;
1044 * */
1045 function hiddenSeparatorField(){
1046 return '<input ' +
1047 'class="reference_cadastrale_custom_field " ' +
1048 'type="hidden" ' +
1049 'maxlength="2" ' +
1050 'size="2" ' +
1051 'value=";" />';
1052 }
1053
1054 /*
1055 Ajout d'une nouvelle ligne de champ
1056 * */
1057 function fieldReferenceCadastraleBase(){
1058 return '<input ' +
1059 'class="champFormulaire reference_cadastrale_custom_field" ' +
1060 'type="text" ' +
1061 'onchange="VerifNum(this)" ' +
1062 'maxlength="4" ' +
1063 'size="4" ' +
1064 'value="" />' +
1065 '<input ' +
1066 'class="champFormulaire reference_cadastrale_custom_field" ' +
1067 'type="text" ' +
1068 'maxlength="3" ' +
1069 'size="3" ' +
1070 'value="" '+
1071 'onchange="if ( !isAlpha(this.value) ){ alert(\'Vous ne devez saisir que des lettres dans ce champs.\'); this.value = \'\'; }"/>' +
1072 '<input ' +
1073 'class="champFormulaire reference_cadastrale_custom_field" ' +
1074 'type="text" ' +
1075 'onchange="VerifNum(this)" ' +
1076 'maxlength="5" ' +
1077 'size="5" ' +
1078 'value="" />' +
1079 '<span id="moreFieldReferenceCadastrale' + $('.moreFieldReferenceCadastrale').length + '" class="moreFieldReferenceCadastrale">' +
1080 hiddenSeparatorField() +
1081 ' + ajouter d\'autres champs' +
1082 '</span>';
1083 }
1084
1085 /**
1086 * Cache les champs inutules
1087 **/
1088 function hideFields(){
1089 $('.demande_hidden_bloc').each(
1090 function(){
1091 $(this).hide();
1092 }
1093 );
1094
1095 $('.field-type-text').hide();
1096 $('input[type=submit]').hide();
1097 $('#demande_type').parent().parent().hide();
1098 }
1099
1100 /*
1101 Affiche les champs dont on a besoin
1102 * */
1103 function showFormsDemande(){
1104 $('.demande_hidden_bloc').each(
1105 function(){
1106 $(this).show();
1107 }
1108 );
1109
1110 $('.field-type-text').show();
1111 $('input[type=submit]').show();
1112 $('.terrain_references_cadastrales_custom').hide();
1113
1114 $('#terrain_references_cadastrales').parent().parent().hide();
1115 }
1116
1117 /*
1118 Action au clique sur le bouton " + ajouter d'autres champs"
1119 * */
1120 function newInputReferenceCadastrale(){
1121 return '<input ' +
1122 'class="champFormulaire reference_cadastrale_custom_field" ' +
1123 'type="text" ' +
1124 'maxlength="1" ' +
1125 'size="1" ' +
1126 'value="" ' +
1127 'onchange="testSeparator(this);"/>' +
1128 '<input ' +
1129 'class="champFormulaire reference_cadastrale_custom_field" ' +
1130 'type="text" ' +
1131 'onchange="VerifNum(this)" ' +
1132 'maxlength="4" ' +
1133 'size="4" ' +
1134 'value="" />';
1135 }
1136
1137
1138
1139 /**
1140 * Desactivation des fonctions widget du tableau de bord inutiles sur le nouveau
1141 * tableau de bord
1142 */
1143 function widget_bind_move_actions() {}
1144 function widget_bind_add_action() {}
1145 function widget_bind_edit_actions(widget_selector) {}
1146

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26