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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 768 - (show annotations)
Tue Nov 20 11:56:59 2012 UTC (12 years, 2 months ago) by vpihour
File MIME type: application/javascript
File size: 40515 byte(s)
Vérification des données saisies dans les champs du formulaire d'ajout de demande

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26