//function to validate the fields FOR PARTTIME
function validatepayment() {

	//ensure the name is not empty
	if (trim(frmpayment.course.value) == "") {
		alert("Please select the language you are interested to learn.")
		frmpayment.course.focus();
		return false;
	}

	if (trim(frmpayment.PreferredStudyLocation.value) == "") {
		alert("Please select your preferred study location.")
		frmpayment.PreferredStudyLocation.focus();
		return false;
	}

//	if (trim(frmpayment.courselevel.value) == "") {
//		alert("Please select your preferred course level.")
//		frmpayment.courselevel.focus();
//		return false;
//	}

	if (trim(frmpayment.Name.value) == "") {
		alert("Please enter your full name.")
		frmpayment.Name.focus();
		return false;
	}

	if (trim(frmpayment.NRIC.value) == "") {
		alert("Please enter your NRIC.")
		frmpayment.NRIC.focus();
		return false;
	}

	//STARTING DATE OF BIRTH VALIDATION
	var leap = 0;

	var dday = frmpayment.DateBD.value
	var mmonth = frmpayment.MonthBD.value
	var yyear = frmpayment.YearBD.value	
	
	if (dday!="0" && mmonth=="0"){
		alert("Please select your Birth Month.");
		frmpayment.MonthBD.focus();
		return false;
	}
	
	if (dday!="0" && yyear=="0"){
		alert("Please select your Birth Year.");
		frmpayment.YearBD.focus();
		return false;
	}

	if (mmonth!="0" && dday=="0"){
		alert("Please select your Birth Day.");
		frmpayment.DateBD.focus();
		return false;
	}
	
	if (mmonth!="0" && yyear=="0"){
		alert("Please select your Birth Year.");
		frmpayment.YearBD.focus();
		return false;
	}

	if (yyear!="0" && dday=="0"){
		alert("Please select your Birth Day.");
		frmpayment.DateBD.focus();
		return false;
	}
	
	if (yyear!="0" && mmonth=="0"){
		alert("Please select your Birth Month.");
		frmpayment.MonthBD.focus();
		return false;
	}

	/* Validation of other months with day 31 */
	 if ((dday > 30) && ((mmonth == 4) || (mmonth == 6) || (mmonth == 9) || (mmonth == 11))) {
		 alert("Please enter a valid Date of Birth.")
		 frmpayment.DateBD.focus();
		 return false;
	}
		
	/* Validation leap-year / february / day */
	if ((yyear % 4 == 0) || (yyear % 100 == 0) || (yyear % 400 == 0)) {
		 leap = 1;
	 }

	if ((mmonth == 2) && (leap == 1) && (dday > 29)) {
		alert("Please select a valid Date of Birth, February's leap year does not have day "+dday+".");
		frmpayment.DateBD.focus();
		return false;
	 }

	 if ((mmonth == 2) && (leap != 1) && (dday > 28)) {
		alert("Please select a valid Date of Birth, February does not have day "+dday+".");
		frmpayment.DateBD.focus();
		return false;
	 }
	//END OF DATE OF BIRTH VALIDATION
	
	if (trim(frmpayment.CurrentAddress.value) == "") {
		alert("Please enter your address.")
		frmpayment.CurrentAddress.focus();
		return false;
	}

	if (trim(frmpayment.postalcode.value) == "") {
		alert("Please enter your postal code.")
		frmpayment.postalcode.focus();
		return false;
	}

//	if (!chknumber(frmpayment.postalcode.value)) {
//		alert("Please enter a valid postal code.");
//		frmpayment.postalcode.focus();
//		return false;
//	}

	if (trim(frmpayment.TelephoneNo.value) == "") {
		alert("Please enter your telephone number.")
		frmpayment.TelephoneNo.focus();
		return false;
	}

	if (trim(frmpayment.TelephoneNo.value) != "") {
		if (!chknumber(frmpayment.TelephoneNo.value)) {
			alert("Please enter a valid telephone number.");
			frmpayment.TelephoneNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.MobilePhone.value) != "") {
		if (!chknumber(frmpayment.MobilePhone.value)) {
			alert("Please enter a valid mobile number.");
			frmpayment.MobilePhone.focus();
			return false;
		}
	}

	if (trim(frmpayment.EmailAddress.value) == "") {
		alert("Please enter your email address.")
		frmpayment.EmailAddress.focus();
		return false;
	}

	if (!chkmail(frmpayment.EmailAddress.value)) {
		alert("Please enter a valid email.");
		frmpayment.EmailAddress.focus();
		return false;
	}

	if (trim(frmpayment.FaxNo.value) != "") {
		if (!chknumber(frmpayment.FaxNo.value)) {
			alert("Please enter a valid fax number.");
			frmpayment.FaxNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyTelephone.value) != "") {
		if (!chknumber(frmpayment.CompanyTelephone.value)) {
			alert("Please enter a valid company telephone number.");
			frmpayment.CompanyTelephone.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyFaxNo.value) != "") {
		if (!chknumber(frmpayment.CompanyFaxNo.value)) {
			alert("Please enter a valid company fax number.");
			frmpayment.CompanyFaxNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyEmailAddress.value) != "") {
		if (!chkmail(frmpayment.CompanyEmailAddress.value)) {
			alert("Please enter a valid company email.");
			frmpayment.CompanyEmailAddress.focus();
			return false;
		}
	}

	if (frmpayment.terms.checked == false) {
		alert("Please read and accept the declaration.");
		return false;
	}
	
	return true;
} // validatepayment

