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