// JavaScript Document

	function isString(valor){
	  return (typeof valor == 'string' && valor != '' && isNaN(valor));
	}
	
	function isNum(valor){
	  return (!isNaN(valor) && valor != '');
	}
	
	function isEmail(valor){
		var emailFilter = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
		if (valor != '' && emailFilter.test(valor)) {return true;}
		return false;
	}

	function changecode(countryid) {
		
		if (parseInt(countryid) !== 0) {

			document.getElementById('prefix').value = countrycodes[countryid];
		
		} else {
		
			document.getElementById('prefix').value = "-";
		
		}
		
		if ((document.getElementById('prefix').value == "") && (parseInt(countryid) !== 0)) {
		
			document.getElementById('prefix').disabled = false;
		
		} else {
	
			document.getElementById('prefix').disabled = true;	
			
		}
	
	}

	function formsubmitted(content) {
	
		alert('content');
	
	}

	function postFormValues() {
				
		thevars = "";
		url = document.getElementById('form1').action;

		thevars = thevars + "fullname=" + document.getElementById('fullname').value;
		thevars += "&email=" + document.getElementById('email').value;
		thevars += "&countryid=" + document.getElementById('countryid').value;
		thevars += "&prefix=" + document.getElementById('prefix').value;
		thevars += "&telephone=" + document.getElementById('telephone').value;
		thevars += "&source=" + document.getElementById('source').value;
		thevars += "&subsource=" + document.getElementById('subsource').value;
		thevars += "&guideid=" + document.getElementById('guideid').value;
		thevars += "&projectname=" + document.getElementById('projectname').value;
		
		document.getElementById('replaceme').innerHTML = '<div align="center"><img src="../img/ajaxloader.gif"></div>';
		
		ajaxPostRequest(url, thevars, "showResult");
		
	}
	
	function showResult() {
		document.getElementById('replaceme').innerHTML = http.responseText;
	
	}

	function validateForm() {

		anerror = false;
		document.getElementById('fullname_warning').style.display='none';
		document.getElementById('email_warning').style.display='none';
		document.getElementById('countryid_warning').style.display='none';
		document.getElementById('telephone_warning').style.display='none';
		
		if (!isString(document.getElementById('fullname').value)) {
		
			document.getElementById('fullname_warning').style.display='block';
			anerror = true;
					
		}

		if (!isEmail(document.getElementById('email').value)) {
		
			document.getElementById('email_warning').style.display='block';
			anerror = true;
		
		}

		if (document.getElementById('countryid').value == 0) {
		
			document.getElementById('countryid_warning').style.display='block';
			anerror = true;
		
		}
		
		if (document.getElementById('prefix').value == "+44") {
		
			newTel = checkUKTelephone(document.getElementById('telephone').value);
		
			if (!newTel) {

				document.getElementById('telephone_warning').style.display='block';
				if (document.getElementById('countryid').value == "78") {
					document.getElementById('telephone_warning').innerHTML=telNumberErrors[1][telNumberErrorNo];
				} else {
					document.getElementById('telephone_warning').innerHTML=telNumberErrors[0][telNumberErrorNo];
				}
				anerror = true;
			
			} else {
			
				document.getElementById('telephone').value = newTel;
			
			}
		
		} else if (document.getElementById('prefix').value == "+353") {

			newTel = checkIrishTelephone(document.getElementById('telephone').value);
		
			if (!newTel) {

				document.getElementById('telephone_warning').style.display='block';
				if (document.getElementById('countryid').value == "78") {
					document.getElementById('telephone_warning').innerHTML=telNumberErrors[1][telNumberErrorNo];
				} else {
					document.getElementById('telephone_warning').innerHTML=telNumberErrors[0][telNumberErrorNo];
				}
				anerror = true;
			
			} else {
			
				document.getElementById('telephone').value = newTel;
			
			}
		
		} else if (document.getElementById('prefix').value == "-") {
			
			newTel = checkUnlistedTelephone(document.getElementById('telephone').value);
		
			if (!newTel) {

				document.getElementById('telephone_warning').style.display='block';
				if (document.getElementById('countryid').value == "78") {
					document.getElementById('telephone_warning').innerHTML=telNumberErrors[1][telNumberErrorNo];
				} else {
					document.getElementById('telephone_warning').innerHTML=telNumberErrors[0][telNumberErrorNo];
				}
				anerror = true;
			
			} else {
			
				document.getElementById('telephone').value = newTel;
			
			}		

		} else {
	
			newTel = checkOtherTelephone(document.getElementById('telephone').value);
		
			if (!newTel) {

				document.getElementById('telephone_warning').style.display='block';
				if (document.getElementById('countryid').value == "78") {
					document.getElementById('telephone_warning').innerHTML=telNumberErrors[1][telNumberErrorNo];
				} else {
					document.getElementById('telephone_warning').innerHTML=telNumberErrors[0][telNumberErrorNo];
				}
				anerror = true;
			
			} else {
			
				document.getElementById('telephone').value = newTel;
			
			}
		
		}
		
		if (anerror == false) {
		
			if (document.getElementById('agreed').checked == false) {
				if (document.getElementById('countryid').value == "78") {
					alert('Garantissez s\'il vous plaît que vous avez lu et êtes d\'accord avec notre accord d\'enregistrement.');
				} else {
					alert('Please ensure you have read and agree to our registration agreement.');
				}
					anerror = true;
			
			}
		
		}
		
		if (anerror == false) {
		
			if (http) {
			
				postFormValues();
				return false;
			
			} else {
	
				return true;
			
			}
		
		} else {
		
			return false;
		
		}
	
	}