function deleteBooking(id){
	var form = document.getElementById("deleteForm");
	var deleteId = document.createElement("input");
	deleteId.setAttribute("type", "hidden");
	deleteId.setAttribute("name", "deleteBooking");        
	deleteId.setAttribute("value", id);
	
	form.appendChild(deleteId);

	form.submit();
}

function availFormCheck(){
	nowDate = new Date();
	
	var formFromDate = document.getElementById("inputFromDate").value;
	var formToDate = document.getElementById("inputToDate").value;
	
	formFromDate = formFromDate.split("-");
	formToDate = formToDate.split("-");
	
	var fromDay = formFromDate[0];
	var fromMonth = formFromDate[1] - 1;
	var fromYear = formFromDate[2];
	
	var toDay = formToDate[0];
	var toMonth = formToDate[1] - 1;
	var toYear = formToDate[2];
	
	var fromDate = new Date();
	fromDate.setDate(fromDay);
	fromDate.setMonth(fromMonth);
	fromDate.setFullYear(fromYear);
	
	var toDate = new Date();
	toDate.setDate(toDay);
	toDate.setMonth(toMonth);
	toDate.setFullYear(toYear);
	
	var result = true;
	
	if(fromDate >= toDate){
		alert("Please make sure that your check-out\ndate is after your check-in date!");
		result = false;
	}
	
	
	
	if(fromDate < nowDate){
		alert("Please make sure your check-in date is no earlier than today's date!");
		result = false;
	}
	return result;
}

var message = "Your payment form contains errors.\nPlease correct items marked in red.\n\n";
function validatePaymentDetails(){
	var result = true;
	
	var firstName = testTextField("firstName");
	var surname = testTextField("surname");
	var houseNum = testTextField("houseNum");
	var street = testTextField("street");
	var city = testTextField("city");
	var county = testTextField("county");
	var country = testTextField("country");
	var postcode = testTextField("postcode");
	var tels = testTelFields();
	var emails = validateEmail();
	var cardNum = validateCardNum();
	var issueNum = validateIssueNum();
	var cvv2 = validateCvv2();
	var dates = validateDates();
	
	result = (firstName && surname && houseNum && street && city && county && country && postcode && tels && emails && cardNum && issueNum && cvv2 && dates);
	if(!result){
		alert(message);
		message = "Your payment form contains errors.\nPlease correct items marked in red.\n\n";
	}
	return result;
	//return false;	
}

function testTextField(id){
	var field = document.getElementById(id).value;
	var label = document.getElementById(id + "Label");
	var result = true;
	if(field == "" || field == " " || field == null){
		result = false;
	}
	if(result){
		label.style.color = "#414141";	
	}else{
		label.style.color = "#FF0000";	
	}
	return result;
}

function testTelFields(){
	var tel = document.getElementById("tel").value;
	var mob = document.getElementById("mob").value;
	var telLabel = document.getElementById("telLabel");
	var mobLabel = document.getElementById("mobLabel");
	var result = true;
	
	telValid = testTelField(tel);
	mobValid = testTelField(mob);
	
	if(!telValid && !mobValid){
		message += "You must enter either a telephone\nor a mobile number, using digits between 0 - 9!\n\n";
		telLabel.style.color = "#FF0000";	
		mobLabel.style.color = "#FF0000";
		result = false;
	}else{
		telLabel.style.color = "#414141";	
		mobLabel.style.color = "#414141";	
	}
	
	return result;
}

function testTelField(num){
	//alert(num);
	var valid = true;
	var telno = num;
	var newTelno = "";
	var telIsNumeric = true;
	for(var i = 0; i < telno.length; i++){
		if((telno.charAt(i) < '0' || telno.charAt(i) > '9') && telno.charAt(i) != ' '){
			telIsNumeric = false;
			valid = false;
		}
	}		
	if(telIsNumeric){			
		for(var i = 0; i < telno.length; i++){
			if(telno.charAt(i) != " "){
				newTelno += telno.charAt(i);	
			}
		}
		if(newTelno.length != 11){
			valid = false;
		}
	}else{
		valid = false;
	}
	return valid;
}

