function emptyfield(check,err_msg){
   if (check.value == ""){
      alert(err_msg);
	  check.focus();
	  return false;
   }
}
function valid(vl,errm) // varying number of arguments
{
	var i;
	validated=true;
	// scan regular expressions
	for (i=2;i<valid.arguments.length;i++) 
	{
		var rx;
		//alert(valid.arguments[i]);
		rx=new RegExp(valid.arguments[i]);
		if ((a=rx.exec(vl))!=null && a[0].length==vl.length) {
			//alert("output:" + a[0]);
			return true;  // ok
		}
	}
	// no matches...
	alert(errm);
	validated=false;  // tell onsubmit if necessary
	return false;
}

function checkOneEmail(check, err_msg)
{
	// [\w-_]+(\.[\w-_]+)*\@+[\w-_]+(\.[\w-_]+)+
	//alert(vl);
	rv=valid(check,err_msg,"[\\w-_]+(\\.[\\w-_]+)*\\@+[\\w-_]+(\\.[\\w-_]+)+");
	return rv;
}
function checkEmail(check){
   email = new String(check.value);
   errmsg="Invalid Email Address";
     if (email.indexOf("@") == -1){
	    alert(errmsg);
		check.focus();
		return false;
	 }
	 else
	 {
	   idx1=email.indexOf("@");
	 }
	 if(email.indexOf(".") == -1){
	    alert(errmsg);
		check.focus();
		return false;
	 }
	 else{
	    idx2=email.indexOf(".");
	 }
	 str1=email.substring(0,idx1);
	 if(str1.length < 2){
	    alert(errmsg);
		check.focus();
		return false;
	 }
	 str2=email.substring(idx1,idx2);
	 if(str2.length < 2){
	    alert(errmsg);
		check.focus();
		return false;
	 }
	 str3=email.substring(idx2,email.length-1);
	 if(str3.length < 2){
		alert(errmsg);
		check.focus();
		return false;
	 }
}

function checkBox(check,err_msg){
   var counter=0;
   for(var i=0;i<check.length;i++)
   {
     if(check[i].checked)
	 {
	   counter=counter+1;
	 }
   }
   if(counter < 1 )
   {
     alert(err_msg);
	 check[0].focus();
	 return false;
   }
}

function LZ(x) {return(x<0||x>9?"":"0")+x}

