+ done(text, move_forward, move_up);
+ }.bind(this);
+
+
+ this.scriptlets['autotag'] = function(context, params, text, move_forward, move_up, done)
+ {
+ if(!text.match(/^\n+$/)) done(text, move_forward, move_up);
+
+ function insert_done(output, mf) {
+ text += output;
+ }
+
+ if (!params.split) params.split = 2;
+ if (!params.padding) params.padding = 3;
+
+ chunks = text.replace(/^\n+|\n+$/, '').split(new RegExp("\\n{"+params.split+",}"));
+ text = text.match(/^\n+/);
+ if (!text)
+ text = '';
+ padding = '';
+ for(; params.padding; params.padding--) {
+ padding += "\n";
+ }
+
+ if (params.tag == 'strofa')
+ tagger = this.scriptlets['insert_stanza'];
+ else
+ tagger = this.scriptlets['insert_tag'];
+
+ for (i in chunks) {
+ if (chunks[i]) {
+ if (params.tag == 'akap' && chunks[i].match(/^---/))
+ tag = 'akap_dialog';
+ else tag = params.tag;
+ tagger(context, {tag: tag}, chunks[i], 0, 0, insert_done);
+ text += padding;
+ }