// $Id$ var onClickDisabled = []; var allDay = false; var observable_startdate = ['enddate']; var observable_enddate = ['startdate']; function newwin(url) { window.open(url); } function focus(element) { document.getElementById(element).focus(); } function show_the_overlay() { document.getElementById('display_overlay_holder').style.display = 'block'; } function hide_the_overlay(referer) { document.getElementById('display_overlay_holder').style.display = 'none'; document.location.href=referer; } function setCalendar(form, input, cal) { var id = document.getElementById(input); var theForm = document.getElementById(form); if (id == null || theForm == null) return; id.value = cal; } function error(msg) { alert(msg); document.location.href="$referer"; } function redirect(url) { window.location = url; } function is_array(obj) { return obj && !(obj.propertyIsEnumerable('length')) && typeof obj === 'object' && typeof obj.length === 'number'; } function getDateString(date, add) { var m = (date.getMonth() + 1); if (m < 10) m = '0' + m; var d = (date.getDate() + add); if (d < 10) d = '0' + d; var s = date.getFullYear() + '-' + m + '-' + d; return s; } function getTimeString(date, end) { var m = date.getMinutes(); var h = 0; if (m < 8) m = '00'; else if (m < 23) m = '15'; else if (m < 38) m = '30'; else if (m < 43) m = '45'; else { m = '00'; h = 1; } var h = date.getHours() + h + end; if (h < 10) h = '0' + h; return h + m; } function stateSwitch(btn, elements, init) { if (btn == null || elements == null || ! is_array(elements) || elements.length < 1) return; var starttime = document.getElementById('starttime'); var endtime = document.getElementById('endtime'); var startdate = document.getElementById('startdate'); var enddate = document.getElementById('enddate'); allDay = btn.checked; for (var i = 0; i < elements.length; i++) { var elem = document.getElementById(elements[i]); if (btn.checked == true) { elem.disabled = true; if (elem.onclick) { onClickDisabled[elem.id] = elem.onclick; elem.onclick = null; } } else { var tmp = null; if (onClickDisabled[elem.id]) var tmp = onClickDisabled[elem.id]; if (tmp) { elem.onclick = tmp; onClickDisabled[elem.id] = null; } elem.disabled = false; } } if (! init) { if (allDay) { starttime.value = '0000'; endtime.value = '0000'; var s_date = new Date(startdate.value); var e_date = new Date(getDateString(s_date, 1)); enddate.value = getDateString(e_date, 0); } else { var now = new Date(); var time = getTimeString(now, 0); var s_date = new Date(startdate.value); enddate.value = getDateString(s_date, 0); starttime.value = time; endtime.value = getTimeString(now, 1); } } } function enableAll(elements) { if (elements == null || ! is_array(elements) || elements.length < 1) return true; for (var i = 0; i < elements.length; i++) { var elem = document.getElementById(elements[i]); elem.disabled = false; } return true; } function dateAlign(hasDate) { if (hasDate == null) return; if (hasDate.id == 'startdate') elements = observable_startdate; else elements = observable_enddate; for (var i = 0; i < elements.length; i++) { var elem = document.getElementById(elements[i]); elem.value = hasDate.value; } }