function ValidateDate(dDay, dMonth, dYear) {
	
	var d="312831303130313130313031";
	var yr;
	var sDate = parseInt(dDay.length + dMonth.length + dYear.length);
	/* For invalid dates, return false */
	if (sDate.length>0 && sDate.length<8) return false;
	
	// Expected inDate format: ddmmyyyy
	//dd = sDate.substring(0,2);
	//mm = sDate.substring(2,4);
	dd = LZ(dDay);
	mm =LZ(dMonth);
	yy = dYear;

	/* Now, convert the string yr1 into a numeric and test for leap year.
	If it is, change the end of month day string for Feb to 29  */		
	
	var isLeap = false;
	yy=yy*1;
	if (yy%400==0) isLeap = true
	else if (yy%100==0) isLeap = false
	else if (yy%4==0) isLeap = true;
	if (isLeap) d=d.substring(0,2)+"29" + d.substring(4,d.length);
	
	/* Pick the end of month day from the d string for this month. */

	pos=(mm*2)-2;
	ld=d.substring(pos,pos+2)+0;
	if (dd<1||dd>ld)
		return false;
	else if (mm<1||mm>12)
		return false;
	else if (yy<1870||yy>2050)
		return false;

	return true;		

}
function checkBox(check,err_msg){
   var counter=0;
   for(var i=0;i<check.length;i++)
   {
     if(check[i].checked)
	 {
	   counter=counter+1;
	 }
   }
   if(counter < 1 )
   {
     alert(err_msg);
	 check[0].focus();
	 return false;
   }
}
function chkbox_reply(cb) {
for (j = 0; j < 2; j++) {
if (eval("document.form2.reply[" + j + "].checked") == true) {
document.form2.reply[j].checked = false;
if (j == cb) {
document.form2.reply[j].checked = true;
         }
      }
   }
}
function checkcomplaint(frm) {

	if(emptyfield(frm.name,"Please enter your name")==false) return;
	if(frm.member[0].checked){
		if(emptyfield(frm.membership,"Please enter your membership number")==false) return;
	}
	if(emptyfield(frm.address,"Please enter your address")==false) return;
	if(emptyfield(frm.tel,"Please enter your telephone number")==false) return;
	if(checkEmail(frm.email)==false) return;
	if(emptyfield(frm.centre,"Please enter the centre visited")==false) return;
/*
	if(frm.centre[0].selected) {
		alert("Please enter the centre visited");
		frm.centre.focus();
		return;
	}
*/
	if(emptyfield(frm.staff,"Please enter the staff who attended to you")==false) return;
	if(emptyfield(frm.comments,"Please enter your comments")==false) return;
	if(frm.contactby.checked){
		if(frm.contactby_mode[0].checked==false && frm.contactby_mode[1].checked==false) {
			alert("Please select the mode to contact you");
			frm.contactby.focus();
			return;
		}
	}
	if((frm.month.value=="") || (frm.day.value=="") || (frm.year.value=="")) {
		alert("Please select Date of Visit")
		frm.month.focus();
		return;
	}
	if (ValidateDate(frm.day.value, frm.month.value, frm.year.value)==false)
	{
		alert("Invalid Date of Visit");
		frm.day.focus();
		return;
	}
	 
	if(emptyfield(frm.captchacode,"Please enter CAPTCHA Security Code")==false) return;

	frm.submit();
}
function checkcompliment(frm) {
	if(emptyfield(frm.name,"Please enter your name")==false) return;
	if(frm.member[0].checked){
		if(emptyfield(frm.membership,"Please enter your membership number")==false) return;
	}
	if(emptyfield(frm.address,"Please enter your address")==false) return;
	if(emptyfield(frm.tel,"Please enter your telephone number")==false) return;
	if(checkEmail(frm.email)==false) return;
	if(emptyfield(frm.centre,"Please enter the centre visited")==false) return;
/*
	if(frm.centre[0].selected) {
		alert("Please enter the centre visited");
		frm.centre.focus();
		return;
	}
*/
	if((frm.month.value=="") || (frm.day.value=="") || (frm.year.value=="")) {
		alert("Please select Date of Visit")
		frm.month.focus();
		return;
	}
	 
	if (ValidateDate(frm.day.value, frm.month.value, frm.year.value)==false)
	{
		alert("Invalid Date of Visit");
		frm.day.focus();
		return;
	}
	if(emptyfield(frm.staff,"Please enter the staff who attended to you")==false) return;
	if(emptyfield(frm.comments,"Please enter your comments")==false) return;
	if(checkBox(frm.reply,"Please tick accordingly")==false) {
		return;
	} 
	if(frm.contactby.checked){
		if(frm.contactby_mode[0].checked==false && frm.contactby_mode[1].checked==false) {
			alert("Please select the mode to contact you");
			frm.contactby.focus();
			return;
		}
	}
	 
	if(emptyfield(frm.captchacode,"Please enter CAPTCHA Security Code")==false) return;
	frm.submit();
}

function valuemoneyenable(frm) {
 	if(frm.valuemoney[1].checked) {
 		frm.valuemoney_reason.disabled=false;
		//frm.valuemoney_reason.className="textbox";
  	} else {
 		frm.valuemoney_reason.disabled=true;
		//frm.valuemoney_reason.className="displaybox";
	}
}
function attendenable(frm) {
 	if(frm.attend[1].checked) {
 		frm.attend_reason.disabled=false;
		//frm.attend_reason.className="textbox";
  	} else {
 		frm.attend_reason.disabled=true;
		//frm.attend_reason.className="displaybox";
	}
}
function recommendenableclass(frm) {
 	if(frm.recommend[0].checked) {
 		frm.recommend_desc.disabled=false;
		//frm.recommend_desc.className="textbox";
  	} else {
 		frm.recommend_desc.disabled=true;
		//frm.recommend_desc.className="displaybox";
	}
}