//function to validate the fields FOR PARTTIME JOINT APPLICANT
function validatejointpayment(nric,email) {
	email=email
	nric=nric


	if (trim(frmpayment.Name.value) == "") {
		alert("Please enter your full name.")
		frmpayment.Name.focus();
		return false;
	}


	//STARTING DATE OF BIRTH VALIDATION
	var leap = 0;

	var dday = frmpayment.DateBD.value
	var mmonth = frmpayment.MonthBD.value
	var yyear = frmpayment.YearBD.value	
	
	if (dday!="0" && mmonth=="0"){
		alert("Please select your Birth Month.");
		frmpayment.MonthBD.focus();
		return false;
	}
	
	if (dday!="0" && yyear=="0"){
		alert("Please select your Birth Year.");
		frmpayment.YearBD.focus();
		return false;
	}

	if (mmonth!="0" && dday=="0"){
		alert("Please select your Birth Day.");
		frmpayment.DateBD.focus();
		return false;
	}
	
	if (mmonth!="0" && yyear=="0"){
		alert("Please select your Birth Year.");
		frmpayment.YearBD.focus();
		return false;
	}

	if (yyear!="0" && dday=="0"){
		alert("Please select your Birth Day.");
		frmpayment.DateBD.focus();
		return false;
	}
	
	if (yyear!="0" && mmonth=="0"){
		alert("Please select your Birth Month.");
		frmpayment.MonthBD.focus();
		return false;
	}

	/* Validation of other months with day 31 */
	 if ((dday > 30) && ((mmonth == 4) || (mmonth == 6) || (mmonth == 9) || (mmonth == 11))) {
		 alert("Please enter a valid Date of Birth.")
		 frmpayment.DateBD.focus();
		 return false;
	}
		
	/* Validation leap-year / february / day */
	if ((yyear % 4 == 0) || (yyear % 100 == 0) || (yyear % 400 == 0)) {
		 leap = 1;
	 }

	if ((mmonth == 2) && (leap == 1) && (dday > 29)) {
		alert("Please select a valid Date of Birth, February's leap year does not have day "+dday+".");
		frmpayment.DateBD.focus();
		return false;
	 }

	 if ((mmonth == 2) && (leap != 1) && (dday > 28)) {
		alert("Please select a valid Date of Birth, February does not have day "+dday+".");
		frmpayment.DateBD.focus();
		return false;
	 }
	//END OF DATE OF BIRTH VALIDATION
	
	if (trim(frmpayment.CurrentAddress.value) == "") {
		alert("Please enter your address.")
		frmpayment.CurrentAddress.focus();
		return false;
	}

	if (trim(frmpayment.postalcode.value) == "") {
		alert("Please enter your postal code.")
		frmpayment.postalcode.focus();
		return false;
	}

	if (trim(frmpayment.TelephoneNo.value) == "") {
		alert("Please enter your telephone number.")
		frmpayment.TelephoneNo.focus();
		return false;
	}

	if (trim(frmpayment.TelephoneNo.value) != "") {
		if (!chknumber(frmpayment.TelephoneNo.value)) {
			alert("Please enter a valid telephone number.");
			frmpayment.TelephoneNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.MobilePhone.value) != "") {
		if (!chknumber(frmpayment.MobilePhone.value)) {
			alert("Please enter a valid mobile number.");
			frmpayment.MobilePhone.focus();
			return false;
		}
	}

	if (trim(frmpayment.FaxNo.value) != "") {
		if (!chknumber(frmpayment.FaxNo.value)) {
			alert("Please enter a valid fax number.");
			frmpayment.FaxNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyTelephone.value) != "") {
		if (!chknumber(frmpayment.CompanyTelephone.value)) {
			alert("Please enter a valid company telephone number.");
			frmpayment.CompanyTelephone.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyFaxNo.value) != "") {
		if (!chknumber(frmpayment.CompanyFaxNo.value)) {
			alert("Please enter a valid company fax number.");
			frmpayment.CompanyFaxNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyEmailAddress.value) != "") {
		if (!chkmail(frmpayment.CompanyEmailAddress.value)) {
			alert("Please enter a valid company email.");
			frmpayment.CompanyEmailAddress.focus();
			return false;
		}
	}
	

	if (trim(frmpayment.recommendedbyIC.value) == "") {
		alert("Please key in your friend's NRIC.")		
		frmpayment.recommendedbyIC.focus();
		return false;
	}

	if (trim(frmpayment.recommendedbyIC.value) != trim(nric)) {
		alert("This is not your friend's NRIC No. Please re-enter your friend's IC correctly.")		
		frmpayment.recommendedbyIC.focus();
		return false;
	}



	if (trim(frmpayment.recommendedbyEmail.value) == "") {
		alert("Please key in your friend's email address.")		
		frmpayment.recommendedbyEmail.focus();
		return false;
	}

	if (trim(frmpayment.recommendedbyEmail.value) != "") {
		if (!chkmail(frmpayment.recommendedbyEmail.value)) {
			alert("Please enter a valid email address.");
			frmpayment.recommendedbyEmail.focus();
			return false;
		}
	}

	if (trim(frmpayment.recommendedbyEmail.value) != trim(email)) {
		alert("This is not your friend's email. Please re-enter your friend's email correctly.")		
		frmpayment.recommendedbyEmail.focus();
		return false;
	}
	
	if (frmpayment.terms.checked == false) {
		alert("Please read and accept the terms and conditions.");
		return false;
	}
	
	return true;
} // validatejointpayment


