Changeset 3369 for branches/2.2/expressoMail1_2/js
- Timestamp:
- 10/18/10 13:48:42 (14 years ago)
- Location:
- branches/2.2/expressoMail1_2/js
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/expressoMail1_2/js/common_functions.js
r3336 r3369 35 35 function resizeWindow(){ 36 36 37 var divScrollMain = Element("divScrollMain_"+numBox); 38 var table_message = Element("table_message"); 39 var content_folders = Element("content_folders"); 40 var clientHeight = ((window.innerHeight ? window.innerHeight : document.body.offsetHeight) - 8); 37 var divScrollMain = Element("divScrollMain_"+numBox); 38 var table_message = Element("table_message"); 39 var content_folders = Element("content_folders"); 40 var clientHeight = ((window.innerHeight ? window.innerHeight : document.body.offsetHeight) - 8); 41 41 var clientWidth = window.innerWidth ? window.innerWidth : document.body.offsetWidth; 42 42 43 if(divScrollMain){ 44 divScrollMain.style.height = (clientHeight - (findPosY(divScrollMain) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight))) + "px"; 45 } 43 if(divScrollMain){ 44 divScrollMain.style.height = (clientHeight - (findPosY(divScrollMain) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight))) + "px"; 45 } 46 46 47 47 if(typeof(BordersArray) != 'undefined') { … … 50 50 var div = Element("content_id_"+BordersArray[i].sequence); 51 51 52 if(div){ 53 div.style.height = (clientHeight - (findPosY(div) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight)+2)) + "px"; 54 div.style.width = (clientWidth - (findPosX(div)+10)) + "px"; 55 } 56 if(div_scroll){ 57 div_scroll.style.height = (clientHeight - (findPosY(div_scroll) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight)+5)) + "px"; 58 div_scroll.style.width = (clientWidth - (findPosX(div_scroll)+15)) + "px"; 59 } 60 } 61 } 62 63 if(content_folders){ 64 var search_div = Element("search_div"); 65 var contentFoldersY = findPosY(content_folders); 66 content_folders.style.height = (clientHeight - (contentFoldersY + (contentFoldersY > findPosY(search_div) ? 0 : (search_div.clientHeight ? search_div.clientHeight : search_div.offsetHeight) + 5))) + "px"; 67 } 52 if(div){ 53 div.style.height = (clientHeight - (findPosY(div) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight)+2)) + "px"; 54 div.style.width = (clientWidth - (findPosX(div)+10)) + "px"; 55 } 56 if(div_scroll){ 57 div_scroll.style.height = (clientHeight - (findPosY(div_scroll) + (table_message.clientHeight ? table_message.clientHeight : table_message.offsetHeight)+5)) + "px"; 58 div_scroll.style.width = (clientWidth - (findPosX(div_scroll)+15)) + "px"; 59 } 60 } 61 } 62 63 if(content_folders){ 64 var search_div = Element("search_div"); 65 var contentFoldersY = findPosY(content_folders); 66 content_folders.style.height = (clientHeight - (contentFoldersY + (contentFoldersY > findPosY(search_div) ? 0 : (search_div.clientHeight ? search_div.clientHeight : search_div.offsetHeight) + 5))) + "px"; 67 } 68 68 redim_borders(count_borders()); 69 69 } … … 95 95 // Translate words and phrases using user language from eGroupware. 96 96 function get_lang(_key) { 97 if (typeof(_key) == 'undefined') 98 return false; 97 if (typeof(_key) == 'undefined') 98 return false; 99 99 var key = _key.toLowerCase(); 100 100 if(array_lang[key]) … … 116 116 117 117 // Change the class of message. 118 // In refresh, the flags UnRead and UnSeen don't exist anymore. 118 // In refresh, the flags UnRead and UnSeen don't exist anymore. 119 119 function set_msg_as_read(msg_number, selected){ 120 120 tr_message = Element(msg_number); … … 123 123 remove_className(tr_message, 'tr_msg_unread'); 124 124 remove_className(tr_message, 'selected_msg'); 125 Element("td_message_unseen_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/seen.gif' title='"+get_lang('Seen')+"'>"; 125 Element("td_message_unseen_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/seen.gif' title='"+get_lang('Seen')+"'>"; 126 126 connector.purgeCache(); 127 127 return true; … … 136 136 tr_message = Element(msg_number); 137 137 if ((exist_className(tr_message, 'tr_msg_read') || exist_className(tr_message, 'tr_msg_read2')) && (!exist_className(tr_message, 'tr_msg_unread'))) 138 increment_folder_unseen(); 138 increment_folder_unseen(); 139 139 remove_className(tr_message, 'selected_msg'); 140 140 add_className(tr_message, 'tr_msg_unread'); 141 Element("td_message_unseen_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/unseen.gif' title='"+get_lang('Unseen')+"'>"; 141 Element("td_message_unseen_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/unseen.gif' title='"+get_lang('Unseen')+"'>"; 142 142 } 143 143 … … 197 197 //Get element tBody. 198 198 main = document.getElementById("tbody_box"); 199 199 200 200 // Get all TR (messages) in tBody. 201 201 main_list = main.childNodes; 202 202 203 203 return main_list.length; 204 204 } … … 218 218 div_attachment = document.getElementById("id_div_attachment"); 219 219 var params = ''; 220 220 221 221 if (div_attachment == null){ 222 222 var div_attachment = document.createElement("DIV"); … … 233 233 234 234 function download_all_attachments(msg_folder, msg_number){ 235 var handler_source = function(data){ 235 var handler_source = function(data){ 236 236 download_attachments(null, null, data, null,null,'anexos.zip'); 237 237 } … … 244 244 if (! divFiles) 245 245 return false; 246 246 247 247 if (divFiles.lastChild) 248 248 var countDivFiles = parseInt(divFiles.lastChild.id.split('_')[2]) + 1; … … 250 250 if (! countDivFiles) 251 251 var countDivFiles = 1; 252 252 253 253 divFile = document.createElement('DIV'); 254 254 255 255 256 256 if (!expresso_offline) { 257 257 if (!is_ie) { 258 258 var inputFile = document.createElement("INPUT"); 259 259 260 260 var tmp_id_border = document.createAttribute('id_border'); 261 261 tmp_id_border.value = id_border; 262 262 263 263 inputFile.setAttributeNode(tmp_id_border); 264 264 inputFile.id = "inputFile_" + id_border + "_" + countDivFiles; … … 271 271 else { 272 272 var inputFile = document.createElement("link"); 273 273 274 274 var tmp_id_border = document.createAttribute('id_border'); 275 275 tmp_id_border.value = id_border; 276 276 277 277 inputFile.setAttributeNode(tmp_id_border); 278 278 inputFile.id = "inputFile_" + id_border + "_" + countDivFiles; 279 279 inputFile.name = 'file_' + countDivFiles; 280 281 282 } 283 280 281 282 } 283 284 284 } 285 285 else { … … 287 287 inputFile.type = 'hidden'; 288 288 inputFile.name = 'offline_forward_' + countDivFiles; 289 } 289 } 290 290 divFile.appendChild(inputFile); 291 291 … … 299 299 checkbox.id = "checkbox_"+id_border+"_"+countDivFiles; 300 300 checkbox.name = "local_attachments[]"; 301 301 302 302 checkbox.value = s_tmp; 303 303 divFile.appendChild(checkbox); 304 304 305 305 var link_attachment = document.createElement("A"); 306 306 link_attachment.setAttribute("href", link); 307 307 308 308 link_attachment.innerHTML = file_name; 309 309 divFile.appendChild(link_attachment); 310 310 311 311 countDivFiles++; 312 divFile.id = "divFile_"+id_border+"_"+countDivFiles; 312 divFile.id = "divFile_"+id_border+"_"+countDivFiles; 313 313 divFiles.appendChild(divFile); 314 314 … … 322 322 if (! divFiles) 323 323 return false; 324 324 325 325 if (divFiles.lastChild) 326 326 var countDivFiles = parseInt(divFiles.lastChild.id.split('_')[2]) + 1; … … 328 328 if (! countDivFiles) 329 329 var countDivFiles = 1; 330 330 331 331 divFile = document.createElement('DIV'); 332 333 332 333 334 334 divFile.innerHTML = "<input type='file' id_border='"+id_border+"' size='50' maxLength='255' onchange=\"function () {validateFileExtension(this.value, this.id.replace('input','div'), this.getAttribute('id_border'));};\" id='"+"inputFile_"+id_border+"_"+countDivFiles+"' name='file_"+countDivFiles+"'>"; 335 335 336 336 337 337 var linkFile = document.createElement("A"); 338 338 linkFile.id = "linkFile_"+id_border+"_"+countDivFiles; 339 339 linkFile.href='javascript:void(0)'; 340 340 linkFile.onclick=function () {removeFile(this.id.replace("link","div")); return false;}; 341 linkFile.innerHTML=get_lang("Remove"); 341 linkFile.innerHTML=get_lang("Remove"); 342 342 //divFile.innerHTML += " "; 343 343 divFile.appendChild(linkFile); 344 divFile.id = "divFile_"+id_border+"_"+countDivFiles; 344 divFile.id = "divFile_"+id_border+"_"+countDivFiles; 345 345 divFiles.appendChild(divFile); 346 346 347 347 348 348 349 349 return document.getElementById("inputFile_"+id_border+"_"+countDivFiles); … … 357 357 358 358 function validateFileExtension(fileName, id, id_border){ 359 359 360 360 var error_flag = false; 361 361 … … 365 365 var file = fileName.substr(fileName.lastIndexOf('\\') + 1, fileName.length); 366 366 if ((fileName.indexOf(':\\') != 1) && (fileName.indexOf('\\\\') != 0)) // Is stored in partition or a network file? 367 error_flag = true; 367 error_flag = true; 368 368 } 369 369 else // is Unix 370 var file = fileName.substr(fileName.lastIndexOf('/') + 1, fileName.length); 370 var file = fileName.substr(fileName.lastIndexOf('/') + 1, fileName.length); 371 371 } 372 372 else // is Firefox 3 … … 382 382 break; 383 383 } 384 384 385 385 } 386 386 … … 399 399 // Funcao usada para escrever mensagem 400 400 // notimeout = True : mensagem nao apaga 401 function write_msg(msg, notimeout){ 402 401 function write_msg(msg, notimeout){ 402 403 403 if (setTimeout_write_msg) 404 404 clearTimeout(setTimeout_write_msg); 405 405 406 406 var msg_div = Element('em_div_write_msg'); 407 407 var old_divStatusBar = Element("divStatusBar"); … … 413 413 old_divStatusBar.parentNode.insertBefore(msg_div,old_divStatusBar); 414 414 } 415 415 416 416 if( document.getElementById('JabberMessenger')) 417 417 loadscript.adIcon(); … … 420 420 421 421 old_divStatusBar.style.display = 'none'; 422 msg_div.style.display = ''; 422 msg_div.style.display = ''; 423 423 // Nao ponha var na frente!! jakjr 424 424 handle_write_msg = function(){ … … 427 427 clean_msg(); 428 428 else 429 write_msg(old_msg, true); 429 write_msg(old_msg, true); 430 430 } 431 431 catch(e){} … … 443 443 if(msg_div) 444 444 msg_div.style.display = 'none'; 445 old_divStatusBar.style.display = ''; 445 old_divStatusBar.style.display = ''; 446 446 } 447 447 … … 507 507 return; 508 508 } 509 509 510 510 var handler_emQuickSearch = function(data) 511 511 { … … 514 514 window_DropDownContacts.style.visibility = 'hidden'; 515 515 } 516 516 517 517 if ((!data.status) && (data.error == "many results")){ 518 518 alert(get_lang('More than %1 results. Please, try to refine your search.',200)); 519 519 return false; 520 520 } 521 521 522 522 if (data.length > 0){ 523 523 if ((field != 'null') && (ID != 'null')) … … 544 544 return true; 545 545 } 546 546 547 547 if ((field != 'null') && (ID != 'null')) 548 548 { … … 564 564 else 565 565 var search_for = emailList; 566 566 567 567 if (search_for.length < preferences.search_characters_number){ 568 568 alert(get_lang('Your search argument must be longer than %1 characters.', preferences.search_characters_number)); 569 569 return false; 570 570 } 571 571 572 572 cExecute ("$this.ldap_functions.quicksearch&search_for="+search_for+"&field="+field+"&ID="+ID, handler_emQuickSearch); 573 573 } … … 680 680 var n, strCode, strDecode = ""; 681 681 for (n = 0; n < str.length; n++) { 682 if (str.charAt(n) == "%") { 683 strCode = str.charAt(n + 1) + str.charAt(n + 2); 684 strDecode += String.fromCharCode(parseInt(strCode, 16)); 685 n += 2; 686 } else { 687 strDecode += str.charAt(n); 688 } 682 strDecode += str.charAt(n); 683 //if (str.charAt(n) == "%") { 684 // strCode = str.charAt(n + 1) + str.charAt(n + 2); 685 // strDecode += String.fromCharCode(parseInt(strCode, 16)); 686 // n += 2; 687 //} else { 688 // strDecode += str.charAt(n); 689 //} 689 690 } 690 691 return strDecode; … … 713 714 var Lp=obj.createTextRange(); 714 715 } 715 716 716 717 Lp.setEndPoint("EndToStart",M); 717 718 var rb=Lp.text.length; 718 719 719 720 if(rb > obj.value.length) 720 721 { … … 726 727 727 728 function trim(inputString) { 728 if (typeof inputString != "string") 729 if (typeof inputString != "string") 729 730 return inputString; 730 731 731 732 var retValue = inputString; 732 733 var ch = retValue.substring(0, 1); 733 while (ch == " ") { 734 while (ch == " ") { 734 735 retValue = retValue.substring(1, retValue.length); 735 736 ch = retValue.substring(0, 1); 736 737 } 737 738 ch = retValue.substring(retValue.length-1, retValue.length); 738 while (ch == " ") { 739 while (ch == " ") { 739 740 retValue = retValue.substring(0, retValue.length-1); 740 741 ch = retValue.substring(retValue.length-1, retValue.length); 741 742 } 742 while (retValue.indexOf(" ") != -1) { 743 retValue = retValue.substring(0, retValue.indexOf(" ")) + retValue.substring(retValue.indexOf(" ")+1, retValue.length); 743 while (retValue.indexOf(" ") != -1) { 744 retValue = retValue.substring(0, retValue.indexOf(" ")) + retValue.substring(retValue.indexOf(" ")+1, retValue.length); 744 745 } 745 return retValue; 746 return retValue; 746 747 } 747 748 … … 922 923 var main_list = main.childNodes; 923 924 var len_main_list = main_list.length; 924 925 925 926 if (select) 926 927 { -
branches/2.2/expressoMail1_2/js/draw_api.js
r3352 r3369 569 569 lnk_page.title = get_lang("First"); 570 570 span_paging.innerHTML += " "; 571 571 572 572 if(current_page == lastPage + numPages) 573 lastPage = current_page - 1; 574 else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) 573 lastPage = current_page - 1; 574 else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) 575 575 lastPage = current_page - (numPages - 1); 576 576 else if(current_page == 1) … … 585 585 586 586 for(i = lastPage; i <= total_pages; i++) { 587 588 if(current_page == i || (i == total_pages && !hasMarked)) { 587 588 if(current_page == i || (i == total_pages && !hasMarked)) { 589 589 lnk_page = document.createElement("SPAN"); 590 590 span_paging.appendChild(lnk_page); … … 593 593 continue; 594 594 } 595 else{ 595 else{ 596 596 lnk_page = document.createElement("A"); 597 597 span_paging.appendChild(lnk_page); … … 605 605 else if(lastPage == 1 || i != lastPage) 606 606 lnk_page.innerHTML = " "+i+" "; 607 span_paging.innerHTML += " "; 607 span_paging.innerHTML += " "; 608 608 } 609 609 … … 611 611 lnk_page = document.createElement("A"); 612 612 msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); 613 msg_range_end = (total_pages*preferences.max_email_per_page); 613 msg_range_end = (total_pages*preferences.max_email_per_page); 614 614 lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box(data, get_current_folder());});"); 615 615 } … … 833 833 "TreeShow"); 834 834 connector.loadAllScripts(scripts); 835 // Loading Quota View Folder Component (if exists...) 835 // Loading Quota View Folder Component (if exists...) 836 836 if(Element("table_quota")) 837 837 connector.loadScript("InfoQuota"); … … 1293 1293 td.innerHTML = _name.bold() + ', ' + info_msg.smalldate; 1294 1294 if (info_msg.attachments && info_msg.attachments.length > 0) 1295 td.innerHTML += " <img style='cursor:pointer' onclick='javascript:Element(\"option_hide_more_"+ID+"\").onclick()' src ='templates/"+template+"/images/clip.gif' title='"+info_msg.attachments .names+"'>";1295 td.innerHTML += " <img style='cursor:pointer' onclick='javascript:Element(\"option_hide_more_"+ID+"\").onclick()' src ='templates/"+template+"/images/clip.gif' title='"+info_msg.attachments[0].name+"'>"; 1296 1296 1297 1297 if (typeof(info_msg.signature) == 'string') … … 2005 2005 }catch(e){ 2006 2006 } 2007 } 2007 } 2008 2008 ////////////////////////////////////////////////////////////////////////////////////////////////////// 2009 2009 //Make the thumbs of the message.
Note: See TracChangeset
for help on using the changeset viewer.