function isNotValid(str){
	var inVal = false;
	if (str.length == 0){
		inVal = true;
	}
	return inVal;
}

function validateEmail(address) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(address) == false) {
      return false;
   }
   return true;
}
function validatePhone(phone) {
	var reg = /^[0-9\-\.\ ]+$/;
   if(reg.test(phone) == false) {
      return false;
   }
   return true;
}
function showError(errStr){
  	$("#errmsg").text(errStr);
	var off = $("#sbmt").offset();
	$("#errorBox").css("top",off.top - 220 + "px");
	$("#errorBox").show();
}
function getDate(){
	var dat = new Date();
	var dd = "0" + dat.getDate();
	var mm = "0" + (dat.getMonth()+1);
	var yyyy = dat.getFullYear();
	dd = dd.length == 3?dd.substr(1):dd;
	mm = mm.length == 3?mm.substr(1):mm; 
	return dd+"/"+mm+"/"+yyyy
}
function parseDate(dat){
	var yy = parseInt(dat.substr(6,4),10);
	var mm = parseInt(dat.substr(3,2),10)-1;
	var dd = parseInt(dat.substr(0,2),10);
	var objDat = new Date(yy,mm,dd,0,0,0,0);
	return objDat;
}
$(document).ready(function(){
	$("body").prepend("<div id='errorBox'><h1>Error</h1><p id='errmsg'>Error Message</p><p><a href='#' id='closeLink'>Close</a></p></div>")
	$("#arrive, #depart").dynDateTime({
		button: ".next()",
		ifFormat: "%d/%m/%Y",
		daFormat: "%d/%m/%Y"
	});

	var today = getDate();
	$("#arrive, #depart").val(today);
	$("#arrive, #depart").attr("readonly","readonly");
	$("#datsel1, #datsel2").show();
	$("#closeLink").click(function(){
		$("#errorBox").hide();
		return false;
	})
	
	if (Modernizr.borderradius){
	   $("div#left,div#main").equalHeights();
	 }else{
    	Nifty("div#wrapper,div#footer p");
    	Nifty("div#left,div#centerpad","same-height");
	}
	
	$("#bookingform").submit(function(){
		var ensuite = $("#ensuite").val();
		var bunk = $("#bunk").val();
		var arr	= $("#arrive").val();
		var dep = $("#depart").val();
		var title = $("#title").val();
		var first = $("#first").val();
		var last = $("#last").val();
		var addr1 = $("#addr1").val();
		var town = $("#town").val();
		var county = $("#county").val();
		var pcode = $("#pcode").val();
		var tel = $("#tel").val();
		var email = $("#email").val();
		var serv = $("#service").val();
		var oth = $("#other").val();
		
		
		var arrival;
		var depart;
	  	$("#errorBox").hide();
	  	if(isNaN(bunk + ensuite)||bunk + ensuite == 0){
	  	  	showError("Please Enter the Number of Guests");
	  		return false;
	  	}
	  	

  		arrival = parseDate(arr);
  		depart = parseDate(dep);
  		if (arrival >= depart){
  			showError("Please enter a Departure date which is later than your Arrival date")
  			return false;
  		}

	  	if (isNotValid(title)){
	  		showError("Please Enter Your Title/Rank");
	  		return false;
	  	}
	  	if (isNotValid(first)){
	  		showError("Please Enter Your First Name");
	  		return false;
	  	}
	  	if (isNotValid(last)){
	  		showError("Please Enter Your Last Name");
	  		return false;
	  	}
	  	if (isNotValid(addr1)){
	  		showError("Please Enter Your Address");
	  		return false;
	  	}
	  	if (isNotValid(town)){
	  		showError("Please Enter Your Town");
	  		return false;
	  	}	  	
	  	if (isNotValid(pcode)){
	  		showError("Please Enter Your Post Code");
	  		return false;
	  	}
	  	if (!validatePhone(tel)){
	  		showError("Please Enter a Valid Phone Number");
	  		return false;
	  	}
	  	if (serv == "other" && isNotValid(oth)){
	  		showError("Please Enter a Valid Service/Company Name");
	  		return false;
	  	}
	  	if (!validateEmail(email)){
	  		showError("Please Enter a Valid email address");
	  		return false;
	  	}
		
	  	$("#valid").val("valid");  	
	  	return true;
		
		
	
	})
})
