/*****************************************************************************************
 * File:		/js/scripts.js
 * Function: General JavaScript Functions for Senior Health Systems
 *
 * History:
 *		2006-04-20	sjw	Original Version
 *****************************************************************************************/

/**
 * setLinks()
 * Function:  Sets link target based on the value of their "rel" attribute.
 *             - XHTML Strict compliant - target attribute no longer supported
 */
function setLinks() { 
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++) { 
		var a = anchors[i]; 
		if (a.getAttribute("href")) {
			switch (a.getAttribute("rel")) {
				case "external":	/* set target to open external links in new window */
					a.target = "_blank"; break;
				default:
					break;
			}
		}
	} 
} 

window.onload = setLinks;

/**
 * getRadioValue()
 * Function:  Returns selected value of a radio button.
 */
function getRadioValue(x) {
	for (i = 0; i < x.length; i++) {
		if (x[i].checked == true) { 
			return x[i].value;
		}
	}
	return 0;
}

/**
 * qValidate()
 * Function:  Validates a quote form.
 */
function qValidate(form) {
	/* validate zip code - all other quote fields have valid default values */
	re = /^\d{5}$/;
	if (!re.test(form.zip_code.value)) {
		alert("Please enter a valid U.S. Zip Code.");
		form.zip_code.focus();
		return false;
	}
	return true;
}

/**
 * appValidate()
 * Function:  Validates a application form.
 */
function appValidate(form) {
	var errmsg = '';
	var formok = true;
	
	if (form.client_first_name.value == '') {
		formok = false;
		errmsg = errmsg + 'First Name\n';
	}
	
	if (form.client_last_name.value == '') {
		formok = false;
		errmsg = errmsg + 'Last Name\n';
	}
	
	re = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
	if (!re.test(form.client_dob.value)) {
		formok = false;
		errmsg = errmsg + 'Date of Birth\n';
	}
	
	/* check "currently enrolled" question */
	if (getRadioValue(form.client_enrolled_yn) == 'Y') {
		if (form.client_enrolled_date.value == '') {
			formok = false;
			errmsg = errmsg + 'Effective Date for Your Medicare Parts A and B';
		}
	}
	
	if (form.client_addr1.value == '') {
		formok = false;
		errmsg = errmsg + 'Address Line 1\n';
	}
	
	if (form.client_city.value == '') {
		formok = false;
		errmsg = errmsg + 'City\n';
	}
	
	if (form.client_state.value == '') {
		formok = false;
		errmsg = errmsg + 'State\n';
	}
	
	re = /^\d{5}$/;
	if (!re.test(form.client_zip.value)) {
		formok = false;
		errmsg = errmsg + 'Zip Code\n';
	}
	
	re = /^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/;
	if (!re.test(form.client_dayphone.value)) {
		formok = false;
		errmsg = errmsg + 'Daytime Phone\n';
	}
	
	re = /^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/;
	if (!re.test(form.client_evephone.value)) {
		formok = false;
		errmsg = errmsg + 'Evening Phone\n';
	}
	
	re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
	if (!re.test(form.client_email.value)) {
		formok = false;
		errmsg = errmsg + 'Email\n';
	}
	/* display error message */
	if (errmsg != '') {
		alert('Please complete the following fields:\n' + errmsg);
	}
	
	return formok;
}
