X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fstatic%2Fwclib.js;h=b2d62e1a73e20185c0dd6cc1e5825cbb4b888529;hb=a91d5e80ca1d7086fdf0c7d801ea32bd061b9c89;hp=1d04a9e50fc516d8c5c5669c238253f62ed4e855;hpb=ae6b0558f64f5f15b05c79623f905be584c0d3ad;p=citadel.git diff --git a/webcit/static/wclib.js b/webcit/static/wclib.js index 1d04a9e50..b2d62e1a7 100644 --- a/webcit/static/wclib.js +++ b/webcit/static/wclib.js @@ -9,24 +9,51 @@ var browserType; var room_is_trash = 0; -if (document.layers) { - browserType = "nn4"; -} -if (document.all) { - browserType = "ie"; -} +var currentlyExpandedFloor = null; +var roomlist = null; + +var _switchToRoomList = "switch to room list"; +var _switchToMenu = "switch to menu"; + +var currentDropTarget = null; + +var supportsAddEventListener = (!!document.addEventListener); +var today = new Date(); + +if (document.all) {browserType = "ie"} if (window.navigator.userAgent.toLowerCase().match("gecko")) { browserType= "gecko"; } - var ns6=document.getElementById&&!document.all; Event.observe(window, 'load', ToggleTaskDateOrNoDateActivate); Event.observe(window, 'load', taskViewActivate); +//document.observe("dom:loaded", setupPrefEngine); +document.observe("dom:loaded", setupIconBar); function CtdlRandomString() { return((Math.random()+'').substr(3)); } - +function emptyElement(element) { + childNodes = element.childNodes; + for(var i=0; i 0) { - for (i=0; i 0) ) { - for (i=0; i 0) { - for (i=0; i 0) { - new Ajax.Request( - 'ajax_servcmd', { - method: 'post', - parameters: 'g_cmd=DELE ' + CtdlMsgsSelected[i], - onComplete: CtdlClearDeletedMsg(CtdlMsgsSelected[i]) - } - ); - } - else { - new Ajax.Request( - 'ajax_servcmd', { - method: 'post', - parameters: 'g_cmd=MOVE ' + CtdlMsgsSelected[i] + '|_TRASH_|0', - onComplete: CtdlClearDeletedMsg(CtdlMsgsSelected[i]) - } - ); - } - } - CtdlNumMsgsSelected = 0; - - // Clear the preview pane too. - $('preview_pane').innerHTML = ''; -} - - -// Move selected messages. -function CtdlMoveSelectedMessages(evt, target_roomname) { - - if (CtdlNumMsgsSelected < 1) { - // Nothing to delete, so exit silently. - return false; - } - for (i=0; i"; - for (i=0; i'; - } - drag_o_text = drag_o_text + "
"; - - mm_div = document.createElement("DIV"); - mm_div.style.position='absolute'; - mm_div.style.top = y + 'px'; - mm_div.style.left = x + 'px'; - mm_div.style.pixelHeight = '300'; - mm_div.style.pixelWidth = '300'; - mm_div.innerHTML = drag_o_text; - document.body.appendChild(mm_div); - } - else { - mm_div.style.top = y + 'px'; - mm_div.style.left = x + 'px'; - } - - return false; // prevent the default mouse action from happening? -} - -function CtdlMoveMsgMouseUp(evt) { - document.onmouseup = null; - document.onmousemove = null; - if (document.layers) { - document.releaseEvents(Event.MOUSEUP | Event.MOUSEMOVE); - } - - if (mm_div) { - document.body.removeChild(mm_div); - mm_div = null; - } - - if (num_drop_targets < 1) { // nowhere to drop - return true; - } - - // Did we release the mouse button while hovering over a drop target? - // NOTE: this only works cross-browser because the iconbar div is always - // positioned at 0,0. Browsers differ in whether the 'offset' - // functions return pos relative to the document or parent. - - for (i=0; i= l) && (x <= r) && (y >= t) && (y <= b) ) { - // Yes, we dropped it on a hotspot. - CtdlMoveSelectedMessages(evt, drop_targets_roomnames[i]); - return true; - } - } - - return true; -} - - function ctdl_ts_getInnerText(el) { if (typeof el == "string") return el; if (typeof el == "undefined") { return el }; @@ -798,67 +546,6 @@ function ctdl_ts_getInnerText(el) { } -function CtdlShowRaw(msgnum) { -var customnav = document.createElement("span"); -var mode_citadel = document.createElement("a"); -mode_citadel.appendChild(document.createTextNode("Citadel Source")); -var mode_rfc822 = document.createElement("a"); -mode_rfc822.appendChild(document.createTextNode(" RFC822 Source")); -mode_citadel.setAttribute("href","#"); -mode_rfc822.setAttribute("href","#"); -mode_rfc822.setAttribute("onclick","rawSwitch822('" + msgnum + "');"); -mode_citadel.setAttribute("onclick","rawSwitchCitadel('" + msgnum + "');"); -customnav.appendChild(mode_citadel); -customnav.appendChild(mode_rfc822); -customnav.setAttribute("class","floatcustomnav"); -floatwindow("headerscreen","pre",customnav); -rawSwitch822(msgnum); -} - -function rawSwitch822(msgnum) { -CtdlLoadScreen("headerscreen"); -new Ajax.Updater("headerscreen", -'ajax_servcmd_esc', - { method: 'post',parameters: 'g_cmd=MSG2 ' +msgnum } ); - -} - -function rawSwitchCitadel(msgnum) { -CtdlLoadScreen("headerscreen"); -new Ajax.Updater("headerscreen", -'ajax_servcmd_esc', - { method: 'post',parameters: 'g_cmd=MSG0 ' +msgnum } ); - -} - -function floatwindow(newdivid,contentelementtype,customnav) { -var windiv = document.createElement("div"); -windiv.setAttribute("class","floatwindow"); -var winid = newdivid+"_window"; -windiv.setAttribute("id",winid); -var nav = document.createElement("div"); -if (customnav != null) { -nav.appendChild(customnav); -} -var minimizeA = document.createElement("a"); -var minimizeButton = document.createTextNode("Close"); -minimizeA.appendChild(minimizeButton); -minimizeA.setAttribute("onclick","killFloatWindow(this);"); -minimizeA.setAttribute("href","#"); -nav.appendChild(minimizeA); -nav.setAttribute("class","floatnav"); -windiv.appendChild(nav); -var contentarea = document.createElement("pre"); -contentarea.setAttribute("class","floatcontent"); -contentarea.setAttribute("id",newdivid); -windiv.appendChild(contentarea); -document.body.appendChild(windiv); -} -function killFloatWindow(caller) { -var span = caller.parentNode; -var fwindow = span.parentNode; -fwindow.parentNode.removeChild(fwindow); -} // Place a gradient loadscreen on an element, e.g to use before Ajax.updater function CtdlLoadScreen(elementid) { var elem = document.getElementById(elementid); @@ -924,9 +611,9 @@ function HandleRSVP(question_divname, title_divname, msgnum, cal_partnum, sc) { new Ajax.Updater(title_divname, 'handle_rsvp', { method: 'post', parameters: p } ); Effect.Fade(question_divname, { duration: 0.5 }); } -var fakeMouse = document.createEvent("MouseEvents"); -fakeMouse.initMouseEvent("click", true, true, window, - 0,0,0,0,0, false, false, false, false, 0, null); +/* var fakeMouse = document.createEvent("MouseEvents"); + fakeMouse.initMouseEvent("click", true, true, window, + 0,0,0,0,0, false, false, false, false, 0, null); */ // TODO: Collapse into one function function toggleTaskDtStart(event) { var checkBox = $('nodtstart'); @@ -986,3 +673,84 @@ function eventEditAllDay() { dtend.style.textDecoration = ""; } } + + + + +// Functions which handle show/hide of various elements in the recurrence editor + +function RecurrenceShowHide() { + + if ($('is_recur').checked) { + $('rrule_div').style.display = 'block'; + } + else { + $('rrule_div').style.display = 'none'; + } + + if ($('freq_selector').selectedIndex == 4) { + $('weekday_selector').style.display = 'block'; + } + else { + $('weekday_selector').style.display = 'none'; + } + + if ($('freq_selector').selectedIndex == 5) { + $('monthday_selector').style.display = 'block'; + } + else { + $('monthday_selector').style.display = 'none'; + } + + if ($('rrend_count').checked) { + $('rrcount').disabled = false; + } + else { + $('rrcount').disabled = true; + } + + if ($('rrend_until').checked) { + $('rruntil').disabled = false; + } + else { + $('rruntil').disabled = true; + } + + if ($('rrmonthtype_mday').checked) { + $('rrmday').disabled = false; + } + else { + $('rrmday').disabled = true; + } + + if ($('rrmonthtype_wday').checked) { + $('rrmweek').disabled = false; + $('rrmweekday').disabled = false; + } + else { + $('rrmweek').disabled = true; + $('rrmweekday').disabled = true; + } + + if ($('freq_selector').selectedIndex == 6) { + $('yearday_selector').style.display = 'block'; + } + else { + $('yearday_selector').style.display = 'none'; + } + + $('ymday').innerHTML = 'XXXX-' + $('dtstart').value.substr(5); + $('rrmday').innerHTML = $('dtstart').value.substr(8); + + if ($('rryeartype_ywday').checked) { + $('rrymweek').disabled = false; + $('rrymweekday').disabled = false; + $('rrymonth').disabled = false; + } + else { + $('rrymweek').disabled = true; + $('rrymweekday').disabled = true; + $('rrymonth').disabled = true; + } + +}