]> code.citadel.org Git - citadel.git/blobdiff - webcit/static/wclib.js
* Removed a bunch of IE-isms no longer required now that we support IE 6.
[citadel.git] / webcit / static / wclib.js
index 70977af7710271938e93c79a4d60605431ef6104..80da93dedbff7028307b8ee8b551a79e36251227 100644 (file)
@@ -23,7 +23,6 @@ var supportsAddEventListener = (!!document.addEventListener);
 var today = new Date();
 
 var wc_log = "";
-var is_ie6 = false;
 if (document.all) {browserType = "ie"}
 if (window.navigator.userAgent.toLowerCase().match("gecko")) {
        browserType= "gecko";
@@ -31,12 +30,8 @@ if (window.navigator.userAgent.toLowerCase().match("gecko")) {
 var ns6=document.getElementById&&!document.all;
 Event.observe(window, 'load', ToggleTaskDateOrNoDateActivate);
 Event.observe(window, 'load', taskViewActivate);
-Event.observe(window, 'load', fixbanner);
-Event.observe(window, 'load', resizeViewport);
-Event.observe(window, 'resize', resizeViewport);
 //document.observe("dom:loaded", setupPrefEngine);
 document.observe("dom:loaded", setupIconBar);
-document.observe('dom:loaded', function() { if (!!document.getElementById("ib_chat_launch")) { $('ib_chat_launch').observe('click', launchChat); } });
 function CtdlRandomString()  {
        return((Math.random()+'').substr(3));
 }
@@ -171,7 +166,7 @@ function setupIconBar() {
   }
   var online_users = document.getElementById("online_users");
   if (online_users.offsetParent != null && online_users.offsetTop > 0) {
-    new Ajax.PeriodicalUpdater('online_users', 'do_template?template=wholist_section', {method: 'get', frequency: 30});
+    new Ajax.PeriodicalUpdater('online_users', 'do_template?template=who_iconbar', {method: 'get', frequency: 30});
   }
 }
 function changeIconBarEvent(event) {
@@ -210,7 +205,8 @@ function switch_to_menu_buttons() {
   var roomlist = document.getElementById("roomlist");
   roomlist.className += " hidden";
 }
-function IconBarRoomList() {
+
+function GenericTreeRoomList(roomlist) {
   var currentExpanded = ctdlLocalPrefs.readPref("rooms_expanded");
   var curRoomName = "";
   if (document.getElementById("rmname")) {
@@ -218,7 +214,6 @@ function IconBarRoomList() {
   }
   currentDropTargets = new Array();
   var iconbar = document.getElementById("iconbar");
-  roomlist = document.getElementById("roomlist");
   var ul = document.createElement("ul");
   roomlist.appendChild(ul);
   // Add mailbox, because they are special
@@ -234,43 +229,57 @@ function IconBarRoomList() {
   mailboxLI.appendChild(mailboxUL);
   var mailboxRooms = GetMailboxRooms();
   for(var i=0; i<mailboxRooms.length; i++) {
-    var room = mailboxRooms[i];
-    currentDropTargets.push(addRoomToList(mailboxUL, room, curRoomName));
+         var room = mailboxRooms[i];
+         currentDropTargets.push(addRoomToList(mailboxUL, room, curRoomName));
   }
   if (currentExpanded != null && currentExpanded == _mailbox ) {
-    expandFloor(mailboxSPAN);
+         expandFloor(mailboxSPAN);
   }
   for(var a=0; a<floors.length; a++) {
-    var floor = floors[a];
-    var floornum = floor[0];
-    var name = floor[1];
-    var floorLI = document.createElement("li");
-    ul.appendChild(floorLI);
-    var floorSPAN = document.createElement("span");
-    floorSPAN.appendChild(document.createTextNode(name));
-    $(floorSPAN).observe('click', expandFloorEvent);
-    floorLI.appendChild(floorSPAN);
-    floorLI.className = "floor";
-    var floorUL = document.createElement("ul");
-    floorLI.appendChild(floorUL);
-    var roomsForFloor = GetRoomsByFloorNum(floornum);
-    for(var b=0; b<roomsForFloor.length; b++) {
-      var room = roomsForFloor[b];
-      currentDropTargets.push(addRoomToList(floorUL, room, curRoomName));
-    }
-    if (currentExpanded != null && currentExpanded == name) {
-      expandFloor(floorSPAN);
+         var floor = floors[a];
+         var floornum = floor[0];
+    
+         if (floornum != -1)
+         {
+
+                 var name = floor[1];
+                 var floorLI = document.createElement("li");
+                 ul.appendChild(floorLI);
+                 var floorSPAN = document.createElement("span");
+                 floorSPAN.appendChild(document.createTextNode(name));
+                 $(floorSPAN).observe('click', expandFloorEvent);
+                 floorLI.appendChild(floorSPAN);
+                 floorLI.className = "floor";
+                 var floorUL = document.createElement("ul");
+                 floorLI.appendChild(floorUL);
+                 var roomsForFloor = GetRoomsByFloorNum(floornum);
+                 for(var b=0; b<roomsForFloor.length; b++) {
+                         var room = roomsForFloor[b];
+                         currentDropTargets.push(addRoomToList(floorUL, room, curRoomName));
+                 }
+                 if (currentExpanded != null && currentExpanded == name) {
+                         expandFloor(floorSPAN);
+                 }
     }
   }
 }
+function IconBarRoomList() {
+  roomlist = document.getElementById("roomlist");
+  GenericTreeRoomList(roomlist);
+}
+function KNRoomsRoomList() {
+  roomlist = document.getElementById("roomlist_knrooms");
+  GenericTreeRoomList(roomlist);
+}
 
 function addRoomToList(floorUL,room, roomToEmphasize) {
   var roomName = room[RN_ROOM_NAME];
   var flag = room[RN_ROOM_FLAG];
   var curView = room[RN_CUR_VIEW];
   var view = room[RN_DEF_VIEW];
+  var raflags = room[RN_RAFLAGS];
   var isMailBox = ((flag & QR_MAILBOX) == QR_MAILBOX);
-  var hasNewMsgs = ((curView & UA_HASNEWMSGS) == UA_HASNEWMSGS);
+  var hasNewMsgs = ((raflags & UA_HASNEWMSGS) == UA_HASNEWMSGS);
   var roomLI = document.createElement("li");
   var roomA = document.createElement("a");
   roomA.setAttribute("href","dotgoto?room="+roomName);
@@ -304,7 +313,7 @@ function addRoomToList(floorUL,room, roomToEmphasize) {
 }
 
 function roomListDropHandler(target, dropped) {
-  if (dropped.ctdlMsgId) {
+  if (dropped.getAttribute("citadel:msgid")) {
     var room = getTextContent(target);
     var msgIds = "";
     for(msgId in currentlyMarkedRows) { //defined in summaryview.js
@@ -509,8 +518,14 @@ function NotesResizeMouseMove(evt) {
        divTop = parseInt(d.style.height);
        divLeft = parseInt(d.style.width);
 
-       d.style.height = (divTop + y_increment) + 'px';
-       d.style.width = (divLeft + x_increment) + 'px';
+       newHeight = divTop + y_increment;
+       if (newHeight < 50) newHeight = 50;
+
+       newWidth = divLeft + x_increment;
+       if (newWidth < 50) newWidth = 50;
+
+       d.style.height = newHeight + 'px';
+       d.style.width = newWidth + 'px';
 
        saved_x = x;
        saved_y = y;
@@ -714,14 +729,14 @@ function attachDatePicker(relative) {
 }
 function eventEditAllDay() {
        var allDayCheck = document.getElementById("alldayevent");
-       var dtend = document.getElementById("dtendcell");
+       var dtend_time = document.getElementById("dtend_time");
        var dtstart_time = document.getElementById("dtstart_time");
        if(allDayCheck.checked) {
                dtstart_time.style.visibility = "hidden";
-               dtend.style.visibility = "hidden";
+               dtend_time.style.visibility = "hidden";
        } else {
                dtstart_time.style.visibility = "visible";
-               dtend.style.visibility = "visible";
+               dtend_time.style.visibility = "visible";
        }
 }
 
@@ -854,35 +869,8 @@ function fixMissingCSSTable(elems) {
     }
   }
 }
-function fixbanner() {
-  // Use prototype api methods here
-  var elems = [$('room_banner'),$('actiondiv')];
-  fixMissingCSSTable(elems);
-  if (!is_ie6) {
-    Event.observe(window, 'resize', makeContentScrollable);
-    makeContentScrollable();
-  }
-}
-function makeContentScrollable() {
-if (document.getElementById("banner")
-      && document.getElementById("content") 
-      && !document.getElementById("summary_view")) {
-  WCLog("makeContentScrollable");
-    document.body.style.overflowY="hidden";
-    var global = $("global");
-    global.className += "scrollable";
-    var content = document.getElementById("content");
-    var banner = document.getElementById("banner");
-    var bannerHeight = banner.offsetHeight;
-    banner.style.width="100%";
-    var bannerPercent = (bannerHeight/document.viewport.getHeight())*100;
-    //banner.style.height=bannerPercent+"%";
-    content.style.overflowY="scroll";
-    //content.style.top=bannerPercent+"%";
-    content.style.height=(100-bannerPercent)+"%";
-    content.style.right="0px";
-  }
-}
+
+
 function fixOffsetBanner() {
   var banner = document.getElementById("banner");
   if (banner.offsetLeft > 0) {
@@ -893,28 +881,19 @@ function fixOffsetBanner() {
     contentDiv.style.width = newContentWidth+"px";
   }
 }
-/** Attempt to stop overflowing in x-axis in IE6 */
-function resizeViewport() {
-  var documentWidth = 0;
-  var viewportWidth = document.viewport.getWidth();
-  var iconbar = $('iconbar');
-  var global = $('global');
-  if (iconbar == null || global == null || document.documentElement == null) {
-    return;
-  }
-  if (typeof window.offsetWidth != 'undefined') {
-    documentWidth = window.offsetWidth;
-  } else {
-    documentWidth = document.documentElement.offsetWidth;
-  }
-  if (documentWidth > viewportWidth) {
-    WCLog("resizeViewport");
-    document.documentElement.style.width = viewportWidth+"px";
-    document.documentElement.style.overflowX = "hidden";
-    //viewportWidth = 0.98 * viewportWidth;
-    var newIconBarSize = 0.16 * viewportWidth;
-    var newContentSize = viewportWidth - newIconBarSize;
-    iconbar.style.width = newIconBarSize+"px";
-    global.style.width = newContentSize+"px";
-  }
+
+function RefreshSMTPqueueDisplay() {
+       new Ajax.Updater('smtpqueue_inner_div',
+       'display_smtpqueue_inner_div', { method: 'get',
+               parameters: Math.random() } );
+}
+
+function DeleteSMTPqueueMsg(msgnum1, msgnum2) {
+       new Ajax.Request(
+               'ajax_servcmd', {
+                       method: 'post',
+                       parameters: 'g_cmd=DELE ' + msgnum1 + ',' + msgnum2,
+                       onComplete: RefreshSMTPqueueDisplay()
+               }
+       );
 }