function init() { tinyMCEPopup.resizeToInnerSize(); // start with appropiate tab var task = (tinyMCE.getWindowArg("replacestring") != null) ? "replace" : "search"; mcTabs.displayTab(task + '_tab', task +'_panel'); manageReplaceButtons(); var formObj = document.forms[0]; formObj[task + "_panel_searchstring"].value = tinyMCE.getWindowArg("searchstring"); formObj["replace_panel_replacestring"].value = (tinyMCE.getWindowArg("replacestring") != null) ? tinyMCE.getWindowArg("replacestring") : ""; formObj[task + "_panel_casesensitivebox"].checked = tinyMCE.getWindowArg("casesensitive"); formObj[task + "_panel_backwardsu"].checked = tinyMCE.getWindowArg("backwards"); formObj[task + "_panel_backwardsd"].checked = !tinyMCE.getWindowArg("backwards"); tinyMCEPopup.execCommand("mceResetSearch", false, {dummy : ""}, false); } function searchNext(replacemode) { // "search" or "replace" mode of operation? var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace"; var formObj = document.forms[0]; if (task == "replace") { // Whats the point? if (formObj[task + "_panel_searchstring"].value == "" || formObj[task + "_panel_searchstring"].value == formObj[task + "_panel_replacestring"].value) return; } // Do search tinyMCEPopup.execCommand('mceSearch', false, { string : formObj[task + "_panel_searchstring"].value, replacestring : formObj["replace_panel_replacestring"].value, replacemode : replacemode, casesensitive : formObj[task + "_panel_casesensitivebox"].checked, backwards : false }, false); window.focus(); } function cancelAction() { tinyMCEPopup.close(); } function manageReplaceButtons() { // "search" or "replace" mode of operation? var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace"; document.getElementById("replace_buttons").style.visibility = (task == "replace") ? "visible" : "hidden"; } function copyValues(link) { // check if tab is already active var tab = link; while (tab.tagName && tab.tagName.toLowerCase() != "li") tab = tab.parentNode; if (tab.className) return false; // tab is already active -> no need to copy any values! // copy values from one panel to the other (if they exist there) var from_panel_name = tab.id.match(/^search/i) ? "replace_panel" : "search_panel"; var to_panel_name = (from_panel_name == "search_panel") ? "replace_panel" : "search_panel"; // find all elements with IDs to copy their values var elms = document.getElementById(from_panel_name).getElementsByTagName("*"); for (var i = 0; i < elms.length; i++) { if (elms[i].id && elms[i].id != "") { var checked = "undefined"; if (elms[i].type.toLowerCase() == "checkbox" || elms[i].type.toLowerCase() == "radio") checked = elms[i].checked; // copy values if element exists in other panel var to_elm_name = to_panel_name + elms[i].id.substring(from_panel_name.length, elms[i].id.length); var to_elm = document.getElementById(to_elm_name); if (to_elm) { if (checked != "undefined") to_elm.checked = checked; else to_elm.value = elms[i].value; } } } return false; }