function Validate(strToValidate,RegPattern)
{
	var expr = new RegExp(RegPattern);
	var result = expr.test(strToValidate);
	if(result==true){
		return true;
	}else{
		return false;
	}
}
var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;

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") ) && (c != "."))) 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++)
	{   
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}
function checkInternationalPhone(strPhone)
{
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function validate(){
	if( document.getElementById('txtName').value == "" )
	{
		alert( "Please enter name" );
		document.getElementById('txtName').focus();
		return false;
	}
	if(Validate(document.getElementById("txtName").value,"[^A-Za-z\\ ]") == true)
	{
		alert("Please enter valid name");
		document.getElementById("txtName").focus();
		return false
	}
		
	if( document.getElementById('txtEmail').value == "" )
	{
		alert( "Please enter email" );
		document.getElementById('txtEmail').focus();
		return false;
	}
	if(Validate(document.getElementById("txtEmail").value,"[A-Za-z0-9_\\.][A-Za-z]*@[A-Za-z]*\\.[A-Za-z0-9]") == false)
	{
		alert("Please enter valid email");
		document.getElementById("txtEmail").focus();
		return false
	}
	if( document.getElementById('txtMobile').value == "" )
	{
		alert( "Please enter mobile number" );
		document.getElementById('txtMobile').focus();
		return false;
	}
	if(checkInternationalPhone(document.getElementById("txtMobile").value)==false)
	{
		alert("Please enter valid mobile number");
		document.getElementById("txtMobile").focus();
		return false
	}
	if( document.getElementById('txtPhone').value == "" )
	{
		alert( "Please enter phone number" );
		document.getElementById('txtPhone').focus();
		return false;
	}
	if(checkInternationalPhone(document.getElementById("txtPhone").value)==false)
	{
		alert("Please enter valid phone number");
		document.getElementById("txtPhone").focus();
		return false
	}	
	if( document.getElementById('txtAddress1').value == "" )
	{
		alert( "Please enter address" );
		document.getElementById('txtAddress1').focus();
		return false;
	}
	if( document.getElementById('country_list').selectedIndex == 0 )
	{
		alert( "Please select a country" );
		document.getElementById('country_list').focus();
		return false;
	}
	if( document.getElementById('txtComments').value == "" )
	{
		alert( "Please enter comments" );
		document.getElementById('txtComments').focus();
		return false;
	}	
return true;
}

function validateBooking(){
	if( document.getElementById('txtName1').value == "" )
	{
		alert( "Please enter name." );
		document.getElementById('txtName1').focus();
		return false;
	}
	if(Validate(document.getElementById("txtName1").value,"[^A-Za-z\\ ]") == true)
	{
		alert("Please enter valid name.");
		document.getElementById("txtName1").focus();
		return false
	}
		
	if( document.getElementById('txtEmail1').value == "" )
	{
		alert( "Please enter email." );
		document.getElementById('txtEmail1').focus();
		return false;
	}
	if(Validate(document.getElementById("txtEmail1").value,"[A-Za-z0-9_\\.][A-Za-z]*@[A-Za-z]*\\.[A-Za-z0-9]") == false)
	{
		alert("Please enter valid email.");
		document.getElementById("txtEmail1").focus();
		return false
	}
	if( document.getElementById('txtPhone1').value == "" )
	{
		alert( "Please enter phone number." );
		document.getElementById('txtPhone1').focus();
		return false;
	}
	if(checkInternationalPhone(document.getElementById("txtPhone1").value)==false)
	{
		alert("Please enter valid phone number.");
		document.getElementById("txtPhone1").focus();
		return false;
	}	
	if( document.getElementById('cmdApartment').selectedIndex == 0 )
	{
		alert( "Please select an apartment." );
		document.getElementById('cmdApartment').focus();
		return false;
	}
	if( document.getElementById('txtStartDate').value == "DD-MM-YY" )
	{
		alert( "Please select checkin date." );
		document.getElementById('txtStartDate').focus();
		return false;
	}else{
		var todays_date = new Date();
		var monthday    = todays_date.getDate();
		var monthnumber = todays_date.getMonth()+1;
		var year        = todays_date.getFullYear();

		selected_date = document.getElementById("txtStartDate").value;
		parse_date = selected_date.split("-");
		if( year > (parse_date[2]) || monthnumber > (parse_date[1]) )
		{
			alert("Please select a valid date. May you have picked up past checkin date.");
			document.getElementById("txtStartDate").focus();
			return false;
		}
		else if( year == (parse_date[2]) && monthnumber == (parse_date[1]) && monthday > (parse_date[0]) )
		{
			alert("Please select a valid date. May you have picked up past checkin date*");
			document.getElementById("txtStartDate").focus();
			return false;
		}
		}
	if( document.getElementById('txtEndDate').value == "DD-MM-YY" )
	{
		alert( "Please select checkout date." );
		document.getElementById('txtEndDate').focus();
		return false;
	}else{
		var todays_date = new Date();
		var monthday    = todays_date.getDate();
		var monthnumber = todays_date.getMonth()+1;
		var year        = todays_date.getFullYear();

		selected_date = document.getElementById("txtEndDate").value;
		parse_date = selected_date.split("-");
		if( year > (parse_date[2]) || monthnumber > (parse_date[1]) )
		{
			alert("Please select a valid date. May you have picked up past checkout date.");
			document.getElementById("txtEndDate").focus();
			return false;
		}
		else if( year == (parse_date[2]) && monthnumber == (parse_date[1]) && monthday > (parse_date[0]) )
		{
			alert("Please select a valid date. May you have picked up past date*");
			document.getElementById("txtStartDate").focus();
			return false;
		}
	}
		start_date = document.getElementById("txtStartDate").value;
		end_date = document.getElementById("txtEndDate").value;
		parse_start_date = start_date.split("-");
		parse_end_date = end_date.split("-");
		if( (parse_start_date[2]) > (parse_end_date[2]) || (parse_start_date[1]) > (parse_end_date[1]) )
		{
			alert("Please select a valid date. Checkout date should be ahead of checkin date");
			document.getElementById("txtStartDate").focus();
			return false;
		}
		else if( (parse_start_date[2]) == (parse_end_date[2]) && (parse_start_date[1]) == (parse_end_date[1]) && (parse_start_date[0]) > (parse_end_date[0]) )
		{
			alert("Please select a valid date. Checkout date should be ahead of checkin date.");
			document.getElementById("txtStartDate").focus();
			return false;
		}
return true;
}



function validatePayment(){
	if( document.getElementById('txtBookingNumber').value == "" )
	{
		alert( "Please enter booking number." );
		document.getElementById('txtBookingNumber').focus();
		return false;
	}
	var r	=	isInteger(document.getElementById('txtBookingNumber').value);
	if(!r){
		alert( "Please enter valid booking number." );
		document.getElementById('txtBookingNumber').focus();
		return false;
		}
	if( document.getElementById('txtPaymentAmount').value == "" )
	{
		alert( "Please enter payment amount." );
		document.getElementById('txtPaymentAmount').focus();
		return false;
	}
	var r	=	isInteger(document.getElementById('txtPaymentAmount').value);
	if(!r){
		alert( "Please enter valid payment amount." );
		document.getElementById('txtPaymentAmount').focus();
		return false;
		}
return true;
}