//function to validate the fields FOR FULLTIME
function validatepaymentfl() {
	
	
	//ensure the name is not empty
	if (trim(frmpayment.course.value) == "") {
		alert("Please select the full-time course you are interested to learn.")
		frmpayment.course.focus();
		return false;
	}

	if (trim(frmpayment.PreferredStudyLocation.value) == "") {
		alert("Please select your preferred study location.")
		frmpayment.PreferredStudyLocation.focus();
		return false;
	}

	if (frmpayment.STP[0].checked == false && frmpayment.STP[1].checked == false) {
		alert("Please select if you have a student pass, or need to apply for one.")
		return false;
	}

	if (trim(frmpayment.Name.value) == "") {
		alert("Please enter your full name.")
		frmpayment.Name.focus();
		return false;
	}

	if (trim(frmpayment.NRIC.value) == "") {
		alert("Please enter your NRIC.")
		frmpayment.NRIC.focus();
		return false;
	}

	//STARTING DATE OF BIRTH VALIDATION
	var leap = 0;

	var dday = frmpayment.DateBD.value
	var mmonth = frmpayment.MonthBD.value
	var yyear = frmpayment.YearBD.value	
	
	if (dday!="0" && mmonth=="0"){
		alert("Please select your Birth Month.");
		frmpayment.MonthBD.focus();
		return false;
	}
	
	if (dday!="0" && yyear=="0"){
		alert("Please select your Birth Year.");
		frmpayment.YearBD.focus();
		return false;
	}

	if (mmonth!="0" && dday=="0"){
		alert("Please select your Birth Day.");
		frmpayment.DateBD.focus();
		return false;
	}
	
	if (mmonth!="0" && yyear=="0"){
		alert("Please select your Birth Year.");
		frmpayment.YearBD.focus();
		return false;
	}

	if (yyear!="0" && dday=="0"){
		alert("Please select your Birth Day.");
		frmpayment.DateBD.focus();
		return false;
	}
	
	if (yyear!="0" && mmonth=="0"){
		alert("Please select your Birth Month.");
		frmpayment.MonthBD.focus();
		return false;
	}

	/* Validation of other months with day 31 */
	 if ((dday > 30) && ((mmonth == 4) || (mmonth == 6) || (mmonth == 9) || (mmonth == 11))) {
		 alert("Please enter a valid Date of Birth.")
		 frmpayment.DateBD.focus();
		 return false;
	}
		
	/* Validation leap-year / february / day */
	if ((yyear % 4 == 0) || (yyear % 100 == 0) || (yyear % 400 == 0)) {
		 leap = 1;
	 }

	if ((mmonth == 2) && (leap == 1) && (dday > 29)) {
		alert("Please select a valid Date of Birth, February's leap year does not have day "+dday+".");
		frmpayment.DateBD.focus();
		return false;
	 }

	 if ((mmonth == 2) && (leap != 1) && (dday > 28)) {
		alert("Please select a valid Date of Birth, February does not have day "+dday+".");
		frmpayment.DateBD.focus();
		return false;
	 }
	//END OF DATE OF BIRTH VALIDATION
	
	if (trim(frmpayment.CurrentAddress.value) == "") {
		alert("Please enter your address.")
		frmpayment.CurrentAddress.focus();
		return false;
	}

	if (trim(frmpayment.postalcode.value) == "") {
		alert("Please enter your postal code.")
		frmpayment.postalcode.focus();
		return false;
	}

//	if (!chknumber(frmpayment.postalcode.value)) {
//		alert("Please enter a valid postal code.");
//		frmpayment.postalcode.focus();
//		return false;
//	}

	if (trim(frmpayment.TelephoneNo.value) == "") {
		alert("Please enter your telephone number.")
		frmpayment.TelephoneNo.focus();
		return false;
	}

	if (trim(frmpayment.TelephoneNo.value) != "") {
		if (!chknumber(frmpayment.TelephoneNo.value)) {
			alert("Please enter a valid telephone number.");
			frmpayment.TelephoneNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.MobilePhone.value) != "") {
		if (!chknumber(frmpayment.MobilePhone.value)) {
			alert("Please enter a valid mobile number.");
			frmpayment.MobilePhone.focus();
			return false;
		}
	}

	if (trim(frmpayment.EmailAddress.value) == "") {
		alert("Please enter your email address.")
		frmpayment.EmailAddress.focus();
		return false;
	}

	if (!chkmail(frmpayment.EmailAddress.value)) {
		alert("Please enter a valid email.");
		frmpayment.EmailAddress.focus();
		return false;
	}

	if (trim(frmpayment.FaxNo.value) != "") {
		if (!chknumber(frmpayment.FaxNo.value)) {
			alert("Please enter a valid fax number.");
			frmpayment.FaxNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyTelephone.value) != "") {
		if (!chknumber(frmpayment.CompanyTelephone.value)) {
			alert("Please enter a valid company telephone number.");
			frmpayment.CompanyTelephone.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyFaxNo.value) != "") {
		if (!chknumber(frmpayment.CompanyFaxNo.value)) {
			alert("Please enter a valid company fax number.");
			frmpayment.CompanyFaxNo.focus();
			return false;
		}
	}

	if (trim(frmpayment.CompanyEmailAddress.value) != "") {
		if (!chkmail(frmpayment.CompanyEmailAddress.value)) {
			alert("Please enter a valid company email.");
			frmpayment.CompanyEmailAddress.focus();
			return false;
		}
	}

	if (frmpayment.terms.checked == false) {
		alert("Please read and accept the terms and conditions.");
		return false;
	}
	
	return true;
}// validatepaymentfl

