//Function: ClearTextFields
//Description/Purpose: Clears text fields on Send Email page.
//Arguments: None
//Return values: None
	function ClearTextFields()
	{
		document.frmSendEmail.txtYourEmailAddress.value = "";
		document.frmSendEmail.txtTo.value = "";
		document.frmSendEmail.txtSubject.value = "";
		document.frmSendEmail.txtMessage.value = "";
	}

//Function: ValidateData
//Description/Purpose: Alerts user for invalid e-mail address.
//Arguments: None
//Return values: Boolean
	function ValidateData() 
	{
		//Check for your email address
		if ((document.frmSendEmail.txtYourEmailAddress.value)== null   || (document.frmSendEmail.txtYourEmailAddress.value)=="" )
		{
			alert("Please enter Your E-Mail Address.");
			document.frmSendEmail.txtYourEmailAddress.focus();
			return false;
		}
		else
		{
			if(! CheckValidEmail(document.frmSendEmail.txtYourEmailAddress.value))
			{
				alert("Please enter a valid E-Mail Address.");
				document.frmSendEmail.txtYourEmailAddress.focus();
				return false;
			}
		}
		//check for to email address
		if ((document.frmSendEmail.txtTo.value)== null   || (document.frmSendEmail.txtTo.value)=="" )
		{
			alert("Please enter To E-Mail Address.");
			document.frmSendEmail.txtTo.focus();
			return false;
		}
		else
		{
			if(! ValidateEmailAddress(document.frmSendEmail.txtTo.value))
			{	
				document.frmSendEmail.txtTo.focus();
				return false;
			}
		}
		
		if ((document.frmSendEmail.txtCC.value) != null  && (document.frmSendEmail.txtCC.value)!="" )
		{
			if(!ValidateEmailAddress(document.frmSendEmail.txtCC.value))
			{	
				document.frmSendEmail.txtCC.focus();
				return false;
			}
		}
		if ((document.frmSendEmail.txtBCC.value)!= null   && (document.frmSendEmail.txtBCC.value)!="" )
		{
				if(!ValidateEmailAddress(document.frmSendEmail.txtBCC.value))
				{	
					document.frmSendEmail.txtBCC.focus();
					return false;
				}					
		}
		return true;
	}	

//Function: ValidateEmailAddress
//Description/Purpose: Alerts user for invalid e-mail address.
//Arguments: pElementID
//Return values: Boolean
	function ValidateEmailAddress(pElementID)
	{
		if ((pElementID)== null  || (pElementID)=="")
		{
			return false;
		}
		else
		{ 
			if ((Trim(pElementID))==",")
			{
				alert("Please enter valid E-Mail Addresses.");
				return false;
			}
			else if (pElementID.indexOf(",") > -1)
			{
				emailIds = new Array();
				emailIds = pElementID.split(','); 
				for (lIndex=0; lIndex<emailIds.length; lIndex++)
				{
					if(emailIds[lIndex] != null && emailIds[lIndex] !="")
					{
						if(!CheckValidEmail(Trim(emailIds[lIndex])))
						{	
							alert("Please enter valid E-Mail Addresses.");
							return false;
						}
					}
				}
			}
		else if(! CheckValidEmail(pElementID))
		{
			alert("Please enter a valid E-Mail Address.");
			return false;
		} 
	}
	return true;
}
	
//Function: CheckValidEmail
//Description/Purpose: Validates e-mail addresses.
//Arguments: 1. string - addr
//Return values: Boolean
	var whitespace = " \t\n\r";
	function CheckValidEmail(addr) {
		invalidChars = new Array();
		invalidChars[0] = '/' ;
		invalidChars[1] = ':' ;
		invalidChars[2] = ';' ;
		invalidChars[3] = ',' ;
		invalidChars[4] = '&';
		invalidChars[5] = '?';
		invalidChars[6] = '\\';
		invalidChars[7] = '<';
		invalidChars[8] = ' ';
		
		if (addr ==''){
			
			return false;
		}
		for(i=0;i<invalidChars.length; i++) {
		badChar = invalidChars[i];
		if (addr.indexOf(badChar) > -1) {
				
				return false;
			}
		}
		atPos = addr.indexOf('@');
		periodPos = addr.indexOf('.', atPos);
		if ((addr.indexOf('@', 0) == -1) || 
		(atPos == 0 || (addr.indexOf('@',atPos+1) != -1)) ||
			(periodPos == -1) ||
			(periodPos + 3 > addr.length)){
			
			return false;
		}
		return true;
	}



//Function: GetMessage
//Description/Purpose: Populate Message in textarea at runtime on index change
//Arguments: 
//Return values: 
	function GetMessage()
	{
		var lcboSelectMessageTemplate;
		if(document.getElementById('cboSelectMessageTemplate') != null)
		{
			document.getElementById('TemplateID').value = document.getElementById('cboSelectMessageTemplate');
			lcboSelectMessageTemplate = document.getElementById('cboSelectMessageTemplate').value;
			document.getElementById('TemplateID').value = lcboSelectMessageTemplate ;
			//return value of ajax function is assigned to text area
			var response = SendEmail.AjaxPopulateMessage( document.getElementById('cboSelectMessageTemplate').value);
			document.getElementById('txtMessage').value= response.value;
		}
		
	}

//Function: SetTemplateValue
//Description/Purpose: set cboSelectMessageTemplate index and templateid on text entered
//Arguments: 
//Return values: 
	function SetTemplateValue()
	{
		//ste cboSelectMessageTemplate as 0 
		document.getElementById('cboSelectMessageTemplate').value = "0"; 
		document.getElementById('TemplateID').value = "";
	}
	
//Function: FormatEmailAddress
//Description/Purpose: To format the email addresses entered in TO/CC/BCC textboxes
//Arguments: 1. string - TextboxID
//Return values: none
function FormatEmailAddress(pControl)
{
	var txtControl = document.getElementById(pControl);
	var str = new String();
	
	str = txtControl.value;
	str = str.replace(",,",",");
	txtControl.value = str;
	
	if(str.search(",,")!=-1)
	   	FormatEmailAddress(pControl);
}
