//-------------------------------------------------------\r
// Nothing of interest from here on...\r
//-------------------------------------------------------\r
+\r
+function fixDate(d) {\r
+ if (d.getTimezoneOffset() < -12*60) {\r
+ d = new Date((new Date(d.getTime()-24*3600*1000)).toLocaleString());\r
+ }\r
+ return d\r
+}\r
+\r
+function newDate() {\r
+ return fixDate(new Date());\r
+}\r
+\r
var panelNum = 0; // use 1 for second panel\r
var version = "1.37";\r
var versionURL = "http://comingnext.sourceforge.net/version.xml";\r
var months_translated = [];\r
var weekdays_translated = [];\r
var orientation = '';\r
-var now = new Date();\r
+var now = newDate();\r
var mode = 0; // 0 = homescreen, 1 = fullscreen, 2 = settings, 3 = about, 4 = check for update\r
var reqV = null; \r
var settingsCalEntryId = null;\r
var use12hoursTimeFormat = false; // defines how time should be formated: 19:00 or 07:00 pm\r
var timeFormatSeparator = ":"; // format time 19:00 or 19.00 depending on system setting\r
var defaultFontSize = null; // default browser font size will be set by init\r
-var displayOffset = 0;\r
\r
// vars for daylight saving time\r
var summertime = false; // true, if current date is in summer, false if in winter\r
}\r
}\r
for (weekday = 0; weekday < 7; weekday++) {\r
- var startDate = new Date(2000, 0, 2 + weekday); // date that we know for sure is a sunday\r
+ var startDate = new Date(2000, 0, 2 + weekday, 12); // date that we know for sure is a sunday\r
\r
var item = new Object();\r
item.Type = "DayEvent";\r
log('parseDate(): fixing time +1h: ' + result);\r
}\r
}\r
- if (displayOffset != 0) {\r
- result = new Date(result.getTime() + displayOffset);\r
- }\r
\r
return result;\r
}\r
lastReloadTime = null; // force calendar data reload on this update\r
}\r
\r
- now = new Date();\r
+ now = newDate();\r
\r
// only reload calendar data every 6 hours, visual updates occure more often\r
if (!lastReloadTime || now.getTime() - lastReloadTime.getTime() > reloadInterval) {\r
} else {\r
entryLists = [meetingList];\r
}\r
- lastReloadTime = new Date();\r
+ lastReloadTime = newDate();\r
} catch(e) {\r
error('loading Calendar items list:' + e + ', line ' + e.line);\r
return;\r
cacheEntriesHtml = entriesHtml;\r
}\r
\r
- lastUpdateTime = new Date();\r
+ lastUpdateTime = newDate();\r
} catch(e) {\r
error('displaying list:' + e + ', line ' + e.line);\r
return;\r
{\r
updateScreen();\r
\r
- var time = new Date();\r
+ var time = newDate();\r
if (time.getTime() - lastUpdateTime.getTime() > config['updateDataInterval'].Value * 60 * 1000) {\r
log('updateScreen(): force updateData() because last update was too long ago (' + (time.getTime() - lastUpdateTime.getTime()) / 1000 + 's)');\r
clearUpdateTimer();\r
else {\r
mode = 1;\r
}\r
- checkForOffByOneBug();\r
log("init(): updateScreen()");\r
updateScreen();\r
if (config['useBackgroundImage'].Value)\r
statupSuccessful = true;\r
}\r
\r
-function checkForOffByOneBug() {\r
- var tz = new Date().getTimezoneOffset();\r
- if (tz < 0) {\r
- tz = -tz;\r
- }\r
- tz = tz / 60;\r
- if (tz > 12) {\r
- displayOffset = 24*3600*1000;\r
- }\r
-}\r
-\r
function checkOrientation()\r
{\r
//updateScreen();\r