/* Check to see if there are empty form fields */
function isblank(s)  {
	for(var i = 0; i < s.length; i++)  {
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
	}
return true;
}


/* Verify that all required form fields are filled out */
function verify(f)  {
	var msg;
	var emptyFields = "";
	var errors = "";

	for (var i=0; i<f.length; i++)  {
		var e = f.elements[i];
		if (((e.type == "text") || (e.type == "textarea")) && !e.optional)  {
			if ((e.value == null) || (e.value == "") || isblank(e.value))  {
				emptyFields += "\n          " + e.title;
				continue;
			}
			if (e.numeric || (e.min !=null) || e.max != null)  {
				var v = parseFloat(e.value);
				if (isNaN(v) || ((e.min != null) && (v < e.min)) || ((e.max != null) && (v > e.max)))  {
						errors += "- The field " + e.alt + " must be a number";
						if (e.min != null)
							errors += " that is greater than " + e.min;
						if (e.max != null && e.min != null)
							errors += " and less than " + e.max;
						else if (e.max !=null)
							errors += " that is less than " + e.max;
						errors += ".\n";
				}
			}
		}
	}

	if (!emptyFields && !errors) return true;


	msg = "---------------------------------------------------------------\n\n"
	msg += " The form was not submitted for the reason(s) listed below.\n";
	msg += " --------------------------------------------------------------\n\n"

	if (emptyFields)  {
		msg += "- The following required field(s) are empty:" + emptyFields + "\n";
		if (errors) msg += "\n";
	}
	msg += errors;
	alert(msg);
	return false;
}


function validate(e)  {

		var error = 'false';
		var ary_frm = $(e).getElements('input');

		for(i=0; i<ary_frm.length; i++)  {
			if (ary_frm[i].name == 'username' && ary_frm[i].value == 'USERNAME') {
					ary_frm[i].value = '';
			}

			if (ary_frm[i].name == 'password' && ary_frm[i].value == 'PASSWORD')  {
				ary_frm[i].value = '';
			}
			if (ary_frm[i].value == '' || ary_frm[i].value == '--')  {
				if (ary_frm[i].getAttribute('rel') == 'required')  {
					ary_frm[i].setStyle('background', '#FFCCCC');
					error = 'true';
				}
			}  else  {
				ary_frm[i].setStyle('background', '#FFFFFF');
			}
		}

		var ary_frm_selects = $(e).getElements('select');

		for (b=0; b<ary_frm_selects.length; b++)  {

			if (ary_frm_selects[b].getAttribute('rel') == 'required')  {
				if (ary_frm_selects[b].value == "--")  {
					ary_frm_selects[b].setStyle('background', '#FFCCCC');
					error = 'true';
				}  else  {
					ary_frm_selects[b].setStyle('background', '#FFFFFF');
				}
			}  else  {
				ary_frm_selects[b].setStyle('background', '#FFFFFF');
			}
		}

		var ary_frm_textarea = $(e).getElements('textarea');

			for (c=0; c<ary_frm_textarea.length; c++)  {

				if (ary_frm_textarea[c].getAttribute('rel') == 'required')  {
					if (ary_frm_textarea[c].value == '')  {
						ary_frm_textarea[c].setStyle('background', '#FFCCCC');
						error = 'true';
					}  else {
						ary_frm_textarea[c].setStyle('background', '#FFFFFF');
					}
				}  else  {
					ary_frm_textarea[c].setStyle('background', '#FFFFFF');
				}
			}


		if ($('attend_thu').checked == false && $('attend_fri').checked == false && $('attend_sat').checked == false)  {
			alert('You must choose what days you plan to attend the conference.');
			return false;
		}


		if (error == 'true')  {
			alert('You have not entered all the required fields.\r\nRequired fields are highlighted in red.');
			return false;
		}  else  {
			return true;
		}
	}