
//internet.js : 30-Jun-03	dbertram	
// function DaysOfMonth takes "Month" (1-12, 1=January) and "Year" (full year format, yyyy)
// function DaysOfMonth returns the number of days in the specified "Month" and "Year"
function DaysOfMonth(Month,Year) {
	var Days;
	if ((Month==1) || (Month==3) || (Month==5) || (Month==7) || (Month==8) || (Month==10) || (Month==12)) {
		Days=31;
	}
	else {
		if ((Month==4) || (Month==6) || (Month==9) || (Month==11)) {
			Days=30;
		}
		else {
			if (IsLeapYear(Year)) {
				Days=29;
			}
			else {
				Days=28;
			}
		}
	}
	return Days;
}


// function IsLeapYear takes "Year" (full year format, yyyy)
// function IsLeapYear returns true if leap year, false otherwise
function IsLeapYear(Year) {
	if (((Year%4==0) && (Year%100!=0)) || (Year%400==0)) { return true; }
	else { return false; }
}


// update the day/month field in forms
function UpdateDaysOfMonth(YearSelect,MonthSelect,DaySelect) {
	var Year=YearSelect.value;
	var Month=MonthSelect.value;
	var Days=DaysOfMonth(Month,Year);
	if (DaySelect.options[DaySelect.selectedIndex].value > Days) {
		DaySelect.value = Days;
	}
	DaySelect.length=Days;
	for (var i=1; i<=Days; i++) {
		DaySelect.options[i-1].value=i;
		DaySelect.options[i-1].text=i;
	}
}





// 07-Jul-2003 nowen
// function copied over from Intranet...checks to see if the key that was pressed was in fact the Enter/Return key

// check for enter key being pressed and submit form
function isEnterKey()
{
	if ((event.keyCode == 13)) { return true; }
	else { return false; }
}

// jmoore4 04.07.2002: this is used to handle requests either by client-side redirection or from form submission
// if parameter 0 is 0, this script does nothing but submit the form or perform the redirection
// if parameter 0 is 1, this script disables parameters 2-n and shifts focus to the window object (which removes focus from any form fields)
// addititonal values for parameter 0 can be added over time to popup a message informing the user to wait, etc.
// syntax is requestHandler(action, 'none' or form to submit or url to go to, fieldToDisable1,...,fieldToDisableN)
function requestHandler()
{
	if (arguments[0] > 0)
	{
		// shift focus to window object
		window.focus();
	
		// loop over list of objects (typically form fields or buttons) and disable them
		for (var i=2; i < arguments.length; i++)
		{
			arguments[i].disabled=1;
			// arguments[i].style.cursor='wait';
		}
	}
	
	if (arguments[0] == 2)
	{
		// active hidden div and scroll to top
		document.all['statusline1'].innerHTML='Please wait while your<br>request is processed.<br><br>';
		document.all['statusline2'].innerHTML='<br>Please do not hit Stop or close your browser until this message closes.';
		document.all['status'].style.visibility = 'visible';
		window.scrollTo(0,0);
	}

	// determine if we're passed a form or url or whether to not perform redirection
	if (arguments[1] == 'none') { var redirect=false; }
	else
	{
		var redirect=true;
		if (arguments[1].action != null) { var isForm=true; }
		else { var isForm=false; }
	}

	// set action to form object or url if we are to redirect
	if (redirect)
	{
		// send user to the right place
		var target=arguments[1];
		if (isForm) { target.submit(); }
		else { document.location=target; }
	}
}

//PreAdmission functions
// 14-Jul-03 dbertram - specific to Pre_Admission form
//customcf: bhs_preadmit_dsp_reheaderform.cfm
//function used with the submit button in bhs_preadmit_dsp_reheaderform.cfm


function checkPreAdmitRegFields() {
	var thisform, sendForm, errorMessage;

	thisForm = document.Pre_Admission;
	sendForm = true;
	errorMessage = "";

	reg = /^.+$/;

//	if(!thisForm.Reg_Advance_Directive[0].checked && !thisForm.Reg_Advance_Directive[1].checked){
//		errorMessage += "\n* Do you have an Advanced Directive?";
//		sendForm = false;
//	}		
	
	if(!reg.test(thisForm.Reg_Test_Perform.value)){
		errorMessage += "\n* What Test/Procedure to be performed?";
		sendForm = false;
	}

	if(!reg.test(thisForm.Reg_Physician_Name.value)){
		errorMessage += "\n* What is the Physicians full name?";
		sendForm = false;
	}

	if(!thisForm.Reg_Accident[0].checked && !thisForm.Reg_Accident[1].checked){
		errorMessage += "\n* Is this visit the result of an accident?";
		sendForm = false;
	}

	if(!thisForm.Reg_Hospital_File[0].checked && !thisForm.Reg_Hospital_File[1].checked){
		errorMessage += "\n* Will the hospital file insurance?";
		sendForm = false;
	}

	if(thisForm.Reg_Type_Reg[thisForm.Reg_Type_Reg.selectedIndex].value == 0){
		errorMessage += "\n* Type of Registration";
		sendForm = false;
	}

	if(!sendForm){
		alert('The following items were invalid or empty:\n\n' + errorMessage + '\n\nPlease fill out these items.\n');
	}else{
		thisForm.submit();
	}
}	

// 14-Jul-03 dbertram - specific to Pre_Admission form
//customcf: bhs_preadmit_dsp_reheaderform.cfm
//function used with Admission Date fields
function checkAdmitDate(thisYear,thisMonth,thisDay) {
	var thisForm = document.Pre_Admission;
	var fPreAdmitYear,fPreAdmitMonth,fPreAdmitDay;
	var thisFullDate,formFullDate,diffInDates,days;

	// update the days of the month that was selected
	UpdateDaysOfMonth(thisYear,thisMonth,thisDay);

	// get the form values
	fPreAdmitMonth = thisForm.Reg_Admission_Date_M.value;
	fPreAdmitDay = thisForm.Reg_Admission_Date_D.value;
	fPreAdmitYear = thisForm.Reg_Admission_Date_Y.value;
	fPreAdmitHour = thisForm.Reg_Admission_Time_H.value;
	
	//psuedoCode
	//- If the formFullDate (admitdate) is < than the thisFullDate (current system date) +1, they are not allowed to pre-register.
	//- If the formFullDate (admitdate) is = the thisFullDate (current system date) +1, it would require the appointment time and calculate to make sure it is greater than 24hrs.
	//- If the formFullDate (admitdate) is > than the thisFullDate (current system date) +1, it would not require the appointment time and leave that as an optional field.
	
	//create date object from the hidden fields which contains todays date by default
	thisFullDate =  new Date(thisForm.Reg_Admission_Date_Now_Year.value,thisForm.Reg_Admission_Date_Now_Month.value-1,thisForm.Reg_Admission_Date_Now_Day.value);
	//create date object with the newly updated dates
	formFullDate = new Date(fPreAdmitYear,fPreAdmitMonth-1,fPreAdmitDay);//subtract 1 from the form month because javascript starts with a 0 month: January=0

	//find the difference of the user entered date, from todays date plus 1 day
	diffInDates = formFullDate.getTime()-(thisFullDate.getTime()+86400000);//86400000 miliseconds in a day
	
	//Don't check the time fields
	thisForm.Check_Time_Form_Submit.value=0;
	
/***
	UNCOMMENTED FOR TIME CHECK
****/
if(diffInDates<0){
		alert('You must pre-register at least 24 hours in advance');
		//change the dates back to their default values stored in hidden fields
		thisForm.Reg_Admission_Date_M.value = thisForm.Reg_Admission_Date_M_Hidden.value;
		thisForm.Reg_Admission_Date_D.value = thisForm.Reg_Admission_Date_D_Hidden.value;
		thisForm.Reg_Admission_Date_Y.value = thisForm.Reg_Admission_Date_Y_Hidden.value;
		//recalculate the days in the month
		UpdateDaysOfMonth(document.Pre_Admission.Reg_Admission_Date_Y,document.Pre_Admission.Reg_Admission_Date_M,document.Pre_Admission.Reg_Admission_Date_D);	
	}
	
	if(diffInDates==0){
		alert("The 'Scheduled Admission Time' is required.");
		//Check the admission lead time
		checkAdmitDateTime();
		//set value to check time before submission
		thisForm.Check_Time_Form_Submit.value=1;
	}	
	
	if(diffInDates>0){
		//set value to not check time before submission
		thisForm.Check_Time_Form_Submit.value=0;
	}
}	
//03-may-04 dbertram - specific to Pre_Admission form
//customcf: bhs_preadmit_dsp_reheaderform.cfm
//Creates date objects used to compare 24 hr lead time
function checkAdmitDateTime(){
	var fPreAdmitMonth,fPreAdmitDay,fPreAdmitYear;
	var fPreAdmitHour,fPreAdmitMin,fPreAdmitAmPm;
	var thisFullDateHourMin, formFullDateHourMin;
	var days, point, numberOfDays;
	var thisForm = document.Pre_Admission;
	
	// get the form values
	fPreAdmitMonth = thisForm.Reg_Admission_Date_M.value;
	fPreAdmitDay = thisForm.Reg_Admission_Date_D.value;
	fPreAdmitYear = thisForm.Reg_Admission_Date_Y.value;
	fPreAdmitHour = thisForm.Reg_Admission_Time_H.value;
	fPreAdmitMin = thisForm.Reg_Admission_Time_M.value;
	//fPreAdmitAmPm = thisForm.Reg_Admission_Time_am_pm.value;
	//find which radio button is checked
	if(thisForm.Reg_Admission_Time_am_pm[0].checked){
		fPreAdmitAmPm = thisForm.Reg_Admission_Time_am_pm[0].value;
	}
	if(thisForm.Reg_Admission_Time_am_pm[1].checked){
		fPreAdmitAmPm = thisForm.Reg_Admission_Time_am_pm[1].value;
	}
	//validate the hour entered
	if(fPreAdmitHour!=""){
		checkNumRange(document.Pre_Admission.Reg_Admission_Time_H,1,12);
	}
	//validate the minutes entered 
	if(fPreAdmitMin!=""){
		checkNumRange(document.Pre_Admission.Reg_Admission_Time_M,0,59);
	}
	
	//only create the dates when the time form fields are entered	
	/***UNCOMMENTED FOR TIME CHECK****/
	/*if(fPreAdmitHour!="" && fPreAdmitMin!=""){*/
	
	if(fPreAdmitHour!="" && fPreAdmitMin!="" && (thisForm.Reg_Admission_Time_am_pm[0].checked==true || thisForm.Reg_Admission_Time_am_pm[1].checked==true)){
		thisFullDateHourMin = new Date(thisForm.Reg_Admission_Date_Now_Year.value,thisForm.Reg_Admission_Date_Now_Month.value-1,thisForm.Reg_Admission_Date_Now_Day.value,thisForm.Reg_Admission_Date_Now_Hour.value,thisForm.Reg_Admission_Date_Now_Min.value);
		formFullDateHourMin = new Date(fPreAdmitYear,fPreAdmitMonth-1,fPreAdmitDay,convertHrsTo24(fPreAdmitHour,fPreAdmitAmPm),fPreAdmitMin);
		
		//find the difference in the days in milliseconds
		diffInDates = formFullDateHourMin - thisFullDateHourMin;
		//calculate days and convert to a string
		days = new String(diffInDates/86400000);//86400000 milliseconds in a day
		point = days.indexOf(".");//find the decimal point
		numberOfDays = days.substring(0,point);//get the whole days
		
		//alert(numberOfDays);
	
		if(parseInt(numberOfDays)<=0){
			alert('You must pre-register at least 24 hours in advance');
			thisForm.Reg_Admission_Time_H.value = "";
			thisForm.Reg_Admission_Time_M.value = "";
			thisForm.Reg_Admission_Time_am_pm[0].checked = false;
			thisForm.Reg_Admission_Time_am_pm[1].checked = false;
		}
	}
}

