// Functions for validation of SCORE online application form
function validRequired(formField,fieldLabel)
{
	var result = true;
	if(formField.value == '')
	{
		alert('The value for "' + fieldLabel + '" is blank.');
		formField.focus();
		result = false;
	}
	return result;
}

function radioChecked(formField,fieldLabel)
{
	var result = false;
	for(i=0; i<formField.length; i++) {
		if(formField[i].checked) { result = true; }
	}
	if(result == false)
	{
		alert('Please select a value for "' + fieldLabel + '."');
	}
	return result;
}

/* Original:  Torsten Frey (tf@tfrey.de)
 * Web Site:  http://www.tfrey.de
 * Modified:  22 Oct 2004 by yant */
function checkDate(formField,fieldLabel)
{
	var checkstr = "0123456789";
	//var DateField = formField.value;
	var Datevalue = "";
	var DateTemp = "";
	var separator = ".";
	var day;
	var month;
	var year;
	var leap = 0;
	var i;
	var result = true;

   	DateValue = formField.value;
   	/* Delete all chars except 0..9 */
   	for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
	}
   	DateValue = DateTemp;
   	/* Always change date to 8 digits - string*/
   	if (DateValue.length != 8) {
      result = false;
	}
   	/* year is wrong if year = 0000 */
   	year = DateValue.substr(4,4);
   	if (year == 0) {
      result = false;
   	}
   	/* Validation of month*/
   	month = DateValue.substr(2,2);
   	if ((month < 1) || (month > 12)) {
      result = false;
   	}
   	/* Validation of day*/
   	day = DateValue.substr(0,2);
   	if (day < 1) {
      result = false;
   	}
   	/* Validation leap-year / february / day */
   	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   	}
   	if ((month == 2) && (leap == 1) && (day > 29)) {
      result = false;
   	}
   	if ((month == 2) && (leap != 1) && (day > 28)) {
      result = false;
   	}
   	/* Validation of other months */
   	if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      result = false;
  	}
   	if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      result = false;
   	}
   	/* Error-message */
   	if(result == false) {
      alert(fieldLabel + ' is incorrect or entered in the wrong format!');
      formField.focus();
   	}
	return result;
}
//  End of check date

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0) {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
  return result;
}

function validateForm(formName) {
	if(!radioChecked(formName.salutation,"Salutation")) {
		return false;
	}
	if(!validRequired(formName.name,"Name")) {
		return false;
	}
	if(!validRequired(formName.nric,"NRIC/Passport No.")) {
		return false;
	}
	if(!checkDate(formName.dob,"Date of Birth")) {
		return false;
	}
	/*if(!radioChecked(formName.mar_stat,"Marital Status")) {
		return false;
	}*/
	if(!validRequired(formName.nationality,"Nationality")) {
		return false;
	}
	if((formName.home_no.value == '') && (formName.office_no.value == '') && (formName.mobile_no.value == '')) {
		alert('Please fill in at least one contact number.');
		formName.home_no.focus();
		return false;
	}
	if(!validEmail(formName.email,"E-mail")){
		return false;
	}
	if(!validRequired(formName.ws_lang,"Written and Spoken Language")) {
		return false;
	}
	if(!validRequired(formName.s_lang,"Spoken only Language")) {
		return false;
	}
	if((formName.fundraising.checked == false) && (formName.awareness.checked == false) && (formName.publicity.checked == false) && (formName.training.checked == false) && (formName.others.checked == false)) {
		alert('Please select at least one volunteer activities.');
		return false;
	}
	if((formName.others.checked == true) && (formName.other_activity.value == "")) {
		alert('Please specify the other volunteer activity you are interested in.');
		formName.other_activity.focus();
		return false;
	}
	// <input name="awareness" type="checkbox" class="tBox" value="Awareness Events">Awareness Events
	// if all the above conditions are satisfied,
	return true;
}