svncommit
2007-02-26 87e2fddb32da8580f73c5ec0628e9eacfb4e0043
commit | author | age
f0ea59 1 function init() {
S 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)
87e2fd 27             return false;
f0ea59 28     }
S 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,
87e2fd 36         backwards : formObj[task + "_panel_backwardsu"].checked,
S 37         win : window
f0ea59 38         }, false);
S 39
40     window.focus();
87e2fd 41
S 42     return false;
f0ea59 43 }
S 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 }