//03-may-04 dbertram - generic function
//function converts 12 hour time to 24 hour time
function convertHrsTo24(thisHour,AmPm){
	var thisString;

	thisString = new String(AmPm);
	AmPm = thisString.toLowerCase();
	
	thisHour = parseInt(thisHour);
	
	if(AmPm=="am"){
		if(thisHour==12){
			thisHour=0;
		}
	}
	if(AmPm=="pm"){
		if(thisHour==12){
			thisHour=12;
		}else{
			thisHour+=12;
		}
	}
	//alert(thisHour);	
	return thisHour;
}

// 15-Aug-03 dbertram - specific to Pre_Admission form
//customcf: bhs_preadmit_dsp_reheaderform.cfm
//function used with updating profile
function doProfileUpdate(xCaller,xid){
	var thisForm;
	var thisMonth,thisDay,thisYear;
	
	thisForm = document.Pre_Admission;

	//updateid
	//thisForm.updateid.value=parseInt(eval('thisForm.'+'updateid_'+xid+'.value'));
	thisForm.updateid.value=eval('thisForm.'+'updateid_'+xid+'.value');
	thisForm.usepreviousregid.value=eval('thisForm.'+'updateid_'+xid+'.value');
	
	//Admission date
	thisMonth=parseInt(eval('thisForm.'+'update_schedAdmitM_'+xid+'.value'));
	thisDay=parseInt(eval('thisForm.'+'update_schedAdmitD_'+xid+'.value'));
	thisYear=parseInt(eval('thisForm.'+'update_schedAdmitY_'+xid+'.value'));
	formYear=parseInt(document.Pre_Admission.startYear.value);
	thisYear=thisYear-formYear;

	thisForm.Reg_Admission_Date_M.selectedIndex=thisMonth-1;
	thisForm.Reg_Admission_Date_D.selectedIndex=thisDay-1;
	thisForm.Reg_Admission_Date_Y.selectedIndex=thisYear;
	thisForm.Reg_Admission_Time_H.value=eval('thisForm.'+'update_schedAdmitHour_'+xid+'.value');
	thisForm.Reg_Admission_Time_M.value=eval('thisForm.'+'update_schedAdmitMin_'+xid+'.value');
	
	//find out if its am or pm
	if(eval('thisForm.'+'update_schedAdmitampm_'+xid+'.value')=="am"){
		thisForm.Reg_Admission_Time_am_pm[0].checked=true;
	}else{
		thisForm.Reg_Admission_Time_am_pm[1].checked=true;
	}
	
	if(parseInt(eval('thisForm.'+'update_isLatexAllergy_'+xid+'.value'))){
		//find out if its latex allergy
		if(parseInt(eval('thisForm.'+'update_latexAllergy_'+xid+'.value'))){
			thisForm.Reg_Latex_Allergy[0].checked=true;
		}else{
			thisForm.Reg_Latex_Allergy[1].checked=true;
		}
		//thisForm.Reg_Latex_Allergy.value=eval('thisForm.'+'update_latexAllergy_'+xid+'.value');
	}

	if(parseInt(eval('thisForm.'+'update_advanceDirective_'+xid+'.value'))){
		showElement('preAdmit_AdvanceDirective'); //show the hidden div with the on file question
		thisForm.Reg_Advance_Directive[0].checked=true; //set 'Yes' the radio button
		thisForm.Reg_Advance_Directive_On_File.selectedIndex=parseInt(eval('thisForm.'+'update_advanceDirectiveOnFile_'+xid+'.value')); //set on file drop down
	}else{
		thisForm.Reg_Advance_Directive[1].checked=true; //set 'No' the radio button
	}
	
	if(parseInt(eval('thisForm.'+'update_infectDisease_'+xid+'.value'))){
		showElement('preAdmit_InfectiousDiease'); //show the hidden div with the on file question
		thisForm.Reg_Infectious_Disease[0].checked=true; //set 'Yes' the radio button
		thisForm.Reg_Which_Infectious_Disease.value=eval('thisForm.'+'update_infectDiseaseInfo_'+xid+'.value'); //set the value
	}else{
		thisForm.Reg_Infectious_Disease[1].checked=true; //set 'No' the radio button
	}
	
	if(!parseInt(eval('thisForm.'+'update_isPrimaryPhysician_'+xid+'.value'))){
		showElement('preAdmit_primaryPhysician');
		thisForm.Reg_Is_Primary_Physician[1].checked=true; //set 'No' the radio button
		thisForm.Reg_Primary_Physician_Name.value=eval('thisForm.'+'update_primaryPhysicianName_'+xid+'.value');
	}else{
		hideElement('preAdmit_primaryPhysician');
		thisForm.Reg_Is_Primary_Physician[0].checked=true; //set 'Yes' the radio button
	}
	
	thisForm.Reg_Test_Perform.value=eval('thisForm.'+'update_procedure_'+xid+'.value');
	thisForm.Reg_Physician_Name.value=eval('thisForm.'+'update_physician_'+xid+'.value');

	//find out if its an accident
	if(eval('thisForm.'+'update_accident_'+xid+'.value')){
		thisForm.Reg_Accident[0].checked=true;
	}else{
		thisForm.Reg_Accident[1].checked=true;
	}

	//find out if hospital files insurance
	if(eval('thisForm.'+'update_hospFile_'+xid+'.value')){
		thisForm.Reg_Hospital_File[0].checked=true;
	}else{
		thisForm.Reg_Hospital_File[1].checked=true;
	}

	//Registration type
	thisForm.Reg_Type_Reg.selectedIndex=parseInt(eval('thisForm.'+'update_typeReg_'+xid+'.value'));
	
	//If previous reg seleted 
	if(xCaller == "pastreg"){
		thisForm.usepreviousreg.value = "true";
	}
	
	//If unfinished reg selected
	if(xCaller == "unfinished"){
		thisForm.updateunfinished.value="true";
	}
	
}



// 15-Aug-03 dbertram - specific to Pre_Admission form
//customcf: bhs_preadmit_dsp_reheaderform.cfm
//function used with updating profile
function noProfileUpdate(){
	var thisForm;

	thisForm = document.Pre_Admission;

	thisForm.Reg_Admission_Date_M.value = thisForm.Reg_Admission_Date_M_Hidden.value;
	thisForm.Reg_Admission_Date_D.value = thisForm.Reg_Admission_Date_D_Hidden.value;
	thisForm.Reg_Admission_Date_Y.value = thisForm.Reg_Admission_Date_Y_Hidden.value;	
	thisForm.Reg_Admission_Time_H.value="";
	thisForm.Reg_Admission_Time_M.value="";
	thisForm.Reg_Admission_Time_am_pm.value="";
	thisForm.Reg_Admission_Time_am_pm.value="";
	thisForm.Reg_Test_Perform.value="";
	thisForm.Reg_Physician_Name.value="";
	thisForm.Reg_Accident[0].checked=false;
	thisForm.Reg_Accident[1].checked=false;
	if(typeof(thisForm.Reg_Latex_Allergy) !="undefined")
	{
		thisForm.Reg_Latex_Allergy[0].checked=false;
		thisForm.Reg_Latex_Allergy[1].checked=false;
	}
	thisForm.Reg_Hospital_File[0].checked=false;
	thisForm.Reg_Hospital_File[1].checked=false;
	thisForm.Reg_Advance_Directive[0].checked=false;
	thisForm.Reg_Advance_Directive[1].checked=false;
	thisForm.Reg_Advance_Directive_On_File.selectedIndex=0;
	thisForm.Reg_Infectious_Disease[0].checked=false;
	thisForm.Reg_Infectious_Disease[1].checked=false;
	thisForm.Reg_Which_Infectious_Disease.value="";
	thisForm.Reg_Is_Primary_Physician[0].checked=false;
	thisForm.Reg_Is_Primary_Physician[1].checked=false;
	thisForm.Reg_Primary_Physician_Name.value="";
	thisForm.Reg_Type_Reg.selectedIndex=0;

	thisForm.updateunfinished.value="false"; 
	thisForm.usepreviousreg.value="false";

	//hide all 
	hideElement('preAdmit_AdvanceDirective');
	hideElement('preAdmit_primaryPhysician');
	
}
	
