

// JavaScript Document


function submitForm(objForm){

errMsg='';
validEmail='';
//common checks
if (!checkValue(objForm.fullname)) { errMsg = errMsg +'Please enter your name\n'; }
if (!checkValue(objForm.email)) { errMsg = errMsg +'Please enter your email address\n'; }
if (!checkValue(objForm.telephone)) { errMsg = errMsg +'Please enter your telephone\n'; }

//form specific checks
switch(objForm.action.value){

case 'application':
//booking specific fields for validation
if (!checkValue(objForm.address)) { errMsg = errMsg +'Please enter your address\n'; }
if (!checkValue(objForm.course)) { errMsg = errMsg +'Please choose your course\n'; }
if (!checkValue(objForm.instruments)) { errMsg = errMsg +'Please enter your instrument details\n'; }
break;

case 'contact':
//contact form specific fields
if (!checkValue(objForm.details)) { errMsg = errMsg +'Please enter your details\n'; }

break;
}



if  (errMsg!=''){ 
errMsg='Not all fields have been filled in.\nPlease check all fields highlighted in red and try again';
alert(errMsg)
} else if (!checkEmailAddress(objForm.email)){
alert('Please check email address is valid');
} else {
objForm.submit()
}


}

function checkValue(objField){

	/*if (objField.value==''){
	markValidField(objField,false);
	return false;
	} else {
	markValidField(objField,true)
	return true;
	}*/


switch(objField.type){

case "select-one":
if (objField.selectedIndex<2){
	markValidField(objField,false);
	return false;
	} else {
	markValidField(objField,true)
	return true;
	}
break;

default:
if (objField.value==''){
	markValidField(objField,false);
	return false;
	} else {
	markValidField(objField,true)
	return true;
	}
}

}

function markValidField(objField, bValid){

//get the label for objField
objLabel=eval('document.getElementById(\'span'+objField+'\')');

if (bValid){
	
	//valid field - reset the className
	objField.className='';
	objLabel.className='';

} else {

	//invalid field - set the className to missing value
	objField.className='missingField';
	objLabel.className='missingFieldLabel';


}

}

function checkEmailAddress(objEmailField)
{
var oRegExp = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/g;
if (oRegExp.test(objEmailField.value))
     {
	 markValidField(objEmailField,true);
	return true;
     }
     else
     {
	 markValidField(objEmailField,false);	 
    	return false;
     }
 }
