58dfb7f969d547bdc4efc51348f5dd30e16bd4d3
[perso/Denise/oms.git] / static / outilspage.js
1 // fonctions générales pour la page
2
3 var taillemaxdate = 10;
4 var placeholder_date = "aaaa-mm-jj" ;
5
6
7 function ajoutelignes()
8 {
9 // va ajouter 3 lignes au tableau de données
10 var table = document.getElementById("donneespoids")
11 var nbligne = table.children[0].childElementCount ;
12 // les données étant numérotées à partir de 0 on pourra commencer à partir de nbligne -1
13 // car il faut éliminer la ligne de header.
14
15 // voir dans quel mode on est : date ou texte
16 var deuxiemeligne = table.children[0].children[1] ;
17 var celldate = deuxiemeligne.children[1] ;
18 var mode = celldate.firstChild.type ;
19
20 var nbajout = 3 ;
21 for(var i=nbligne-1; i<nbligne+nbajout-1; i++)
22 {
23 var ligne = table.insertRow(i+1);
24 var cellage = ligne.insertCell(0);
25 var celldate = ligne.insertCell(1);
26 var cellpoids = ligne.insertCell(2);
27
28 cellage.innerHTML = '<input type="text" name="age_'+i+'">' ;
29 celldate.innerHTML = '<input name="date_'+i+'">' ;
30 celldate.firstChild.type = mode ;
31 if(mode == "text") // si on a déjà affiché les cases en mode texte, on continue en mode texte
32 {
33 celldate.firstChild.size = taillemaxdate ;
34 celldate.firstChild.maxlength = taillemaxdate ;
35 celldate.firstChild.placeholder = placeholder_date ;
36 }
37 cellpoids.innerHTML = '<input type="text" name="poids_'+i+'">' ;
38 }
39
40 }
41
42 // Affichage de la textarea "export"
43 function affiche_export()
44 {
45 document.getElementById("export").style.display = "block" ;
46
47 }
48
49 function affiche_cache(id,elemcourant)
50 {
51 // affiche et/ou cache l'élément id, tout en changeant le this
52 // en afficher/masquer
53 elem = document.getElementById(id)
54 if(elem.style.display == "block")
55 {
56 elem.style.display = "none";
57 elemcourant.innerHTML = "Afficher" ;
58 }
59 else
60 {
61 elem.style.display = "block" ;
62 elemcourant.innerHTML = "Masquer" ;
63
64 }
65
66 }
67
68 function change_mode_dates(mode)
69 {
70 // passe de l'affichage en mode "date" à l'affichage en mode "texte" pour les navigateurs
71 // qui gèrent mal le mode date
72 var listeinput = document.getElementsByTagName("input") ;
73 for(i=0;i<listeinput.length;i++)
74 {
75 var nombalise = listeinput[i].name ;
76 if(nombalise == "naissance" || nombalise.slice(0,5) == "date_")
77 {
78 listeinput[i].type = mode ;
79 if(mode == "date")
80 listeinput[i].maxlength = taillemaxdate ;
81 listeinput[i].size = taillemaxdate ;
82 listeinput[i].placeholder = placeholder_date ;
83 }
84 }
85
86 // changer le texte et le bouton.
87 var elem = document.getElementById("changemode") ;
88 if(mode =="text")
89 {
90 elem.innerHTML = "Saisie des dates au format aaaa-mm-jj. <span onclick=\"change_mode_dates('date')\" class=\"bouton\">Cliquez ici</span> pour revenir à une saisie de dates «&nbsp;confortable&nbsp;»."
91 }
92 else
93 {
94 elem.innerHTML = "<span onclick=\"change_mode_dates('text')\" class=\"bouton\">Cliquez ici</span> pour saisir les dates comme du texte."
95 }
96
97 }