Subversion Repositories Sites.tela-botanica.org

Rev

Rev 420 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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");
}

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 false;
        }

        // 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 : formObj[task + "_panel_backwardsu"].checked,
                win : window
                }, false);

        window.focus();

        return false;
}

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;
}