2016-08-21 20:14:09 +02:00
|
|
|
/**
|
|
|
|
* Runs through the DOM under the element with the given id, finds all
|
|
|
|
* checkboxes and sets them to the wanted state.
|
2017-01-02 15:43:36 +01:00
|
|
|
*
|
2016-08-21 20:14:09 +02:00
|
|
|
* @param String
|
|
|
|
* id Id of the element containing all the checkboxes
|
|
|
|
* @param Boolean
|
|
|
|
* checked True if the checkboxes should be checked
|
|
|
|
*/
|
|
|
|
function checkAll(id, checked) {
|
2017-01-02 15:43:36 +01:00
|
|
|
var obj = document.getElementById(id);
|
|
|
|
var boxes = obj.getElementsByTagName("input");
|
|
|
|
for (var i = 0; i < boxes.length; i++) {
|
|
|
|
if (boxes[i].type === "checkbox" && !boxes[i].disabled) {
|
|
|
|
boxes[i].checked = checked;
|
|
|
|
}
|
|
|
|
}
|
2011-12-27 22:13:17 +01:00
|
|
|
}
|
2014-12-06 21:39:59 +01:00
|
|
|
|
2017-11-29 13:23:38 +01:00
|
|
|
/**
|
|
|
|
* @param {moment} date
|
|
|
|
*/
|
|
|
|
function formatDay(date) {
|
2017-11-29 13:49:21 +01:00
|
|
|
return date.format("YYYY-MM-DD");
|
2017-11-29 13:23:38 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {moment} date
|
|
|
|
*/
|
|
|
|
function formatTime(date) {
|
2017-11-29 13:49:21 +01:00
|
|
|
return date.format("HH:mm");
|
2017-11-29 13:23:38 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {moment} from
|
|
|
|
* @param {moment} to
|
|
|
|
*/
|
|
|
|
function setInput(from, to) {
|
2017-11-29 13:49:21 +01:00
|
|
|
var fromDay = $("#start_day"), fromTime = $("#start_time"), toDay = $("#end_day"), toTime = $("#end_time");
|
2017-11-29 13:23:38 +01:00
|
|
|
|
2017-11-29 13:49:21 +01:00
|
|
|
fromDay.val(formatDay(from));
|
|
|
|
fromTime.val(formatTime(from));
|
2017-11-29 13:23:38 +01:00
|
|
|
|
2017-11-29 13:49:21 +01:00
|
|
|
toDay.val(formatDay(to));
|
|
|
|
toTime.val(formatTime(to));
|
2017-11-29 13:23:38 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function setDay(days) {
|
|
|
|
days = days || 0;
|
|
|
|
|
|
|
|
var from = moment();
|
|
|
|
from.hours(0).minutes(0).seconds(0);
|
|
|
|
|
2017-11-29 13:49:21 +01:00
|
|
|
from.add(days, "d");
|
2017-11-29 13:23:38 +01:00
|
|
|
|
|
|
|
var to = from.clone();
|
|
|
|
to.hours(23).minutes(59);
|
|
|
|
|
2017-11-29 13:49:21 +01:00
|
|
|
setInput(from, to);
|
2017-11-29 13:23:38 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
function setHours(hours) {
|
|
|
|
hours = hours || 1;
|
|
|
|
|
|
|
|
var from = moment();
|
|
|
|
var to = from.clone();
|
|
|
|
|
2017-11-29 13:49:21 +01:00
|
|
|
to.add(hours, "h");
|
2017-11-29 13:23:38 +01:00
|
|
|
if (to < from) {
|
|
|
|
setInput(to, from);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
setInput(from, to);
|
|
|
|
}
|
|
|
|
|
2017-01-02 15:43:36 +01:00
|
|
|
$(function () {
|
|
|
|
/**
|
|
|
|
* Disable every submit button after clicking (to prevent double-clicking)
|
|
|
|
*/
|
|
|
|
$("form").submit(function (ev) {
|
|
|
|
$("input[type='submit']").prop("readonly", true).addClass("disabled");
|
|
|
|
return true;
|
|
|
|
});
|
2017-11-30 22:01:21 +01:00
|
|
|
|
|
|
|
$(".dropdown-menu").css("max-height", function() {
|
|
|
|
return ($(window).height() - 50) + "px";
|
|
|
|
}).css("overflow-y", "scroll");
|
2014-12-06 21:39:59 +01:00
|
|
|
});
|