// JavaScript Document
function daysInMonth(iMonth, iYear){
	return 32 - new Date(iYear, iMonth, 32).getDate();
}
function toOrdinal(number){
	var n = number % 100;
	var suff = ["th","st","nd","rd","th"];
	var ord = n<21?(n<4 ? suff[n]:suff[0]): (n%10>4 ? suff[0] : suff[n%10]);
	return number + ord;
}
function set_days(object,month,year,date){
	object.html("");
	var mydate = new Date();
	var myoptions = "";
	for(i=1;i<=daysInMonth(month,year);i++){
		mydate.setFullYear(year,month,i);
		disabled = "";
		bgcolor = "#FFF";
		if(mydate.getDay()==6){
			bgcolor = "#DDD";
		}
		if(mydate.getDay()==0){
			bgcolor = "#DDD";
			disabled = "disabled='disabled'";
		}
		if(date == i){
			//$(object).append($("<option selected style='background-color:"+bgcolor+"></option>").html(toOrdinal(i)).attr("value",i));
			myoptions = myoptions + "<option selected style='background-color:"+bgcolor+"' value='"+i+"'>"+toOrdinal(i)+"</option>";
		}else{
			myoptions = myoptions + "<option style='background-color:"+bgcolor+"' value='"+i+"' "+disabled+">"+toOrdinal(i)+"</option>";
			//$(object).append($("<option style='background-color:"+bgcolor+" "+disabled+"></option>").html(toOrdinal(i)).attr("value",i));
		}
	}
	object.html(myoptions);
	//object.val(date);
}


function check_dropoff(show_alert){
	
	valid = true;
	pm = $("#pickup_month").val().split("/");
	dm = $("#dropoff_month").val().split("/");
	pd = Array(parseInt($("#pickup_day").val()),parseInt(pm[0]),parseInt(pm[1]));
	dd = Array(parseInt($("#dropoff_day").val()),parseInt(dm[0]),parseInt(dm[1]));
	if(dd[2]<pd[2]){
		valid = false;
	}
	if(dd[1]<pd[1] && dd[2]<=pd[2]){
		valid = false;
	}
	if(dd[0]<pd[0] && dd[1]<=pd[1] && dd[2]<=pd[2]){
		valid = false;
	}
	if(!valid){
		if(show_alert){
			alert("Your dropoff date cannot be before your pickup date");
		}
		$("#dropoff_day").html($("#pickup_day").html());
		$("#dropoff_day").val(parseInt($("#pickup_day").val())+1);
		$("#dropoff_month").html($("#pickup_month").html());
		$("#dropoff_month").val($("#pickup_month").val());
		$("#dropoff_date").val($("#dropoff_day").val()+"/"+$("#dropoff_month").val());
		return false;
	}else{
		return true;	
	}
	
}

function booking(id,price){
	$("#quick_quote").attr({"action":"extras.html"});
	$("#vehicle_id").val(id);
	$("#booking_price").val(price);
	//alert(id);
	$("#quick_quote").submit();
	
}

function check_weekend(){
	var valid = true;
	if(!check_saturday()){
		valid = false;
	}
	if(!check_sunday()){
		valid = false;
	}
	if(!check_today()){
		valid = false;
	}
	return valid;
}

function check_today(){
	var myreturn = true;
	var d = new Date();
	var now = new Date();
	pickup = $("#pickup_date").val().split("/");
	d.setFullYear(pickup[2],pickup[1]-1,pickup[0]);
	if(now > d){
		alert("You cannot book a vehicle prior to today");
		myreturn = false;
	}
	return myreturn;
}

function check_saturday(){
	pd = $("#pickup_date").val().split("/");
	dd = $("#dropoff_date").val().split("/");
	my_pd = new Date;
	my_dd = new Date;
	my_pd.setFullYear(pd[2],pd[1]-1,pd[0]);
	my_dd.setFullYear(dd[2],dd[1]-1,dd[0]);
	var valid = true;
	if(my_pd.getDay() == 6){
		if($("#pickup_hour").val() == 8 && $("#pickup_minute").val() < 30){
			valid = false;
		}
		if($("#pickup_hour").val()+$("#pickup_minute").val() > 1230){
			valid = false;
		}
	}
	if(my_dd.getDay() == 6){
		if($("#dropoff_hour").val() == 8 && $("#dropoff_minute").val() < 30){
			valid = false;
		}
		if($("#dropoff_hour").val()+$("#dropoff_minute").val() > 1230){
			valid = false;
		}
	}
	if(!valid){
		alert("Opening times for Saturday are 8:30 to 12:30");
	}
	return valid;
}
function check_sunday(){
	pd = $("#pickup_date").val().split("/");
	dd = $("#dropoff_date").val().split("/");
	my_pd = new Date;
	my_dd = new Date;
	my_pd.setFullYear(pd[2],pd[1]-1,pd[0]);
	my_dd.setFullYear(dd[2],dd[1]-1,dd[0]);
	var valid = true;
	if(my_pd.getDay() == 0){
		valid = false;
	}
	if(my_dd.getDay() == 0){
		valid = false;
	}
	if(!valid){
		alert("Sorry we are not open on sundays");
	}
	return valid;
}
function noSunday(date){
	var day = date.getDay();
	return[(day > 0),''];
}

