// JavaScript Document
// MemorialCare Link application

// ========== make it so you can only type numbers or letters in a text box ====================
// use  onKeyPress="return validateKeyPress(event, validLetters)" in textfield =================
var validInt = '0123456789';   
var validNum = '0123456789-';  
var validEmail = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_0123456789.@"; 
var validLetters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- ";  
var validLetters2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789 .,!?();:/'";  


function validateKeyPress(e, validSet) 
{ 
    var key; 
    var keychar; 
    if(window.event || !e.which) // IE 
        key = e.keyCode; // IE 
    else if(e) 
        key = e.which;   // Netscape 
    else 
        return true;     // no validation 

    keychar = String.fromCharCode(key); 
    validSet += String.fromCharCode(8); 
    if (validSet.indexOf(keychar) < 0) 
      return false; 

    return true; 
} 


// ============================= for loaded flash module =====================================
function writeDocument(s){document.write(s);}

// ============================== LOAD TEST FOR FLASH ANIMATION ========================
function DoYouHaveFlash()
{
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="250" height="130" title="Flash Test Animation">');
	document.write('<param name="movie" value="_flash/flashTestAnimationSm.swf" />');
	document.write('<param name="quality" value="high" />');
	document.write('<embed src="_flash/flashTestAnimationSm.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="250" height="130"></embed>');
	document.write('</object>');
	
}	




// open end user license agreement in new window ==========================================
function open_eula()
{	window.open('EULicAgreemt.cfm','','location=yes,status=yes,menubar=yes,toolbar=yes,resizable=yes,scrollbars=yes,width=600,height=500');
}


// validate NEW ACCOUNTS PENDING SETUP FORM ================================================
function ckPendPrac()
{	var form = document.FormPendPrac;
	// total pending practices + 1
	var totalPlusOne = parseInt(form.frmTotalPrac.value,10) + 1;
	var totalSubmitted = 0;
	// loop thru total pending practices
	for (i=1; i<totalPlusOne; i++)
	{	//if content id filled in, add to var
		if (eval("form.frmPracticeContext"+i).value != "" )
		{	var totalSubmitted = totalSubmitted + 1;
		}
	}
	// no content id's passed, blank form submitted, alert error
	if (totalSubmitted == 0)
	{ 	alert("You haven't filled in the Content Id\nfor the Account that was setup.");
		return false;
	}
	// data submitted - ok to process form
	else {	return true;
		 }
}


// validate NEW OFFICE PENDING SETUP FORM ================================================
function ckPendOffice()
{	var form = document.FormOffice;
	var totalPlusOne = parseInt(form.frmTotalOffices.value,10) + 1;
	var totalSubmitted = 0;
	for (i=1; i<totalPlusOne; i++)
	{ 	if (eval("form.frmOfficeSetup"+i).checked == true )
		{	var totalSubmitted = totalSubmitted + 1;
		}
	}
	// no office passed, blank form submitted, alert error
	if (totalSubmitted == 0)
	{ 	alert("You haven't checked which Office\nhas been setup.");
		return false;
	}
	// data submitted - ok to process form
	else {	return true;
		 }

}


// validate NEW USERS PENDING SETUP FORM ================================================
function ckPendUser()
{	var form = document.FormUser;
	// total pending users + 1
	var totalPlusOne = parseInt(form.frmTotalUsers.value,10) + 1;
	var totalSubmitted = 0;
	// loop thru total pending users
	for (i=1; i<totalPlusOne; i++)
	{	//if PS id filled in, add to var
		if (eval("form.frmUserPSID"+i).value != "" )
		{	var totalSubmitted = totalSubmitted + 1;
		}
	}
	// no PS id's passed, blank form submitted, alert error
	if (totalSubmitted == 0)
	{ 	alert("You haven't filled in the PS ID\nfor the User that was setup.");
		return false;
	}
	// data submitted - ok to process form
	else {	return true;
		 }
}


// validate USERS WHO PASSED EXAM FORM ================================================
function ckUserPassed()
{	var form = document.FormUserPassed;
	var totalPlusOne = parseInt(form.frmTotalPassed.value,10) + 1;
	var totalSubmitted = 0;
	for (i=1; i<totalPlusOne; i++)
	{ 	if (eval("form.frmUserActivated"+i).checked == true )
		{	var totalSubmitted = totalSubmitted + 1;
		}
	}
	// no user passed, blank form submitted, alert error
	if (totalSubmitted == 0)
	{ 	alert("You haven't checked which User,\nwho passed an exam, has been activated.");
		return false;
	}
	// data submitted - ok to process form
	else {	return true;
		 }

}



