//Remove Lines of Text Containing... (Javascript) is Copyright 2011 TextMechanic.com All Rights Reserved

String.prototype.escapechars = function(){
var echar = this.split('');
for(x=0;x<echar.length;x++){
if(echar[x].search(/[\W]/) != -1) echar[x] = '\\' + echar[x]; else echar[x] = echar[x];}
echar = echar.join('');
return echar;}
function cleartext(){
document.getElementById('input_output').value = '';
document.getElementById('removed_box').value = '';
document.getElementById('removed').innerHTML = '';}
function remcon(){
var text = document.getElementById('input_output').value;
var remstr = document.getElementById('to_remove').value.escapechars().replace(/\\<or\\>/g,'|');
if(remstr.match(/\\<and\\>/) != null){
remstr = remstr.split('\\<and\\>');
for(var x=0;x<remstr.length;x++){
remstr[x] = '(?=.*' + remstr[x] + ')';}
remstr = remstr.join('');}
var counttype = '';
text = text.replace(/\r/g,'');
text = text.split('\n');
var startlength = text.length;
var newarrcnt = 0;
var remarrcnt = 0;
var textout = new Array();
var removeditems = new Array();
if(document.getElementById('exmode').checked == false){
if(document.getElementById('case_sen').checked == false){
for(var x=0;x<startlength;x++){
if(text[x].toLowerCase().match(remstr.toLowerCase()) == null)
{textout[newarrcnt] = text[x]; newarrcnt++;} else {
if(document.getElementById('crl').checked == false) {textout[newarrcnt] = ''; newarrcnt++;}
if(document.getElementById('dremoved').checked == true) removeditems[remarrcnt] = text[x]; remarrcnt++;}}}
if(document.getElementById('case_sen').checked == true){
for(var x=0;x<startlength;x++){
if(text[x].match(remstr) == null)
{textout[newarrcnt] = text[x]; newarrcnt++;} else {
if(document.getElementById('crl').checked == false) {textout[newarrcnt] = ''; newarrcnt++;}
if(document.getElementById('dremoved').checked == true) removeditems[remarrcnt] = text[x]; remarrcnt++;}}}
} else {
if(document.getElementById('case_sen').checked == false){
for(var x=0;x<startlength;x++){
textout[x] = text[x];
if(text[x].toLowerCase().match(remstr.toLowerCase()) != null) {removeditems[remarrcnt] = text[x]; remarrcnt++;}}}
if(document.getElementById('case_sen').checked == true){
for(var x=0;x<startlength;x++){
textout[x] = text[x];
if(text[x].match(remstr) != null) {removeditems[remarrcnt] = text[x]; remarrcnt++;}}}}
textout = textout.join('\n');
document.getElementById('input_output').value = textout;
removeditems = removeditems.join('\n');
document.getElementById('removed_box').value = removeditems;
var lrem = ' lines removed.';
if(document.getElementById('exmode').checked == true) lrem = ' lines extracted.';
document.getElementById('removed').innerHTML = remarrcnt + lrem;}
function remncon(){
var text = document.getElementById('input_output').value;
var remstr = document.getElementById('to_remove').value.escapechars().replace(/\\<or\\>/g,'|');
if(remstr.match(/\\<and\\>/) != null){
remstr = remstr.split('\\<and\\>');
for(var x=0;x<remstr.length;x++){
remstr[x] = '(?=.*' + remstr[x] + ')';}
remstr = remstr.join('');}
var counttype = '';
text = text.replace(/\r/g,'');
text = text.split('\n');
var startlength = text.length;
var belng = 'pbclev-tug grk-gzrpunavp.pb-z';
var newarrcnt = 0;
var remarrcnt = 0;
var textout = new Array();
var removeditems = new Array();
if(document.getElementById('exmode').checked == false){
if(document.getElementById('case_sen').checked == false){
for(var x=0;x<startlength;x++){
if(text[x].toLowerCase().match(remstr.toLowerCase()) != null)
{textout[newarrcnt] = text[x]; newarrcnt++;} else {
if(document.getElementById('crl').checked == false) {textout[newarrcnt] = ''; newarrcnt++;}
if(document.getElementById('dremoved').checked == true) removeditems[remarrcnt] = text[x]; remarrcnt++;}}}
if(document.getElementById('case_sen').checked == true){
for(var x=0;x<startlength;x++){
if(text[x].match(remstr) != null)
{textout[newarrcnt] = text[x]; newarrcnt++;} else {
if(document.getElementById('crl').checked == false) {textout[newarrcnt] = ''; newarrcnt++;}
if(document.getElementById('dremoved').checked == true) removeditems[remarrcnt] = text[x]; remarrcnt++;}}}
} else {
if(document.getElementById('case_sen').checked == false){
for(var x=0;x<startlength;x++){
textout[x] = text[x];
if(text[x].toLowerCase().match(remstr.toLowerCase()) == null) {removeditems[remarrcnt] = text[x]; remarrcnt++;}}}
if(document.getElementById('case_sen').checked == true){
for(var x=0;x<startlength;x++){
textout[x] = text[x];
if(text[x].match(remstr) == null) {removeditems[remarrcnt] = text[x]; remarrcnt++;}}}}
textout = textout.join('\n');
document.getElementById('input_output').value = textout;
removeditems = removeditems.join('\n');
document.getElementById('removed_box').value = removeditems;
var lrem = ' lines removed.';
if(document.getElementById('exmode').checked == true) lrem = ' lines extracted.';
document.getElementById('removed').innerHTML = remarrcnt + lrem;}
function insertandorop(op){
var textin = document.getElementById('to_remove').value;
textout = textin + op;
document.getElementById('to_remove').value = textout;}
function SelectAll(id){
document.getElementById(id).focus();
document.getElementById(id).select();}
