//===========================================================================//
//Trim a string from the sides
function trim(str) {
	if(str==null||str=="") return "";
	return str.replace(/^(\s+)?(.*\S)(\s+)?$/, '$2');
}

function startsWith(str,part) {
	 if(str==null||str=="") return false;
  return str.match("^"+part)==part;
}
//===========================================================================//
function check_url(urlstr) {
	if(urlstr=="") return true;
	var regexp=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(urlstr);
}
//===========================================================================//
function check_email(emailstr) {
	if(emailstr.replace(/\b[\w|\.]+@\w+\.\S+/gi,"x")!="x") return false;
	return true;
}
//===========================================================================//
//Check for bad words
function check_badwords(str) {
	var badwords=new Array("fuck","shit","dick","asshole","pussy","penis","blowjob","bitch","slut","cunt","twat","anal");
	var tempstr=str.toLowerCase();
	for(i=0;i<badwords.length;i++) {if(tempstr.indexOf(badwords[i])>=0) return false;}
  return true;
}
//===========================================================================//
//Check for bad words
function check_words(str,commawords) {
	var badwords=commawords.toLowerCase().split(",");
	var tempstr=str.toLowerCase();
	for(i=0;i<badwords.length;i++) {if(tempstr.indexOf(badwords[i])>=0) return false;}
  return true;
}
//===========================================================================//
//Check for long words 90 chars
function check_longwords(str) {
  strs=str.split(" ");

  for(i=0;i<strs.length;i++) {
    if(strs[i].length>120) return false; //Max
    else if(startsWith(strs[i],"http://")) continue; //Ignore links
    else if(strs[i].length>60) return false;
  }

  return true;
}
//===========================================================================//
/*
Form field Limiter script- By Dynamic Drive
For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
This credit MUST stay intact for use

<input type="text" name="george"><br>
<script>displaylimit("document.sampleform.george","",8)</script>
*/

var ns6=document.getElementById&&!document.all;

function restrictinput(maxlength,e,placeholder){
  if(window.event&&event.srcElement.value.length>=maxlength) return false;
  else if(e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength) {
     var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
     if(pressedkey.test(String.fromCharCode(e.which))) e.stopPropagation();
  }
}

function countlimit(maxlength,e,placeholder){
  var theform=eval(placeholder);
  var lengthleft=maxlength-theform.value.length;
  var placeholderobj=document.all? document.all[placeholder]:document.getElementById(placeholder);
  if(window.event||e.target&&e.target==eval(placeholder)) {
    if(lengthleft<0) theform.value=theform.value.substring(0,maxlength);
    placeholderobj.innerHTML=lengthleft;
  }
}

function displaylimit(thename,theid,thelimit){
  var theform=theid!=""? document.getElementById(theid):thename;
  var limit_text='<span id="'+theform.toString()+'">'+thelimit+'</span> letters remaining';
  if(document.all||ns6) document.write(limit_text);
  if(document.all){
    eval(theform).onkeypress=function() {return restrictinput(thelimit,event,theform)}
    eval(theform).onkeyup=function() {countlimit(thelimit,event,theform)}
  }
  else if(ns6){
    document.body.addEventListener('keypress',function(event) {restrictinput(thelimit,event,theform)}, true); 
    document.body.addEventListener('keyup', function(event) {countlimit(thelimit,event,theform)}, true); 
  }
}
//===========================================================================//
