function checkEmail(strValue) {
	/*
		retVal is the return value of the result of performing this function
		1 = Valid email address
		2 = Email address is incorrect (@ and .'s needs to be checked)
		3 = Ths username contains invalid characters
		4 = Ths domain name contains invalid characters
		5 = The username doesn't appear to be valid
		6 = Destination IP address is invalid
		7 = The domain name does not appear to be valid
		8 = The address does not end in a well-known domain or two letter country code
		9 = The address is missing a hostname
	*/
	var retVal			= 1;
	var checkTLD 		= 1;
	var knownDomsPat 	= /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|aas)$/;
	var emailPat		= /^(.+)@(.+)$/;
	var specialChars	= "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars		= "\[^\\s" + specialChars + "\]";
	var quotedUser		= "(\"[^\"]*\")";
	var ipDomainPat		= /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom			= validChars + '+';
	var word			= "(" + atom + "|" + quotedUser + ")";
	var userPat			= new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat		= new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray		= strValue.match(emailPat);
	
	if ( matchArray == null ) {
		retVal = 2;
		//return retVal;
		alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	
	var user			= matchArray[1];
	var domain			= matchArray[2];

	for ( i = 0; i < user.length; i++ ) {
		if ( user.charCodeAt(i) > 127 ) {
			retVal = 3;
			//return retVal;
			alert("Ths username contains invalid characters.");
			return false;
	   }
	}

	for ( i = 0; i < domain.length; i++ ) {
		if ( domain.charCodeAt(i) > 127 ) {
			retVal = 4;
			//return retVal;
			alert("Ths domain name contains invalid characters.");
			return false;
		}
	}
	
	if ( user.match(userPat) == null ) {
		retVal = 5;
		//return retVal;
		alert("The username doesn't seem to be valid.");
		return false;
	}

	var IPArray = domain.match(ipDomainPat);
	
	if (IPArray != null) {
		for ( var i = 1; i <= 4; i++ ) {
			if ( IPArray[i] > 255 ) {
				retVal = 6;
				//return retVal;
				alert("Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}
	
	var atomPat	= new RegExp("^" + atom + "$");
	var domArr	= domain.split(".");
	var len		= domArr.length;

	for ( i = 0; i < len; i++ ) {
		if ( domArr[i].search(atomPat) == -1 ) {
			retVal = 7;
			//return retVal;
			alert("The domain name does not seem to be valid.");
			return false;
		}
	}
	
	if ( (checkTLD) && (domArr[domArr.length-1].length != 2) && (domArr[domArr.length-1].search(knownDomsPat) == -1) ) {
		retVal = 8;
		//return retVal;
		alert("The address must end in a well-known domain or two letter " + "country.");
		return false;
	}
	
	if ( len < 2 ) {
		retVal = 9;
		alert("This address is missing a hostname!");
		return false;
	}
	return true;
}

function Verifyform(frm) {
	if (document.frm.name.value == '' || document.frm.name.value == 'Name') {
		alert('Please enter your name');
		document.frm.name.focus();
		return false;
	}
	if (document.frm.phone.value =='' || document.frm.phone.value == 'Phone') {
		alert('Please enter your phone number');
		document.frm.phone.focus();
		return false;
	}
	if (document.frm.email.value == '' || document.frm.email.value == 'Email' || (!checkEmail(document.frm.email.value))) {
		alert('Please enter a valid Email address');
		document.frm.email.focus();
		return false;
	}
	document.frm.submit();
	return true;
}

function Verifysubscriber(frm) {
	if (document.frm.strFirstName.value == '' || document.frm.strFirstName.value == 'First Name') {
		alert('Please enter your first name');
		document.frm.strFirstName.focus();
		return false;
	}
	if (document.frm.strLastName.value =='' || document.frm.strLastName.value == 'Last Name') {
		alert('Please enter your last name');
		document.frm.strLastName.focus();
		return false;
	}
	if (document.frm.strEmailAddress.value == '' || document.frm.strEmailAddress.value == 'Email' || (!checkEmail(document.frm.strEmailAddress.value))) {
		alert('Please enter a valid Email address');
		document.frm.strEmailAddress.focus();
		return false;
	}
	document.frm.submit();
	return true;
}

function Verifyfacilitator(frm) {
	if (document.frm.userid.value =='') {
		alert('Please enter your user id');
		document.frm.userid.focus();
		return false;
	}	
	if (document.frm.password.value =='') {
		alert('Please enter your password');
		document.frm.password.focus();
		return false;
	}	
	document.frm.submit();
	return true;

}

function VerifyAudio(frmAudio) {
	if (document.frm.email.value == '' || (!checkEmail(document.frm.email.value))) {
		alert('Please enter a valid Email address');
		document.frm.email.focus();
		return false;
	}
	if (document.frm.name.value =='') {
		alert('Please enter your name');
		document.frm.name.focus();
		return false;
	}	
	if (document.frm.date.value =='') {
		alert('Please enter your course date');
		document.frm.date.focus();
		return false;
	}	
	if (document.frm.address.value =='') {
		alert('Please enter your facilitator\'s name');
		document.frm.address.focus();
		return false;
	}	
	if (document.frm.password.value =='') {
		alert('Please enter your password');
		document.frm.password.focus();
		return false;
	}	
	document.frm.submit();
	return true;

}


function VerifyClients(frmClients) {
	if (document.frmClients.useridClients.value =='') {
		alert('Please enter your client User Name');
		document.frmClients.useridClients.focus();
		return false;
	}	
	if (document.frmClients.passwordClients.value =='') {
		alert('Please enter your client Password');
		document.frmClients.passwordClients.focus();
		return false;
	}	
	document.frmClients.submit();
	return true;
}


function Verifycontact(frm) {
	if (document.frm.frmName.value == '') {
		alert('Please enter your name');
		document.frm.frmName.focus();
		return false;
	}	
	if (document.frm.frmEmail.value == '' || (!checkEmail(document.frm.frmEmail.value))) {
		alert('Please enter a valid Email address');
		document.frm.frmEmail.focus();
		return false;
	}
	
	if (document.frm.frmMessage.value == '') {
		alert('Please enter a message');
		document.frm.frmMessage.focus();
		return false;
	}
	
	document.frm.submit();
	return true;

}


function VerifyInterestform(frm) {
	if (document.frm.name.value == '') {
		alert('Please enter your name');
		document.frm.name.focus();
		return false;
	}
	if (document.frm.company.value == '') {
		alert('Please enter your Organisation\'s name');
		document.frm.company.focus();
		return false;
	}
	if (document.frm.title.value == '') {
		alert('Please enter your title or position');
		document.frm.title.focus();
		return false;
	}
	if (document.frm.telephone.value =='') {
		alert('Please enter your telephone number');
		document.frm.telephone.focus();
		return false;
	}
	if (document.frm.email.value == '' || (!checkEmail(document.frm.email.value))) {
		alert('Please enter a valid Email address');
		document.frm.email.focus();
		return false;
	}
	if (document.frm.fax.value == '') {
		alert('Please enter your fax number');
		document.frm.fax.focus();
		return false;
	}	
	if (document.frm.address.value == '') {
		alert('Please enter your address');
		document.frm.address.focus();
		return false;
	}
	if (document.frm.postcode.value == '') {
		alert('Please enter your post code');
		document.frm.postcode.focus();
		return false;
	}

	document.frm.submit();
	return true;

}


function VerifyOrderClient(frm) {
	if (document.clientForm.requestID.value == '') {
		alert('Please enter Requested by name');
		document.clientForm.requestID.focus();
		return false;
	}	
	
	if (document.clientForm.fullName.value == '') {
		alert('Please enter Full customer name');
		document.clientForm.fullName.focus();
		return false;
	}
	
	if (document.clientForm.date.value == '') {
		alert('Please enter the Date (DD/MM/YYYY)');
		document.clientForm.date.focus();
		return false;
	}
	
	if (document.clientForm.organisation.value == '') {
		alert('Please enter Organisation name');
		document.clientForm.fullName.focus();
		return false;
	}
	
	if (document.clientForm.invoiceContact.value == '') {
		alert('Please enter Contact person for invoice');
		document.clientForm.invoiceContact.focus();
		return false;
	}
	
	if (document.clientForm.address1.value == '') {
		alert('Please enter Address field');
		document.clientForm.address1.focus();
		return false;
	}
	
	if (document.clientForm.postcode.value == '') {
		alert('Please enter Postcode');
		document.clientForm.postcode.focus();
		return false;
	}
	
	if (document.clientForm.address1.value == '') {
		alert('Please enter Address field');
		document.clientForm.address1.focus();
		return false;
	}
	
	if (document.clientForm.telephone.value == '') {
		alert('Please enter Telephone number');
		document.clientForm.telephone.focus();
		return false;
	}
	
	if (document.clientForm.delContact.value == '') {
		alert('Please enter Delivery contact name');
		document.clientForm.delContact.focus();
		return false;
	}
	
	if (document.clientForm.delOrganisation.value == '') {
		alert('Please enter Delivery organisation name');
		document.clientForm.delOrganisation.focus();
		return false;
	}
	
	if (document.clientForm.delAddress1.value == '') {
		alert('Please enter Delivery address');
		document.clientForm.delAddress1.focus();
		return false;
	}
	
	if (document.clientForm.delAddress1.value == '') {
		alert('Please enter Delivery address');
		document.clientForm.delAddress1.focus();
		return false;
	}
	
	if (document.clientForm.delPostcode.value == '') {
		alert('Please enter Delivery Postcode');
		document.clientForm.delPostcode.focus();
		return false;
	}
	
	if (document.clientForm.delTelephone.value == '') {
		alert('Please enter Delivery telephone number');
		document.clientForm.delTelephone.focus();
		return false;
	}
	
	if (document.clientForm.deliveryDate.value == '') {
		alert('Please enter Delivery date number');
		document.clientForm.deliveryDate.focus();
		return false;
	}
	
	if (document.clientForm.deliveryDate.value == '') {
		alert('Please enter Delivery date number');
		document.clientForm.deliveryDate.focus();
		return false;
	}
	
	if (document.clientForm.emailConfirm.value == '' || (!checkEmail(document.clientForm.emailConfirm.value))) {
		alert('Please enter a valid Email address');
		document.clientForm.emailConfirm.focus();
		return false;
	}
	
	if (document.clientForm.programmeDate.value == '') {
		alert('Please enter Date of programme');
		document.clientForm.programmeDate.focus();
		return false;
	}
	
	if (document.clientForm.frmMessage.value == '') {
		alert('Please enter a message');
		document.clientForm.frmMessage.focus();
		return false;
	}
	
	document.clientForm.submit();
	return true;

}


function ShowAttendees(frm) {
	switch (document.frm.number.options[document.frm.number.selectedIndex].value) {
		case '2':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='none';
			document.getElementById('att4').style.display='none';
			document.getElementById('att5').style.display='none';
			document.getElementById('att6').style.display='none';
			document.getElementById('att7').style.display='none';
			document.getElementById('att8').style.display='none';
			document.getElementById('att9').style.display='none';
			document.getElementById('att10').style.display='none';			
			break;
		case '3':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='block';
			document.getElementById('att4').style.display='none';
			document.getElementById('att5').style.display='none';
			document.getElementById('att6').style.display='none';
			document.getElementById('att7').style.display='none';
			document.getElementById('att8').style.display='none';
			document.getElementById('att9').style.display='none';
			document.getElementById('att10').style.display='none';
			break;
		case '4':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='block';
			document.getElementById('att4').style.display='block';
			document.getElementById('att5').style.display='none';
			document.getElementById('att6').style.display='none';
			document.getElementById('att7').style.display='none';
			document.getElementById('att8').style.display='none';
			document.getElementById('att9').style.display='none';
			document.getElementById('att10').style.display='none';
			break;		
		case '5':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='block';
			document.getElementById('att4').style.display='block';
			document.getElementById('att5').style.display='block';
			document.getElementById('att6').style.display='none';
			document.getElementById('att7').style.display='none';
			document.getElementById('att8').style.display='none';
			document.getElementById('att9').style.display='none';
			document.getElementById('att10').style.display='none';		
			break;
		case '6':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='block';
			document.getElementById('att4').style.display='block';
			document.getElementById('att5').style.display='block';
			document.getElementById('att6').style.display='block';
			document.getElementById('att7').style.display='none';
			document.getElementById('att8').style.display='none';
			document.getElementById('att9').style.display='none';
			document.getElementById('att10').style.display='none';		
			break;
		case '7':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='block';
			document.getElementById('att4').style.display='block';
			document.getElementById('att5').style.display='block';
			document.getElementById('att6').style.display='block';
			document.getElementById('att7').style.display='block';
			document.getElementById('att8').style.display='none';
			document.getElementById('att9').style.display='none';
			document.getElementById('att10').style.display='none';		
			break;
		case '8':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='block';
			document.getElementById('att4').style.display='block';
			document.getElementById('att5').style.display='block';
			document.getElementById('att6').style.display='block';
			document.getElementById('att7').style.display='block';
			document.getElementById('att8').style.display='block';
			document.getElementById('att9').style.display='none';
			document.getElementById('att10').style.display='none';		
			break;
		case '9':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='block';
			document.getElementById('att4').style.display='block';
			document.getElementById('att5').style.display='block';
			document.getElementById('att6').style.display='block';
			document.getElementById('att7').style.display='block';
			document.getElementById('att8').style.display='block';
			document.getElementById('att9').style.display='block';
			document.getElementById('att10').style.display='none';		
			break;
		case '10':
			document.getElementById('att2').style.display='block';
			document.getElementById('att3').style.display='block';
			document.getElementById('att4').style.display='block';
			document.getElementById('att5').style.display='block';
			document.getElementById('att6').style.display='block';
			document.getElementById('att7').style.display='block';
			document.getElementById('att8').style.display='block';
			document.getElementById('att9').style.display='block';
			document.getElementById('att10').style.display='block';		
			break;
		default:
			document.getElementById('att2').style.display='none';
			document.getElementById('att3').style.display='none';
			document.getElementById('att4').style.display='none';
			document.getElementById('att5').style.display='none';
			document.getElementById('att6').style.display='none';
			document.getElementById('att7').style.display='none';
			document.getElementById('att8').style.display='none';
			document.getElementById('att9').style.display='none';
			document.getElementById('att10').style.display='none';		
			break;
	}	

}

function KeyPress()
{
	//alert(window.event.keyCode)
	if (window.event.keyCode == 13) {
		Verifyfacilitator();
		//document.frm.submit();
	}
} 