function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')element = document.getElementById(element);
		if (arguments.length == 1) return element;
		   	elements.push(element);
	}
	return elements;
}

function forced_focus(el){ $(''+el+'').focus(); return false; }
	
function checkForm(){

	var process = true;
	var emailFilter = /^[A-z0-9\._-]+@[A-z0-9][A-z0-9-]*(\.[A-z0-9_-]+)*\.([A-z]{2,6})$/;
	var phoneFilter = /(\(?\d{3}\)?)?(\-|)?\d{3}(\-|)?\d{4}/;
	
	if(process == true && $('name').value == ""){
		alert('Please enter your name.'); 
		process = forced_focus('name'); 
	}
	
	if(process == true && $('address').value == ""){
		alert('Please enter your street address.'); process = forced_focus('address'); 
	}
	
	if(process == true && $('city').value == ""){
		alert('Please enter your city.'); 
		process = forced_focus('city'); 
	}
	
	if(process == true && $('state').value == ""){
		alert('Please enter your state/providence/region.'); 
		process = forced_focus('state'); 
	}
	
	if(process == true && $('zipcode').value == ""){
		alert('Please enter your zip/region code.');
		process = forced_focus('zipcode'); 
	}
	
	
	if(process == true && ($('email').value == "" || !emailFilter.test($('email').value))){
		alert('Please enter a valid email address.');
		process = forced_focus('email');
	}

	if($('country').value == 'United States' || $('country').value == 'Canada'){
		if(process == true && ($('phonenumber').value == "" || !phoneFilter.test($('phonenumber').value))){
			alert('Please enter a valid phone number.');
			process = forced_focus('phonenumber'); 
		}
	} else {
		if(process == true && ($('phonenumber').value == "")){
			alert('Please enter a phone number.');
			process = forced_focus('phonenumber');
		}
	}
	
	if(process == true){ $('contact_form').submit(); }
	
}