function parentRefreshListRowStyle(oldID, newID) { var trElement; var aElements; trElement = document.getElementById('row_'+oldID); trElement.style.backgroundColor = "#FFFFFF"; trElement.style.fontWeight='normal'; aElements = trElement.getElementsByTagName("a"); aElements[0].style.fontWeight='normal'; aElements[1].style.fontWeight='normal'; trElement = document.getElementById('row_'+newID); trElement.style.backgroundColor = "#ddddFF"; trElement.style.fontWeight='normal'; aElements = trElement.getElementsByTagName("a"); aElements[0].style.fontWeight='normal'; aElements[1].style.fontWeight='normal'; } function setStatusMessage(_message) { document.getElementById('messageCounter').innerHTML = '
 ' + _message + '
'; } function sendNotifyMS (uid) { ret = confirm(lang_sendnotify); window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.sendNotify",uid,ret); } function changeSorting(_sort, _aNode) { window.resetMessageSelect(); document.getElementById('messageCounter').innerHTML = 'Change sorting ...'; document.getElementById('divMessageList').innerHTML = ''; aTags = document.getElementById('tableHeader').getElementsByTagName('a'); aTags[0].style.fontWeight='normal'; aTags[1].style.fontWeight='normal'; aTags[2].style.fontWeight='normal'; aTags[3].style.fontWeight='normal'; window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.changeSorting",_sort); _aNode.style.fontWeight='bold'; } function compressFolder() { if (document.getElementById('messageCounter').innerHTML.search(eval('/'+lang_updating_view+'/'))<0 ) {MessageBuffer = document.getElementById('messageCounter').innerHTML;} window.setStatusMessage(''+ lang_compressingFolder +''); window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.compressFolder"); } function deleteMessages(_messageList) { var Check = true; var cbAllMessages = document.getElementById('selectAllMessagesCheckBox').checked; window.resetMessageSelect(); if (cbAllMessages == true) Check = confirm(lang_confirm_all_messages); if (cbAllMessages == true && Check == true) { _messageList = 'all'; } if (Check == true) { window.setStatusMessage('' + lang_deleting_messages + ''); document.getElementById('divMessageList').innerHTML = ''; window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.deleteMessages",_messageList); } else { for(i=0; i< document.forms.formMessageList.elements.length; i++) { if(document.forms.formMessageList.elements[i].checked) { document.forms.formMessageList.elements[i].checked = false; } } } } function displayMessage(_url,_windowName) { egw_openWindowCentered(_url, _windowName, 850, egw_getWindowOuterHeight()); } function fm_displayHeaderLines(_url) { egw_openWindowCentered(_url,'fm_display_headerLines','700','600',window.outerWidth/2,window.outerHeight/2); } function emptyTrash() { if (document.getElementById('messageCounter').innerHTML.search(eval('/'+lang_updating_view+'/'))<0 ) {MessageBuffer = document.getElementById('messageCounter').innerHTML;} window.setStatusMessage('' + lang_emptyTrashFolder + ''); window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.emptyTrash"); } function tellUser(message,_nodeID) { if (_nodeID) { alert(message+top.tree.getUserData(_nodeID, 'folderName')); } else { alert(message); } } function getTreeNodeOpenItems(_nodeID, mode) { var z = top.tree.getSubItems(_nodeID).split(","); var oS; var PoS; var rv; var returnValue = ""+_nodeID; var modetorun = "none"; if (mode) { modetorun = mode } PoS = top.tree.getOpenState(_nodeID) if (modetorun == "forced") PoS = 1; if (PoS == 1) { for(var i=0;i"; if (prefAskForMove == 2) message = message + " "; message = message + " "; type = 'prompt'; autohide = 0; showDialog(title,message,type,autohide); Check = false; actionPending = true; } if (prefAskForMove==99) actionPending = 'copy'; if (Check == true && document.getElementById('selectAllMessagesCheckBox').checked == true) Check = confirm(lang_confirm_all_messages); if (Check == true) { if (document.getElementById('messageCounter').innerHTML.search(eval('/'+lang_updating_view+'/'))<0 ) {MessageBuffer = document.getElementById('messageCounter').innerHTML;} if (document.getElementById('selectAllMessagesCheckBox').checked == true) { window.resetMessageSelect(); formData = 'all'; } else { window.resetMessageSelect(); formData = window.xajax.getFormValues('formMessageList'); } if (actionPending == 'copy') { window.setStatusMessage(copyingMessages +' '+ top.tree.getUserData(_nodeID, 'folderName') +''); document.getElementById('divMessageList').innerHTML = ''; window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.copyMessages", _nodeID, formData); } else { // default: move messages window.setStatusMessage(movingMessages +' '+ top.tree.getUserData(_nodeID, 'folderName') +''); document.getElementById('divMessageList').innerHTML = ''; window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.moveMessages", _nodeID, formData); } } else { if (actionPending == false) { window.resetMessageSelect(); for(i=0; i< document.forms.formMessageList.elements.length; i++) { if(document.forms.formMessageList.elements[i].checked) { document.forms.formMessageList.elements[i].checked = false; } } } } } else { window.resetMessageSelect(); window.setStatusMessage('' + window.lang_loading + ' ' + top.tree.getUserData(_nodeID, 'folderName') + ''); document.getElementById('divMessageList').innerHTML = ''; window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.updateMessageView",_nodeID); window.refreshFolderStatus(_nodeID); } } CopyOrMove = true; } function quickSearch() { var searchType; var searchString; var status; window.resetMessageSelect(); //disable select allMessages in Folder Checkbox, as it is not implemented for filters document.getElementById('selectAllMessagesCheckBox').disabled = true; window.setStatusMessage('' + lang_updating_view + ''); document.getElementById('divMessageList').innerHTML = ''; document.getElementById('quickSearch').select(); searchType = document.getElementById('searchType').value; searchString = document.getElementById('quickSearch').value; status = document.getElementById('status').value; if (searchString+'grrr###'+status == 'grrr###any') document.getElementById('selectAllMessagesCheckBox').disabled = false; window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.quickSearch', searchType, searchString, status); } function selectFolderContent(inputBox, _refreshTimeOut) { maxMessages = 0; selectAll(inputBox, _refreshTimeOut); } function selectAll(inputBox, _refreshTimeOut) { maxMessages = 0; for (var i = 0; i < document.getElementsByTagName('input').length; i++) { if(document.getElementsByTagName('input')[i].name == 'msg[]') { //alert(document.getElementsByTagName('input')[i].name); document.getElementsByTagName('input')[i].checked = inputBox.checked; maxMessages++; } } folderFunctions = document.getElementById('folderFunction'); if(inputBox.checked) { checkedCounter = maxMessages; while (folderFunctions.hasChildNodes()) { folderFunctions.removeChild(folderFunctions.lastChild); } var textNode = document.createTextNode(lang_select_target_folder); folderFunctions.appendChild(textNode); document.getElementsByName("folderAction")[0].value = "moveMessage"; fm_startTimerMessageListUpdate(1800000); } else { checkedCounter = 0; while (folderFunctions.hasChildNodes()) { folderFunctions.removeChild(folderFunctions.lastChild); } var textNode = document.createTextNode(''); folderFunctions.appendChild(textNode); document.getElementsByName("folderAction")[0].value = "changeFolder"; fm_startTimerMessageListUpdate(_refreshTimeOut); } } function toggleFolderRadio(inputBox, _refreshTimeOut) { folderFunctions = document.getElementById("folderFunction"); checkedCounter += (inputBox.checked) ? 1 : -1; if (checkedCounter > 0) { while (folderFunctions.hasChildNodes()) { folderFunctions.removeChild(folderFunctions.lastChild); } var textNode = document.createTextNode('{lang_move_message}'); //folderFunctions.appendChild(textNode); document.getElementById("folderFunction").innerHTML=lang_select_target_folder; document.getElementsByName("folderAction")[0].value = "moveMessage"; fm_startTimerMessageListUpdate(1800000); } else { document.getElementById('messageCheckBox').checked = false; document.getElementById('selectAllMessagesCheckBox').checked = false; while (folderFunctions.hasChildNodes()) { folderFunctions.removeChild(folderFunctions.lastChild); } //var textNode = document.createTextNode('{lang_change_folder}'); //folderFunctions.appendChild(textNode); document.getElementsByName("folderAction")[0].value = "changeFolder"; fm_startTimerMessageListUpdate(_refreshTimeOut); } } function extendedSearch(_selectBox) { window.resetMessageSelect(); //disable select allMessages in Folder Checkbox, as it is not implemented for filters document.getElementById('selectAllMessagesCheckBox').disabled = true; window.setStatusMessage('Applying filter '+_selectBox.options[_selectBox.selectedIndex].text+''); document.getElementById('divMessageList').innerHTML = ''; document.getElementById('quickSearch').value = ''; window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.extendedSearch',_selectBox.options[_selectBox.selectedIndex].value); } function flagMessages(_flag) { var Check=true; var _messageList; var cbAllMessages = document.getElementById('selectAllMessagesCheckBox').checked; window.resetMessageSelect(); if (cbAllMessages == true) Check = confirm(lang_confirm_all_messages); if (cbAllMessages == true && Check == true) { _messageList = 'all'; } else { _messageList = window.xajax.getFormValues('formMessageList'); } //alert(_messageList); if (Check == true) { window.setStatusMessage('' + lang_updating_message_status + ''); window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.flagMessages", _flag, _messageList); document.getElementById('divMessageList').innerHTML = ''; fm_startTimerMessageListUpdate(refreshTimeOut); } else { for(i=0; i< document.forms.formMessageList.elements.length; i++) { if(document.forms.formMessageList.elements[i].checked) { document.forms.formMessageList.elements[i].checked = false; } } } } function resetMessageSelect() { if (document.getElementById('messageCounter').innerHTML.search(eval('/'+lang_updating_view+'/'))<0 ) {MessageBuffer = document.getElementById('messageCounter').innerHTML;} document.getElementById('messageCheckBox').checked = false; document.getElementById('selectAllMessagesCheckBox').checked = false; checkedCounter = 0; folderFunctions = document.getElementById('folderFunction'); while (folderFunctions.hasChildNodes()) folderFunctions.removeChild(folderFunctions.lastChild); var textNode = document.createTextNode(''); folderFunctions.appendChild(textNode); document.getElementsByName("folderAction")[0].value = "changeFolder"; } function skipForward() { window.resetMessageSelect(); window.setStatusMessage(''+ lang_skipping_forward +''); document.getElementById('divMessageList').innerHTML = ''; window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.skipForward'); } function skipPrevious() { window.resetMessageSelect(); window.setStatusMessage(''+ lang_skipping_previous +''); document.getElementById('divMessageList').innerHTML = ''; window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.skipPrevious'); } function jumpEnd() { window.resetMessageSelect(); window.setStatusMessage(''+ lang_jumping_to_end +''); document.getElementById('divMessageList').innerHTML = ''; window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.jumpEnd'); } function jumpStart() { window.resetMessageSelect(); window.setStatusMessage(''+ lang_jumping_to_start +''); document.getElementById('divMessageList').innerHTML = ''; window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.jumpStart'); } var searchesPending=0; function refresh() { //searchesPending++; //document.title=searchesPending; window.resetMessageSelect(); window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.refreshMessageList'); if (fm_previewMessageID>0) { //setStatusMessage(''+ lang_updating_view +''); //xajax_doXMLHTTP("felamimail.ajaxfelamimail.refreshMessagePreview",fm_previewMessageID,fm_previewMessageFolderType); } } function refreshFolderStatus(_nodeID,mode) { var nodeToRefresh = 0; var mode2use = "none"; if (document.getElementById('messageCounter')) { if (document.getElementById('messageCounter').innerHTML.search(eval('/'+lang_updating_view+'/'))<0 ) {MessageBuffer = document.getElementById('messageCounter').innerHTML;} } if (_nodeID) nodeToRefresh = _nodeID; if (mode) { if (mode == "forced") {mode2use = mode;} } var activeFolders = getTreeNodeOpenItems(nodeToRefresh,mode2use); window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.refreshFolderList', activeFolders); // if (fm_previewMessageID>0) // { // //setStatusMessage(''+ lang_updating_view +''); // //xajax_doXMLHTTP("felamimail.ajaxfelamimail.refreshMessagePreview",fm_previewMessageID,fm_previewMessageFolderType); // } } function refreshView() { if (document.getElementById('messageCounter').innerHTML.search(eval('/'+lang_updating_view+'/'))<0 ) {MessageBuffer = document.getElementById('messageCounter').innerHTML;} document.mainView.submit(); document.getElementById('messageCounter').innerHTML = MessageBuffer; } function openComposeWindow(_url) { var Check=true; var _messageList; var cbAllMessages = document.getElementById('selectAllMessagesCheckBox').checked; window.resetMessageSelect(); if (cbAllMessages == true) Check = confirm(lang_confirm_all_messages); if (cbAllMessages == true && Check == true) { _messageList = 'all'; } else { _messageList = window.xajax.getFormValues('formMessageList'); } sMessageList=''; for (var i in _messageList['msg']) { //alert('eigenschaft:'+_messageList['msg'][i]); sMessageList=sMessageList+_messageList['msg'][i]+','; //sMessageList.concat(','); } if (sMessageList.length >0) { sMessageList= 'AsForward&forwardmails=1&folder='+activeFolderB64+'&reply_id='+sMessageList.substring(0,sMessageList.length-1); } //alert(sMessageList); if (Check == true) { egw_openWindowCentered(_url+sMessageList,'compose',700,egw_getWindowOuterHeight()); } for(i=0; i< document.forms.formMessageList.elements.length; i++) { if(document.forms.formMessageList.elements[i].checked) { document.forms.formMessageList.elements[i].checked = false; } } } // timer functions function fm_startTimerFolderStatusUpdate(_refreshTimeOut) { if(fm_timerFolderStatus) { window.clearTimeout(fm_timerFolderStatus); } if(_refreshTimeOut > 5000) { fm_timerFolderStatus = window.setInterval("refreshFolderStatus()", _refreshTimeOut); } } function fm_startTimerMessageListUpdate(_refreshTimeOut) { if(aktiv) { window.clearTimeout(aktiv); } if(_refreshTimeOut > 5000) { aktiv = window.setInterval("refresh()", _refreshTimeOut); } } function fm_readMessage(_url, _windowName, _node) { var windowArray = _windowName.split('_'); var tableElement =_node.parentNode.parentNode.parentNode.parentNode; var allRows = tableElement.getElementsByTagName("tr"); for(i=0; i< allRows.length; i++) { allRows[i].style.backgroundColor = "#FFFFFF"; } if (windowArray[0] == 'MessagePreview') { //document.getElementById('spanMessagePreview').innerHTML = ''; if (document.getElementById('messageCounter').innerHTML.search(eval('/'+lang_updating_view+'/'))<0 ) {MessageBuffer = document.getElementById('messageCounter').innerHTML;} window.setStatusMessage(''+ lang_updating_view +''); fm_previewMessageID = windowArray[1]; fm_previewMessageFolderType = windowArray[2]; window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.refreshMessagePreview",windowArray[1],windowArray[2]); } else { egw_openWindowCentered(_url, _windowName, 750, egw_getWindowOuterHeight()); } trElement = _node.parentNode.parentNode.parentNode; trElement.style.fontWeight='normal'; trElement.style.backgroundColor = "#ddddFF"; aElements = trElement.getElementsByTagName("a"); aElements[0].style.fontWeight='normal'; aElements[1].style.fontWeight='normal'; window.xajax_doXMLHTTP("felamimail.ajaxfelamimail.refreshFolder"); } function fm_readAttachments(_url, _windowName, _node) { egw_openWindowCentered(_url, _windowName, 750, 220); } function fm_clearSearch() { var inputQuickSearch = document.getElementById('quickSearch'); var status = document.getElementById('status').value; //enable select allMessages in Folder Checkbox again if (status == 'any') document.getElementById('selectAllMessagesCheckBox').disabled = false; if(inputQuickSearch.value != '') { inputQuickSearch.value = ''; quickSearch(); } inputQuickSearch.focus(); } function changeActiveAccount(_accountSelection) { //alert(_accountSelection.value); window.xajax_doXMLHTTP('felamimail.ajaxfelamimail.changeActiveAccount',_accountSelection.value); } // stuff to change row background color function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)} function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)} function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)} function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h} function RGBtoHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)} function toHex(N) { if (N==null) return "00"; N=parseInt(N); if (N==0 || isNaN(N)) return "00"; N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N); return "0123456789ABCDEF".charAt((N-N%16)/16) + "0123456789ABCDEF".charAt(N%16); } function compareColor(colorA, colorB) { var cA = colorA.search(/#/); var cA2C = colorA; var cB2C = colorB; if (cA != -1) { cA2C = "rgb("+HexToR(colorA)+", "+HexToG(colorA)+", "+HexToB(colorA)+")"; } var cB = colorB.search(/#/); if (cB != -1) { cB2C = "rgb("+HexToR(colorB)+", "+HexToG(colorB)+", "+HexToB(colorB)+")"; } if (cA2C == cB2C) { //alert("match:"+colorA+cA2C+" == "+colorB+cB2C); return true; } else { //alert("not match:"+colorA+cA2C+" == "+colorB+cB2C); return false; } } function onChangeColor(el,direction) { if (!compareColor(el.style.backgroundColor,"#ddddFF") && !compareColor(el.style.backgroundColor,"#eeeddd")) { if (direction == 'in') el.style.backgroundColor="#dddddd"; if (direction == 'out') el.style.backgroundColor="#FFFFFF"; } else { if (direction == 'in') el.style.backgroundColor="#eeeddd"; if (direction == 'out') el.style.backgroundColor="#ddddFF"; } return true; } // DIALOG BOXES by Michael Leigeber // global variables // var TIMER = 5; var SPEED = 10; var WRAPPER = 'divPoweredBy'; // calculate the current window width // function pageWidth() { return window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null; } // calculate the current window height // function pageHeight() { return window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null; } // calculate the current window vertical offset // function topPosition() { return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0; } // calculate the position starting at the left of the window // function leftPosition() { return typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0; } // build/show the dialog box, populate the data and call the fadeDialog function // function showDialog(title,message,type,autohide) { if(!type) { type = 'error'; } var dialog; var dialogheader; var dialogclose; var dialogtitle; var dialogcontent; var dialogmask; if(!document.getElementById('dialog')) { dialog = document.createElement('div'); dialog.id = 'dialog'; dialogheader = document.createElement('div'); dialogheader.id = 'dialog-header'; dialogtitle = document.createElement('div'); dialogtitle.id = 'dialog-title'; dialogclose = document.createElement('div'); dialogclose.id = 'dialog-close' dialogcontent = document.createElement('div'); dialogcontent.id = 'dialog-content'; dialogmask = document.createElement('div'); dialogmask.id = 'dialog-mask'; document.body.appendChild(dialogmask); document.body.appendChild(dialog); dialog.appendChild(dialogheader); dialogheader.appendChild(dialogtitle); dialogheader.appendChild(dialogclose); dialog.appendChild(dialogcontent);; dialogclose.setAttribute('onclick','hideDialog()'); dialogclose.onclick = hideDialog; } else { dialog = document.getElementById('dialog'); dialogheader = document.getElementById('dialog-header'); dialogtitle = document.getElementById('dialog-title'); dialogclose = document.getElementById('dialog-close'); dialogcontent = document.getElementById('dialog-content'); dialogmask = document.getElementById('dialog-mask'); dialogmask.style.visibility = "visible"; dialog.style.visibility = "visible"; } dialog.style.opacity = .00; dialog.style.filter = 'alpha(opacity=0)'; dialog.alpha = 0; var width = pageWidth(); var height = pageHeight(); var left = leftPosition(); var top = topPosition(); var dialogwidth = dialog.offsetWidth; var dialogheight = dialog.offsetHeight; var topposition = top + (height / 3) - (dialogheight / 2); var leftposition = left + (width / 2) - (dialogwidth / 2); dialog.style.top = topposition + "px"; dialog.style.left = leftposition + "px"; dialogheader.className = type + "header"; dialogtitle.innerHTML = title; dialogcontent.className = type; dialogcontent.innerHTML = message; var content = document.getElementById(WRAPPER); if (typeof content == 'undefined' || content == null) { dialogmask.style.height = '10px'; } else { dialogmask.style.height = content.offsetHeight + 'px'; } dialog.timer = setInterval("fadeDialog(1)", TIMER); if(autohide) { dialogclose.style.visibility = "hidden"; window.setTimeout("hideDialog()", (autohide * 1000)); } else { dialogclose.style.visibility = "visible"; } } // hide the dialog box // function hideDialog() { var dialog = document.getElementById('dialog'); clearInterval(dialog.timer); dialog.timer = setInterval("fadeDialog(0)", TIMER); } // fade-in the dialog box // function fadeDialog(flag) { if(flag == null) { flag = 1; } var dialog = document.getElementById('dialog'); var value; if(flag == 1) { value = dialog.alpha + SPEED; } else { value = dialog.alpha - SPEED; } dialog.alpha = value; dialog.style.opacity = (value / 100); dialog.style.filter = 'alpha(opacity=' + value + ')'; if(value >= 99) { clearInterval(dialog.timer); dialog.timer = null; } else if(value <= 1) { dialog.style.visibility = "hidden"; document.getElementById('dialog-mask').style.visibility = "hidden"; clearInterval(dialog.timer); } }