$(document).ready(function(){
						   
	// get today's date
	var d = new Date();
	
	// if the date fields are not set then add in todays date and set the rest of the form.
	if($("#pickup_date").val() != "" && $("#pickup_date").val() != undefined){
		pm = $("#pickup_date").val().split("/");
		set_days($("#pickup_day"),d.getMonth(),d.getFullYear(),pm[0]);
		$("#pickup_month").val(pm[1]+"/"+pm[2]);
	}else{
		set_days($("#pickup_day"),d.getMonth(),d.getFullYear(),d.getDate());
		$("#pickup_date").val($("#pickup_day").val()+"/"+$("#pickup_month").val());
	}
	if($("#dropoff_date").val() != "" && $("#dropoff_date").val() != undefined){
		dm = $("#dropoff_date").val().split("/");
		set_days($("#dropoff_day"),d.getMonth(),d.getFullYear(),dm[0]);
		$("#dropoff_month").val(dm[1]+"/"+dm[2]);
	}else{
		set_days($("#dropoff_day"),d.getMonth(),d.getFullYear(),d.getDate()+1);
		$("#dropoff_date").val($("#dropoff_day").val()+"/"+$("#dropoff_month").val());
	}
	
	
	$("#pickup_month").change(function(){
	  	sel_date = $(this).val().split("/");
		set_days($("#pickup_day"),sel_date[0]-1,sel_date[1],1);
		check_dropoff(false);
		$("#pickup_date").val($("#pickup_day").val()+"/"+$("#pickup_month").val());
	});
	$("#pickup_day").change(function(){
		check_dropoff(false);
		$("#pickup_date").val($("#pickup_day").val()+"/"+$("#pickup_month").val());
	});
	
	$("#dropoff_month").change(function(){
	  	sel_date = $(this).val().split("/");
		set_days($("#dropoff_day"),sel_date[0]-1,sel_date[1],1);
		if(check_dropoff(true)){
			$("#dropoff_date").val($("#dropoff_day").val()+"/"+$("#dropoff_month").val());
		}
	});
	$("#dropoff_day").change(function(){
		if(check_dropoff(true)){
			$("#dropoff_date").val($("#dropoff_day").val()+"/"+$("#dropoff_month").val());
		}
	});
	$('#pickup_date').datepick({showOn: 'button', buttonImageOnly: true, buttonImage: '/images/calendar.gif', dateFormat: 'd/m/yy', yearRange:'+0:+1', beforeShowDay:noSunday});
	
	$('#pickup_date').change(function(){
		pd = $('#pickup_date').val().split("/");
		set_days($("#pickup_day"),pd[1]-1,pd[2],pd[0]);
		$('#pickup_month').val(pd[1]+"/"+pd[2]);
		check_dropoff(false);
	});
	$('#dropoff_date').datepick({showOn: 'button', buttonImageOnly: true, buttonImage: '/images/calendar.gif', dateFormat: 'd/m/yy', yearRange:'+0:+1', beforeShowDay:noSunday});
	
	$('#dropoff_date').change(function(){
		dd = $('#dropoff_date').val().split("/");
		set_days($("#dropoff_day"),dd[1]-1,dd[2],dd[0]);
		$('#dropoff_month').val(dd[1]+"/"+dd[2]);
		check_dropoff(true);
	});
	$('.conditions_link').click(function(){
		window.open('hiring_conditions.html','','width=700,height=800,menubar=yes,scrollbars=yes');
		return false;
	});
	$("#booking_form").submit(function(){
		if(!$("#tandc").attr("checked")){
			alert("You must agree to our Hiring Conditions before proceeding");
			return false;
		}
	});
	$("#additional").click(function(){
		price = parseFloat($("#booking_price").val());
		add = parseFloat($(this).val());
		if($(this).attr("checked")){
			total = price+add;
		}else{
			total = price-add;
		}
		$(".v_price").html("&pound;"+(+total.toFixed(2)));
		$("#booking_price").val(+total.toFixed(2));
	});
	$("#young_old").click(function(){
		price = parseFloat($("#booking_price").val());
		add =parseFloat($(this).val());
		if($(this).attr("checked")){
			total = price+add;
		}else{
			total = price-add;
		}
		$(".v_price").html("&pound;"+(+total.toFixed(2)));
		$("#booking_price").val(+total.toFixed(2));
	});
	$("#babyseat").click(function(){
		price = parseFloat($("#booking_price").val());
		add = parseFloat($(this).val());
		if($(this).attr("checked")){
			total = price+add;
		}else{
			total = price-add;
		}
		$(".v_price").html("&pound;"+(+total.toFixed(2)));
		$("#booking_price").val(+total.toFixed(2));
	});
	$("#booster").click(function(){
		price = parseFloat($("#booking_price").val());
		add = parseFloat($(this).val());
		if($(this).attr("checked")){
			total = price+add;
		}else{
			total = price-add;
		}
		$(".v_price").html("&pound;"+(+total.toFixed(2)));
		$("#booking_price").val(+total.toFixed(2));
	});
	$("#gps_nav").click(function(){
		price = parseFloat($("#booking_price").val());
		add = parseFloat($(this).val());
		if($(this).attr("checked")){
			total = price+add;
		}else{
			total = price-add;
		}
		$(".v_price").html("&pound;"+(+total.toFixed(2)));
		$("#booking_price").val(+total.toFixed(2));
	});
	$("#sack_truck").click(function(){
		price = parseFloat($("#booking_price").val());
		add = parseFloat($(this).val());
		if($(this).attr("checked")){
			total = price+add;
		}else{
			total = price-add;
		}
		$(".v_price").html("&pound;"+(+total.toFixed(2)));
		$("#booking_price").val(+total.toFixed(2));
	});
});


