function validate(f,a,b,c){	

	for(i=0;i<a.length;i++){
		switch(a[i]){
			case 0:
				if (!f.elements[b[i]].checked){
					alert(c[i]);
					f.elements[b[i]].checked = true;
					return false;
				}
				break;
			case 1:
				if(f.elements[b[i]].value==""){						
					alert(c[i]);
					f.elements[b[i]].focus();
					return false;
				}
				break;
			case 2:
				if(f.elements[b[i]].value==""){
					alert(c[i]);
					f.elements[b[i]].focus();
					return false;
				}else{
					if(!IsValidEmail(f.elements[b[i]].value)){
						alert(c[i]);
						f.elements[b[i]].focus();
						return false;
					}
				}
				break;
			default:
				break;
		}	
	}	
	return true;
}		
function IsValidEmail(str) {
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}
function onsubmit_validate(f){

	switch(f.name) {
			case 'frm_register':
					var a = new Array(1,1,2,1,3,3);
					var b = new Array("txt_fname", "txt_surname", "txt_email","txt_telephone","chk_optin", "btn_submit");
					var c = new Array("Please enter your first name","Please enter your surname","Please enter your email address", "Please enter your telephone number", "","");
					
					return validate(f,a,b,c);					
					break;	
		}
		if (submitted == false){ //to only allow submission once
			submitted = true; 
			return true;
		}else{
			alert("You have already submitted the form.\nPlease wait while it processes the information.");
		}
}