// 18-Jul-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_patientinfoform.cfm
//function used with the employment status drop-down bhs_preadmit_dsp_patientinfoform.cfm
function employStatus(thisElement){
	if(thisElement[thisElement.selectedIndex].value == 1 || thisElement[thisElement.selectedIndex].value == 2 || thisElement[thisElement.selectedIndex].value == 4 || thisElement[thisElement.selectedIndex].value == 5){
		if(thisElement[thisElement.selectedIndex].value == 4 || thisElement[thisElement.selectedIndex].value == 5){
			hideElement('preAdmit_employInfo');
			showElement('preAdmit_employName');
			
			if(thisElement[thisElement.selectedIndex].value == 4){
				hideElement('preAdmit_employNameRetired');
				hideElement('preAdmit_employRetireDate');
				hideElement('preAdmit_employNameFullPart');
				showElement('preAdmit_employNameInstruct');
				showElement('preAdmit_employInfo');
			}else{
				hideElement('preAdmit_employNameInstruct');
			}
			
			if(thisElement[thisElement.selectedIndex].value == 5){
				hideElement('preAdmit_employNameInstruct');
				hideElement('preAdmit_employNameFullPart');
				hideElement('preAdmit_employInfo');
				showElement('preAdmit_employNameRetired');
				showElement('preAdmit_employRetireDate');
			}else{
				hideElement('preAdmit_employNameRetired');
				hideElement('preAdmit_employRetireDate');
			}
			
		}else{
			hideElement('preAdmit_employNameRetired');
			hideElement('preAdmit_employRetireDate');
			hideElement('preAdmit_employNameInstruct');
			showElement('preAdmit_employNameFullPart');
			showElement('preAdmit_employName');
			showElement('preAdmit_employInfo');
		}	
	}else{
		hideElement('preAdmit_employNameFullPart');
		hideElement('preAdmit_employNameRetired');
		hideElement('preAdmit_employRetireDate');
		hideElement('preAdmit_employNameInstruct');
		hideElement('preAdmit_employName');
		hideElement('preAdmit_employInfo');
	}
}



// 18-Jul-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_patientinfoform.cfm
//function used with the submit button in bhs_preadmit_dsp_patientinfoform.cfm

