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