function visitusenable(frm) {
 	if(frm.visitus[1].checked) {
 		frm.visitus_reasons.disabled=false;
		//frm.visitus_reasons.className="textbox";
  	} else {
 		frm.visitus_reasons.disabled=true;
		//frm.visitus_reasons.className="displaybox";
	}
}
function recommendenable(frm) {
 	if(frm.recommendus[1].checked) {
 		frm.recommendus_reasons.disabled=false;
		//frm.recommendus_reasons.className="textbox";
  	} else {
 		frm.recommendus_reasons.disabled=true;
		//frm.recommendus_reasons.className="displaybox";
	}
}
function checkcourseevaluation(frm) {
	if(emptyfield(frm.name1,"Please enter Name of Participant")==false) return;
	if(emptyfield(frm.handphone,"Please enter Mobile Phone No")==false) return;
	if(emptyfield(frm.email,"Please enter Email Address")==false) return;
	if(checkEmail(frm.email)==false) return;
	if(checkBox(frm.course_useful,"Please select 1. The course/workshop was useful and met my expectations.")==false) {
		okFlag = false;
		return false;
	}  
	if(checkBox(frm.experienced,"Please select 2. The trainer/speaker was experienced and knowledgeable on the course related topics.")==false) {
		okFlag = false;
		return false;
	}  
	if(checkBox(frm.communicated,"Please select 3. The trainer/speaker communicated ideas in a clear way and was able to sustain my interests.")==false) {
		okFlag = false;
		return false;
	}  
	if(checkBox(frm.duration,"4. Please select The duration of the course/event was sufficients.")==false) {
		okFlag = false;
		return false;
	}  
	if(checkBox(frm.environment,"Please select 5. The training environment was conductive for learning. ")==false) {
		okFlag = false;
		return false;
	}  
	if(checkBox(frm.overall,"Please select 6. How would you rate your overall experience during the session?")==false) {
		okFlag = false;
		return false;
	}  
	if(checkBox(frm.valuemoney,"Please select The training course/workshop was value for money.")==false) {
		okFlag = false;
		return false;
	}  
	if(frm.valuemoney[1].checked) {
		if(emptyfield(frm.valuemoney_reason,"Please let us know the reasons why the training course/workshop was not value for money.")==false) return;
	}
	if(checkBox(frm.attend,"Please select 8. I am interested and would like to attend future courses/workshop.")==false) {
		okFlag = false;
		return false;
	}  
	if(frm.attend[1].checked) {
		if(emptyfield(frm.attend_reason,"Please let us know the reasons why you are not interested to attend future courses/workshop. ")==false) return;
	}
	if(checkBox(frm.recommend,"Please select 9. Do you any friends you would like to recommend for this class?")==false) {
		okFlag = false;
		return false;
	} 
	if(frm.recommend[1].checked) {
		if(emptyfield(frm.attend_reason,"If yes, kindly leave down your friend's name and contact number so that we can follow up with her")==false) return;
	}
	if(emptyfield(frm.suggestions,"Please select 10. What are your suggestions to enhance future learning experience? ")==false) return;
	if(emptyfield(frm.captchacode,"Please enter CAPTCHA Security Code")==false) return;
	frm.submit();
}
function checksurveynew(frm) {
	var okFlag = true;
  	if(emptyfield(frm.name1,"Please enter Your Name")==false) return;
  	if(emptyfield(frm.email,"Please enter Email Address")==false) return;
	if(checkEmail(frm.email)==false) return;
	if(emptyfield(frm.handphone,"Please enter Hand Phone Number")==false) return;
	if(checkBox(frm.agegroup,"Please select Age")==false) {
		okFlag = false;
		return false;
	}  
	if(checkBox(frm.LDmember,"Please select Are you Leonard Drake member?")==false) {
		okFlag = false;
		return false;
	}  
	if(checkBox(frm.whichcentre,"Please select Which Centre did you frequently patronize?")==false) {
		okFlag = false;
		return false;
	}  

	if(checkBox(frm.treatment_results,"Please kindly answer Treatment Results")==false) {
		okFlag = false;
		return false;
	}
	if(checkBox(frm.treatment_consistency,"Please kindly answer Treatment Consistency")==false) {
		okFlag = false;
		return false;
	} 
	if(checkBox(frm.threapist_skill,"Please kindly answer Skill of the Threapist")==false) {
		okFlag = false;
		return false;
	} 
	if(checkBox(frm.staff_knowledgeable,"Please kindly answer Staff are knowledgeable")==false) {
		okFlag = false;
		return false;
	} 
	if(checkBox(frm.staff_friendly,"Please kindly answer Staff are friendly and approachable")==false) {
		okFlag = false;
		return false;
	} 
	if(checkBox(frm.staff_attentive,"Please kindly answer Staff are attentive to your needs")==false) {
		okFlag = false;
		return false;
	} 
	if(checkBox(frm.service_checkin,"Please kindly answer Service at Check-In (Efficient and Prompt)")==false) {
		okFlag = false;
		return false;
	} 
	if(checkBox(frm.telephone_service,"Please kindly answer Telephone Service (Help you to secure a slot and take down the appointment accurately)")==false) {
		okFlag = false;
		return false;
	} 
	if(checkBox(frm.cleanliness_environment,"Please kindly answer Cleanliness of the environment")==false) {
		okFlag = false;
		return false;
	} 
	if(checkBox(frm.overall_satisfaction,"Please kindly answer Overall Satisfaction")==false) {
		okFlag = false;
		return false;
	} 
	for(i=0;i<frm.treatment_results.length;i++) {
		if(frm.treatment_results[i].checked) {
			var treatment_results=frm.treatment_results[i].value;
			break;
		}
	}
	for(i=0;i<frm.treatment_consistency.length;i++) {
		if(frm.treatment_consistency[i].checked) {
			var treatment_consistency=frm.treatment_consistency[i].value;
 			break;
		}
	}
	for(i=0;i<frm.threapist_skill.length;i++) {
		if(frm.threapist_skill[i].checked) {
			var threapist_skill=frm.threapist_skill[i].value;
 			break;
		}
	}
	for(i=0;i<frm.staff_knowledgeable.length;i++) {
		if(frm.staff_knowledgeable[i].checked) {
			var staff_knowledgeable=frm.staff_knowledgeable[i].value;
 			break;
		}
	}
	for(i=0;i<frm.staff_friendly.length;i++) {
		if(frm.staff_friendly[i].checked) {
			var staff_friendly=frm.staff_friendly[i].value;
 			break;
		}
	}
	for(i=0;i<frm.staff_attentive.length;i++) {
		if(frm.staff_attentive[i].checked) {
			var staff_attentive=frm.staff_attentive[i].value;
 			break;
		}
	}
	for(i=0;i<frm.service_checkin.length;i++) {
		if(frm.service_checkin[i].checked) {
			var service_checkin=frm.service_checkin[i].value;
 			break;
		}
	}
 	for(i=0;i<frm.telephone_service.length;i++) {
		if(frm.telephone_service[i].checked) {
			var telephone_service=frm.telephone_service[i].value;
 			break;
		}
	}
	for(i=0;i<frm.cleanliness_environment.length;i++) {
		if(frm.cleanliness_environment[i].checked) {
			var cleanliness_environment=frm.cleanliness_environment[i].value;
 			break;
		}
	}
	for(i=0;i<frm.overall_satisfaction.length;i++) {
		if(frm.overall_satisfaction[i].checked) {
			var overall_satisfaction=frm.overall_satisfaction[i].value;
 			break;
		}
	}
	if (treatment_results < 4 || treatment_consistency < 4 || threapist_skill < 4 || staff_knowledgeable < 4 || staff_friendly < 4 || staff_attentive < 4 || service_checkin < 4 || telephone_service < 4 || cleanliness_environment < 4 || overall_satisfaction < 4) {
		if(emptyfield(frm.expectations,"If you rate us 3 and below for any of the above, please let us know what we can improve to meet/exceed your expectations.")==false) return;
	}
	if(frm.visitus[1].checked) {
		if(emptyfield(frm.visitus_reasons,"Please let us know the reasons why you will not visit us again")==false) return;
	}
	if(frm.recommendus[1].checked) {
		if(emptyfield(frm.recommendus_reasons,"Please let us know the reasons why you will not recommend us to your family or friends")==false) return;
	}
	if(emptyfield(frm.treatment_experience,"Do you have any other comments or suggestions for us to improve your treatment experience?")==false) return;
	if(emptyfield(frm.staff_deserve,"Is there any staff whom you think deserve a pat on the back for a job well done?")==false) return;
	if(emptyfield(frm.captchacode,"Please enter CAPTCHA Security Code")==false) return;
	frm.submit();
}
function checksurvey(frm) {
	var okFlag = true;
	 
	for(i=0;i<frm.greetings.length;i++) {
		if(frm.greetings[i].checked) {
			//var greetings=frm.greetings[i].value;
			var greetings = "1";
			break;
		}
	}
	if (greetings !="1"){
		alert('Please kindly answer Greetings with a smile');
		frm.greetings[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.friendliness.length;i++) {
		if(frm.friendliness[i].checked) {
			var friendliness = "1";
			break;
		}
	}
	if (friendliness !="1"){
		alert('Please kindly answer Friendliness of staff');
		frm.friendliness[0].focus();
		okFlag = false;
		return false;
	}
		for(i=0;i<frm.neat.length;i++) {
		if(frm.neat[i].checked) {
			var neat = "1";
			break;
		}
	}
	if (neat !="1"){
		alert('Neat and Professional in appearance');
		frm.neat[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.service.length;i++) {
		if(frm.service[i].checked) {
			var service = "1";
			break;
		}
	}
	if (service !="1"){
		alert('Service at check in (efficient, prompt)');
		frm.service[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.responsiveness.length;i++) {
		if(frm.responsiveness[i].checked) {
			var responsiveness = "1";
			break;
		}
	}
	if (responsiveness !="1"){
		alert('Responsiveness to needs (Attentiveness)');
		frm.responsiveness[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.adequate.length;i++) {
		if(frm.adequate[i].checked) {
			var adequate = "1";
			break;
		}
	}
	if (adequate !="1"){
		alert('Adequate product knowledge received');
		frm.adequate[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.professional.length;i++) {
		if(frm.professional[i].checked) {
			var professional = "1";
			break;
		}
	}
	if (professional !="1"){
		alert('Professional consultation received');
		frm.professional[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.treatment.length;i++) {
		if(frm.treatment[i].checked) {
			var treatment = "1";
			break;
		}
	}
	if (treatment !="1"){
		alert('Treatment beings as per appointment time');
		frm.treatment[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.waiting.length;i++) {
		if(frm.waiting[i].checked) {
			var waiting = "1";
			break;
		}
	}
	if (waiting !="1"){
		alert('Waiting time before being served');
		frm.waiting[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.competency.length;i++) {
		if(frm.competency[i].checked) {
			var competency = "1";
			break;
		}
	}
	if (competency !="1"){
		alert('Competency skills of therapist');
		frm.competency[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.recommendation.length;i++) {
		if(frm.recommendation[i].checked) {
			var recommendation = "1";
			break;
		}
	}
	if (recommendation !="1"){
		alert('Treatment recommendation received');
		frm.recommendation[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.cleanliness.length;i++) {
		if(frm.cleanliness[i].checked) {
			var cleanliness = "1";
			break;
		}
	}
	if (cleanliness !="1"){
		alert('Cleanliness of retail area');
		frm.cleanliness[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.rooms.length;i++) {
		if(frm.rooms[i].checked) {
			var rooms = "1";
			break;
		}
	}
	if (rooms !="1"){
		alert('Cleanliness of treatment rooms');
		frm.rooms[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.telephone.length;i++) {
		if(frm.telephone[i].checked) {
			var telephone = "1";
			break;
		}
	}
	if (telephone !="1"){
		alert('Telephone Service (appointment booking/appointment confirmation)');
		frm.telephone[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.checkout.length;i++) {
		if(frm.checkout[i].checked) {
			var checkout = "1";
			break;
		}
	}
	if (checkout !="1"){
		alert('Service at checkout (efficient, prompt)');
		frm.checkout[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.overall.length;i++) {
		if(frm.overall[i].checked) {
			var overall = "1";
			break;
		}
	}
	if (overall !="1"){
		alert('Overall service rendered');
		frm.overall[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.satisfaction.length;i++) {
		if(frm.satisfaction[i].checked) {
			var satisfaction = "1";
			break;
		}
	}
	if (satisfaction !="1"){
		alert('Overall satisfaction');
		frm.satisfaction[0].focus();
		okFlag = false;
		return false;
	}
	for(i=0;i<frm.friends.length;i++) {
		if(frm.friends[i].checked) {
			var friends = "1";
			break;
		}
	}
	if (friends !="1"){
		alert('Would you recommend us to your friends!');
		frm.friends[0].focus();
		okFlag = false;
		return false;
	}
	
	if(emptyfield(frm.name1,"Please enter Your Name")==false) {
		okFlag = false;
		return false;
	}
	if(emptyfield(frm.telephone1,"Please enter Telephone")==false) {
		okFlag = false;
		return false;
	}
	if(emptyfield(frm.address,"Please enter Address")==false) {
		okFlag = false;
		return false;
	}
	if(emptyfield(frm.email,"Please enter Email")==false) {
		okFlag = false;
		return false;
	}
	if(checkEmail(frm.email)==false) {
		okFlag = false;
		return false;
	}
	if(emptyfield(frm.captchacode,"Please enter CAPTCHA Security Code")==false) {
		okFlag = false;
		return false;
	}
	if (okFlag == true) {
			frm.submit();
	}
}

