Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};


function $(){var r=[],a=arguments;for(var i=0,j=a.length;i<j;i++){(typeof a[i]=='string')?(r.push(document.getElementById(a[i]))):(r.push(a[i]))}
return(r.length==1)?r[0]:r}

function getElementsByClass(s,n,t) {  // s=searchclass n=node t=tag
	var c=[], e=(n?n:document).getElementsByTagName(t?t:'*'),r=new RegExp("(^|\\s)"+s+"(\\s|$)");
	for (var i=0,j=e.length;i<j;i++) r.test(e[i].className)?c.push(e[i]):''; return c }


function checkform(f) {
	//alert("checking " + f.name);
	reqs = getElementsByClass("required",f);
	for (i=0 ; i<reqs.length ; i++) {
		req = reqs[i];
		if (isBlank(req.value)) {
			alert("Please enter a value for " + req.name);
			req.focus();
			return false;
		}
	}
	emails = getElementsByClass("email",f);
	for (j=0 ; j<emails.length ; j++) {
		email = emails[j];
		if (!checkemail(email.value)) {
			alert("Please enter a valid email for " + email.name);
			email.focus();
			return false;
		}
	}
}


function initForms() {
	allforms = document.getElementsByTagName('form');
	for (i=0 ; i<allforms.length ; i++ ) {
		f = allforms[i];
		f.onsubmit = function() { return checkform(this) };
	}
}


// functions by jonathan gala: www.jongala.com
function isBlank(val) {
	if(val==null){return true;}
	var b = /\S/;
	var match = b.test(val);
	return !match;
}


function checkemail(email) {
	/* This RegExp requires an address of the form xxx@xxx.xxx where xxx is one or more alphanumeric characters.  The last xxx can't have any numbers.  */
	var address= /[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}/;
	var match = address.test(email);
	return match;
}

function checkphone(num) {
	/* This functionjust strips non-digits, and checks to see that there are at least 10 numbers left over */
	x = num.replace(/[\D]*/g,"");
	if (x.length<10) {
		return false;
	} else {
		return true;
	}
}

// By Simon Willison
function addLoadEvent(func) {
   var oldonload = window.onload;
   if (typeof window.onload != 'function') {
      window.onload = func;
   }
   else {
      window.onload = function() {
      oldonload();
      func();
      }
    }
}

addLoadEvent(initForms);