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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 823 - (show annotations)
Fri Nov 23 13:56:01 2012 UTC (12 years, 2 months ago) by vpihour
File MIME type: application/javascript
File size: 40105 byte(s)
Ajout d'un test pour le type de demandeur

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26