source: schedule/Module/calendar.php@ 16194

Last change on this file since 16194 was 16194, checked in by tanio, 11 years ago
File size: 8.5 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html>
3 <head>
4 <link type="text/css" rel="stylesheet" href="Module/src/css/jscal2.css" />
5 <link type="text/css" rel="stylesheet" href="Module/src/css/border-radius.css" />
6
7 <link id="skin-win2k" title="Win 2K" type="text/css" rel="alternate stylesheet" href="Module/src/css/win2k/win2k.css" />
8
9 <script src="js/highcharts.js"></script>
10 <script src="js/exporting.js"></script>
11
12 <script src="Module/src/js/jscal2.js"></script>
13 <script src="Module/src/js/unicode-letter.js"></script>
14
15 <script src="Module/src/js/lang/en.js"></script>
16<style type="text/css">
17 .highlight { color: #f00 !important; }
18 .highlight2 { color: #0f0 !important; font-weight: bold; }
19 </style>
20
21 </head>
22 <body style="background-color: #fff">
23
24 <table>
25 <tr>
26 <td valign="top" style="width: 30em;">
27 <div id="cont"></div>
28 <script type="text/javascript">
29 var DATE_INFO = {
30 <?php
31 $sqlSched=mysql_query("SELECT*FROM schedule");
32 $SchedCnt=mysql_num_rows($sqlSched);
33 $cntr=1;
34 while($rowSched=mysql_fetch_array($sqlSched))
35 {
36 $timestamp=strtotime($rowSched['fStart']);
37 if($SchedCnt==$cntr)
38 {
39 echo date("Ymd",$timestamp);?>:{klass: "highlight"}<?php
40 }
41 else
42 {
43 echo date("Ymd",$timestamp);?>:{klass: "highlight"},<?php
44 }
45 $cntr++;
46 ?>
47
48 // 20130507: { klass: "highlight", tooltip: "%Y/%m/%d (%A)<br />That was yesterday" },
49 // 20130508: { klass: "highlight", tooltip: "And this is TODAY" }
50 <?php
51 }
52 ?>
53 };
54
55 function getDateInfo(date, wantsClassName) {
56 var as_number = Calendar.dateToInt(date);
57 return DATE_INFO[as_number];
58 };
59 var CAL = Calendar.setup({
60 cont: "cont",
61 // weekNumbers: true,
62 selectionType: Calendar.SEL_MULTIPLE,
63 showTime: 24,
64 //fdow : 1,
65 dateInfo:getDateInfo
66 // titleFormat: "%B %Y"
67 })
68 </script>
69 </td>
70
71 <tr>
72 <td>
73 <script type="text/javascript">//<![CDATA[
74 CAL.addEventListener("onSelect", function(){
75 var day =this.selection.print("%d").join("\n");
76 var month =this.selection.print("%m").join("\n");
77 var year =this.selection.print("%Y").join("\n");
78 var xml;
79 var Time = [[]];
80 var Data = [[]];
81 var TimeColon = [];
82 var MinTime = [];
83 var HourTime = [];
84 var DataVal = [];
85 var source=['Crab','Mrk 501','Mrk 402'];
86 var options = {
87 chart: {
88 renderTo: 'container' /* display to div Graph*/
89
90 },
91
92 xAxis: {
93 categories:["12PM","1PM","2PM","3PM","4PM","5PM","6PM","7PM","8PM","9PM","10PM","11PM","12AM","1AM","2AM","3AM","4AM","5AM","6AM","7AM","8AM","9AM","10AM","12PM"]
94 },
95 series:[], /* array of Data */
96
97 remove:function()
98 {
99 return false;
100 },
101
102 exporting: { /*--------------------*/
103 buttons: { /* */
104 exportButton: { /* Export */
105 menuItems: null, /* to */
106 onclick: function() { /* PNG.file */
107 this.exportChart(); /*--------------------*/
108 }
109 }
110 }
111 },
112 plotOptions : {
113
114 series : {
115 lineWidth: 3,
116
117 marker : {
118 enabled:false
119 }
120 }
121 }
122 };
123 for(var i=0; i<source.length;i++)
124 {
125
126 if(window.XMLHttpRequest)
127 {
128 xml=new XMLHttpRequest();
129 }
130 else
131 {
132 xml=new ActiveXObject("Microsoft.XMLHTTP");
133 }
134 xml.onreadystatechange = function()
135 {
136 if(xml.readyState==4 && xml.status ==200)
137 {
138 var lines=xml.responseText.split("\n");
139 for(var row=0;row<lines.length;row++)
140 {
141 var splitted=lines[row].split(',');
142 Time[row]=splitted[0];
143 for(var SplittedTime=0;SplittedTime<Time.length;SplittedTime++)
144 {
145 var SplitTime=Time[SplittedTime].split(':');
146 TimeColon[SplittedTime]=SplitTime[0];
147 MinTime[SplittedTime]=(parseInt(SplitTime[1]/60*100)||parseFloat("0"));
148 for(var TimeT=0;TimeT<TimeColon.length;TimeT++)
149 {
150 var SplittedT=TimeColon[TimeT].split('T');
151 HourTime[TimeT]=(parseFloat(SplittedT[1])||parseFloat('0'));
152 }
153 }
154 DataVal[row]=(parseFloat(splitted[4])||parseFloat('0'));
155 for(var Data=0; Data<DataVal.length;Data++)
156 {
157 if(DataVal[Data]==0)
158 {
159
160 }
161 else
162 Data[i][Data]=parseFlaot(DataVal[Data]);
163 }
164 for(var ConTime=1;ConTime<HourTime.length-1;ConTime++)
165 {
166 if(HourTime[ConTime]=='0')
167 {
168 if(MinTime[ConTime]==8)
169 {
170 Time[i][ConTime]=HourTime[ConTime]+24+'.'+'.08';
171 }
172 else
173 Time[i][ConTime]=HourTime[ConTime]+24+'.'+MinTime[ConTime];
174 }
175 else if(HourTime[ConTime]=='1')
176 {
177 if(MinTime[ConTime]==8)
178 {
179 Time[i][ConTime]=HourTime[ConTime]+24+'.'+'.08';
180 }
181 else
182 Time[i][ConTime]=HourTime[ConTime]+24+'.'+MinTime[ConTime];
183 }
184 else if(HourTime[ConTime]==2)
185 {
186 if(MinTime[ConTime]==8)
187 {
188 Time[i][ConTime]=HourTime[ConTime]+24+'.'+'.08';
189 }
190 else
191 Time[i][ConTime]=HourTime[ConTime]+24+'.'+MinTime[ConTime];
192 }
193 else if(HourTime[ConTime]==3)
194 {
195 if(MinTime[ConTime]==8)
196 {
197 Time[i][ConTime]=HourTime[ConTime]+24+'.'+'.08';
198 }
199 else
200 Time[i][ConTime]=HourTime[ConTime]+24+'.'+MinTime[ConTime];
201 }
202 else if(HourTime[ConTime]==4)
203 {
204 if(MinTime[ConTime]==8)
205 {
206 Time[i][ConTime]=HourTime[ConTime]+24+'.'+'.08';
207 }
208 else
209 Time[i][ConTime]=HourTime[ConTime]+24+'.'+MinTime[ConTime];
210 }
211 else if(HourTime[ConTime]==5)
212 {
213 if(MinTime[ConTime]==8)
214 {
215 Time[i][ConTime]=HourTime[ConTime]+24+'.'+'.08';
216 }
217 else
218 Time[i][ConTime]=HourTime[ConTime]+24+'.'+MinTime[ConTime];
219 }
220 else if(HourTime[ConTime]==6)
221 {
222 if(MinTime[ConTime]==8)
223 {
224 Time[i][ConTime]=HourTime[ConTime]+24+'.'+'.08';
225 }
226 else
227 Time[i][ConTime]=HourTime[ConTime]+24+'.'+MinTime[ConTime];
228 }
229 else
230 Time[i][ConTime]=HourTime[ConTime]+'.'+MinTime[ConTime];
231 }
232 //GrapData(Data,Time);
233 }
234
235 var chart = new Highcharts.Chart(options);
236 for(var src=0;src<i;src++)
237 {
238 chart.addSeries({name:source[src], data:[]}); // created a series of data and add name of displayed source
239 for(var DataCnt=0;DataCnt<Data.length;DataCnt++)
240 {
241
242 chart.series[i].addPoint({ // series[0] means index of zero in data;
243 x:Time[src][DataCnt], // Time
244 y:Data[src][DataCnt] // Value
245 })
246
247 }
248
249 }
250
251
252 }
253 }
254 xml.open("GET","http://www.fact-project.org/smartfact/index.php?source="+escape(source[i])+"&time="+year+"-"+month+"-"+day,true);
255 xml.send();
256 $('#Graph').load('chart.php?day='+day+"&month="+month+"&year="+year);
257
258 }
259
260
261 });
262
263 //]]></script>
264 </td>
265 </tr>
266
267 </table>
268 </td>
269 </tr>
270 </table>
271
272 </body>
273</html>
274
275
Note: See TracBrowser for help on using the repository browser.