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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 784 - (hide annotations)
Tue Nov 20 18:47:43 2012 UTC (12 years, 2 months ago) by fmichon
File MIME type: application/javascript
File size: 41611 byte(s)
Ajout de commentaires

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26