document.getElementById('m_refresh').setAttribute("href","#");
Event.observe(document.onresize ? document : window, "resize", normalizeHeaderTable);
Event.observe(document.onresize ? document : window, "resize", sizePreviewPane);
- $('summpage').observe('change', getPage);
+ if ( $('summpage') ) {
+ $('summpage').observe('change', getPage);
+ }
+ else {
+ alert('error: summpage does not exist');
+ }
takeOverSearchOMatic();
setupDragDrop(); // here for now
}
var compile = compiled.join("");
start = new Date();
$(message_view_parent).update(compile);
- message_view_parent.onclick = CtdlMessageListClick;
+ message_view_parent.observe('click', CtdlMessageListClick);
message_view = message_view_parent.firstChild;
end = new Date();
var delta = end.getTime() - start.getTime();
var target = event.target ? event.target: event.srcElement; // and again..
var parent = target.parentNode;
var msgId = parent.getAttribute("citadel:msgid");
+ var is_shift_pressed = event.shiftKey;
+ var is_ctrl_pressed = event.ctrlKey;
+
+/* debugging
+ str = '.';
+ if (is_shift_pressed) {
+ str = str + 'S';
+ }
+ str = str + '.';
+ if (is_ctrl_pressed) {
+ str = str + 'C';
+ }
+ str = str + '.';
+ $('ib_summary').innerHTML = str;
+*/
+
// If the ctrl key modifier wasn't used, unmark all rows and load the message
- if (!event.shiftKey && !event.ctrlKey && !event.altKey) {
+ if (!is_shift_pressed && !is_ctrl_pressed) {
previousFinish = 0;
markedFrom = 0;
unmarkAllRows();
document.getElementById("preview_pane").innerHTML = "";
new Ajax.Updater('preview_pane', 'msg/'+msgId, {method: 'get'});
markRow(parent);
+ var p = encodeURI('g_cmd=SEEN ' + msgId + '|1');
new Ajax.Request('ajax_servcmd', {
method: 'post',
- parameters: 'g_cmd=SEEN ' + msgId + '|1',
- onComplete: CtdlMarkRowAsRead(parent)});
+ parameters: p,
+ onComplete: CtdlMarkRowAsRead(parent)
+ });
// If the shift key modifier is used, mark a range...
- } else if (event.button != 2 && event.shiftKey) {
+ } else if (event.button != 2 && is_shift_pressed) {
if (originalMarkedRow == null) {
originalMarkedRow = parent;
markRow(parent);
markRow(parent.parentNode.rows[x]);
}
// If the ctrl key modifier is used, toggle one message
- } else if (event.button != 2 && (event.ctrlKey || event.altKey)) {
+ } else if (event.button != 2 && is_ctrl_pressed) {
if (parent.getAttribute("citadel:marked")) {
unmarkRow(parent);
}
function removeOldSortClass() {
if (currentSorterToggle) {
var classes = currentSorterToggle.className;
- /* classes = classes.replace("current_sort_mode","");
- classes = classes.replace("sort_ascending","");
- classes = classes.replace("sort_descending",""); */
- currentSorterToggle.className = "";
+ classes = classes.replace("current_sort_mode","");
+ classes = classes.replace("sort_ascending","");
+ classes = classes.replace("sort_descending","");
+ currentSorterToggle.className = classes;
}
}
function markRow(row) {
msgs = newMsgs;
resortAndDisplay(null);
}
-
function deleteAllSelectedMessages() {
- for(msgId in currentlyMarkedRows) {
- if (!room_is_trash) {
- new Ajax.Request('ajax_servcmd',
- {method: 'post',
- parameters: 'g_cmd=MOVE ' + msgId + '|_TRASH_|0'
- });
- } else {
- new Ajax.Request('ajax_servcmd', {method: 'post',
- parameters: 'g_cmd=DELE '+msgId});
+ var mvCommand = "";
+ var msgIds = "";
+ for(msgId in currentlyMarkedRows) {
+ msgIds += ","+msgId;
+
+ if (msgIds.length > 800) {
+ if (!room_is_trash) {
+ mvCommand = encodeURI("g_cmd=MOVE " + msgIds + "|_TRASH_|0");
+ }
+ else {
+ mvCommand = encodeURI("g_cmd=DELE " + msgIds);
+ }
+ new Ajax.Request("ajax_servcmd", {
+ parameters: mvCommand,
+ method: 'post',
+ onSuccess: function(transport) {
+ WCLog(transport.responseText);
}
+ });
+ msgIds = "";
+ }
+ }
+
+ if (!room_is_trash) {
+ mvCommand = encodeURI("g_cmd=MOVE " + msgIds + "|_TRASH_|0");
+ }
+ else {
+ mvCommand = encodeURI("g_cmd=DELE " + msgIds);
+ }
+ new Ajax.Request("ajax_servcmd", {
+ parameters: mvCommand,
+ method: 'post',
+ onSuccess: function(transport) {
+ WCLog(transport.responseText);
}
- document.getElementById("preview_pane").innerHTML = "";
- deleteAllMarkedRows();
+ });
+
+ document.getElementById("preview_pane").innerHTML = "";
+ deleteAllMarkedRows();
}
+
function CtdlMessageListKeyUp(event) {
- var key = event.which;
- if (key == 46) { // DELETE
+ var key = event.which || event.keyCode;
+
+ if (key == 46) { /* DELETE */
deleteAllSelectedMessages();
}
}
var heightOfViewPort = document.viewport.getHeight() // prototypejs method
var bannerHeight = banner.offsetHeight;
var contentViewPortHeight = heightOfViewPort-banner.offsetHeight-message_list_hdr.offsetHeight;
- contentViewPortHeight = 0.98 * contentViewPortHeight; // leave some error
+ contentViewPortHeight = 0.95 * contentViewPortHeight; // leave some error (especially for FF3!!)
// Set summary_view to 20%;
var summary_height = ctdlLocalPrefs.readPref("svheight");
if (summary_height == null) {
summpage.appendChild(opt);
}
}
+
function getPage(event) {
var target = event.target;
startmsg = target.options.item(target.selectedIndex).value;
//query = ""; // We are getting a page from the _entire_ msg list, don't query
getMessages();
}
+
function takeOverSearchOMatic() {
var searchForm = document.getElementById("searchomatic").getElementsByTagName("form")[0];
// First disable the form post