source: spip-zone/_plugins_/agendax/agendax.js.html @ 117558

Last change on this file since 117558 was 14541, checked in by crovvfoot@…, 13 years ago

+":first-child" plante sur certaines config :/

File size: 3.7 KB
Line 
1#HTTP_HEADER{Content-Type: text/html}
2/*** DEBUT Variable de personnalisation ***/
3
4style_rempli = 'case_remplie';
5style_pas_rempli = 'case_pas_remplie';
6fleche_suivant ='>';
7fleche_precedent = '<';
8sablier = '[<img src="(#CHEMIN{'images/searching.gif'})" />]';
9
10/*** FIN Variable de personnalisation ***/
11
12date_du_jour = new Date();
13annee = date_du_jour.getFullYear();
14mois = date_du_jour.getMonth()+1;
15
16
17function remplire_agenda(annee,mois){
18       
19        /*On vide le tout*/
20       
21        $("#agendax").html('');
22       
23        date_jour = annee+"-"+mois+"-01 01:01:01";
24       
25        /* Initialisation du calendrier*/
26        $("#agendax").append('<div class="titre_calendrier"><span class="mois_precedent"><a href="#">'+fleche_precedent+'</a>&nbsp;&nbsp;</span><span class="mois_courant"></span><span class="mois_suivant">&nbsp;&nbsp;<a href="#">'+fleche_suivant+'</a></span></div><div class="corps_calendrier"></div><div class="info_evenement"></div>');
27       
28       
29        /* Titre des colones */
30        $(".corps_calendrier").append('<div class="titre_colone"><:agendax:lundi_court:></div><div class="titre_colone"><:agendax:mardi_court:></div><div class="titre_colone"><:agendax:mercredi_court:></div><div class="titre_colone"><:agendax:jeudi_court:></div><div class="titre_colone"><:agendax:vendredi_court:></div><div class="titre_colone"><:agendax:samedi_court:></div><div class="titre_colone"><:agendax:dimanche_court:></div>');
31       
32       
33        /* On ajoute le "sablier"*/
34        $(".mois_courant").append(sablier);
35       
36       
37        /* On vas chercher les infos et on les traites */
38        $.ajax({
39                type: "GET",
40                url: "spip.php",
41                data: "page=donnees_agendax&date="+date_jour+"&var_mode=recalcul",
42                success: function(event){
43                               
44                               
45                                /* Nom et année du mois */
46                                $(".mois_courant").text($(".nom_mois",event).text());
47                               
48                                /* Combien de cases vide au debut et le nombre de jour dans le mois */
49                                nombre_case_vide = $(".jours_debut",event).text();
50                                nombre_jours = $(".nombre_jours",event).text();
51                               
52                               
53                               
54                                /* On insert les case vide du debut */
55                                for (i=1; i<=nombre_case_vide; i++) {
56                                        $(".corps_calendrier").append('<div class="boite_jour boite_hors_mois">&nbsp;</div>');
57                                }
58                               
59                               
60                                /* On insert les case des jours du mois */
61                                for (j=1; j<=nombre_jours; j++) {
62                                        $(".corps_calendrier").append('<div class="boite_jour boite_dans_mois" id="jour'+j+'"><a>'+j+'</a></div>');
63                                }
64                               
65                               
66                                /* On recherche les jours avec des évènements et on met à jour les cases correspondantes */
67                                for (k=1; k<=31; k++) {
68                                        if ($("#contenu"+k,event).length > 0){
69                                                $("#jour"+k).addClass(style_rempli);
70                                                $("#jour"+k).attr("alt",$("#info"+k,event).text());
71                                                $("#jour"+k+" a").attr("href",$("#lien"+k,event).text());
72                                               
73                                        }else{
74                                                $("#jour"+k).addClass(style_pas_rempli);
75                                                $("#jour"+k).remove("a");
76                                        }
77                                }
78                               
79                               
80                                /* On insert les case vide à la fin */
81                                nombre_case_restante = eval("42-("+nombre_case_vide+"+"+nombre_jours+")");
82                                for (l=1; l<=nombre_case_restante; l++) {
83                                        $(".corps_calendrier").append('<div class="boite_jour boite_hors_mois">&nbsp;</div>');
84                                }
85                               
86                                /* Le nettoyeur */
87                                $(".corps_calendrier").append('<div style="clear: both; height: 1px;">&nbsp;</div>');
88                               
89                                /* On fixe la taille de calendrier pour qu'il ne se redimentionne pas à chaque changement */
90                                $("#agendax").css("height",$("#agendax").height());
91                               
92                                /* Et on charge le script qui vas écouter quand on clique sur les flèches */
93                                $.getScript($(".chemin_script",event).text());
94                               
95                        }
96                }
97        );
98        /* On enleve le "sablier" */
99        $(".mois_courant").remove("IMG");
100       
101       
102}
103
104$(document).ready(function(){
105       
106        var date_du_jour = new Date();
107        var annee = date_du_jour.getFullYear();
108        var mois = date_du_jour.getMonth()+1;
109       
110        remplire_agenda(annee,mois);
111})
Note: See TracBrowser for help on using the repository browser.