
function getLabelForId(id) {
	var label, labels = document.getElementsByTagName('label');
	for (var i = 0; (label = labels[i]); i++) {
		if (label.htmlFor == id) {
			return label;
		}
	}
	return false;
}
function checkEmail(frm) {
	var email = document.getElementById(frm);
	var label = getLabelForId(frm);
	var strng = email.value
	
	// is empty?
	if (strng == "") {
		label.className = 'problem';
	}
	// is valid format (x@x.xxx or x@x.xx)
	if	(strng.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) { 
		label.className = 'problem';
		email.value = '';
		return;
	}
	label.className = 'completed';
}

function checkPhone() {
	var phone = document.getElementById('phone');
	var label = getLabelForId('phone');
	var digits = phone.value.replace(/[^0-9]/ig, '');
	if (!digits) {
		label.className = '';
		phone.value = '';
		return;
	}
	if (digits.length == 10) {
		phone.value = '(' + digits.substring(0, 3) + ') ' + 
			digits.substring(3, 6) + '-' + 
			digits.substring(6, 10);
		label.className = 'completed';
	} else {
		label.className = 'problem';
		phone.value = digits;
	}
}
function checkSelect(frm,lbl)
{
	if (frm.selectedIndex == 0) lbl.className = 'problem';
	else lbl.className = 'completed';
}

function checkRequired(id) {
	var formfield = document.getElementById(id);
	var label = getLabelForId(id);
	if (formfield.type == 'select' || formfield.type == 'select-one') checkSelect(formfield,label)
	else if (formfield.value.length == 0) {
		label.className = 'problem';
	} else {
		label.className = 'completed';
	}
}

addEvent(window, 'load', function() {
	var input;
	var inputs = document.getElementsByTagName('input');
	for (var i = 0; (input = inputs[i]); i++) {
		addEvent(input, 'focus', oninputfocus);
		addEvent(input, 'blur', oninputblur);
	}
	var textareas = document.getElementsByTagName('textarea');
	for (var i = 0; (textarea = textareas[i]); i++) {
		addEvent(textarea, 'focus', oninputfocus);
		addEvent(textarea, 'blur', oninputblur);
	}
});
function oninputfocus(e) {
	/* Cookie-cutter code to find the source of the event */
	if (typeof e == 'undefined') {
		var e = window.event;
	}
	var source;
	if (typeof e.target != 'undefined') {
		source = e.target;
	} else if (typeof e.srcElement != 'undefined') {
		source = e.srcElement;
	} else {
		return;
	}
	/* End cookie-cutter code */
	/* source.style.border='2px solid #000'; */
}
function oninputblur(e) {
	/* Cookie-cutter code to find the source of the event */
	if (typeof e == 'undefined') {
		var e = window.event;
	}
	var source;
	if (typeof e.target != 'undefined') {
		source = e.target;
	} else if (typeof e.srcElement != 'undefined') {
		source = e.srcElement;
	} else {
		return;
	}
	/* End cookie-cutter code */
	/* source.style.border='2px solid #ccc'; */
}
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 verify()	{
	checkRequired('name');
	checkRequired('add1');
	checkRequired('city');
	checkRequired('state');
	checkRequired('zip');
	checkPhone();
	checkRequired('phone');
	checkEmail('email');
	checkRequired('email');
	checkRequired('accept');
	
    var why = "";
	if (document.getElementsByTagName('label')[0].className != 'completed')	{
		why += '\xA0 \xA0 \xB7 NAME\n'	} //name
	if (document.getElementsByTagName('label')[1].className != 'completed')	{
		why += '\xA0 \xA0 \xB7 ADDRESS\n'	} //address
	if (document.getElementsByTagName('label')[3].className != 'completed')	{
		why += '\xA0 \xA0 \xB7 CITY\n'	} //city
	if (document.getElementsByTagName('label')[4].className != 'completed')	{
		why += '\xA0 \xA0 \xB7 STATE\n'	} //zip
	if (document.getElementsByTagName('label')[5].className != 'completed')	{
		why += '\xA0 \xA0 \xB7 ZIP\n'	} //zip
	if (document.getElementsByTagName('label')[6].className != 'completed')	{
		why += '\xA0 \xA0 \xB7 PHONE\n'	} //phone
	if (document.getElementsByTagName('label')[7].className != 'completed')	{
		why += '\xA0 \xA0 \xB7 EMAIL\n'	} //email
		
	if (document.getElementById('accept').checked==false){
		why += '\xA0 \xA0 \xB7 ACCEPT TERMS\n'}//Accept Terms
		
    if (why != "")	{
		alert('Please complete the following fields:\n' + why);
		return false;
	}
	else	{
		return true;
		document.getElementById('submit').disabled = true;
	}
}

