home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Plugins / tinymce-advanced / mce / searchreplace / jscripts / searchreplace.js
Text File  |  2008-02-19  |  3KB  |  86 lines

  1. function init() {
  2.     tinyMCEPopup.resizeToInnerSize();
  3.  
  4.     // start with appropiate tab
  5.     var task = (tinyMCE.getWindowArg("replacestring") != null) ? "replace" : "search";
  6.     mcTabs.displayTab(task + '_tab', task +'_panel');
  7.     manageReplaceButtons();
  8.     
  9.     var formObj = document.forms[0];
  10.  
  11.     formObj[task + "_panel_searchstring"].value = tinyMCE.getWindowArg("searchstring");
  12.     formObj["replace_panel_replacestring"].value = (tinyMCE.getWindowArg("replacestring") != null) ? tinyMCE.getWindowArg("replacestring") : "";
  13.     formObj[task + "_panel_casesensitivebox"].checked = tinyMCE.getWindowArg("casesensitive");
  14.     formObj[task + "_panel_backwardsu"].checked = tinyMCE.getWindowArg("backwards");
  15.     formObj[task + "_panel_backwardsd"].checked = !tinyMCE.getWindowArg("backwards");
  16. }
  17.  
  18. function searchNext(replacemode) {
  19.     // "search" or "replace" mode of operation?
  20.     var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
  21.  
  22.     var formObj = document.forms[0];
  23.  
  24.     if (task == "replace") {
  25.         // Whats the point?
  26.         if (formObj[task + "_panel_searchstring"].value == "" || formObj[task + "_panel_searchstring"].value == formObj[task + "_panel_replacestring"].value)
  27.             return false;
  28.     }
  29.  
  30.     // Do search
  31.     tinyMCEPopup.execCommand('mceSearch', false, { 
  32.         string : formObj[task + "_panel_searchstring"].value,
  33.         replacestring : formObj["replace_panel_replacestring"].value,
  34.         replacemode : replacemode,
  35.         casesensitive : formObj[task + "_panel_casesensitivebox"].checked,
  36.         backwards : formObj[task + "_panel_backwardsu"].checked,
  37.         win : window
  38.         }, false);
  39.  
  40.     window.focus();
  41.  
  42.     return false;
  43. }
  44.  
  45. function cancelAction() {
  46.     tinyMCEPopup.close();
  47. }
  48.  
  49. function manageReplaceButtons() {
  50.     // "search" or "replace" mode of operation?
  51.     var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
  52.     document.getElementById("replace_buttons").style.visibility = (task == "replace") ? "visible" : "hidden";
  53. }
  54.  
  55. function copyValues(link) {
  56.     // check if tab is already active
  57.     var tab = link;
  58.     while (tab.tagName && tab.tagName.toLowerCase() != "li") tab = tab.parentNode;
  59.     if (tab.className) return false; // tab is already active -> no need to copy any values!
  60.  
  61.     // copy values from one panel to the other (if they exist there)
  62.     var from_panel_name = tab.id.match(/^search/i) ? "replace_panel" : "search_panel";
  63.     var to_panel_name = (from_panel_name == "search_panel") ? "replace_panel" : "search_panel";
  64.  
  65.     // find all elements with IDs to copy their values
  66.     var elms = document.getElementById(from_panel_name).getElementsByTagName("*");
  67.     for (var i = 0; i < elms.length; i++) {
  68.         if (elms[i].id && elms[i].id != "") {
  69.             var checked = "undefined";
  70.             if (elms[i].type.toLowerCase() == "checkbox" || elms[i].type.toLowerCase() == "radio")
  71.                 checked = elms[i].checked;
  72.  
  73.             // copy values if element exists in other panel
  74.             var to_elm_name = to_panel_name + elms[i].id.substring(from_panel_name.length, elms[i].id.length);
  75.             var to_elm = document.getElementById(to_elm_name);
  76.             if (to_elm) {
  77.                 if (checked != "undefined")
  78.                     to_elm.checked = checked;
  79.                 else
  80.                     to_elm.value = elms[i].value;
  81.             }
  82.         }
  83.     }
  84.  
  85.     return false;
  86. }