function trim(str, chars) {
     return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
     chars = chars || "\\s";
     return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
     chars = chars || "\\s";
     return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
function RandText(tarea){
     var T=tarea.value;
     T=T.replace(/\u2022|\u201C|\u201D|\d\.|\s\w{1}\.|\"/g,'');
     T=T.replace(/(\.\s|\?\s|\!\s|\:\s|\.\.\.\s|(http:\/\/+[\w]+[\w-]+\.[\w._\/-]+))/g,"$1 "+"#");
     T=T.replace(/\n/g,'');
     T=T.split(/#/);
     L=T.length;
     for (i=0;i<100;i++){
       t1=Math.floor(Math.random()*L);
       t2=Math.floor(Math.random()*L);
       temp=trim(T[t1]);
       T[t1]=trim(T[t2]);
       T[t2]=trim(temp) + ' ';

     }
     var indexes = '';
     for(var i=0;i<T.length;i++){
         if(trim(T[i]).length <= 3){
             indexes+=i+',';
         }
     }
     indexes=indexes.substr(0,indexes.length-1);
     indexes=indexes.split(',');
     for(var i=0;i<indexes.length;i++){
           T.splice(indexes[i],1);
     }
     
   T=T.join('#');
   T=T.replace(/#/g,"\n\n");
   tarea.value=trim(T);
}

function doLines(tarea,s,lines){
    if(lines=='none'){
         alert('Please select the number of sentences per paragraph.');
         s.focus();
         return false;
    }
    var string1 = tarea.value;
    // Clean it up:
    // ----- 
    if(tarea.id != "tarea3"){
        string1=string1.replace(/\u2022|\u201C|\u201D|\d\.|\s\w{1}\.|\"/g,'');
    }
    // -----
    var links = string1.match(/(http:\/\/+[\w]+[\w-]+\.[\w._\/-]+)/g);
    if(links){
      for(var i=0;i<links.length;i++){
         string1=string1.replace(links[i],'***LINK['+i+']***');
      }
    }
    string1 = string1.replace(/\.(\s)*/g,". \n");
    string1 = string1.replace(/\?(\s)*/g,"? \n");
    string1 = string1.replace(/\!(\s)*/g,"! \n");
    var str=new Array();
    str = string1.split('\n');
    var string2 = '';
    var count=0;
    for(var i=0;i<str.length;i++){
        count++;
        string2 += str[i];
        if(count==lines){string2+='\n\n';count=0;}
    }
    var rlinks = string2.match(/\*\*\*LINK\[\d\]\*\*\*/g);
    if(rlinks){
       for(var i=0;i<rlinks.length;i++){
          string2=string2.replace(rlinks[i],'\n'+links[i]+'\n');
       }
    }
    tarea.value=string2;
}

function confirmation(frm) {
	var answer = confirm("Do you want to clear ALL content from this box?")
	if (answer){
		frm.reset();
		
	}
	else{
		return false;
	}
}

function FindAndReplaceAll(tarea) {
  var finda = document.getElementById('findThis').value;
  var replacea = document.getElementById('replaceWith').value;
  var tareaa = tarea.value;
  var casematch = '';
 if(document.getElementById('matchcase').checked==true){
       var nr = new RegExp(finda,"g");
        
 }
 else{
       var nr = new RegExp(finda,"gi");
       if(finda != finda.toLowerCase()){
            casematch = '" and "'+finda.toLowerCase();
       }
 }
  var getcount = new Array();
  getcount = tareaa.match(nr);
  var tmp = tareaa.replace(nr, replacea); 
  tarea.value = tmp;
  if(getcount && getcount.length > 0){  
      alert('Replaced '+getcount.length+' occurences of "'+finda+casematch+'" with "'+replacea+'"');
  }
  else{
      alert('"'+finda+casematch+'" not found in text. No replacements made.');
  }
}


function cnt(tarea,x){
var y=tarea.value.toLowerCase();
if(y==''){
   alert('Please enter a Keyword');
   document.getElementById("keyword").focus();
   return false;
}
var r = 0;
a=y.replace(/\s/g,' ');
a=a.split(' ');
for (z=0; z<a.length; z++) {if (a[z].length > 0) r++;}
x.value=r;

var denKey = document.getElementById("keyword").value.toLowerCase();
 
var abc = y.split(denKey);
 
   if(denKey == ''){
        document.getElementById('density').value = ' '; 
   }       
   else{
        document.getElementById('found').value = (abc.length-1);

        keynum=abc.length-1;
        /* Next line of code provided by "wilq32" */
        if(document.all){
              var perc = ((keynum/r)*100);
              var percent=new Array();
              percent=perc.toString();
              percent = percent.split(/\./);
              percent[1] = percent[1].substr(0,2);
              perc = percent.join('.');
        }
        else{
              var perc=((keynum/r)*100).toFixed(2);
        }
        document.getElementById('density').value=perc+'%';
   }
   return false;
} 


