blob: 3363594a456e4b0db76e1d0db7990e662c3188b1 [file] [log] [blame]
// Filter plugin for Xinha
// Implementation by Udo Schmal & Schaffrath NeueMedien
// Original Author - Udo Schmal
//
// (c) Udo Schmal & Schaffrath NeueMedien 2004
// Distributed under the same terms as HTMLArea itself.
// This notice MUST stay intact for use (see license.txt).
function Filter(editor) {
this.editor = editor;
var cfg = editor.config;
var self = this;
// register the toolbar buttons provided by this plugin
cfg.registerButton({
id: "filter",
tooltip : this._lc("Filter"),
image : editor.imgURL("ed_filter.gif", "Filter"),
textMode : false,
action : function(editor) {
self.buttonPress(editor);
}
});
if (!cfg.Filters)
cfg.Filters = ["Paragraph","Word"];
for (var i = 0; i < editor.config.Filters.length; i++) {
self.add(editor.config.Filters[i]);
}
cfg.addToolbarElement("filter", "removeformat", 1);
}
Filter._pluginInfo =
{
name : "Filter",
version : "1.0",
developer : "Udo Schmal (gocher)",
developer_url : "",
sponsor : "L.N.Schaffrath NeueMedien",
sponsor_url : "http://www.schaffrath-neuemedien.de/",
c_owner : "Udo Schmal & Schaffrath-NeueMedien",
license : "htmlArea"
};
Filter.prototype.add = function(filterName) {
if(eval('typeof ' + filterName) == 'undefined') {
var filter = Xinha.getPluginDir('Filter') + "/filters/" + filterName + ".js";
var head = document.getElementsByTagName("head")[0];
var evt = Xinha.is_ie ? "onreadystatechange" : "onload";
var script = document.createElement("script");
script.type = "text/javascript";
script.src = filter;
script[evt] = function() {
if(Xinha.is_ie && !/loaded|complete/.test(window.event.srcElement.readyState)) return;
}
head.appendChild(script);
//document.write("<script type='text/javascript' src='" + plugin_file + "'></script>");
}
};
Filter.prototype._lc = function(string) {
return Xinha._lc(string, 'Filter');
};
Filter.prototype.buttonPress = function(editor) {
var html = editor.getInnerHTML();
for (var i = 0; i < editor.config.Filters.length; i++) {
html = eval(editor.config.Filters[i])(html);
}
editor.setHTML(html);
};