var sensorMenu = new Array(); var ajaxParam = new Object(); if ( navigator.appName == "Microsoft Internet Explorer" || navigator.userAgent.toLowerCase().indexOf("chrome") > -1 ) { document.onkeyup = function () { onArrowPress(window.event.keyCode, window.event.ctrlKey); }; } else { document.onkeypress = function (event) { onArrowPress(event.keyCode, event.ctrlKey); }; } function onArrowPress(keyCode, ctrlKey) { switch (keyCode) { // klavésa ↑ case 38: if (ctrlKey) { $("dateFrom").value = getReportTime($("dateFrom").value, 1); $("dateTo").value = getReportTime($("dateTo").value, 1); if ($("div_menu_datetime") != undefined) { if ($("div_menu_axis_table") != undefined) { form_serialize(); } } else { onClickRefresh(); } } break; // klavésa ↓ case 40: if (ctrlKey) { $("dateFrom").value = getReportTime($("dateFrom").value, -1); $("dateTo").value = getReportTime($("dateTo").value, -1); if ($("div_menu_datetime") != undefined) { if ($("div_menu_axis_table") != undefined) { form_serialize(); } } else { onClickRefresh(); } } break; // klavésa ← case 37: if (ctrlKey) { for (var i = 0; i < sensorMenu.length; i++) { if ($(sensorMenu[i]).className == "menuMouseOver") { i == 0 ? (i = sensorMenu.length) : ""; onClickMenu(sensorMenu[i - 1]); break; } } } break; // klavésa → case 39: if (ctrlKey) { for (var i = sensorMenu.length - 1; i >= 0; i--) { if ($(sensorMenu[i]).className == "menuMouseOver") { i == sensorMenu.length - 1 ? (i = -1) : ""; onClickMenu(sensorMenu[i + 1]); break; } } } break; // klavésa Enter case 13: if ($("div_menu_datetime") == undefined) { for (var i = 0; i < sensorMenu.length; i++) { if ($(sensorMenu[i]).className == "menuMouseOver") { onClickRefresh(sensorMenu[i]); break; } } } break; } } function onClickMenu(sensor) { for (var i = 0; i < sensorMenu.length; i++) if ( $(sensorMenu[i]).className == "menuMouseOver" && sensorMenu[i] != sensor ) { $(sensorMenu[i]).className = "menuMouseOut"; $(sensorMenu[i]).onmouseout = function () { this.className = "menuMouseOut"; hiddenHint("hint_" + $(sensorMenu[i]).id); }; break; } $(sensor).className = "menuMouseOver"; $(sensor).onmouseout = function () { this.className = "menuMouseOver"; hiddenHint("hint_" + sensor); }; $("selectedSensor").value = sensor; if ($("div_menu_datetime") != undefined) { form_serialize(); } else { onClickRefresh(sensor); } } function getReportTime(myTime, myCount) { var myDate = new Date(); var myTimePars = myTime.split("T")[0]; var myDatePars = myTimePars.split("-"); var day = 1; var week = 7; myDate.setFullYear(myDatePars[0]); myDate.setMonth(myDatePars[1] - 1); myDate.setDate(myDatePars[2]); switch ($("report").value) { case "dr": default: if (myCount > 0) myDate.setDate(myDate.getDate() + day); else myDate.setDate(myDate.getDate() - day); break; case "wr": if (myCount > 0) myDate.setDate(myDate.getDate() + week); else myDate.setDate(myDate.getDate() - week); break; case "mr": if (myCount > 0) { month = myDate.getMonth(); month += 1; if (month > 11) { month = 0; year = myDate.getFullYear() + 1; myDate.setFullYear(year); } } else { month = myDate.getMonth(); month -= 1; if (month < 0) { month = 11; year = myDate.getFullYear() - 1; myDate.setFullYear(year); } } myDate.setMonth(month); break; } var myYear = myDate.getFullYear(); var myMonth = myDate.getMonth() + 1; var myDay = myDate.getDate(); myMonth = myMonth < 10 ? "0" + myMonth : myMonth; myDay = myDay < 10 ? "0" + myDay : myDay; return myYear + "-" + myMonth + "-" + myDay + " 00:00"; } function checkTime(time) { var myDate = new Date(); if (time) { timePars = time.split(" "); datePars = timePars[0].split("-"); myDate.setFullYear(datePars[0]); myDate.setMonth(datePars[1] - 1); myDate.setDate(datePars[2]); myDate.setHours(0); myDate.setMinutes(0); myDate.setSeconds(0); } var year = myDate.getFullYear(); var month = myDate.getMonth() + 1; var date = myDate.getDate(); var unixTime = myDate.getTime(); switch ($("report").value) { case "wr": for (var i = 0; i < 7; i++) { if (myDate.getDay() != 1) { unixTime -= 1000 * 60 * 60 * 24; myDate.setTime(unixTime); } else { var month = myDate.getMonth() + 1; var date = myDate.getDate(); break; } } break; case "mr": date = 1; break; } month = month < 10 ? "0" + month : month; date = date < 10 ? "0" + date : date; return year + "-" + month + "-" + date + " 00:00:00"; } function changeDateTime(thisElement, type, fromElementId, toElementId) { var today = new Date(); var dateFrom, dateTo; switch (type) { case 0: dateFrom = today; var tommorow = new Date(today); tommorow.setDate(today.getDate() + 1); dateTo = tommorow; break; case 1: var yesterday = new Date(today); yesterday.setDate(today.getDate() - 1); dateFrom = yesterday; dateTo = today; break; case 2: var last7days = new Date(today); last7days.setDate(today.getDate() - 7); dateFrom = last7days; dateTo = today; break; case 3: var last14days = new Date(today); last14days.setDate(today.getDate() - 14); dateFrom = last14days; dateTo = today; break; case 4: var last31days = new Date(today); last31days.setDate(today.getDate() - 31); dateFrom = last31days; dateTo = today; break; case 5: var firstDayOfWeek = new Date(today); var diff = today.getDate() - today.getDay() + (today.getDay() === 0 ? -6 : 1); firstDayOfWeek.setDate(diff); dateFrom = firstDayOfWeek; var tommorow = new Date(today); tommorow.setDate(today.getDate() + 1); dateTo = tommorow; break; case 6: var firstDayOfMonth = new Date( today.getFullYear(), today.getMonth(), 1 ); dateFrom = firstDayOfMonth; var firstDayOfNextMonth = new Date( today.getFullYear(), today.getMonth() + 1, 1 ); dateTo = firstDayOfNextMonth; break; } thisElement.form[fromElementId].value = setDateTimeFormat(dateFrom); thisElement.form[toElementId].value = setDateTimeFormat(dateTo); } function setDateTimeFormat(datetime) { return ( datetime.getFullYear() + "-" + (datetime.getMonth() + 1 < 10 ? "0" : "") + (datetime.getMonth() + 1) + "-" + (datetime.getDate() < 10 ? "0" : "") + datetime.getDate() + " 00:00" ); }