
function validate() {
	if (isEmpty("snarf")) {
		alert("Please enter your email address so we can respond to your message.");
		focusElement("snarf");
		return false;
	}
	
	if (!isEmailAddr("snarf")) {
		alert("Please enter a valid email address.");
		focusElement("snarf");
		return false;
	}
	
	if (isEmpty("smurf")) {
		alert("Please enter a message.");
		focusElement("smurf");
		return false;
	}
	return true;
}

function populateField(fieldId, fieldValue) {
	fieldObj = document.getElementById(fieldId);
	if (fieldValue != null)
		fieldObj.value = fieldValue;
}

function getParameter(paramName) {
	var url = location.href;
	
	var begin = url.indexOf(paramName + "=");
	if (begin == -1)
		return null;
	begin = begin + (paramName.length + 1);
	
	var end = url.indexOf("&", begin);
	if (end == -1)
		end = url.length;
	
	return unescape(url.substring(begin, end));
}

function isEmpty(elemId) {
	var elem = document.getElementById(elemId);
    var str = elem.value;
    var re = /.+/;
    if(!str.match(re)) {
        return true;
    } else {
        return false;
    }
}

// validate that the user has checked one of the radio buttons
function isValidRadio(radio) {
    for (var i = 0; i < radio.length; i++) {
        if (radio[i].checked) {
            return true;
        }
    }
    return false;
}

function focusElement(elemId) {
	// arbitrary set timeout necessary due to IE Windows timing bug
	setTimeout("doFocusElement('" + elemId + "')", 0);
}

// private function: do not call directly -- use focusElement.
function doFocusElement(elemId) {
    var elem = document.getElementById(elemId);
    elem.focus();
    elem.select();
}

function isEmailAddr(elemId) {
	var elem = document.getElementById(elemId);
    var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        return false;
    } else {
        return true;
    }
}
