From 345dd68e5223d54dd9bf2b5d744d7028998fbf2a Mon Sep 17 00:00:00 2001 From: Björn Geiger Date: Wed, 7 Sep 2011 16:50:33 +0200 Subject: minor --- public/media/js/script.js | 114 +++++++++++++++++++++------------------------- 1 file changed, 53 insertions(+), 61 deletions(-) (limited to 'public/media') diff --git a/public/media/js/script.js b/public/media/js/script.js index a876f2f..f37ee6a 100644 --- a/public/media/js/script.js +++ b/public/media/js/script.js @@ -57,80 +57,72 @@ $(document) }); }); -function checkAllCheckBoxes(exceptions) { - $('input:checkbox').attr('checked', 'checked'); - return; +function setElementVisible(name) { + $('#' + name).show(); } -function uncheckAllCheckBoxes(exceptions) { - $('input:checkbox').attr('checked', ''); - return; +function setElementInvisible(name) { + $('#' + name).hide(); } -function setVisible(name) { - hidden = document.getElementById(name); - if (hidden) { - hidden.style.display = ""; - } +function setElementAttribute(name, attributeName, attributeValue) { + $('#' + name).attr(attributeName, attributeValue); } -function setInvisible(name) { - visible = document.getElementById(name); - if (visible) { - visible.style.display = "none"; - } +function removeElementAttribute(name, attributeName) { + $('#' + name).removeAttr(attributeName); } -function eventcategoryfieldChanged(name) { - field = document.getElementById(name); - value = field.value; - options = field.options; - for (i = 0; i < options.length; i++) { - option = options[i]; - if (option.value == field.value) { - break; - } - } - label = option.label; - startLabel = document.getElementById('start-label'); - repeat = document.getElementById('repeat'); - if (label == 'Boot' || label == 'Shutdown') { - setInvisible("end-label"); - setInvisible("end-element"); - document.getElementById('end').disabled = true; - startLabel.firstChild.firstChild.nodeValue = startLabel.firstChild.firstChild.nodeValue - .replace(/Start/g, "Date"); - repeat.checked = false; - } else if (label == 'Lecture') { - setVisible("end-label"); - setVisible("end-element"); - document.getElementById('end').disabled = false; - startLabel.firstChild.firstChild.nodeValue = startLabel.firstChild.firstChild.nodeValue - .replace(/Date/g, "Start"); - repeat.checked = true; +function getElementAttribute(name, attributeName) { + return $('#' + name).attr(attributeName); +} + +function getElementValue(name) { + return $('#' + name).val(); +} + +function disableElement(name) { + setElementAttribute(name, 'disabled', 'disabled'); +} + +function enableElement(name) { + removeElementAttribute(name, 'disabled'); +} +function repeatChanged(name) { + if (getElementAttribute(name, 'checked')) { + setElementVisible("repeatEnd-label"); + setElementVisible("repeatEnd-element"); + enableElement('repeatEnd'); } else { - setVisible("end-label"); - setVisible("end-element"); - document.getElementById('end').disabled = false; - startLabel.firstChild.firstChild.nodeValue = startLabel.firstChild.firstChild.nodeValue - .replace(/Date/g, "Start"); - repeat.checked = false; + setElementInvisible("repeatEnd-label"); + setElementInvisible("repeatEnd-element"); + disableElement('repeatEnd'); } - changeRepeatEnd('repeat'); } -function changeRepeatEnd(name) { - checkbox = document.getElementById(name); - checked = checkbox.checked; - if (checked) { - setVisible("repeatEnd-label"); - setVisible("repeatEnd-element"); - document.getElementById('repeatEnd').disabled = false; - disabled +function eventcategoryfieldChanged(name) { + option = $('#' + name + ' option[value="' + getElementValue(name) + '"]'); + label = option.attr('label'); + startLabel = $('#start-label'); + if (label == 'Boot' || label == 'Shutdown') { + setElementInvisible("end-label"); + setElementInvisible("end-element"); + disableElement('end'); + removeElementAttribute('repeat', 'checked'); + startLabel.children().text('Date (mm/dd/yyyy H:min):'); + } else if (label == 'Lecture') { + setElementVisible("end-label"); + setElementVisible("end-element"); + enableElement('end'); + setElementAttribute('repeat', 'checked', 'checked'); + startLabel.children().text('Start (mm/dd/yyyy H:min):'); } else { - setInvisible("repeatEnd-label"); - setInvisible("repeatEnd-element"); - document.getElementById('repeatEnd').disabled = true; + setElementVisible("end-label"); + setElementVisible("end-element"); + enableElement('end'); + removeElementAttribute('repeat', 'checked'); + startLabel.children().text('Start (mm/dd/yyyy H:min):'); } + repeatChanged('repeat'); } \ No newline at end of file -- cgit v1.2.3-55-g7522