// JavaScript Document
//A utility function that returns true if a string contains only white space characters

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;
}

//This is the function that performs form verification.It will be invoked from the onSubmit() event
//handler.The handler should return whatever value this function returns.

function verify(f)
{
	var msg;
	var empty_fields = "";
	var errors = "";
	var invemail = "";
	//Loop through the elements of the form, looking for all text and textarea elements that don't have
	//an "optional" property defined.Then, check for fields that are empty and make a list of them.
	//Also, if any elements have a "numeric", "min", or "max" property defined, then verify that they are
	//numbers and that they are in the right range.If the element has a "numeric" property defined,
	//verify that it is a number,but don't check its range.
	//Put together error messages for fields that are wrong.
	for (var i=0; i < f.length; i++) {
		var e = f.elements[i];
		if(((e.type == "text") || (e.type == "textarea")) && !e.optional) {
			//first check if the field is empty
			if ((e.value == null) || (e.value == "") || isblank(e.value)) {
				empty_fields += "\n           " + e.name;
				continue;
			}
			
			//Now check for fields that are supposed to be numeric.
			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.name + " 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";
					}
				}
			}
		}
	}
//Now check email format when user enters this optional field
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(f.email.value)){
invemail = "";
}
else {
invemail += " - The field E-mail Address is Invalid! Please re-enter.";					
}
		
	//Now,if there were any errors,display the messages,and return false to prevent the form from being
	//submitted.Otherwise return true.
	if (!empty_fields && !errors && !invemail) return true;
	
	msg  = "_________________________________________________________________\n\n"
	msg += "The form was not submitted because of the following error(s).\n";
	msg += "Please correct these error(s) and resubmit.\n";
	msg += "_________________________________________________________________\n\n"
	
	if (empty_fields) {
		msg += " - The following required field(s) are empty:" + empty_fields + "\n";
		if (errors) msg += "\n";
	}
	msg += errors + "\n" + invemail;
	alert(msg);
	return false;
}

// The following function Limits the number of checkboxes a user may click by deselecting the others
//upon selection.

function checkBoxValidate(cb,beg,end) {
	for (j = beg; j < end; j++) {
		if (eval("document.InsForm.ckbox[" + j + "].checked") == true) {
		document.InsForm.ckbox[j].checked = false;
				if (j == cb) {
				document.InsForm.ckbox[j].checked = true;
         		}
      	}
   }
if (document.InsForm.elements[15].checked == true) {
			document.InsForm.elements[16].disabled = false;
			document.InsForm.elements[16].focus();
			
}
else {
			document.InsForm.elements[16].disabled = true;
}
if (document.InsForm.elements[18].checked == true) {
				for (i=23; i<=29; i++) {
				document.InsForm.elements[i].disabled=false;
				}
}
if (document.InsForm.elements[18].checked == false) {
			for (i=23; i<=29; i++) {
			document.InsForm.elements[i].disabled=true;
			}
}

if (document.InsForm.elements[20].checked == true) {
				for (i=30; i<=51; i++) {
				document.InsForm.elements[i].disabled=false;
				}
}
if (document.InsForm.elements(20).checked == false) {
			for (i=30; i<=51; i++) {
			document.InsForm.elements[i].disabled=true;
			}
}

if (document.InsForm.elements[15].checked == true && document.InsForm.elements[16].value == "") {
document.InsForm.elements[16].focus();
alert ("Please enter a Description of the Pre-existing condition before you proceed");
}
}

function minivalidateckbox(cb,beg,end) {
	for (j = beg; j < end; j++) {
		if (eval("document.InsForm.ckbox[" + j + "].checked") == true) {
		document.InsForm.ckbox[j].checked = false;
				if (j == cb) {
				document.InsForm.ckbox[j].checked = true;
         		}
      	}
   }
if (document.InsForm.elements[15].checked == true) {
			document.InsForm.elements[16].disabled = false;
			document.InsForm.elements[16].focus();
}
else {
			document.InsForm.elements[16].disabled = true;
}
if (document.InsForm.elements[15].checked == true && document.InsForm.elements[16].value == "") {
document.InsForm.elements[16].focus();
alert ("Please enter a Description of the Pre-existing condition before you proceed");
}
}
