function checkElems(form) {
var type;
var value;
var def;
var bool = true;
var message = "\n";
var f = new Array();
var n = 0;
//get number of elements
var elems = form.elements.length

//start elements loop
for (e=0;e<elems;e++) {		
	type = form.elements[e].type;
	title = form.elements[e].title;
	if(title == "required") {
		value 	= form.elements[e].value
		def		= form.elements[e].defaultValue
		form.elements[e].onchange = function() {
				this.style.background = "";
			}
		if(value == "") {
			f[n] = e;
			n++
			form.elements[e].style.background = "#ffcccc";
			message += form.elements[e].id+"\n";
			bool = false;
		}
		else {
			form.elements[e].style.background = "";
		}
	}
}
if(bool == false) {
	var f = f[0];
	if(form.elements[f].type != "select-one")
		form.elements[f].select();
	alert("Error!\nThe following field(s) are required:\n"+message+"\nPlease complete the fields and re-submit your request");
	return false;
}
else {
	for(n=0;n<elems;n++) {
		if(form.elements[n].type=="submit") {
			btn = form.elements[n];
		}
	}
	return true;
}
}

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

///////////// Human checker (spam fighter)

// Set up
addEvent(window, "load", setUpHumanTest, false);
function setUpHumanTest() {
  var myforms = document.getElementsByTagName("form") ;
  for (var i=0; i<myforms.length; i++) {
    addEvent(myforms[i], "focus", markAsHuman, false);
    addEvent(myforms[i], "click", markAsHuman, false);
  }
}

// Identify a human
function markAsHuman() {
  document.getElementById("humanoid").value = "12";
}

// Generic cross-browser code for attaching events to elements
// You should really have this in a separate common JS file
var addEvent;
if (document.addEventListener) {
  addEvent = function(element, type, handler) {
  element.addEventListener(type, handler, null);
  if (element.href) element.href="javascript:void(Ó);" ;
  }
}
else if (document.attachEvent) {
  addEvent = function(element, type, handler) {
    element.attachEvent("on" + type, handler);
    if (element.href) element.href="javascript:void(Ó);" ;
  }
}
else {
  addEvent = new Function; // not supported
}