//function to validate the date fields
function checkdates() {

	//for duration starting date
	var sleap = 0;
	sday = frm.startDay.value
	smonth = frm.startMonth.value
	syear = frm.startYear.value	

	if (frm.startDay.value==""){
		alert("Please select an start day.");
		frm.startDay.focus();
		return false;
	}

	if (frm.startMonth.value==""){
		alert("Please select an start month.");
		frm.startMonth.focus();
		return false;
	}

	if (frm.startYear.value==""){
		alert("Please select an start year.");
		frm.startYear.focus();
		return false;
	}

	/* Validation of other months with day 31 */
	 if ((sday > 30) && ((smonth == 4) || (smonth == 6) || (smonth == 9) || (smonth == 11))) {
		 alert("Please select a valid date")
		 frm.startDay.focus();
		 return false;	
	}
			
	/* Validation leap-year / february / day */
    if ((syear % 4 == 0) || (syear % 100 == 0) || (syear % 400 == 0)) {
	  sleap = 1;
	}
	 if ((smonth == 2) && (sleap == 1) && (sday > 29)) {
	    alert("Please select a valid date, February's leap year does not have day "+sday+".");
	    frm.startDay.focus();
		return false;
	  }
	 if ((smonth == 2) && (sleap != 1) && (sday > 28)) {
			alert("Please select a valid date, February does not have day "+sday+".");
			frm.startDay.focus();
			return false;
	 }

	if (frm.endDay.value==""){
		alert("Please select an end day.");
		frm.endDay.focus();
		return false;
	}

	if (frm.endMonth.value==""){
		alert("Please select an end month.");
		frm.endMonth.focus();
		return false;
	}

	if (frm.endYear.value==""){
		alert("Please select an end year.");
		frm.endYear.focus();
		return false;
	}

	//for duration ending date
	var eleap = 0;
	eday = frm.endDay.value
	emonth = frm.endMonth.value
	eyear = frm.endYear.value	

	/* Validation of other months with day 31 */
	 if ((eday > 30) && ((emonth == 4) || (emonth == 6) || (emonth == 9) || (emonth == 11))) {
		 alert("Please enter a valid posting ending date")
		 frm.endDay.focus();
		 return false;	
	}
			
	/* Validation leap-year / february / day */
	if ((eyear % 4 == 0) || (eyear % 100 == 0) || (eyear % 400 == 0)) {
	  eleap = 1;
    }

	if ((emonth == 2) && (eleap == 1) && (eday > 29)) {
		 alert("Please select a valid posting ending date, February's leap year does not have day "+eday+".");
		 frm.endDay.focus();
    	  return false;
    }

	if ((emonth== 2) && (eleap != 1) && (eday > 28)) {
		alert("Please select a valid posting ending date, February does not have day "+eday+".");
		frm.endDay.focus();
		return false;
    }

	if (frm.startYear.value == frm.endYear.value && parseInt(frm.startMonth.value) > parseInt(emonth) ) {
		alert("Please check your posting dates." )
		frm.startMonth.focus();
		return false;
	}		

	if (frm.startYear.value > frm.endYear.value) {
		alert("Please check your posting dates." )
		frm.startYear.focus();
		return false;
	}	
	
	return true;
	
} //checkdates

