function linecnt(){
setTimeout(linecnt2,500);}
function linecnt2(){
if(document.form_rdup.input_output.value.length > 0){
fc=document.form_rdup;
fc.line_count.value=fc.input_output.value.split(/\n/).length;}
else document.form_rdup.line_count.value = '0';}
Array.prototype.clean = function(remove_item){
var a;
for (a = 0; a < this.length; a++){
if (this[a] == remove_item){
this.splice(a,1);a--;}
}return this;}
function disrem(){
if (document.form_rdup.find_mode.checked == false) var found_removed = 'Removed<br><br>';
if (document.form_rdup.find_mode.checked == true) var found_removed = 'Found<br><br>';
if (document.form_rdup.dis_rem.checked == true) document.getElementById('removed_div').style.display = 'block';
if (document.form_rdup.dis_rem.checked == true) document.getElementById('removed_div').innerHTML = '<font face="georgia" size="2px">Duplicate lines ' + found_removed + '</font><textarea name="removed_output" class="phpmoon" rows="15" cols="100" wrap="off" spellcheck="false"><\/textarea>';
if (document.form_rdup.dis_rem.checked == false) document.getElementById('removed_div').innerHTML = '';
if (document.form_rdup.dis_rem.checked == false) document.getElementById('removed_div').style.display = 'none';}
function cleartext(){
document.form_rdup.input_output.value = '';}
function rduplin(){
if (document.form_rdup.dis_rem.checked == false) document.getElementById('removed_div').style.display = 'none';
if (document.form_rdup.find_mode.checked == false){
var count = 0;
var text = document.form_rdup.input_output.value;
text = text.replace(/\r/g,'');
var listvalues = new Array();
var newlist = new Array();
var removedlist = new Array();
if (document.form_rdup.rel.checked == true) listvalues = text.split('\n').clean('');
if (document.form_rdup.rel.checked == false) listvalues = text.split('\n');
var hash = new Array();
for (var i=0; i<listvalues.length; i++){
if (listvalues[i] != ''){
if (hash[listvalues[i].toLowerCase()] != 1) {newlist = newlist.concat(listvalues[i]); hash[listvalues[i].toLowerCase()] = 1}
else {count++; removedlist = removedlist.concat([i + 1] + '. ' + listvalues[i]);}} else newlist = newlist.concat(listvalues[i]);}
document.form_rdup.input_output.value = newlist.join('\n');
if (document.form_rdup.dis_rem.checked == true) document.form_rdup.removed_output.value = removedlist.clean('').join('\n');
document.getElementById('removed').innerHTML = '(' + count + ' removed)';}
if (document.form_rdup.find_mode.checked == true){
var count = 0;
var text = document.form_rdup.input_output.value;
text = text.replace(/\r/g,'');
var listvalues = new Array();
var newlist = new Array();
var removedlist = new Array();
if (document.form_rdup.rel.checked == true) listvalues = text.split('\n').clean('');
if (document.form_rdup.rel.checked == false) listvalues = text.split('\n');
var hash = new Array();
for (var i=0; i<listvalues.length; i++){
if (listvalues[i] != ''){
if (hash[listvalues[i].toLowerCase()] != 1) {newlist = newlist.concat(listvalues[i]); hash[listvalues[i].toLowerCase()] = 1}
else {count++; var dupfound = [i + 1] + '. ' + 'DUPLICATE=>' + listvalues[i] + '<=DUPLICATE'; newlist = newlist.concat(dupfound); removedlist = removedlist.concat([i + 1] + '. ' + listvalues[i]);}} else newlist = newlist.concat(listvalues[i]);}
document.form_rdup.input_output.value = newlist.join('\n');
if (document.form_rdup.dis_rem.checked == true) document.form_rdup.removed_output.value = removedlist.clean('').join('\n');
document.getElementById('removed').innerHTML = '(' + count + ' found)';}}
function rduplincs(){
if (document.form_rdup.dis_rem.checked == false) document.getElementById('removed_div').style.display = 'none';
if (document.form_rdup.find_mode.checked == false){
var count = 0;
var text = document.form_rdup.input_output.value;
text = text.replace(/\r/g,'');
var listvalues = new Array();
var newlist = new Array();
var removedlist = new Array();
if (document.form_rdup.rel.checked == true) listvalues = text.split('\n').clean('');
if (document.form_rdup.rel.checked == false) listvalues = text.split('\n');
var hash = new Array();
for (var i=0; i<listvalues.length; i++){
if (listvalues[i] != ''){
if (hash[listvalues[i]] != 1) {newlist = newlist.concat(listvalues[i]); hash[listvalues[i]] = 1}
else {count++; removedlist = removedlist.concat([i + 1] + '. ' + listvalues[i]);}} else newlist = newlist.concat(listvalues[i]);}
document.form_rdup.input_output.value = newlist.join('\n');
if (document.form_rdup.dis_rem.checked == true) document.form_rdup.removed_output.value = removedlist.clean('').join('\n');
document.getElementById('removed').innerHTML = '(' + count + ' removed)';}
if (document.form_rdup.find_mode.checked == true){
var count = 0;
var text = document.form_rdup.input_output.value;
text = text.replace(/\r/g,'');
var listvalues = new Array();
var newlist = new Array();
var removedlist = new Array();
if (document.form_rdup.rel.checked == true) listvalues = text.split('\n').clean('');
if (document.form_rdup.rel.checked == false) listvalues = text.split('\n');
var hash = new Array();
for (var i=0; i<listvalues.length; i++){
if (listvalues[i] != ''){
if (hash[listvalues[i]] != 1) {newlist = newlist.concat(listvalues[i]); hash[listvalues[i]] = 1}
else {count++; var dupfound = [i + 1] + '. ' + 'DUPLICATE=>' + listvalues[i] + '<=DUPLICATE'; newlist = newlist.concat(dupfound); removedlist = removedlist.concat([i + 1] + '. ' + listvalues[i]);}} else newlist = newlist.concat(listvalues[i]);}
document.form_rdup.input_output.value = newlist.join('\n');
if (document.form_rdup.dis_rem.checked == true) document.form_rdup.removed_output.value = removedlist.clean('').join('\n');
document.getElementById('removed').innerHTML = '(' + count + ' found)';}}
function SelectAll(id) {
document.getElementById(id).focus();
document.getElementById(id).select();}
function loadfile(){
var finput = document.getElementById('file2load');
var textarea2load = document.getElementById('input_output');
textarea2load.value = 'Loading...';
var redr = new FileReader();
redr.readAsText(finput.files[0]);
redr.onload = function(asdfg){textarea2load.value = asdfg.target.result;}}