// validate Request New Non-Physician Account form ===================================================
function ckAcctForm()
{	var form = document.FormReqNewAcct;
	
	// loops through txt fields excluding id's starting w/*
	for (i=0; i<form.elements.length; i++) 
	{	if (form.elements[i].type=="text" && form.elements[i].value=="" && form.elements[i].id.charAt(0)!="*" )
		{	alert(form.elements[i].id + " is blank"); // alert with field id and sentence
			form.elements[i].focus();                   // set focus to blank field
			form.elements[i].style.background = '#FFCC00';
			return false;
			break;
		}
	}

	//validate site admin read end user lic agreemt
	if ( form.frmSAEULA.checked == false )
    {	alert(form.frmSAEULA.id + " has not been checked");
		form.frmSAEULA.focus();
		document.getElementById('SAEULA').style.backgroundColor='#FFCC00';
		form.frmSAEULA.style.background = 'red';
        return false;
    }
	
	//loop thru 5 additional users and validate if any were submitted
	for (i=1; i<6; i++)
	{	//if first or last name is filled out, make sure all other user fields are filled in
		if (eval("form.frmUserFN"+i).value != "" || eval("form.frmUserLN"+i).value != "")
		{	var curUser = 'user'+i;
			if (eval("form.frmUserLN"+i).value == "")
			{	eval("form.frmUserLN"+i).focus();
				eval("form.frmUserLN"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Last Name is blank");
				return false;
			}
			if (eval("form.frmUserPhoneA"+i).value == "")
			{	eval("form.frmUserPhoneA"+i).focus();
				eval("form.frmUserPhoneA"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 1 is blank");
				return false;
			}
			if (eval("form.frmUserPhoneB"+i).value == "")
			{	eval("form.frmUserPhoneB"+i).focus();
				eval("form.frmUserPhoneB"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 2 is blank");
				return false;
			}
			if (eval("form.frmUserPhoneC"+i).value == "")
			{	eval("form.frmUserPhoneC"+i).focus();
				eval("form.frmUserPhoneC"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 3 is blank");
				return false;
			}

			if (eval("form.frmUserType"+i).value == "")
			{	eval("form.frmUserType"+i).focus();
				eval("form.frmUserType"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": User Type not selected");
				return false;
			}
			if (eval("form.frmUserJobTitle"+i).value == "")
			{	eval("form.frmUserJobTitle"+i).focus();
				eval("form.frmUserJobTitle"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Job Title is blank");
				return false;
			}
			if 	(eval("form.frmUserEULA"+i).checked == false)
			{	eval("form.frmUserEULA"+i).focus();
				eval("form.frmUserEULA"+i).style.background = 'red';
				document.getElementById(curUser).style.backgroundColor='#FFCC00';
				alert("Additional User #" + i + ": Read End User Lic Agrmt has not been checked");
				return false;
			}
		}
	}
	
	return true;
}

// validate Request New Practice form ===================================================
function ckForm()
{	var form = document.FormReqNew;
	
	// loops through txt fields excluding id's starting w/*
	for (i=0; i<form.elements.length; i++) 
	{	if (form.elements[i].type=="text" && form.elements[i].value=="" && form.elements[i].id.charAt(0)!="*" )
		{	alert(form.elements[i].id + " is blank"); // alert with field id and sentence
			form.elements[i].focus();                   // set focus to blank field
			form.elements[i].style.background = '#FFCC00';
			return false;
			break;
		}
	}

	//validate physician read end user lic agreemt
	if ( form.frmMDEULA.checked == false )
    {	alert(form.frmMDEULA.id + " has not been checked");
		form.frmMDEULA.focus();
		document.getElementById('MDEULA').style.backgroundColor='#FFCC00';
		form.frmMDEULA.style.background = 'red';
        return false;
    }
	
	//validate site admin read end user lic agreemt
	if ( form.frmSAEULA.checked == false )
    {	alert(form.frmSAEULA.id + " has not been checked");
		form.frmSAEULA.focus();
		document.getElementById('SAEULA').style.backgroundColor='#FFCC00';
		form.frmSAEULA.style.background = 'red';
        return false;
    }
	
	//loop thru 10 additional users and validate if any were submitted
	for (i=1; i<11; i++)
	{	//if first or last name is filled out, make sure all other user fields are filled in
		if (eval("form.frmUserFN"+i).value != "" || eval("form.frmUserLN"+i).value != "")
		{	var curUser = 'user'+i;
			if (eval("form.frmUserLN"+i).value == "")
			{	eval("form.frmUserLN"+i).focus();
				eval("form.frmUserLN"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Last Name is blank");
				return false;
			}
			if (eval("form.frmUserPhoneA"+i).value == "")
			{	eval("form.frmUserPhoneA"+i).focus();
				eval("form.frmUserPhoneA"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 1 is blank");
				return false;
			}
			if (eval("form.frmUserPhoneB"+i).value == "")
			{	eval("form.frmUserPhoneB"+i).focus();
				eval("form.frmUserPhoneB"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 2 is blank");
				return false;
			}
			if (eval("form.frmUserPhoneC"+i).value == "")
			{	eval("form.frmUserPhoneC"+i).focus();
				eval("form.frmUserPhoneC"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 3 is blank");
				return false;
			}

			if (eval("form.frmUserType"+i).value == "")
			{	eval("form.frmUserType"+i).focus();
				eval("form.frmUserType"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": User Type not selected");
				return false;
			}
			if (eval("form.frmUserJobTitle"+i).value == "")
			{	eval("form.frmUserJobTitle"+i).focus();
				eval("form.frmUserJobTitle"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Job Title is blank");
				return false;
			}
			if 	(eval("form.frmUserEULA"+i).checked == false)
			{	eval("form.frmUserEULA"+i).focus();
				eval("form.frmUserEULA"+i).style.background = 'red';
				document.getElementById(curUser).style.backgroundColor='#FFCC00';
				alert("Additional User #" + i + ": Read End User Lic Agrmt has not been checked");
				return false;
			}
		}
	}
	
	return true;
}


// validate Request Additional Users/Offices form ===================================================
function ckFormAdd()
{	var form = document.FormReqAdd;
	
	// loops through txt fields excluding id's starting w/*
	if (form.frmOfficeName.value != "" || form.frmOfficeStreet.value != "")
	{
		for (i=0; i<form.elements.length; i++) 
		{	if (form.elements[i].type=="text" && form.elements[i].value=="" && form.elements[i].id.charAt(0)!="*" )
			{	alert(form.elements[i].id + " is blank"); // alert with field id and sentence
				form.elements[i].focus();                   // set focus to blank field
				form.elements[i].style.background = '#FFCC00';
				return false;
				break;
			}
		}
		
	}

	//loop thru 5 additional users and validate if any were submitted
	for (i=1; i<6; i++)
	{	//if first or last name is filled out, make sure all other user fields are filled in
		if (eval("form.frmUserFN"+i).value != "" || eval("form.frmUserLN"+i).value != "")
		{	var curUser = 'user'+i;
			if (eval("form.frmUserFN"+i).value == "")
			{	eval("form.frmUserFN"+i).focus();
				eval("form.frmUserFN"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": First Name is blank");
				return false;
			}
			if (eval("form.frmUserLN"+i).value == "")
			{	eval("form.frmUserLN"+i).focus();
				eval("form.frmUserLN"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Last Name is blank");
				return false;
			}
			if (eval("form.frmUserPhoneA"+i).value == "")
			{	eval("form.frmUserPhoneA"+i).focus();
				eval("form.frmUserPhoneA"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 1 is blank");
				return false;
			}
			if (eval("form.frmUserPhoneB"+i).value == "")
			{	eval("form.frmUserPhoneB"+i).focus();
				eval("form.frmUserPhoneB"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 2 is blank");
				return false;
			}
			if (eval("form.frmUserPhoneC"+i).value == "")
			{	eval("form.frmUserPhoneC"+i).focus();
				eval("form.frmUserPhoneC"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Phone Field 3 is blank");
				return false;
			}
			if (eval("form.frmUserType"+i).value == "")
			{	eval("form.frmUserType"+i).focus();
				eval("form.frmUserType"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": User Type not selected");
				return false;
			}
			if (eval("form.frmUserJobTitle"+i).value == "")
			{	eval("form.frmUserJobTitle"+i).focus();
				eval("form.frmUserJobTitle"+i).style.background = '#FFCC00';
				alert("Additional User #" + i + ": Job Title is blank");
				return false;
			}
			if 	(eval("form.frmUserEULA"+i).checked == false)
			{	eval("form.frmUserEULA"+i).focus();
				eval("form.frmUserEULA"+i).style.background = 'red';
				document.getElementById(curUser).style.backgroundColor='#FFCC00';
				alert("Additional User #" + i + ": Read End User Lic Agrmt has not been checked");
				return false;
			}
		}
	}
	
	return true;
}

// validate Contact Us form ===================================================
function ckFormContact()
{	var form = document.FormContact;
	var methodChecked = "no";

	// first name field blank
	if (form.frmContactFN.value == "")
	{	alert("First Name is blank and is a required field.");
		form.frmContactFN.focus();
		return false;
	}
	// last name field blank
	if (form.frmContactLN.value == "")
	{	alert("Last Name is blank and is a required field.");
		form.frmContactLN.focus();
		return false;
	}
	// find out what contact preference was selected (default is email)
	for (i=0; i<form.frmContactMethod.length; i++)
	{	if (form.frmContactMethod[i].checked)
		{	var methodChecked = form.frmContactMethod[i].value;
			break;
		}
	}
	if (methodChecked == "no")
	{
		alert("Please select a preferred method of contact");
		return false;	
	}
	// Email selected as preferred method of contact, but field is blank
	if (methodChecked == "Email" && form.frmContactEmail.value == "")
	{	alert("Email field is blank and you've selected\nit as your preferred method of contact");
		form.frmContactEmail.focus();
		return false;
	}
	// Phone selected as preferred method of contact, but field is blank
	if (methodChecked == "Phone" && (form.frmContactPhone1.value == "" || form.frmContactPhone2.value == "" || form.frmContactPhone3.value == "") )
	{	alert("One or more Phone fields are blank and you've selected\nphone as your preferred method of contact");
		form.frmContactPhone1.focus();
		return false;
	}
	if (form.frmContactQuestion.value == "")
	{	alert("Please fill-in your question(s).");
		form.frmContactQuestion.focus();
		return false;
	}
}
