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 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();
	}
}




