// Form Validator for OJOH

var bSubmitForm;

function ShowError(oElement)
{
	oElement.className = "ErrorMessage";
}

function HideError(oElement)
{
	oElement.className = "ErrorMessageHidden";
}

function CheckChatForm(oForm)
{
	var bSubmitForm = true;
	//First Name - Last 
	if(oForm.firstname.value == "" || oForm.firstname.value == " " || oForm.lastname.value == "" || oForm.lastname.value == " ")
	{
		ShowError(document.getElementById("ErrorMessage1"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage1"));
	}
	
	//Validate Email Address
	if(!ValidateEmailAddress(oForm.email.value))
	{
		ShowError(document.getElementById("ErrorMessage2"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage2"));
	}
	
	//Validate Type of Cancer Drop Down
	if(oForm.cancer.options[oForm.cancer.selectedIndex].value == "")
	{
		ShowError(document.getElementById("ErrorMessage3"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage3"));
	}
	
	//Validate cancer affect
	if(oForm.affect.options[oForm.affect.selectedIndex].value == "")
	{
		ShowError(document.getElementById("ErrorMessage4"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage4"));
	}
	
	//Validate relationship of patient
	if(oForm.location.options[oForm.location.selectedIndex].value == "")
	{
		ShowError(document.getElementById("ErrorMessage5"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage5"));
	}
	
	if(! oForm.accept.checked)
	{
		ShowError(document.getElementById("ErrorMessage6"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage6"));
	}
	
	if(bSubmitForm)
	{
		HideError(document.getElementById("ErrorMessage7"));
		newwin = window.open('', 'chat_window', 'screenX=10,screenY=25,top=25,left=10,width=500,height=320,scrollbars=no,menubar=no,resizable=yes,status=no,toolbar=no');
	}
	else
	{
		ShowError(document.getElementById("ErrorMessage7"));
		bSubmitForm = false;
	}
	
	return bSubmitForm;
}

function CheckSpiritualForm(oForm)
{
	bSubmitForm = true;
	
	if(oForm.firstname.value == "" || oForm.firstname.value == " " || oForm.lastname.value == "" || oForm.lastname.value == " ")
	{
		ShowError(document.getElementById("ErrorMessage1"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage1"));
	}
	
	//Validate Email Address
	if(!ValidateEmailAddress(oForm.email.value))
	{
		ShowError(document.getElementById("ErrorMessage2"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage2"));
	}
	
	//Validate Phone Number
	if(!oForm.contactmethod[0].checked)
	{
		if(oForm.phone.value == "" || oForm.phone.value.length < 10 || !CheckValidCharacters(oForm.phone.value))
		{
			ShowError(document.getElementById("ErrorMessage3"));
			bSubmitForm = false;
		}
		else
		{
			HideError(document.getElementById("ErrorMessage3"));
		}
	}
	
	//Validate cancer affect selection
	if(oForm.affect.options[oForm.affect.selectedIndex].value == "")
	{
		ShowError(document.getElementById("ErrorMessage5"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage5"));
	}
	
	if(bSubmitForm)
	{
		HideError(document.getElementById("ErrorMessage7"));
	}
	else
	{
		ShowError(document.getElementById("ErrorMessage7"));
		bSubmitForm = false;
	}
	
	if(oForm.captchaImage.value == "" || oForm.captchaImage.value == " " )
	{
		ShowError(document.getElementById("ErrorMessage8"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage8"));
	}
	
	return bSubmitForm;
}

function CheckEmailForm(oForm)
{
	bSubmitForm = true;
	
	if(oForm.firstname.value == "" || oForm.firstname.value == " " || oForm.lastname.value == "" || oForm.lastname.value == " ")
	{
		ShowError(document.getElementById("ErrorMessage1"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage1"));
	}
	
	//Validate Email Address
	if(!ValidateEmailAddress(oForm.email.value))
	{
		ShowError(document.getElementById("ErrorMessage2"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage2"));
	}
	
	//Validate state selection
	if(oForm.state.options[oForm.state.selectedIndex].value == "NULL")
	{
		ShowError(document.getElementById("ErrorMessage3"));
		bSubmitForm = false;
	}
	else
	{
		HideError(document.getElementById("ErrorMessage3"));
	}
	
	if(bSubmitForm)
	{
		HideError(document.getElementById("ErrorMessage4"));
	}
	else
	{
		ShowError(document.getElementById("ErrorMessage4"));
		bSubmitForm = false;
	}
	
	return bSubmitForm;
}

function ValidateEmailAddress(strEmailAdd)
{
	var bReturnValue = true;
	var strAcceptableChars = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890-_@.";
	
	if(strEmailAdd.indexOf("@") == -1 || strEmailAdd.indexOf(".") == -1)
	{
		bReturnValue = false;
	}
	else
	{
		//Make sure all chacters in address are valid
		for (i=0; i < strEmailAdd.length; i++)
    	{   
			var temp = strEmailAdd.charAt(i);
			if(strAcceptableChars.indexOf(temp) == -1)
			{
				bReturnValue = false;
			}
   	 	}
		
		//Make sure email address is not xxx@.com
		var atChar = strEmailAdd.indexOf("@");
		var NextToatChar = atChar + 1;
		if(strEmailAdd.charAt(NextToatChar) == ".")
		{
			bReturnValue = false;
		}
		
		//Make sure email address is not @xxx.com
		var BeforeatChar = atChar - 1;
		if(strEmailAdd.charAt(BeforeatChar) == "" || strAcceptableChars.indexOf(strEmailAdd.charAt(BeforeatChar)) == -1)
		{
			bReturnValue = false;
		}
		
		//Make sure something is following DOT. We don't want xxxx@xxx.
		var DOTChar = strEmailAdd.indexOf(".");
		var NextToDOTChar = DOTChar + 1;
		if(strAcceptableChars.indexOf(strEmailAdd.charAt(NextToDOTChar)) == -1 || strEmailAdd.charAt(NextToDOTChar) == "")
		{
			bReturnValue = false;
		}
		
	}	
	
	return bReturnValue;
}

/**********************************************
Phone number validation function
***********************************************/
function CheckValidCharacters(s)
{   
	var strValidPhoneCharacters = "0123456789()-+ ";
	var bReturnVar = true;
	for (i=0; i<s.length; i++)
    {   
        var c = s.charAt(i);
		if(strValidPhoneCharacters.indexOf(c) == -1) 
		{
			bReturnVar = false;
		}
    }
	
	return bReturnVar
}

/*********************************************************
End Phone Number Validation
*******************************************************/
