String.prototype.isEmail = function(){
	return this.match(/^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/);
}

function maxLength(oElem, iNumWords){
  var aWords = oElem.value.toString().split(' ');
  if(aWords.length > iNumWords){
    aWords.length = iNumWords;
	alert('You have exceeded the maximum number of words!');
    oElem.value = aWords.join(' ');
  }
}

function validateForm(oForm){
	var bIsValid = true;
	var sErrorMessage = '';

	if(oForm.elements["charityname"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- Charity Name\n';
	}
	if(oForm.elements["charitynumber"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- Registered Charity Number\n';
	}
	if(oForm.elements["contactname"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- Contact Name\n';
	}
	if(oForm.elements["address"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- Contact Postal Address\n';
	}
	if((!oForm.elements["email"].value.isEmail()) || oForm.elements["email"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- Contact e-mail address';
		if(oForm.elements["email"].value != ''){
			sErrorMessage += ' (not valid)';
		}
		sErrorMessage += '\n';
	}

	if(oForm.elements["checkto"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- If your application is successful...\n';
	}	
	if(oForm.elements["dickonbefore"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- Have you received funding before?\n';
	}
	if(oForm.elements["region"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- In which geographical area...\n';
	}
	if(oForm.elements["grossincome"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- What was your charity\'s gross income...\n';
	}
	if(oForm.elements["totalexpenditure"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- What was your charity\'s total expenditure...\n';
	}
	if(oForm.elements["reason"].value == ''){
		bIsValid = false;
		sErrorMessage += '\t- In no more than 100 words, give a brief summary...\n';
	}
		
	if(!bIsValid){
		sErrorMessage = 'Please make sure the following data is entered and valid:\n\n' + sErrorMessage;
		alert(sErrorMessage);
	}
	
	return bIsValid;

}


