﻿// JavaScript Document

//================Check Form Email================================
function checkformEmail(email){
	
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (filter.test(email)) {

		return true;

	}else{

		return false;

	}

 }

//------------------check number----------------

function checkNum(Num){
   var ValidChars = "0123456789";  
   var IsNumber=true;  
   var Char;  
    for (i = 0; i < Num.length && IsNumber == true; i++){   
      	  Char =Num.charAt(i);   
		  if (ValidChars.indexOf(Char) == -1){  
				IsNumber = false; 
		  }  
     }
	 if(IsNumber==false){ 
             return false; 
	 }else{
		 	 return true;
	}

}
//-----------------check detail of date-------------
function checkdate(date,month){
	if(month==02){
		if(date>29){
			return false;
		}else{
			return true;
		}
	}else if(month==04 || month==06 || month==09 || month==11){
		if(date>30){
			return false;
		}else{
			return false;	
		}
	}else if(month==01 || month==03 || month==05 || month==07 || month==08 || month==10 || month==12){
		if(date>31){
			return false;	
		}else{
			return true;	
		}	
	}
}

//-------------Check detail month--------------
function checkmonth(month){
	if(month>12){
		return false;
	}else{
		return true;	
	}
}

//-----------Check detail year---------
function checkyear(year){
	if(year<2000 || year > 2599){
		return false;
	}else{
		return true;	
	}	
}

//-------------Compare Date-------------
function comparedate(date1,date2){
	if(date1>date2){
		return false;
	}else{
		return true;	
	}
}

//----------------room type--------------
function checkresort(subject,roomtype){
	if(subject=="Resort"){
		if(roomtype==""){
			return false;	
		}else{
			return true;	
		}
	}else{
		return true;	
	}
}
function checkhotel(subject,roomtype){
	if(subject=="Hotel"){
		if(roomtype==""){
			return false;	
		}else{
			return true;	
		}
	}else{
		return true;	
	}
}
//-------------Check email--------------

function checkemail(){
	var day1 = document.reservations.day1.value;
	var month1 = document.reservations.month1.value;
	var year1 = document.reservations.year1.value;
	var day2 = document.reservations.day2.value;
	var month2 = document.reservations.month2.value;
	var year2 = document.reservations.year2.value;
	var date1 = year1+month1+day1;
	var date2 = year1+month2+day2;
	
	if(document.reservations.name.value=="" || document.reservations.email.value=="" || document.reservations.phone.value=="" || document.reservations.numberroom.value=="" || document.reservations.day1.value=="" || document.reservations.month1.value=="" || document.reservations.year1.value=="" || document.reservations.day2.value=="" || document.reservations.month2.value=="" || document.reservations.year2.value==""){
		alert('กรุณากรอกข้อมูลให้ครบด้วยค่ะ');
		return false;
	}else if(!checkformEmail(document.reservations.email.value)){
		alert('รูปแบบ E-mail ไม่ถูกต้องค่ะ');
		return false;
	}else if(document.reservations.email.value.length>40){
		alert('E-mailไม่เกิน 40 ตัวอักษรค่ะ');
		return false;
	}else if(!checkNum(document.reservations.phone.value)){
		alert('หมายเลขโทรศัพท์กรอกเฉพาะตัวเลขเท่านั้นค่ะ');	
		return false;
	}else if(document.reservations.phone.value.length<9 || document.reservations.phone.value.length>10){
		alert('กรุณากรอกหมายเลขโทรศัพท์ระหว่าง 9-10 ตัวเลขค่ะ');	
		return false;
	}else if(document.reservations.subject.value==""){
		alert('กรุณาเลือก Room Reservation  ด้วยค่ะ');	
		return false;
	}else if(!checkNum(document.reservations.numberroom.value)){
		alert('หมายเลขห้องกรอกเฉพาะตัวเลขเท่านั้นค่ะ');
		return false;
	}else if(!checkNum(document.reservations.year1.value)){
		alert('ปีที่ Check in กรอกเฉพาะตัวเลขเท่านั้นค่ะ');
		return false;
	}else if(document.reservations.year1.value.length<4 ||document.reservations.year1.value.length>4){
		alert('ปีที่ Check in กรอกให้ครบ 4 ตัวเลข');
		return false;
	}else if(!checkyear(document.reservations.year1.value)){
		alert('ปีที่ Check in ไม่ถูกต้องค่ะ');	
		return false;
	}else if(!checkNum(document.reservations.month1.value)){
		alert('เดือนที่ Check in กรอกเฉพาะตัวเลขเท่านั้นค่ะ');
		return false;
	}else if(document.reservations.month1.value.length<2 ||document.reservations.month1.value.length>2){
		alert('เดือนที่ Check in กรอกให้ครบ 2 ตัวเลข');
		return false;
	}else if(!checkmonth(document.reservations.month1.value)){
		alert('เดือนที่ Check in ไม่ถูกต้องค่ะ');
		return false;	
	}else if(!checkNum(document.reservations.day1.value)){
		alert('วันที่ Check in กรอกเฉพาะตัวเลขเท่านั้นค่ะ');
		return false;
	}else if(document.reservations.day1.value.length<2 ||document.reservations.day1.value.length>2){
		alert('วันที่ Check in กรอกให้ครบ 2 ตัวเลข');
		return false;
	}else if(!checkdate(document.reservations.day1.value,document.reservations.month1.value)){
		alert('วันที่ Check in ไม่ถูกต้องค่ะ');	
		return false;
	}else if(!checkNum(document.reservations.year2.value)){
		alert('ปีที่ Check out กรอกเฉพาะตัวเลขเท่านั้นค่ะ');
		return false;
	}else if(document.reservations.year2.value.length<4 ||document.reservations.year2.value.length>4){
		alert('ปีที่ Check out กรอกให้ครบ 4 ตัวเลข');
		return false;
	}else if(!checkyear(document.reservations.year2.value)){
		alert('ปีที่ Check out ไม่ถูกต้องค่ะ');	
		return false;
	}else if(!checkNum(document.reservations.month2.value)){
		alert('เดือนที่ Check out กรอกเฉพาะตัวเลขเท่านั้นค่ะ');
		return false;
	}else if(document.reservations.month2.value.length<2 ||document.reservations.month2.value.length>2){
		alert('เดือนที่ Check out กรอกให้ครบ 2 ตัวเลข');
		return false;
	}else if(!checkmonth(document.reservations.month2.value)){
		alert('เดือนที่ Check out ไม่ถูกต้องค่ะ');
		return false;	
	}else if(!checkNum(document.reservations.day2.value)){
		alert('วันที่ Check out กรอกเฉพาะตัวเลขเท่านั้นค่ะ');
		return false;
	}else if(document.reservations.day2.value.length<2 ||document.reservations.day2.value.length>2){
		alert('วันที่ Check out กรอกให้ครบ 2 ตัวเลข');
		return false;
	}else if(!checkdate(document.reservations.day2.value,document.reservations.month2.value)){
		alert('วันที่ Check out ไม่ถูกต้องค่ะ');	
		return false;
	}else if(!comparedate(date1,date2)){
		alert('วัน เดือน ปีที่ Check in ต้องอยู่ก่อน วัน เดือน ปีที่ Check out ค่ะ');
		return false;
	}else if(!checkresort(document.reservations.subject.value,document.reservations.resort.value)){
		alert('กรุณาเลือกชนิดของห้องด้วยค่ะ');	
		return false;
	}else if(!checkhotel(document.reservations.subject.value,document.reservations.hotel.value)){
		alert('กรุณาเลือกชนิดของห้องด้วยค่ะ');		
		return false;
	}

	document.reservations.submit();

}