function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

function ClearFocus(thisArray,focusArray) {

	var n = 0;
	var m = thisArray.length;
	
	while (n < m) {
		focusArray[thisArray[n]] = 0;
		n = n + 1;
	}
	return (focusArray);
}

function validateForm(formName) {

	var FocusChk = new Array(1000);
	var msg;
	var errors = "";


	for (var i = 0; i < formName.length; i++) {
		currField = formName.elements[i];
		switch(currField.name) {
			case 'guestMessage':
				if (currField.value.length < 10) {
					errors += "- Message not entered.\n";
					FocusChk[i] = 1;
				}
				break;
			case 'guestName':
				if (currField.value.length < 1) {
					errors += "- Guest Name not provided.\n";
					FocusChk[i] = 1;
				}
				break;
			case 'guestEmail':
				item1 = currField.value.split("@");
				if ((item1.length != 2) || ((item1[item1.length-1] == "") || (item1[item1.length-1] == null))) {
					errors += "- Guest E-mail Address format not valid.\n   (e.g., yourname@domain.com)\n";
					FocusChk[i] = 1;
				} else {
					item2 = item1[1].split(".");
					if (item2.length < 2) {
						errors += "- Guest E-mail Address format not valid.\n   (e.g., yourname@domain.com)\n";
						FocusChk[i] = 1;
					}
					if ((item2[item2.length-1] == "") || (item2[item2.length-1] == null)) {
						errors += "- Guest E-mail Address format not valid.\n   (e.g., yourname@domain.com)\n";
						FocusChk[i] = 1;
					}
				}
				break;



			case 'EMail':
				item1 = currField.value.split("@");
				if ((item1.length != 2) || ((item1[item1.length-1] == "") || (item1[item1.length-1] == null))) {
					errors += "- E-mail Address format not valid.\n   (e.g., yourname@domain.com)\n";
					FocusChk[i] = 1;
				} else {
					item2 = item1[1].split(".");
					if (item2.length < 2) {
						errors += "- E-mail Address format not valid.\n   (e.g., yourname@domain.com)\n";
						FocusChk[i] = 1;
					}
					if ((item2[item2.length-1] == "") || (item2[item2.length-1] == null)) {
						errors += "- E-mail Address format not valid.\n   (e.g., yourname@domain.com)\n";
						FocusChk[i] = 1;
					}
				}
				break;
			case 'name':
				if (currField.value.length < 1) {
					errors += "- Name not provided.\n";
					FocusChk[i] = 1;
				}
				break;
			case 'Time':
				if (currField.value.length < 3) {
					errors += "- Time not provided.\n";
					FocusChk[i] = 1;
				}
				break;
			case 'Date':
				if (currField.value.length < 3) {
					errors += "- Date not provided.\n";
					FocusChk[i] = 1;
				}
				break;
			case 'phone':
				if (currField.value.length < 10) {
					errors += "- Phone not provided.\n";
					FocusChk[i] = 1;
				}
				break;
			case 'numberGuest':
				if (currField.value.length < 1) {
					errors += "- Number of Guests not provided.\n";
					FocusChk[i] = 1;
				} else {
					if (IsNumeric(currField.value)) {
					} else {
						errors += "- Number of Guests not numeric.\n  Please enter a numeric value.\n";
						FocusChk[i] = 1;
					}
				}
				break;
			}
		}

	for (var j = 0; j < 1000; j++) {
		if (FocusChk[j] == 1) {
			formName.elements[j].focus();
			j = 1000;
		}
	}
	
	if (!errors) {
		return true;
	}
	
	msg = "__________________________________________________\n\n";
	msg += "This form was not submitted due to the error(s) listed below.\n";
	msg += "Please correct them and resubmit the form.\n";
	msg += "__________________________________________________\n\n";
	msg += errors;
	alert(msg);
	return false;
}