function checkPreAdmitPatientInfoFields() {
	var thisform, sendForm, errorMessage, reg, sendPhoneError, sendEphoneError;

	thisForm = document.Pre_Admission;
	sendForm = true;
	sendPhoneError = false;
	errorMessage = "";

	reg = /^.+$/;
	if(!reg.test(thisForm.PatientInfo_First_Name.value)){
		errorMessage += "\n* First Name";
		sendForm = false;
	}

	if(!reg.test(thisForm.PatientInfo_Last_Name.value)){
		errorMessage += "\n* Last Name";
		sendForm = false;
	}
			
	if(!reg.test(thisForm.PatientInfo_Maiden_Name.value) && thisForm.PatientInfo_Marital_Status[thisForm.PatientInfo_Marital_Status.selectedIndex].value == 2 && thisForm.PatientInfo_Gender[1].checked){
		errorMessage += "\n* Maiden Name";
		sendForm = false;
	}

	if(!reg.test(thisForm.PatientInfo_Address.value)){
		errorMessage += "\n* Address";
		sendForm = false;
	}

	if(!reg.test(thisForm.PatientInfo_City.value)){
		errorMessage += "\n* City";
		sendForm = false;
	}

	if(thisForm.PatientInfo_State[thisForm.PatientInfo_State.selectedIndex].value == 0){
		errorMessage += "\n* State";
		sendForm = false;
	}

	if(!reg.test(thisForm.PatientInfo_Zip.value)){
		errorMessage += "\n* Zip";
		sendForm = false;
	}

	if(!reg.test(thisForm.PatientInfo_Hphone_Area_Code.value) || parseInt(thisForm.PatientInfo_Hphone_Area_Code.value == "NaN")) {
//			alert(parseInt(thisForm.PatientInfo_Hphone_Area_Code.value));
		sendForm = false;
		sendPhoneError = true;
	}else{
		if(!reg.test(thisForm.PatientInfo_Hphone_Prefix.value) || parseInt(thisForm.PatientInfo_Hphone_Prefix.value == "NaN")){
			sendForm = false;
			sendPhoneError = true;
		}else{
			if(!reg.test(thisForm.PatientInfo_Hphone_Suffix.value) || parseInt(thisForm.PatientInfo_Hphone_Suffix.value == "NaN")){
				sendForm = false;
				sendPhoneError = true;
			}else{
				sendPhoneError = false;
			}
		}
	}

	if (sendPhoneError){
		errorMessage += "\n* Home Phone";
	}

	if(thisForm.PatientInfo_Birth_Date_M[thisForm.PatientInfo_Birth_Date_M.selectedIndex].value == 0 || thisForm.PatientInfo_Birth_Date_D[thisForm.PatientInfo_Birth_Date_D.selectedIndex].value == 0 || thisForm.PatientInfo_Birth_Date_Y[thisForm.PatientInfo_Birth_Date_Y.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Birth Date";
	}

	if((!thisForm.PatientInfo_Gender[0].checked) && (!thisForm.PatientInfo_Gender[1].checked)){
		sendForm = false;
		errorMessage += "\n* Gender";
	}

	if(thisForm.PatientInfo_Race[thisForm.PatientInfo_Race.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Race";
	}

	if(thisForm.PatientInfo_Marital_Status[thisForm.PatientInfo_Marital_Status.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Marital Status";
	}

	if(thisForm.PatientInfo_Employ_Status[thisForm.PatientInfo_Employ_Status.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Employment Status";		
	}

	/*if employment status drop-dowm is equal to 'Employed Full-time', 'Employed Part-time', or 'Self Employed, the employer fields are all required'*/
	if(thisForm.PatientInfo_Employ_Status[thisForm.PatientInfo_Employ_Status.selectedIndex].value == 1 || thisForm.PatientInfo_Employ_Status[thisForm.PatientInfo_Employ_Status.selectedIndex].value == 2 || thisForm.PatientInfo_Employ_Status[thisForm.PatientInfo_Employ_Status.selectedIndex].value == 4){
		if (!reg.test(thisForm.PatientInfo_Employer.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company";
		}
		if (!reg.test(thisForm.PatientInfo_Employer_Address.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company Address";
		}
		if (!reg.test(thisForm.PatientInfo_Employer_City.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company City";
		}
		if (thisForm.PatientInfo_Employer_State[thisForm.PatientInfo_Employer_State.selectedIndex].value == 0) {
			sendForm = false;
			errorMessage += "\n* Employer/Company State";
		}
		if (!reg.test(thisForm.PatientInfo_Employer_Zip.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company Zip";
		}
		if(!reg.test(thisForm.PatientInfo_Ephone_Area_Code.value) || parseInt(thisForm.PatientInfo_Ephone_Area_Code.value == "NaN")) {
			sendForm = false;
			sendEphoneError = true;
		}else{
			if(!reg.test(thisForm.PatientInfo_Ephone_Prefix.value) || parseInt(thisForm.PatientInfo_Ephone_Prefix.value == "NaN")){
				sendForm = false;
				sendEphoneError = true;
			}else{
				if(!reg.test(thisForm.PatientInfo_Ephone_Suffix.value) || parseInt(thisForm.PatientInfo_Ephone_Suffix.value == "NaN")){
					sendForm = false;
					sendEphoneError = true;
				}else{
					sendEphoneError = false;
				}
			}
		}
	}

	if (sendEphoneError){
		errorMessage += "\n* Employer/Company Phone";
	}

	/*if employment status drop-down is equal to 'Retired', the employer name field is only required'*/
	if(thisForm.PatientInfo_Employ_Status[thisForm.PatientInfo_Employ_Status.selectedIndex].value == 5){
		if (!reg.test(thisForm.PatientInfo_Employer.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company Name";
		}	
		if(thisForm.PatientInfo_Employer_Retire_Date_M[thisForm.PatientInfo_Employer_Retire_Date_M.selectedIndex].value == 0 || thisForm.PatientInfo_Employer_Retire_Date_D[thisForm.PatientInfo_Employer_Retire_Date_D.selectedIndex].value == 0 || thisForm.PatientInfo_Employer_Retire_Date_Y[thisForm.PatientInfo_Employer_Retire_Date_Y.selectedIndex].value == 0){
			sendForm = false;
			errorMessage += "\n* Retirement Date";
		}
	}
/*
	reg = /^[0-9]{9,9}$/;
	if (!reg.test(thisForm.PatientInfo_SSN.value)) {
		sendForm = false;
		errorMessage += "\n* SSN";
	}
*/
	if(!sendForm){
		alert('The following items were invalid or empty:\n\n' + errorMessage + '\n\nPlease fill out these items.\n');
	}else{
		thisForm.submit();
	}
}

// 18-SEP-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_patientinfoform.cfm
//function used with the account information the same as preAdmission info

function useAccountInfo(){
	var thisform;
	
	thisForm = document.Pre_Admission;
		
	if(thisForm.PatientInfo_Account_Same.checked){
		thisForm.PatientInfo_First_Name.value = thisForm.accountFirstName.value;
		thisForm.PatientInfo_Last_Name.value = thisForm.accountLastName.value;
		thisForm.PatientInfo_Middle_Name.value = thisForm.accountMiddleName.value;
		thisForm.PatientInfo_Address.value = thisForm.accountAddress.value;
		thisForm.PatientInfo_City.value = thisForm.accountCity.value;
		//thisForm.PatientInfo_State[thisForm.PatientInfo_State.selectedIndex].value = 20;
		thisForm.PatientInfo_State.selectedIndex = thisForm.accountState.value -2;
		thisForm.PatientInfo_Zip.value = thisForm.accountZip.value;
	}else{
	
		thisForm.PatientInfo_First_Name.value = "";
		thisForm.PatientInfo_Last_Name.value = "";
		thisForm.PatientInfo_Middle_Name.value = "";
		thisForm.PatientInfo_Address.value = "";
		thisForm.PatientInfo_City.value = "";
		thisForm.PatientInfo_State[thisForm.PatientInfo_State.selectedIndex].value = 19;
		thisForm.PatientInfo_Zip.value = "";
	}
}



// 18-Jul-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_parentguardform.cfm
//function used with the submit button

function checkPreAdmitParentGuardFields() {
	var thisform, sendForm, errorMessage, reg, sendPhoneError, sendEphoneError;

	thisForm = document.Pre_Admission;
	sendForm = true;
	sendPhoneError = false;
	errorMessage = "";

	reg = /^.+$/;
	if(!reg.test(thisForm.ParentGuard_Relationship.value)){
		errorMessage += "\n* Relationship to Patient";
		sendForm = false;
	}

	if(!reg.test(thisForm.ParentGuard_First_Name.value)){
		errorMessage += "\n* First Name";
		sendForm = false;
	}

	if(!reg.test(thisForm.ParentGuard_Last_Name.value)){
		errorMessage += "\n* Last Name";
		sendForm = false;
	}

	if(!reg.test(thisForm.ParentGuard_Address.value)){
		errorMessage += "\n* Address";
		sendForm = false;
	}

	if(!reg.test(thisForm.ParentGuard_City.value)){
		errorMessage += "\n* City";
		sendForm = false;
	}

	if(thisForm.ParentGuard_State[thisForm.ParentGuard_State.selectedIndex].value == 0){
		errorMessage += "\n* State";
		sendForm = false;
	}

	if(!reg.test(thisForm.ParentGuard_Zip.value)){
		errorMessage += "\n* Zip";
		sendForm = false;
	}

	if(!reg.test(thisForm.ParentGuard_Hphone_Area_Code.value) || parseInt(thisForm.ParentGuard_Hphone_Area_Code.value == "NaN")) {
		sendForm = false;
		sendPhoneError = true;
	}else{
		if(!reg.test(thisForm.ParentGuard_Hphone_Prefix.value) || parseInt(thisForm.ParentGuard_Hphone_Prefix.value == "NaN")){
			sendForm = false;
			sendPhoneError = true;
		}else{
			if(!reg.test(thisForm.ParentGuard_Hphone_Suffix.value) || parseInt(thisForm.ParentGuard_Hphone_Suffix.value == "NaN")){
				sendForm = false;
				sendPhoneError = true;
			}else{
				sendPhoneError = false;
			}
		}
	}

	if (sendPhoneError){
		errorMessage += "\n* Home Phone ";
	}

	if(thisForm.ParentGuard_Birth_Date_M[thisForm.ParentGuard_Birth_Date_M.selectedIndex].value == 0 || thisForm.ParentGuard_Birth_Date_D[thisForm.ParentGuard_Birth_Date_D.selectedIndex].value == 0 || thisForm.ParentGuard_Birth_Date_Y[thisForm.ParentGuard_Birth_Date_Y.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Birth Date";
	}

	if((!thisForm.ParentGuard_Gender[0].checked) && (!thisForm.ParentGuard_Gender[1].checked)){
		sendForm = false;
		errorMessage += "\n* Gender";
	}

	if(thisForm.ParentGuard_Employ_Status[thisForm.ParentGuard_Employ_Status.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Employment Status";		
	}

	/*if employment status drop-dowm is equal to 'Employed Full-time', 'Employed Part-time', or 'Self-Employed'*/
	if(thisForm.ParentGuard_Employ_Status[thisForm.ParentGuard_Employ_Status.selectedIndex].value == 1 || thisForm.ParentGuard_Employ_Status[thisForm.ParentGuard_Employ_Status.selectedIndex].value == 2 || thisForm.ParentGuard_Employ_Status[thisForm.ParentGuard_Employ_Status.selectedIndex].value == 4){
		if (!reg.test(thisForm.ParentGuard_Employer.value)) {
			sendForm = false;
			errorMessage += "\n* Employer";
		}
		if (!reg.test(thisForm.ParentGuard_Employer_Address.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company Address";
		}
		if (!reg.test(thisForm.ParentGuard_Employer_City.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company City";
		}
		if (thisForm.ParentGuard_Employer_State[thisForm.ParentGuard_Employer_State.selectedIndex].value == 0) {
			sendForm = false;
			errorMessage += "\n* Employer/Company State";
		}
		if (!reg.test(thisForm.ParentGuard_Employer_Zip.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company Zip ";
		}
		if(!reg.test(thisForm.ParentGuard_Ephone_Area_Code.value) || parseInt(thisForm.ParentGuard_Ephone_Area_Code.value == "NaN")) {
			sendForm = false;
			sendEphoneError = true;
		}else{
			if(!reg.test(thisForm.ParentGuard_Ephone_Prefix.value) || parseInt(thisForm.ParentGuard_Ephone_Prefix.value == "NaN")){
				sendForm = false;
				sendEphoneError = true;
			}else{
				if(!reg.test(thisForm.ParentGuard_Ephone_Suffix.value) || parseInt(thisForm.ParentGuard_Ephone_Suffix.value == "NaN")){
					sendForm = false;
					sendEphoneError = true;
				}else{
					sendEphoneError = false;
				}
			}
		}
	}

	if (sendEphoneError){
		errorMessage += "\n* Employer/Company Phone";
	}

	/*if employment status drop-dowm is equal to 'Self Employed' or 'Retired', the employer name field is only required'*/
	if(thisForm.ParentGuard_Employ_Status[thisForm.ParentGuard_Employ_Status.selectedIndex].value == 5){
		if (!reg.test(thisForm.ParentGuard_Employer.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company";
		}
		if(thisForm.ParentGuard_Employer_Retire_Date_M[thisForm.ParentGuard_Employer_Retire_Date_M.selectedIndex].value == 0 || thisForm.ParentGuard_Employer_Retire_Date_D[thisForm.ParentGuard_Employer_Retire_Date_D.selectedIndex].value == 0 || thisForm.ParentGuard_Employer_Retire_Date_Y[thisForm.ParentGuard_Employer_Retire_Date_Y.selectedIndex].value == 0){
			sendForm = false;
			errorMessage += "\n* Retirement Date";
		}
	}

	if(!sendForm){
		alert('The following items were invalid or empty:\n\n' + errorMessage + '\n\nPlease fill out these items.\n');
	}else{
		thisForm.submit();
	}
}


// 18-Jul-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_spouseinfoform.cfm
//function used with the submit button
function checkPreAdmitSpouseInfoFields() {
	var thisform, sendForm, errorMessage, reg, regSSN, sendPhoneError, sendEphoneError;

	thisForm = document.Pre_Admission;
	sendForm = true;
	sendPhoneError = false;
	errorMessage = "";
	
	regSSN = /^[0-9]{5,9}$/;
	reg = /^.+$/;
	
	if(!reg.test(thisForm.SpouseInfo_First_Name.value)){
		errorMessage += "\n* First Name";
		sendForm = false;
	}

	if(!reg.test(thisForm.SpouseInfo_Last_Name.value)){
		errorMessage += "\n* Last Name";
		sendForm = false;
	}

	if(!reg.test(thisForm.SpouseInfo_Address.value)){
		errorMessage += "\n* Address";
		sendForm = false;
	}

	if(!reg.test(thisForm.SpouseInfo_City.value)){
		errorMessage += "\n* City";
		sendForm = false;
	}

	if(thisForm.SpouseInfo_State[thisForm.SpouseInfo_State.selectedIndex].value == 0){
		errorMessage += "\n* State";
		sendForm = false;
	}

	if(!reg.test(thisForm.SpouseInfo_Zip.value)){
		errorMessage += "\n* Zip";
		sendForm = false;
	}

	if(!reg.test(thisForm.SpouseInfo_Hphone_Area_Code.value) || parseInt(thisForm.SpouseInfo_Hphone_Area_Code.value == "NaN")) {
		sendForm = false;
		sendPhoneError = true;
	}else{
		if(!reg.test(thisForm.SpouseInfo_Hphone_Prefix.value) || parseInt(thisForm.SpouseInfo_Hphone_Prefix.value == "NaN")){
			sendForm = false;
			sendPhoneError = true;
		}else{
			if(!reg.test(thisForm.SpouseInfo_Hphone_Suffix.value) || parseInt(thisForm.SpouseInfo_Hphone_Suffix.value == "NaN")){
				sendForm = false;
				sendPhoneError = true;
			}else{
				sendPhoneError = false;
			}
		}
	}

	if (sendPhoneError){
		errorMessage += "\n* Home Phone";
	}

	if(thisForm.SpouseInfo_Birth_Date_M[thisForm.SpouseInfo_Birth_Date_M.selectedIndex].value == 0 || thisForm.SpouseInfo_Birth_Date_D[thisForm.SpouseInfo_Birth_Date_D.selectedIndex].value == 0 || thisForm.SpouseInfo_Birth_Date_Y[thisForm.SpouseInfo_Birth_Date_Y.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Birth Date";
	}
/*	
	if (!regSSN.test(thisForm.SpouseInfo_SSN.value)) {
		sendForm = false;
		errorMessage += "\n* SSN";
	}
*/	
	if((!thisForm.SpouseInfo_Gender[0].checked) && (!thisForm.SpouseInfo_Gender[1].checked)){
		sendForm = false;
		errorMessage += "\n* Gender";
	}

	if(thisForm.SpouseInfo_Employ_Status[thisForm.SpouseInfo_Employ_Status.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Employment Status";		
	}

	/*if employment status drop-down is equal to 'Employed Full-time', 'Employed Part-time', or 'Self Employed'*/
	if(thisForm.SpouseInfo_Employ_Status[thisForm.SpouseInfo_Employ_Status.selectedIndex].value == 1 || thisForm.SpouseInfo_Employ_Status[thisForm.SpouseInfo_Employ_Status.selectedIndex].value == 2 || thisForm.SpouseInfo_Employ_Status[thisForm.SpouseInfo_Employ_Status.selectedIndex].value == 4){
		if (!reg.test(thisForm.SpouseInfo_Employer.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company";
		}
		if (!reg.test(thisForm.SpouseInfo_Employer_Address.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company Address";
		}
		if (!reg.test(thisForm.SpouseInfo_Employer_City.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company City";
		}
		if (thisForm.SpouseInfo_Employer_State[thisForm.SpouseInfo_Employer_State.selectedIndex].value == 0) {
			sendForm = false;
			errorMessage += "\n* Employer/Company State";
		}
		if (!reg.test(thisForm.SpouseInfo_Employer_Zip.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company Zip";
		}
		if(!reg.test(thisForm.SpouseInfo_Ephone_Area_Code.value) || parseInt(thisForm.SpouseInfo_Ephone_Area_Code.value == "NaN")) {
			sendForm = false;
			sendEphoneError = true;
		}else{
			if(!reg.test(thisForm.SpouseInfo_Ephone_Prefix.value) || parseInt(thisForm.SpouseInfo_Ephone_Prefix.value == "NaN")){
				sendForm = false;
				sendEphoneError = true;
			}else{
				if(!reg.test(thisForm.SpouseInfo_Ephone_Suffix.value) || parseInt(thisForm.SpouseInfo_Ephone_Suffix.value == "NaN")){
					sendForm = false;
					sendEphoneError = true;
				}else{
					sendEphoneError = false;
				}
			}
		}
	}

	if (sendEphoneError){
		errorMessage += "\n* Employer/Company Phone";
	}

	/*if employment status drop-dowm is equal to 'Self Employed' or 'Retired', the employer name field is only required'*/
	if(thisForm.SpouseInfo_Employ_Status[thisForm.SpouseInfo_Employ_Status.selectedIndex].value == 5){
		if (!reg.test(thisForm.SpouseInfo_Employer.value)) {
			sendForm = false;
			errorMessage += "\n* Employer/Company";
		}
		if(thisForm.SpouseInfo_Employer_Retire_Date_M[thisForm.SpouseInfo_Employer_Retire_Date_M.selectedIndex].value == 0 || thisForm.SpouseInfo_Employer_Retire_Date_D[thisForm.SpouseInfo_Employer_Retire_Date_D.selectedIndex].value == 0 || thisForm.SpouseInfo_Employer_Retire_Date_Y[thisForm.SpouseInfo_Employer_Retire_Date_Y.selectedIndex].value == 0){
			sendForm = false;
			errorMessage += "\n* Retirement Date";
		}
	}

	if(!sendForm){
		alert('The following items were invalid or empty:\n\n' + errorMessage + '\n\nPlease fill out these items.\n');
	}else{
		thisForm.submit();
	}
}

// 18-Jul-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_spouseinfoform.cfm
//function used with the submit button
function checkPreAdmitEmContactFields() {
	var thisform, sendForm, errorMessage, reg, sendPhoneError, sendEphoneError;

	thisForm = document.Pre_Admission;
	sendForm = true;
	sendPhoneError = false;
	errorMessage = "";

	reg = /^.+$/;

	if(thisForm.EmContact_Relationship[thisForm.EmContact_Relationship.selectedIndex].value == 0){
		sendForm = false;
		errorMessage += "\n* Relationship to Patient";
	}
	/*
		dbertram 8-APR-2009: Coomented per request from ssmiser
	if((!thisForm.EmContact_Insured_Listed[0].checked) && (!thisForm.EmContact_Insured_Listed[1].checked)){
		sendForm = false;
		errorMessage += "\n* Will this person be listed as the Insured on one of your insurance plans?";
	}
	*/

	if(!reg.test(thisForm.EmContact_First_Name.value)){
		errorMessage += "\n* First Name";
		sendForm = false;
	}

	if(!reg.test(thisForm.EmContact_Last_Name.value)){
		errorMessage += "\n* Last Name";
		sendForm = false;
	}	

	if(!reg.test(thisForm.EmContact_Hphone_Area_Code.value) || parseInt(thisForm.EmContact_Hphone_Area_Code.value == "NaN")) {
		sendForm = false;
		sendPhoneError = true;
	}else{
		if(!reg.test(thisForm.EmContact_Hphone_Prefix.value) || parseInt(thisForm.EmContact_Hphone_Prefix.value == "NaN")){
			sendForm = false;
			sendPhoneError = true;
		}else{
			if(!reg.test(thisForm.EmContact_Hphone_Suffix.value) || parseInt(thisForm.EmContact_Hphone_Suffix.value == "NaN")){
				sendForm = false;
				sendPhoneError = true;
			}else{
				sendPhoneError = false;
			}
		}
	}

	if (sendPhoneError){
		errorMessage += "\n* Home Phone";
	}
	// if 'person listed as insured' is checked yes, do the following validation
	//dbertram 8-APR-2009: Commented per request from ssmiser
/*
	if(thisForm.EmContact_Insured_Listed[0].checked){

		reg = /^[0-9]{5,9}$/;
		if (!reg.test(thisForm.EmContact_SSN.value)) {
			sendForm = false;
			errorMessage += "\n* SSN";
		}

		if(thisForm.EmContact_Birth_Date_M[thisForm.EmContact_Birth_Date_M.selectedIndex].value == 0 || thisForm.EmContact_Birth_Date_D[thisForm.EmContact_Birth_Date_D.selectedIndex].value == 0 || thisForm.EmContact_Birth_Date_Y[thisForm.EmContact_Birth_Date_Y.selectedIndex].value == 0){
			sendForm = false;
			errorMessage += "\n* Birth Date";
		}

		if((!thisForm.EmContact_Gender[0].checked) && (!thisForm.EmContact_Gender[1].checked)){
			sendForm = false;
			errorMessage += "\n* Gender";
		}
*/
		/*if employment status drop-down is equal to ('Employed Full-time', 'Employed Part-time', or 'Self Employed') and the employer fields are all required'*/
/*		if(thisForm.EmContact_Employ_Status[thisForm.EmContact_Employ_Status.selectedIndex].value == 1 || thisForm.EmContact_Employ_Status[thisForm.EmContact_Employ_Status.selectedIndex].value == 2 || thisForm.EmContact_Employ_Status[thisForm.EmContact_Employ_Status.selectedIndex].value == 4){

			reg = /^.+$/;
			if (!reg.test(thisForm.EmContact_Employer.value)) {
				sendForm = false;
				errorMessage += "\n* Employer/Company";
			}
			if (!reg.test(thisForm.EmContact_Employer_Address.value)) {
				sendForm = false;
				errorMessage += "\n* Employer/Company Address";
			}
			if (!reg.test(thisForm.EmContact_Employer_City.value)) {
				sendForm = false;
				errorMessage += "\n* Employer/Company City";
			}
			if (thisForm.EmContact_Employer_State[thisForm.EmContact_Employer_State.selectedIndex].value == 0) {
				sendForm = false;
				errorMessage += "\n* Employer/Company State";
			}
			if (!reg.test(thisForm.EmContact_Employer_Zip.value)) {
				sendForm = false;
				errorMessage += "\n* Employer/Company Zip ";
			}
			if(!reg.test(thisForm.EmContact_Ephone_Area_Code.value) || parseInt(thisForm.EmContact_Ephone_Area_Code.value == "NaN")) {
				sendForm = false;
				sendEphoneError = true;
			}else{
				if(!reg.test(thisForm.EmContact_Ephone_Prefix.value) || parseInt(thisForm.EmContact_Ephone_Prefix.value == "NaN")){
					sendForm = false;
					sendEphoneError = true;
				}else{
					if(!reg.test(thisForm.EmContact_Ephone_Suffix.value) || parseInt(thisForm.EmContact_Ephone_Suffix.value == "NaN")){
						sendForm = false;
						sendEphoneError = true;
					}else{
						sendEphoneError = false;
					}
				}
			}
		}

		if (sendEphoneError){
			errorMessage += "\n* Employer/Company Phone ";
		}

		//if employment status drop-dowm is equal to 'Self Employed' or 'Retired', the employer name field is only required'
		if(thisForm.EmContact_Employ_Status[thisForm.EmContact_Employ_Status.selectedIndex].value == 5){
			reg = /^.+$/;
			if (!reg.test(thisForm.EmContact_Employer.value)) {
				sendForm = false;
				errorMessage += "\n* Employer/Company";
			}
			if(thisForm.EmContact_Employer_Retire_Date_M[thisForm.EmContact_Employer_Retire_Date_M.selectedIndex].value == 0 || thisForm.EmContact_Employer_Retire_Date_D[thisForm.EmContact_Employer_Retire_Date_D.selectedIndex].value == 0 || thisForm.EmContact_Employer_Retire_Date_Y[thisForm.EmContact_Employer_Retire_Date_Y.selectedIndex].value == 0){
				sendForm = false;
				errorMessage += "\n* Retirement Date";
			}
		}
	}	
*/
	if(!sendForm){
		alert('The following items were invalid or empty:\n\n' + errorMessage + '\n\nPlease fill out these items.\n');
	}else{
		thisForm.submit();
	}
}


// 21-Jul-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_accidentinfoform.cfm
//function used with the submit button

function checkPreAdmitAccidentInfoFields() {
	var thisform, sendForm, errorMessage, reg;
	var infoString,charLen;
	
	thisForm = document.Pre_Admission;
	sendForm = true;
	sendPhoneError = false;
	errorMessage = "";

	reg = /^.+$/;

	if(thisForm.AccidentInfo_Is_Accident[0].checked){
		if(thisForm.AccidentInfo_Accident_Type[thisForm.AccidentInfo_Accident_Type.selectedIndex].value == 0){
			sendForm = false;
			errorMessage += "\n* Type of Accident";
		}

		if(thisForm.AccidentInfo_Accident_Type[thisForm.AccidentInfo_Accident_Type.selectedIndex].value == 2 && !thisForm.AccidentInfo_Accident_Worker_Comp[0].checked && !thisForm.AccidentInfo_Accident_Worker_Comp[1].checked){
			sendForm = false;
			errorMessage += "\n* Will Workman Compensation Insurance be filed for this visit?";
		}

		if(thisForm.AccidentInfo_Accident_Date_M[thisForm.AccidentInfo_Accident_Date_M.selectedIndex].value == 0 || thisForm.AccidentInfo_Accident_Date_D[thisForm.AccidentInfo_Accident_Date_D.selectedIndex].value == 0 || thisForm.AccidentInfo_Accident_Date_Y[thisForm.AccidentInfo_Accident_Date_Y.selectedIndex].value == 0){
			sendForm = false;
			errorMessage += "\n* Accident Date";
		}

		if(thisForm.AccidentInfo_Accident_Time_H.value == "" && thisForm.AccidentInfo_Accident_Time_M.value == ""){
			errorMessage += "\n* Accident Time";
			sendForm = false;
		}

		if(!thisForm.AccidentInfo_Accident_Time_am_pm[0].checked && !thisForm.AccidentInfo_Accident_Time_am_pm[1].checked){
			errorMessage += "\n* Please select AM or PM for your Accident Time";
			sendForm = false;
		}

		if (thisForm.AccidentInfo_Accident_State[thisForm.AccidentInfo_Accident_State.selectedIndex].value == 0) {
			sendForm = false;
			errorMessage += "\n* Accident State";
		}

		if(!reg.test(thisForm.AccidentInfo_Country.value)){
			errorMessage += "\n* Accident Country";
			sendForm = false;
		}

		if(!reg.test(thisForm.AccidentInfo_Accident_Occur.value)){
			errorMessage += "\n* Where did this accident occur?";
			sendForm = false;
		}

		if(!reg.test(thisForm.AccidentInfo_Accident_Nature.value)){
			errorMessage += "\n* Nature of Accident";
			sendForm = false;
		}
		
		
		infoString = new String(thisForm.AccidentInfo_Accident_Nature.value)		
		charLen = infoString.length;
		if(charLen>256){
			errorMessage += "\n* Accident Nature has be fewer than 256 characters";
			sendForm = false;
		}
	}
	if(!sendForm){
		alert('The following items were invalid or empty:\n\n' + errorMessage + '\n\nPlease fill out these items.\n');
	}else{
		thisForm.submit();
	}
}

// 17-Sep-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_accidentinfoform.cfm
//function used with the AccidentInfo_Accident_Nature text area to count characters

function countChars() {
	var thisform, textString;
	
	thisForm = document.Pre_Admission;
	textString = new String(thisForm.AccidentInfo_Accident_Nature.value)
	
	if(textString.length > 256){
		alert('Nature of Accident must be less than 256 characters');
		thisForm.AccidentInfo_Accident_Nature.value = textString.substring(0,256);
	}
	
	
}


// 21-Jul-03 dbertram - specific to Pre-Admission form
//customcf: bhs_preadmit_dsp_insuranceform.cfm
//function used with the submit button

function checkPreAdmitInsuranceInfoFields() {
	var thisform, sendForm, errorMessage, reg;

	thisForm = document.Pre_Admission;
	sendForm = true;
	sendPhoneError = false;
	errorMessage = "";

	reg = /^.+$/;

	if(thisForm.PrimaryInsur_Is_Insured[0].checked){
		if(!reg.test(thisForm.PrimaryInsur_Name.value)){
			errorMessage = "\n* Primary Insurance Company Name";
			sendForm = false;
		}
/*	
	if(!reg.test(thisForm.PrimaryInsur_Address.value)){
			errorMessage += "\n* Primary Address";
			sendForm = false;
		}
	
		if(!reg.test(thisForm.PrimaryInsur_City.value)){
			errorMessage += "\n* Primary City";
			sendForm = false;
		}
	
		if(thisForm.PrimaryInsur_State[thisForm.PrimaryInsur_State.selectedIndex].value == 0){
			errorMessage += "\n* Primary State";
			sendForm = false;
		}
	
		if(!reg.test(thisForm.PrimaryInsur_Zip.value)){
			errorMessage += "\n* Primary Zip";
			sendForm = false;
		}
*/	
		if(!reg.test(thisForm.PrimaryInsur_Phone_Area_Code.value) || parseInt(thisForm.PrimaryInsur_Phone_Area_Code.value == "NaN")) {
			//	alert(parseInt(thisForm.PatientInfo_Hphone_Area_Code.value));
			sendForm = false;
			sendPhoneError = true;
		}else{
			if(!reg.test(thisForm.PrimaryInsur_Phone_Prefix.value) || parseInt(thisForm.PrimaryInsur_Phone_Prefix.value == "NaN")){
				sendForm = false;
				sendPhoneError = true;
			}else{
				if(!reg.test(thisForm.PrimaryInsur_Phone_Suffix.value) || parseInt(thisForm.PrimaryInsur_Phone_Suffix.value == "NaN")){
					sendForm = false;
					sendPhoneError = true;
				}else{
					sendPhoneError = false;
				}
			}
		}
	
		if (sendPhoneError){
			errorMessage += "\n* Primary Phone";
		}

		if(!reg.test(thisForm.PrimaryInsur_Policy_Claim_Number.value)){
			errorMessage += "\n* Primary Policy/Claim Number or ID";
			sendForm = false;
		}
		
		if(!reg.test(thisForm.PrimaryInsur_Group_Number.value)){
			errorMessage += "\n* Group/Account Number";
			sendForm = false;
		}
		

		if(!thisForm.PrimaryInsur_Policyholder[0].checked && !thisForm.PrimaryInsur_Policyholder[1].checked && !thisForm.PrimaryInsur_Policyholder[2].checked && !thisForm.PrimaryInsur_Policyholder[3].checked && !thisForm.PrimaryInsur_Policyholder[4].checked){
			errorMessage += "\n* Primary Policyholder";
			sendForm = false;			
		}

		if(thisForm.PrimaryInsur_Policyholder[4].checked  && !reg.test(thisForm.PrimaryInsur_Policyholder_Other.value)){
			errorMessage += "\n* Primary Policyholder Other";
			sendForm = false;
		}
	}

	if(thisForm.PrimaryInsur_Is_Insured[0].checked && thisForm.PrimaryInsur_Additional[0].checked){
		if(!reg.test(thisForm.SecondaryInsur_Name.value)){
			errorMessage += "\n* Secondary Insurance Company Name";
			sendForm = false;
		}
/*
		if(!reg.test(thisForm.SecondaryInsur_Address.value)){
			errorMessage += "\n* Secondary Address";
			sendForm = false;
		}

		if(!reg.test(thisForm.SecondaryInsur_City.value)){
			errorMessage += "\n* Secondary City";
			sendForm = false;
		}
	
		if(thisForm.SecondaryInsur_State[thisForm.SecondaryInsur_State.selectedIndex].value == 0){
			errorMessage += "\n* Secondary State";
			sendForm = false;
		}
	
		if(!reg.test(thisForm.SecondaryInsur_Zip.value)){
			errorMessage += "\n* Secondary Zip";
			sendForm = false;
		}
*/	
		if(!reg.test(thisForm.SecondaryInsur_Phone_Area_Code.value) || parseInt(thisForm.SecondaryInsur_Phone_Area_Code.value == "NaN")) {
			//	alert(parseInt(thisForm.PatientInfo_Hphone_Area_Code.value));
			sendForm = false;
			sendPhoneError = true;
		}else{
			if(!reg.test(thisForm.SecondaryInsur_Phone_Prefix.value) || parseInt(thisForm.SecondaryInsur_Phone_Prefix.value == "NaN")){
				sendForm = false;
				sendPhoneError = true;
			}else{
				if(!reg.test(thisForm.SecondaryInsur_Phone_Suffix.value) || parseInt(thisForm.SecondaryInsur_Phone_Suffix.value == "NaN")){
					sendForm = false;
					sendPhoneError = true;
				}else{
					sendPhoneError = false;
				}
			}
		}
	
		if (sendPhoneError){
			errorMessage += "\n* Secondary Phone";
		}

		if(!reg.test(thisForm.SecondaryInsur_Policy_Claim_Number.value)){
			errorMessage += "\n* Secondary Policy/Claim Number";
			sendForm = false;
		}
		
		if(!reg.test(thisForm.SecondaryInsur_Group_Number.value)){
			errorMessage += "\n* Secondary Group/Account Number";
			sendForm = false;
		}

		if(!thisForm.SecondaryInsur_Policyholder[0].checked && !thisForm.SecondaryInsur_Policyholder[1].checked && !thisForm.SecondaryInsur_Policyholder[2].checked && !thisForm.SecondaryInsur_Policyholder[3].checked && !thisForm.SecondaryInsur_Policyholder[4].checked){
			errorMessage += "\n* Secondary Policyholder";
			sendForm = false;			
		}

		if(thisForm.SecondaryInsur_Policyholder[4].checked  && !reg.test(thisForm.SecondaryInsur_Policyholder_Other.value)){
			errorMessage += "\n* Secondary Policyholder Other";
			sendForm = false;
		}
	}

	if(thisForm.PrimaryInsur_Is_Insured[0].checked && thisForm.PrimaryInsur_Additional[0].checked && thisForm.SecondaryInsur_Additional[0].checked){
		if(!reg.test(thisForm.TertiaryInsur_Name.value)){
			errorMessage += "\n* Tertiary Insurance Company Name";
			sendForm = false;
		}
/*
		if(!reg.test(thisForm.TertiaryInsur_Address.value)){
			errorMessage += "\n* Tertiary Address";
			sendForm = false;
		}

		if(!reg.test(thisForm.TertiaryInsur_City.value)){
			errorMessage += "\n* Tertiary City";
			sendForm = false;
		}
	
		if(thisForm.TertiaryInsur_State[thisForm.TertiaryInsur_State.selectedIndex].value == 0){
			errorMessage += "\n* Tertiary State";
			sendForm = false;
		}
	
		if(!reg.test(thisForm.TertiaryInsur_Zip.value)){
			errorMessage += "\n* Tertiary Zip";
			sendForm = false;
		}
*/	
		if(!reg.test(thisForm.TertiaryInsur_Phone_Area_Code.value) || parseInt(thisForm.TertiaryInsur_Phone_Area_Code.value == "NaN")) {
			//	alert(parseInt(thisForm.PatientInfo_Hphone_Area_Code.value));
			sendForm = false;
			sendPhoneError = true;
		}else{
			if(!reg.test(thisForm.TertiaryInsur_Phone_Prefix.value) || parseInt(thisForm.TertiaryInsur_Phone_Prefix.value == "NaN")){
				sendForm = false;
				sendPhoneError = true;
			}else{
				if(!reg.test(thisForm.TertiaryInsur_Phone_Suffix.value) || parseInt(thisForm.TertiaryInsur_Phone_Suffix.value == "NaN")){
					sendForm = false;
					sendPhoneError = true;
				}else{
					sendPhoneError = false;
				}
			}
		}
	
		if (sendPhoneError){
			errorMessage += "\n* Tertiary Phone";
		}

		if(!reg.test(thisForm.TertiaryInsur_Policy_Claim_Number.value)){
			errorMessage += "\n* Tertiary Policy/Claim Number";
			sendForm = false;
		}
		
		if(!reg.test(thisForm.TertiaryInsur_Group_Number.value)){
			errorMessage += "\n* Tertiary Group/Account Number";
			sendForm = false;
		}

		if(!thisForm.TertiaryInsur_Policyholder[0].checked && !thisForm.TertiaryInsur_Policyholder[1].checked && !thisForm.TertiaryInsur_Policyholder[2].checked && !thisForm.TertiaryInsur_Policyholder[3].checked && !thisForm.TertiaryInsur_Policyholder[4].checked){
			errorMessage += "\n* Tertiary Policyholder";
			sendForm = false;			
		}

		if(thisForm.TertiaryInsur_Policyholder[4].checked  && !reg.test(thisForm.TertiaryInsur_Policyholder_Other.value)){
			errorMessage += "\n* Tertiary Policyholder Other";
			sendForm = false;
		}
	}

	if(!sendForm){
		alert('The following items were invalid or empty:\n\n' + errorMessage + '\n\nPlease fill out these items.\n');
	}else{
		thisForm.submit();
	}
}

// 14-Jul-03 dbertram - specific to Pre_Admission form
//customcf: bhs_preadmit_dsp_insuranceform.cfm
//function used 'additional insurance secondary, tertiary' radios
function insurFormOrder() {
	var primaryElement, secondElement, thirdElement;
	var thisForm = document.Pre_Admission;

	primaryElement = document.getElementById("preAdmit_insurPrimary");
	secondElement = document.getElementById("preAdmit_insurSecondary");
	thirdElement = document.getElementById("preAdmit_insurTertiary");

	//make certain you can't view the tertiary and secondary insurance before the primary
	if(primaryElement.style.display == "none"){
		thisForm.PrimaryInsur_Additional[0].checked = false;
		secondElement.style.display = "none"
		thisForm.SecondaryInsur_Additional[0].checked = false;
		thirdElement.style.display = "none";
	}
	//make certain you can't view the tertiary insurance before the secondary
	if(secondElement.style.display == "none"){
		thirdElement.style.display = "none";
		thisForm.SecondaryInsur_Additional[0].checked = false;
	}

	if(thisForm.PrimaryInsur_Is_Insured[0].checked){
		showElement('preAdmit_insurPrimary');
	}else{
		hideElement('preAdmit_insurPrimary');
		hideElement('preAdmit_insurSecondary');
		hideElement('preAdmit_insurTertiary');
	}

	if(thisForm.PrimaryInsur_Is_Insured[0].checked && thisForm.PrimaryInsur_Additional[0].checked){
		showElement('preAdmit_insurSecondary');
	}else{
		hideElement('preAdmit_insurSecondary');
		hideElement('preAdmit_insurTertiary');
	}

	if(thisForm.PrimaryInsur_Is_Insured[0].checked && thisForm.PrimaryInsur_Additional[0].checked && thisForm.SecondaryInsur_Additional[0].checked){
		showElement('preAdmit_insurTertiary');
	}else{
		hideElement('preAdmit_insurTertiary');
	}
}	



function RegSubmitForm() {
	switchCaseAction(document.Pre_Admission,'postreg');
	//document.Pre_Admission.submit();
}

/* 	24-Jul-2003 dbertram
	Author: Matt Kruse <matt@mattkruse.com>
	WWW: http://www.mattkruse.com/	
	autoComplete (text_input, select_input, ["text"|"value"], [true|false])
	Use this function when you have a SELECT box of values and a text
	input box with a fill-in value. Often, onChange of the SELECT box
	will fill in the selected value into the text input (working like
	a Windows combo box). Using this function, typing into the text
	box will auto-select the best match in the SELECT box and do
	auto-complete in supported browsers.
	Arguments:
		thisTextElement = text input field object
		thisSelectElement = select list object containing valid values
		property = either "text" or "value". This chooses which of the
				SELECT properties gets filled into the text box -
				the 'value' or 'text' of the selected option
		matchValue = true or false. Set to 'true' to not allow any text
				in the text box that does not match an option. Only
				supported in IE (possible future Netscape).
*/
function autoComplete (thisTextElement, thisSelectElement, property, matchValue, elementName) {
	var found = false;
	for (var i = 0; i < thisSelectElement.options.length; i++) {
	if (thisSelectElement.options[i][property].toUpperCase().indexOf(thisTextElement.value.toUpperCase()) == 0) {
	     found=true; break;
	     }
	}

	if(found){ 
		thisSelectElement.selectedIndex = i; 
		//document.myForm.mySelect[document.myForm.mySelect].value = i;
	}else{
		thisSelectElement.selectedIndex = -1;
		//document.myForm.mySelect[document.myForm.mySelect].value = -1;
	}

	if(thisTextElement.createTextRange){
		if (matchValue && !found){
			thisTextElement.value=thisTextElement.value.substring(0,thisTextElement.value.length-1);
			return;
		}

		var cursorKeys ="8;46;37;39;40;33;34;35;36;45;";

		if (cursorKeys.indexOf(event.keyCode+";") == -1){
			var r1 = thisTextElement.createTextRange();
			var oldValue = r1.text;
			var newValue = found ? thisSelectElement.options[i][property] : oldValue;

			if (newValue != thisTextElement.value) {
				thisTextElement.value = newValue;
				var rNew = thisTextElement.createTextRange();
				rNew.moveStart('character', oldValue.length) ;
				rNew.select();
			}
		}
	}
	//Do we need to require the Address fields
	insuranceAddrCheck(thisTextElement.value, elementName.toString());
}


//26-Jul-2003 dbertram
//generic function
function addressSame(elementName) {
	var sameAddressChecked,patientAddress,patientCity,patientState;
	var patientZip,patientPhoneArea,patientPhonePrefix,patientPhoneSuffix;
	var thisForm;
	
	thisForm = document.Pre_Admission;
	sameAddressChecked = eval('thisForm.' + elementName+'_Same_Address.checked');
	
	//patient info
	patientAddress = thisForm.patientAddressHidden.value;
	patientCity = thisForm.patientCityHidden.value;
	patientState = thisForm.patientStateHidden.value;
	patientZip = thisForm.patientZipHidden.value;
	patientPhoneArea = thisForm.patientHphoneAreaCodeHidden.value;
	patientPhonePrefix = thisForm.patientHphonePrefixHidden.value;
	patientPhoneSuffix = thisForm.patientHphoneSuffixHidden.value;	

	if(sameAddressChecked){
		
		eval('thisForm.'+elementName+'_Address.value = patientAddress');
		eval('thisForm.'+elementName+'_City.value = patientCity');
		eval('thisForm.'+elementName+'_State.value = patientState');
		eval('thisForm.'+elementName+'_Zip.value = patientZip');
		eval('thisForm.'+elementName+'_Hphone_Area_Code.value = patientPhoneArea');
		eval('thisForm.'+elementName+'_Hphone_Prefix.value = patientPhonePrefix');
		eval('thisForm.'+elementName+'_Hphone_Suffix.value = patientPhoneSuffix');
	}else{
		eval('thisForm.'+elementName+'_Address.value = ""');
		eval('thisForm.'+elementName+'_City.value = ""');
		eval('thisForm.'+elementName+'_State.selectedIndex = 17');
		eval('thisForm.'+elementName+'_Zip.value = ""');
		eval('thisForm.'+elementName+'_Hphone_Area_Code.value = ""');
		eval('thisForm.'+elementName+'_Hphone_Prefix.value = ""');
		eval('thisForm.'+elementName+'_Hphone_Suffix.value = ""');
	}
	
}

function insuranceAddrCheck(thisValue, thisElementName){
	var aInsur = new Array();
	aInsur[0] = "blue cross blue access";
	aInsur[1] = "blue cross blue preferred";
	aInsur[2] = "blue cross blue preferred primary";
	aInsur[3] = "blue cross federal";
	aInsur[4] = "blue cross other";
	aInsur[5] = "blue cross out of state";
	aInsur[6] = "humana";
	aInsur[7] = "humana choice care";
	aInsur[8] = "humana freedom";
	aInsur[9] = "humana hmo";
	aInsur[10] = "humana indemnity";
	aInsur[11] = "humana PPO";
	aInsur[12] = "medicaid of ky";
	aInsur[13] = "medicaid of ky - passport (louisville only)";
	aInsur[14] = "medicaid out-of-state";
	aInsur[15] = "medicare part a";
	aInsur[16] = "medicare part a & b";
	aInsur[17] = "medicare part b";
	
	for(var index=0; index<aInsur.length;index++){
		if (thisValue.toLowerCase() == aInsur[index]){
		  
		  if(parseInt(thisElementName.indexOf("PrimaryInsur_Name")) >= 0){
			  hideElement('preAdmit_PrimaryInsuranceAddr');
		  }else if(thisElementName.indexOf("SecondaryInsur_Name") >= 0){
			  hideElement('preAdmit_SecondaryInsuranceAddr');
		  }else if(thisElementName.indexOf("TertiaryInsur_Name") >= 0){
			  hideElement('preAdmit_TertiaryInsuranceAddr');
		  }
		  break;
		
		}else{
			if(parseInt(thisElementName.indexOf("PrimaryInsur_Name")) >= 0){
			  showElement('preAdmit_PrimaryInsuranceAddr');
			}else if(thisElementName.indexOf("SecondaryInsur_Name") >= 0){
				showElement('preAdmit_SecondaryInsuranceAddr');
			}else if(thisElementName.indexOf("TertiaryInsur_Name") >= 0){
				showElement('preAdmit_TertiaryInsuranceAddr');
			}
		}
	}
}

// 24-Jul-2003 dbertram	
//generic function
function selectToText(thisElementText,thisElementSelect,elementName){
	thisElementText.value = thisElementSelect[thisElementSelect.selectedIndex].text;
	//Do we need to require the Address fields
	insuranceAddrCheck(thisElementText.value,elementName.toString());
}

// 04-Jul-2003 dbertram	
//generic function
function switchCaseAction(thisForm,hiddenAction) {
	thisForm.action.value = hiddenAction;
	document.Pre_Admission.submit();
}	

// 14-Jul-03 dbertram
//generic function
function checkNumRange(thisElement,minNum,maxNum){
		var alertMessage, sendAlert;

		alertMessage = "";
		sendAlert = false;

	if((isNaN(thisElement.value)) || (thisElement.value > maxNum) || (thisElement.value < minNum)){
		alertMessage = "\n Please enter a numeric value between " + minNum + "and " + maxNum;		
		thisElement.value = "";	
		//thisElement.focus();
		sendAlert = true;
	}						

	if(sendAlert){
		alert(alertMessage);
	}
}		
	

// 21-Jul-03 dbertram
//generic function
function dropDownShowElement(thisElement,elementOnID,thisValue) {
	if(thisElement[thisElement.selectedIndex].value == thisValue){
		showElement(elementOnID);
	}else{
		hideElement(elementOnID);
	}
}
// 14-Jul-03 dbertram
//generic function
function showElement(elementID) {
	var thisElement;

	thisElement = document.getElementById(elementID);
	thisElement.style.display = "block";
}

// 14-Jul-03 dbertram
//generic function
function hideElement(elementID) {
	var thisElement;

	thisElement = document.getElementById(elementID);
	thisElement.style.display = "none";

}			
// 28-Sep-03 dbertram
//function specific to the Health Day page /news/healthscout/index.cfm.
//these pages needed to concate a the '&renderforprint=1' because they are already passing parameters through the URL
function HDrenderForPrint() {
	var thisStr,thisRegExp,thisResult;
	
	thisStr = new String(document.URL);
	//we want to look for a ? in the url
	thisRegExp = /\?/gi;
	
	thisResult = thisStr.search(thisRegExp);
		
	if(thisResult >=1){
		window.location = document.URL+'&renderforprint=1';
	}else{
		window.location = document.URL+'?renderforprint=1';
	}

}

// JavaScript Document
function step2_ecards() {
	var thisForm, submitForm, formErrors;
	thisForm = document.forms.App;
	submitForm = true;
	formErrors = "";

	// check the fields
	if (thisForm.from_name.value == "")	{ 
		submitForm = false; formErrors += 'Your name.\n';
		}
	if (!matchEmail(thisForm.from_email.value))	{ 
		submitForm = false; formErrors += 'Valid email address.\n';
		}
	if (thisForm.message.value == ""){ 
		submitForm = false; formErrors += 'Message to Patient.\n'; 
		}
	if (submitForm) {
		thisForm.submit();
	} else {
		alert('You must fully complete the form\nThe following items should be filled in:\n\n'+formErrors);
	}
}
		
function matchEmail_ecards(thisEmail) {
	var re = /[0-9a-z_-]*\@([0-9a-z-]{2,26}\.)+[a-z]{2,3}/ig;
	var ret = re.exec(thisEmail);
	return(ret);
}

function step3_ecards() {
	var thisForm, thisCheck;
	submitForm = true;
	thisForm = document.forms.App;

	if (radioChecked()) {
		thisForm.submit();
	} else {
		alert('Please select a Card Type.');
	}
}

function selectImage_ecards(thisItem) {
	var thisForm;
	thisForm = document.forms.App;
	thisForm[thisItem].checked = true;
}

function radioChecked_ecards() {
	var thisChecked, thisForm;
	thisForm = document.App;
	thisChecked = false;
	for (i=0; i <= thisForm.elements.length - 1; i++) {
		if (thisForm.elements[i].type == "radio") {
			if (thisForm.elements[i].checked) { thisChecked = true; }
		}
	}
	return(thisChecked);
}

function process_ecards() {
	var thisForm;
	thisForm = document.forms.App;
	thisForm.submit();
}

function changeStyle_ecards() {
	var thisForm;
	thisForm = document.forms.App;
	thisForm.action.value = "Step2";
	thisForm.submit();
}

function changePersonal_ecards() {
	var thisForm;
	thisForm = document.forms.App;
	thisForm.action.value = "Step1";
	thisForm.submit();
}

function zPayfunc(hosp,url) {
	var scr_h;
	scr_h = screen.height -15; 
	if (scr_h > 770)
		scr_h = 770;	
	//alert('Your screen height is ' + scr_h);
	if (confirm('You will be making a payment to ' + hosp))   {
		window.open('https://www.myzpay.com/'+url,'zpay','scrollbars=1,resizable=1,location=1,status=1,top=0,left=0,width=790,height=' + scr_h);
	}
}


function select_deselectAll (chkVal, idVal)
{
    var frm = document.forms[0];
    // Loop through all elements
    for (i=0; i<frm.length; i++)
    {
        // Look for our Header Template's Checkbox
        if (idVal.indexOf ('CheckAll') != -1)
        {
            // Check if main checkbox is checked, then select or deselect datagrid checkboxes
            if(chkVal == true)
            {
                frm.elements[i].checked = true;
            }
            else
            {
                frm.elements[i].checked = false;
            }
            // Work here with the Item Template's multiple checkboxes
        }
        else if (idVal.indexOf ('DeleteThis') != -1)
        {
            // Check if any of the checkboxes are not checked, and then uncheck top select all checkbox
            if(frm.elements[i].checked == false)
            {
                frm.elements[1].checked = false; //Uncheck main select all checkbox
            }
        }
    }

}


/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Nannette Thacker | http://www.shiningstar.net */
//var checkflag = "false";
function checkit(field,field2,checkflag) {
  if (checkflag == "false") {
    for (i = 0; i < field.length; i++) {
      field[i].checked = true;
    }
	field2.checked = false;
    checkflag = "true";
    //return "Uncheck All";
  } else {
    for (i = 0; i < field.length; i++) {
      field[i].checked = false;
    }
	field2.checked = false;
    checkflag = "false";
    //return "Check All";
  }
}

function disable(field,field2,checkflag) {
	alert(checkflag);
	if (checkflag == "true") {
		for (i = 0; i < field.length; i++) {
	  field[i].disabled = true;
    }
	field2.disabled.value = true;
	}
	else {
    for (i = 0; i < field.length; i++) {
      field[i].disabled = false;
    }
	field2.disabled = false;
  }	
}

function toggle(){
var i, j, args, els;
args=toggle.arguments
els=document.forms[args[0]]
i=0
while (typeof(els[i])!=='undefined'){
for (j = 1; j < args.length-1; j++)
if(els[i].name==args[j]){
	
if (args[args.length-1] == true) {
	els[i].checked=false; 
	}
els[i].disabled=args[args.length-1]}
i++
}
}

