function CountWords(this_field, target_field, min, max){

var bg2 = "#ccffcc";
var bg1 = "#ffcccc"; 
	
var char_count = this_field.value.length;
var fullStr = this_field.value + " ";
var StrippedString = fullStr.replace(/-/gi, "");
var initial_whitespace_rExp = /^[^A-Za-z]+/gi;
var left_trimmedStr = StrippedString.replace(initial_whitespace_rExp, " ");
var non_alphanumerics_rExp = rExp = /[^A-Za-z]+/gi;
var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
var splitString = cleanedStr.split(" ");
var word_count = splitString.length -1;
if (fullStr.length <2) {
word_count = 0;
}
target_field.value = word_count;
if (word_count < min || word_count > max)
   target_field.style.backgroundColor = bg1;
else
   target_field.style.backgroundColor = bg2;
}

// EXTRA FUNCTIONS


function DeleteAllValues(i){
   document.myform.deletevalues.value = i;
   document.myform.submit();	
}

function SubmitFormwithConfirm(){	
	if (document.myform.final1.checked)
	{
		var x = window.confirm('Are you sure you want to submit this form?.\nSubmitting this form will turn this form unwritable.\nPlease press cancel if future adjustments still have to be made.'); 
		if (x)
		{
		    //document.myform.submit();
		    return true;
		}
		return false;	
	}
	return true;	
}

// FUNCTIONS FOR DYNAMIC TEXTAREAS

function addEvent(obj, evType, fn)
{
	if (obj.addEventListener)
	{
		obj.addEventListener(evType, fn, true);
		return true;
	} 
	else if (obj.attachEvent)
	{
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} 
	else 
	{
		return false;
	}
}

function fit(obj)
{
	var counter = obj.value.match(/\n/gi);
	var actualrows = 3;

	if (counter) {
		if(counter.length > 2) {
			actualrows = counter.length+2;
		} else {
			actualrows = 4;
		}
	}
	
	var charcounter = obj.value.match(/./g);
	var colcounter = obj.cols;
	if (charcounter)
	{
		charcounter2 = charcounter.length;
		if (!isNaN(charcounter2) && charcounter2 != 0)
		{
			colcounter = colcounter / 0.7;
			var newcols = Math.floor(charcounter2 / colcounter);
		}
		else
		{
			var newcols = 0;	
		}	
		
		actualrows = actualrows + newcols;
	}
	
	obj.rows = actualrows;
}

document.getElementsByClassName = function (needle)
{
  var         my_array = document.getElementsByTagName("*");
  var         retvalue = new Array();
  var        i;
  var        j;

  for (i = 0, j = 0; i < my_array.length; i++)
  {
    var c = " " + my_array[i].className + " ";
    if (c.indexOf(" " + needle + " ") != -1)
      retvalue[j++] = my_array[i];
  }
  return retvalue;
}

addEvent(window, 'load', function()
{
	var resizables = document.getElementsByClassName('resizable');
	var i, ta;
	for (i=0; i<resizables.length; i++)
	{
		ta = resizables[i];		
		fit(ta); 
	}	
});