//function to validate payment option
function validatepaymentoption(STP) {

	var STP=STP

		
	if (frmpayment.fl.value=="" && frmpayment.paymentoption.value !="N") {

		if (frmpayment.paymentoption[0].checked ==false && frmpayment.paymentoption[1].checked ==false)  {	
			alert("Please select a payment option.")
			return false;
		}
	}
	
	if (frmpayment.fl.value!="" && frmpayment.paymentoption.value !="N") {
		if (STP=="N") {
			if (frmpayment.paymentoption[0].checked ==false && frmpayment.paymentoption[1].checked ==false && 
				frmpayment.paymentoption[2].checked ==false && frmpayment.paymentoption[3].checked ==false && 
				frmpayment.paymentoption[4].checked ==false && frmpayment.paymentoption[5].checked ==false)  {	
				alert("Please select a payment option.")
				return false;
			} 
			
		}  else {
				if (frmpayment.course.value=="Full-time English") {	

					if (frmpayment.paymentoption[0].checked ==false && frmpayment.paymentoption[1].checked ==false && 
						frmpayment.paymentoption[2].checked ==false && frmpayment.paymentoption[3].checked ==false && 
						frmpayment.paymentoption[4].checked ==false && frmpayment.paymentoption[5].checked ==false)  {	
						alert("Please select a payment option.")
						return false;
					}
				}

				else if (frmpayment.course.value=="Full-time Chinese") {	

					if (frmpayment.paymentoption[0].checked ==false && frmpayment.paymentoption[1].checked ==false)  {	
						alert("Please select a payment option.")
						return false;
					}
				}

				else {
					if (frmpayment.paymentoption[0].checked ==false && frmpayment.paymentoption[1].checked ==false && 
						frmpayment.paymentoption[2].checked ==false && frmpayment.paymentoption[3].checked ==false)  {	
						alert("Please select a payment option.")
						return false;
					
					}
				}
		}
	
	}

	if (frmpayment.fl.value=="" && frmpayment.courselevel.value=="") {
		alert("The registration form is not completely filled up. Please click the 'Back' button and select the course and course level.")
		return false;

	}
}// validatepaymentoption