//Random Line Picker (Javascript) is Copyright 2010 TextMechanic.com All Rights Reserved

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;}

String.prototype.rtrim = function(){
return this.replace(/\s*$/g,'');}

function linecnt(){
if(document.random_line.input.value.length > 0){
f=document.random_line;
f.line_count.value=f.input.value.split('\n').length;}
else document.random_line.line_count.value = '0';}

function cleartext(){
document.random_line.cachepicks.value = '';
document.random_line.picks.value = '';
document.random_line.input.value = '';}

function clear_current(){
document.random_line.cachepicks.value = '';
document.random_line.picks.value = '';}

function dtol(){
var delim = document.random_line.alt_delimiter.value;
document.random_line.input.value = document.random_line.input.value.replace(/\r/g,'').replace(/\n/g,delim).replace(new RegExp(delim,'g'),'\n');}

Array.prototype.shuffle = function (){
var x = this.length;
if (x == 0) return false;
while (--x){
var y = Math.floor(Math.random()*(x + 1));
var temp_x = this[x];
var temp_y = this[y];
this[x] = temp_y;
this[y] = temp_x;}
return this;}

var shuffle = true;

function killshuffler(){
shuffle = false;
document.random_line.shuffler_button.value = 'Start Shuffle';}

function shuffler(){
document.random_line.shuffler_button.value = 'Shuffling';
if(shuffle==true && document.random_line.input.value.split('\n').length>1){
var text = document.random_line.input.value;
text = text.replace(/\r/g,'');
text = text.split('\n').clean('').shuffle().join('\n');
document.random_line.input.value = text;
setTimeout ("shuffler(shuffle)",200);} else {shuffle = true; document.random_line.shuffler_button.value = 'Start Shuffle';}}

function radpic(){
var invalue = document.random_line.input.value.replace(/\r/g,'');
invalue = invalue.split('\n').clean('').join('\n');
inputarray = invalue.split('\n');
getpick = Math.floor(Math.random()*inputarray.length);
picked = inputarray[getpick] + '\n';
document.random_line.picks.value = document.random_line.picks.value.replace(/\r/g,'');
var thelength = document.random_line.cachepicks.value.split('\n').length;
if(document.random_line.num_pcks.checked == true) var picknum = thelength + '. '; else picknum = '';
out = document.random_line.cachepicks.value + picknum + picked;
document.random_line.cachepicks.value = out;
document.random_line.picks.value = out.rtrim();
retarr1 = inputarray.slice(0,getpick);
retarr2 = inputarray.slice(getpick+1,inputarray.length);
retarr3 = retarr1.concat(retarr2);
returninput = retarr3.join('\n');
document.random_line.input.value = returninput;}

function SelectAll(id) {
document.getElementById(id).focus();
document.getElementById(id).select();}