function validateEmail(){
	var valid = true;
	var email = document.getElementById("email");
	var emailLabel = document.getElementById("emailLabel");
	if(email.value == "" || email.value == " " || email.value == null){
		valid = false;
	}else{
		var emailValid = false;
		var email = email.value;
		var containsAt = false;
		for(var j = 0; j < email.length; j++){
			if(email.charAt(j) == '@'){
				containsAt = true;
			}
		}
		if(containsAt){
			if(email.charAt(email.length - 3) == '.' || email.charAt(email.length - 4) == '.'){
				if(!(email.charAt(email.length - 3) == '.' && email.charAt(email.length - 4) == '.')){
					emailValid = true;	
				}
			}
		}
		if(!emailValid){
			valid = false;
		}
	}
	if(!valid){
		message += "Please enter a vaild email address\n\n";
		emailLabel.style.color = "#FF0000";
	}else{
		emailLabel.style.color = "#414141";
	}
	return valid;
}

function validateCardNum(){
	var valid = true
	var validLength = true;
	var cardNumber = document.getElementById("cardNumber").value;
	var cardNumberLabel = document.getElementById("cardNumberLabel");
	var testNumber = "";
	for(var i = 0; i < cardNumber.length; i++){
		if(cardNumber.charAt(i) != " "){
			testNumber += cardNumber.charAt(i);
		}
	}
	cardNumber = testNumber;
	if(cardNumber.length < 13 || cardNumber.length > 19){
		validLength = false;
		valid = false;
	}
	if(validLength){
		for(var i = 0; i < cardNumber.length; i++){
			if(cardNumber.charAt(i) < '0' || cardNumber.charAt(i) > '9'){
				valid = false;	
			}
		}
	}
	if(!valid){
		message += "Please enter a valid card number\n\n";
		cardNumberLabel.style.color = "#FF0000";
	}else{
		cardNumberLabel.style.color = "#414141";	
	}	
	return valid;
}

function validateIssueNum(){
	var issueNum = document.getElementById("issueNumber").value;
	var issueNumLabel = document.getElementById("issueNumberLabel");
	
	var valid = true;
	
	if(issueNum.length > 2){
		valid = false;	
	}
	if(issueNum.length > 0){	
		for(var i = 0; i < issueNum.length; i++){
			if(issueNum.charAt(i) < '0' || issueNum.charAt(i) > '9'){
				valid = false;	
			}
		}	
	}
	if(!valid){
		message += "Please enter a valid issue number\n\n";
		issueNumLabel.style.color = "#FF0000";
	}else{
		issueNumLabel.style.color = "#414141";	
	}	
	return valid;
}

function validateCvv2(){
	var cvv2 = document.getElementById("cvv2").value;
	var cvv2Label = document.getElementById("cvv2Label");
	
	var valid = true;
	
	if(cvv2.length != 3){
		valid = false;	
	}
	for(var i = 0; i < cvv2.length; i++){
		if(cvv2.charAt(i) < '0' || cvv2.charAt(i) > '9'){
			valid = false;	
		}
	}
	if(!valid){
		message += "Please enter a valid security number\n\n";
		cvv2Label.style.color = "#FF0000";
	}else{
		cvv2Label.style.color = "#414141";	
	}	
	return valid;
	
}

function validateDates(){
	var valid = true;
	var startMonth = parseInt(document.getElementById("startMonth").value);
	var startYear = parseInt(document.getElementById("startYear").value);
	var expMonth = document.getElementById("expiryMonth").value;
	var expYear = document.getElementById("expiryYear").value;
	
	var startMonthLabel = document.getElementById("startMonthLabel");
	var startYearLabel = document.getElementById("startYearLabel");
	var expMonthLabel = document.getElementById("expiryMonthLabel");
	var expYearLabel = document.getElementById("expiryYearLabel");		
	
	var nowDate = new Date();
	var nowMonth = nowDate.getMonth()+1;
	var nowYear = nowDate.getFullYear();
	
	
	if((startMonth > nowMonth && startYear >= nowYear) || startYear > nowYear){
		message += "Your card start date cannot be in the future!\n\n";
		startMonthLabel.style.color = "#FF0000";
		startYearLabel.style.color = "#FF0000";
		valid = false;
	}else{
		startMonthLabel.style.color = "#414141";
		startYearLabel.style.color = "#414141";	
	}	
	if((expMonth < nowMonth && expYear <= nowYear) || expYear < nowYear){
		message += "Your card expiry date cannot be in the past!";
		expMonthLabel.style.color = "#FF0000";
		expYearLabel.style.color = "#FF0000";
		valid = false;
	}else{
		expMonthLabel.style.color = "#414141";
		expYearLabel.style.color = "#414141";
	}
	
	return valid;
}

function checkIsNumeric(evt){	 
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57)){
		return false;
	}	
	return true;
}

