function openWindow(theURL,winName,features)
{ 
	window.open(theURL,winName,features);
}

function CheckRegForm()
{
	var Err = '';
	var blnGroupSelected = false
	var FName = document.forms['newsletterForm'].fName;
	var LName = document.forms['newsletterForm'].lName;
	var Email = document.forms['newsletterForm'].Email;
	
	// If more than 1 group is selectable run through check use has actualy selected a group.
	if( document.forms['newsletterForm'].Groups.length > 0 )
	{
		for( i = 0; i < document.forms['newsletterForm'].Groups.length && blnGroupSelected != true; i++ )
		{
			if( document.forms['newsletterForm'].Groups[i].checked == true )
			{
				blnGroupSelected = true
			} 
		}
	}
	else
	{
		blnGroupSelected = true	
	}
	if( !blnGroupSelected )
	{
		Err += 'Please select at least 1 group to subscribe to.\n';
	}
	
	// Perform general field validation
	if( FName.value == 'FirstName' || FName.value.length == 0 )
	{
		Err += 'Please supply your First Name\n';
	}
	if( LName.value == 'LastName' || LName.value.length == 0 )
	{
		Err += 'Please supply your Last Name\n';
	}
	if( Email.value == 'Email' )
	{
		Err += 'Please supply your Email Address\n';
	}
	else
	{
		if( !isValidRegEmail( Email.value ) )
		{
			Err += 'Please supply a valid Email Address';
		}
	}
	if( Err == '' )
	{
		document.forms['newsletterForm'].submit();
	}
	else
	{
		alert(Err);
	}
}

function isValidRegEmail(email)
{
	invalidChars=" /:,;!#$%^&*()+=~|<>?][}{\\"					
	for (i=0;i<invalidChars.length;i++)
	{
		badChar=invalidChars.charAt(i)
		if (email.indexOf(badChar,0)>-1)
		{
			return false
		}
	}
	if(email.charAt(0)=="_" || (email.charAt(0)=="@" && email.charAt(1)=="@"))
	{
		return false
	}
	atPos=email.indexOf("@",1)
	if (atPos==-1)
	{
		return false
	}
	if (email.charAt(atPos+1)=="." || email.charAt(atPos+1)=="_")
	{
		return false
	}
	if (email.indexOf("@",atPos+1)>-1)
	{
		return false
	}
	
	periodPos=email.indexOf(".",atPos)
	if (periodPos==-1 || email.charAt(0)==".")
	{
		return false
	}
		
	var l = email.length
	if (l>email.lastIndexOf(".")+4 || l<email.lastIndexOf(".")+3)
	{
		return false
	}
	{	
		if (l==email.lastIndexOf(".")+3)
		{
			if (!(email.charAt(l-7)=="." || email.charAt(l-6)=="."))
			{
				return false		
			}
		}
	}	
	return true
}
