]> code.citadel.org Git - citadel.git/blobdiff - webcit/static/wclib.js
* streamline copyright statements; add Conclusion of included components; flip to...
[citadel.git] / webcit / static / wclib.js
index f7397ed9836ae0f1464380afbf8dab5d8b3cb0cd..79df4271ef8aa0aa572ce9ddb244c6b6d12d4f94 100644 (file)
@@ -1,9 +1,11 @@
-//
-// $Id$
-//
-// JavaScript function library for WebCit.
-//
-//
+/*
+ * $Id$
+ * Copyright 2005 - 2009 The Citadel Team
+ * Licensed under the GPL V3
+ *
+ * JavaScript function library for WebCit.
+ *
+ */
 
 
 var browserType;
@@ -38,6 +40,19 @@ document.observe('dom:loaded', function() { if (!!document.getElementById("ib_ch
 function CtdlRandomString()  {
        return((Math.random()+'').substr(3));
 }
+function strcmp ( str1, str2 ) {
+    // http://kevin.vanzonneveld.net
+    // +   original by: Waldo Malqui Silva
+    // +      input by: Steve Hilder
+    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
+    // +    revised by: gorthaur
+    // *     example 1: strcmp( 'waldo', 'owald' );
+    // *     returns 1: 1
+    // *     example 2: strcmp( 'owald', 'waldo' );
+    // *     returns 2: -1
+    return ( ( str1 == str2 ) ? 0 : ( ( str1 > str2 ) ? 1 : -1 ) );
+}
 
 function emptyElement(element) {
   childNodes = element.childNodes;
@@ -634,12 +649,24 @@ function HandleRSVP(question_divname, title_divname, msgnum, cal_partnum, sc) {
 // TODO: Collapse into one function
 function toggleTaskDtStart(event) {
        var checkBox = $('nodtstart');
+       var checkBoxTime = $('dtstart_time');
        dtStart = document.getElementById("dtstart");
+       dtStartHour = document.getElementById("dtstart_hour");
+       dtStartMinute = document.getElementById("dtstart_minute");
        if (checkBox.checked) {
                dtStart.disabled = true;
+               dtStartHour.disabled = true;
+               dtStartMinute.disabled = true;
                dtStart.style.textDecoration = "line-through";
        } else {
                dtStart.disabled = false;
+               if (checkBoxTime.checked) {
+                       dtStartHour.disabled = false;
+                       dtStartMinute.disabled = false;
+               } else {
+                       dtStartHour.disabled = true;
+                       dtStartMinute.disabled = true;
+               }
                dtStart.style.textDecoration = "";
                if (dtStart.value.length == 0)
                        dtStart.dpck._initCurrentDate();
@@ -647,12 +674,24 @@ function toggleTaskDtStart(event) {
 }
 function toggleTaskDue(event) {
        var checkBox = $('nodue');
+       var checkBoxTime = $('due_time');
        dueField = document.getElementById("due");
+       dueFieldHour = document.getElementById("due_hour");
+       dueFieldMinute = document.getElementById("due_minute");
        if (checkBox.checked) {
                dueField.disabled = true;
+               dueFieldHour.disabled = true;
+               dueFieldMinute.disabled = true;
                dueField.style.textDecoration = "line-through";
        } else {
                dueField.disabled = false;
+               if (checkBoxTime.checked) {
+                       dueFieldHour.disabled = false;
+                       dueFieldMinute.disabled = false;
+               } else {
+                       dueFieldHour.disabled = true;
+                       dueFieldMinute.disabled = true;
+               }
                dueField.style.textDecoration = "";
                if (dueField.value.length == 0)
                        dueField.dpck._initCurrentDate();
@@ -664,7 +703,9 @@ function ToggleTaskDateOrNoDateActivate(event) {
                toggleTaskDtStart(null);
                toggleTaskDue(null);
                $('nodtstart').observe('click', toggleTaskDtStart);
+               $('dtstart_time').observe('click', toggleTaskDtStart);
                $('nodue').observe('click', toggleTaskDue);
+               $('due_time').observe('click', toggleTaskDue);
        } 
 }
 function TaskViewGatherCategoriesFromTable() {
@@ -770,6 +811,23 @@ function RecurrenceShowHide() {
        }
 
 }
+
+
+// Enable or disable the 'check attendee availability' button depending on whether
+// the attendees list is empty
+function EnableOrDisableCheckButton()
+{
+       if ($('attendees_box').value.length == 0) {
+               $('check_button').disabled = true;
+       }
+       else {
+               $('check_button').disabled = false;
+       }
+}
+
+
+
+
 function launchChat(event) {
 window.open('chat', 'ctdl_chat_window', 'toolbar=no,location=no,directories=no,copyhistory=no,status=no,scrollbars=yes,resizable=yes');
 }