	var dtCh= "/";
	var minYear=1900;
	var maxYear=2100;

	function isInteger(s){
		var i;
		for (i = 0; i < s.length; i++){   
			// Check that current character is number.
			var c = s.charAt(i);
			if (((c < "0") || (c > "9"))) return false;
		}
		// All characters are numbers.
		return true;
	}

	function stripCharsInBag(s, bag){
		var i;
		var returnString = "";
		// Search through string's characters one by one.
		// If character is not in bag, append to returnString.
		for (i = 0; i < s.length; i++){   
			var c = s.charAt(i);
			if (bag.indexOf(c) == -1) returnString += c;
		}
		return returnString;
	}

	function daysInFebruary (year){
		// February has 29 days in any year evenly divisible by four,
		// EXCEPT for centurial years which are not also divisible by 400.
		return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
	}
	function DaysArray(n) {
		for (var i = 1; i <= n; i++) {
			this[i] = 31
			if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
			if (i==2) {this[i] = 29}
	   } 
	   return this
	}

	function isDate(dtStr){
		var daysInMonth = DaysArray(12)
		var pos1=dtStr.indexOf(dtCh)
		var pos2=dtStr.indexOf(dtCh,pos1+1)
		var strMonth=dtStr.substring(0,pos1)
		var strDay=dtStr.substring(pos1+1,pos2)
		var strYear=dtStr.substring(pos2+1)
		strYr=strYear
		if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
		if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
		for (var i = 1; i <= 3; i++) {
			if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
		}
		month=parseInt(strMonth)
		day=parseInt(strDay)
		year=parseInt(strYr)
		
		//if (pos1==-1 || pos2==-1){
		//	alert("The date format should be : mm/dd/yyyy")
		//	return false
		//}
		if (strMonth.length<1 || month<1 || month>12){
			alert("Please enter a valid month")
			return false
		}
		if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
			alert("โปรดระบุวันเดือนปีเกิด ให้ถูกต้อง") //Please enter a valid day
			return false
		}
		if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
			alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
			return false
		}
		if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
			alert("โปรดระบุวันเดือนปีเกิด ให้ถูกต้อง")	//Please enter a valid date
			return false
		}
	return true
	}


	function check(frm)
	{
		var temp;
		var digit3="!#$%&'()*+,./:;<=>?@[\]^_`{|}~‘’ฯ฿ๆ๏๐๑๒๓๔๕๖๗๘๙๚๛กขฃคฆงจฉชซฌญดตฎฏฐตฒณถทธนบปผฝพฟภมยรลฤฦวศษสหฬอฮะา  ิ  ี  ื   ึ  ุ  ู โ  ่  ้  ๊  ๋  ็  ์ ำ ไ เ แ  ํ ใ ";
		var emailchars			="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@._0123456789";
		var usernameChar	="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789";
		var errmsg="";
		var obj = frm;
		if(obj.fname.value == "")
		{
			alert("กรุณากรอกชื่อด้วยค่ะ");
			obj.fname.focus();
			return false;
		}

		if(obj.lname.value == "")
		{
			alert("กรุณากรอกชื่อสกุลด้วยค่ะ");
			obj.lname.focus();
			return false;
		}

		//###### DOB #######//
		if(obj.dd.value == "" || obj.mm.value == "" || obj.yy.value == "" )
		{
			alert ('กรุณาระบุ  "วันเกิด"');
			if( obj.dd.value == "" )
				obj.dd.focus();
			if( obj.mm.value == "" )
				obj.mm.focus();
			if( obj.yy.value == "" )
				obj.yy.focus();
			return false;
		}

		if(obj.dd.value != "" && obj.mm.value != "" && obj.yy.value != "" )
		{
			//check with mm/dd/yyyy format.
			var dt = obj.mm.value +"/"+obj.dd.value +"/"+obj.yy.value;
			if (isDate(dt)==false){
				obj.dd.focus()
				return false
			}
		}


		//###### ADDR1 #######//
		/*if(obj.addr1.value == "")
		{
			alert("ระบุที่อยู่");
			obj.addr1.focus();
			return false;
		}
		//###### PROVINCE #####//
		if(obj.province.value == "")
		{
			alert("จังหวัด");
			obj.province.focus();
			return false;
		}*/
		if(obj.addr_no.value == "")
		{
			alert("ระบุที่อยู่เลขที่");
			obj.addr_no.focus();
			return false;
		}

		if(obj.addr_street.value == "")
		{
			alert("ระบุถนน");
			obj.addr_street.focus();
			return false;
		}

		if(obj.addr_tambon.value == "")
		{
			alert("ระบุตำบล/แขวง");
			obj.addr_tambon.focus();
			return false;
		}

		if(obj.province.value == "")
		{
			alert("ระบุจังหวัด");
			obj.addr_tambon.focus();
			return false;
		}

		if(obj.addr_amphur.value == "" || obj.addr_amphur.value == "0000")
		{
			alert("ระบุอำเภอ/เขต");
			obj.addr_tambon.focus();
			return false;
		}

		//###### ZIP #######//
		if(obj.zip.value == "")
		{
			alert("รหัสไปรษณีย์");
			obj.zip.focus();
			return false;
		}

		
		//=================================================
		//กำหนด Email Account
		if(obj.email.value == "")
		{
			alert("ระบุ อีเมล์แอดเดรส ที่ต้องการ");
			obj.email.focus();
			return false;
		}

		if (obj.email.value.length != 0) {
			if(obj.email.value.length >= 6){
				for (var i=0;i<obj.email.value.length;i++) {
					temp=obj.email.value.substring(i,i+1);
					if (emailchars.indexOf(temp)==-1) {
						errmsg="โปรดใส่เป็นภาษาอังกฤษ ตัวเลข . _  เท่านั้น";
						alert(errmsg);
						obj.email.focus();
						obj.email.value="";
						return false;
					}
				}
			}else{
				alert("อีเมล์แอดเดรส ที่ต้องการเปลี่ยน ต้องไม่ต่ำกว่า 6 ตัวอักษร");
				obj.email.focus();
				return false;			
			}
		}


		if( !testEmailData(obj.email,"ที่อยู่อีเมลล์ที่ใช้สมัคร ตัวอย่างการกรอก askme@nanmeebooks.com") )
			  return false;

		function testEmailData(txbx,str) {
		  var obj = txbx;
		  var atpost = obj.value.indexOf("@");
		  corpType = obj.value.substring(obj.value.lastIndexOf(".") + 1, obj.value.length);
		  corpTypeLength = corpType.length;
		  if ((atpost < 1) || (obj.value.indexOf(".",atpost) < (atpost+2)) || (corpTypeLength <= 1 || corpTypeLength > 3)) {
			alert( str );
			txbx.focus();
			return(false);
		  } else
			return(true);
		}


		//=================================================

		if(obj.tel.value == "")
		{
			alert("เบอร์โทรศัพท์");
			obj.tel.focus();
			return false;
		}

/*
		if(obj.fax.value == "")
		{
			alert("เบอร์โทรสาร");
			obj.fax.focus();
			return false;
		}
*/
		//// Username
		if(obj.username.value == "")
		{
			alert("กรุณาระบุ username ด้วยค่ะ");
			obj.username.focus();
			return false;
		}
		if (obj.username.value.length != 0) {
			if(obj.username.value.length >= 6 && obj.username.value.length <= 16){
				for (var i=0;i<obj.username.value.length;i++) {
					temp=obj.username.value.substring(i,i+1)
					if (usernameChar.indexOf(temp)==-1) {
						errmsg="โปรดใส่เป็นภาษาอังกฤษ ตัวเลข _ เท่านั้น";
						alert(errmsg);
						obj.username.focus();
						obj.username.value="";
						return false;
					}
				}
			}else{
				alert("username ที่ต้องการ ต้องไม่ต่ำกว่า 6 ตัวอักษร และไม่เกิน 16 ตัวอักษร ครับ");
				obj.username.focus();
				return false;			
			}
		}

		//========================================= Password
		if(obj.passw1.value == "")
		{
			alert("ระบุ รหัสผ่าน ");
			obj.passw1.focus();
			return false;
		}

		if (obj.passw1.value.length != 0) {
			if(obj.passw1.value.length >= 6 && obj.passw1.value.length <= 16){
				for (var i=0;i<obj.passw1.value.length;i++) {
					temp=obj.passw1.value.substring(i,i+1);
					if (usernameChar.indexOf(temp)==-1) {
						errmsg="โปรดใส่เป็นภาษาอังกฤษ ตัวเลข _  เท่านั้น";
						alert(errmsg);
						obj.passw1.focus();
						obj.passw1.value="";
						return false;
					}
				}
			}else{
				alert("รหัสผ่าน ต้องไม่ต่ำกว่า 6 ตัวอักษร และไม่เกิน 16 ตัวอักษร ค่ะ");
				obj.passw1.focus();
				return false;			
			}
		}
		//=============================================== Confirm Password 
		if(obj.passw2.value == "")
		{
			alert("ระบุ ยืนยันรหัสผ่าน ของท่านด้วยค่ะ");
			obj.passw2.focus();
			return false;
		}
		if( obj.passw1.value != obj.passw2.value ){
			alert("ยืนยันรหัสผ่าน ไม่ตรงกับรหัสผ่าน กรุณาระบุให้ตรงกัน");
			obj.passw2.focus();
			return false;		
		}
		if(obj.hintq.value == "")
		{
			alert("กรุณากรอก คำถามช่วยจำ ด้วยค่ะ");
			obj.hintq.focus();
			return false;
		}

		if(obj.answer.value == "")
		{
			alert("กรุณากรอก คำตอบ ด้วยค่ะ");
			obj.answer.focus();
			return false;
		}
		return true;

	}