function createInvoice (){
	document.getElementById("hiddenPayment").innerHTML = '<div style="height:75px;"><table width="100%" border="0" cellpadding="0"><tr><td width="7%">&nbsp;</td><td width="25%">Contact name <b>*</b></td><td width="68%"><input type="text" name="textContactName" size="50" maxlength="80" /></td></tr><tr><td>&nbsp;</td><td>Employer name <b>*</b></td><td><input type="text" name="textEmployerName" size="60" maxlength="100" /></td></tr><tr><td>&nbsp;</td><td>Employer address <b>*</b></td><td><input type="text" name="textEmployerAddress" size="60" maxlength="100" /></td></tr></table></div>';
}
function createEmptyspace (){
	if(document.getElementById("hiddenPayment").innerHTML != ''){
		document.getElementById("hiddenPayment").innerHTML = '&nbsp;';
	}
}

/**************************************************************************************/

function validateForm (){

	var digitFilter = /[0-9]/;																//Define digit filter
	var spaceFilter = /^\s+|\s+$/g;															//Define space filter for ltrim and rtrim
	var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/;											//Define email filter
	var illegalCharsForEmail= /[\(\)\<\>\,\;\:\\\"\[\]]/;									//Define illegal chars
	
	var workshopTitle = document.form1.textWorkshopTitle.value;
	var workshopDate = document.form1.textWorkshopDate.value;
	var title = document.form1.selectTitle.value;
	var forename = document.form1.textForename.value;
	var surname = document.form1.textSurname.value;
	var address1 = document.form1.textAddress1.value;
	var town = document.form1.textTown.value;
	var postcodeFull = document.form1.textPostcodeFull.value;
	var country = document.form1.selectCountry.value;

	var position = document.form1.textPosition.value;
	var organisationName = document.form1.textOrganisationName.value;
	
	var workEmail = document.form1.textWorkEmail.value;
	var homeEmail = document.form1.textHomeEmail.value;
	var telephone = (document.form1.textHomeTel.value).replace(/ /gi, "");				//Remove all the spaces
	

	/************************************** SECTION 1 **************************************/
	if(workshopTitle.replace(spaceFilter, "") == ""){
		alert("ERROR: Please enter the workshop title");
		return false;
	}
	if(workshopDate.replace(spaceFilter, "") == ""){
		alert("ERROR: Please enter the workshop date");
		return false;
	}
	if(title == ""){
		alert("ERROR: Please select your title");
		return false;
	}
	if(forename.replace(spaceFilter, "") == ""){
		alert ("ERROR: Please enter your forename");
		return false;
	}
	if(forename.match(digitFilter)){
		alert ("ERROR: Please do not enter digit as your forename");
		return false;
	}
	if(surname.replace(spaceFilter, "") == ""){
		alert ("ERROR: Please enter your surname");
		return false;
	}
	if(surname.match(digitFilter)){
		alert ("ERROR: Please do not enter digit as your surname");
		return false;
	}	
	if(address1.replace(spaceFilter, "") == ""){
		alert ("ERROR: Please enter your address");
		return false;
	}
	if(town.replace(spaceFilter, "") == ""){
		alert ("ERROR: Please enter your town");
		return false;
	}

	var code = country.substring(0, 4);
	if(code != "GB~~"){

		if(postcodeFull.replace(spaceFilter, "") == ""){
			alert ("ERROR: Please enter your postcode");
			return false;
		}
		
	} else {
		
		var noSpacePostcode = postcodeFull.replace(/ /gi, "");
		var postcodeLen = noSpacePostcode.length;
		if(postcodeLen == 5 || postcodeLen == 6 || postcodeLen == 7){

		} else {
			alert ("ERROR: A valid postcode should be min 5 max 7 characters for UK");
			return false;
		}
	}



	if(workEmail.replace(spaceFilter, "") == ""){
		alert ("ERROR: Please enter your work email address");
		return false;
	} else {
		if(!(emailFilter.test(workEmail))){
			alert ("ERROR: Please enter a valid work email address");
			return false;		
		} else {
			if(workEmail.match(illegalCharsForEmail)){
				alert ("ERROR: The work email address contains illegal characters");
				return false;		
			}
		}
	}
	if(homeEmail.replace(spaceFilter, "") != ""){
		if(!(emailFilter.test(homeEmail))){
			alert ("ERROR: Please enter a valid home email");
			return false;		
		} else {
			if(homeEmail.match(illegalCharsForEmail)){
				alert ("ERROR: The home email contains illegal characters");
				return false;		
			}
		}
	}

	if(telephone != ""){
		var firstTwoDigits = telephone.substring(2,0);
	
		if(isNaN(telephone)){
			alert ("ERROR: Please enter digit only for home number");
			return false;
		} else if(telephone.length < 10){													//Normally 11 digits max but kept 12 in html
			alert ("ERROR: Please enter a valid home number");
			return false;
		}
		
		if("GB~~United Kingdom" == country){
			if (firstTwoDigits != 01 && firstTwoDigits != 02){
				alert ("ERROR: Please enter a valid home number");
				return false;
			}
		}
	}

	if(position.replace(spaceFilter, "") == ""){
		alert ("ERROR: Please enter your position");
		return false;
	}
	if(organisationName.replace(spaceFilter, "") == ""){
		alert ("ERROR: Please enter name of organisation");
		return false;
	}	
	
	
	/************************************** SECTION 2 **************************************/


	var radioSelection = false;
	for(i=0; i<=2; i++){
		if(document.form1.radioPayment[i].checked){
			radioSelection = true;
		}
	}
	if(radioSelection == false){
		alert ("ERROR: Please select your payment method");
		return false;
	}
	
	if(document.form1.radioPayment[2].checked){
		var contactName = document.form1.textContactname.value;
		var employeeName = document.form1.textEmployername.value;
		var employeeAddress = document.form1.textEmployeraddress.value;
		
		if(contactName.replace(spaceFilter, "") == "" || 
			employeeName.replace(spaceFilter, "") == "" || 
			employeeAddress.replace(spaceFilter, "") == ""){
			alert ("ERROR: Please enter your payment details");
			return false;
		}
	}
	
	return true;
}

