/*Date methods*/
var date = new function() {

	var plusDays = 7;

	this.init = function() {
		$('.fromDateSingle').datepicker( {defaultDate: 0, dateFormat: 'dd/mm/yy', minDate: 'today',  numberOfMonths: [1, 2]} );
	  	$('.fromDate').datepicker( {defaultDate: 0, dateFormat: 'dd/mm/yy', minDate: 'today',  numberOfMonths: [1, 2]} );

        $('.fromDate, .fromDateSingle').change(updateToDate);
        $('#transfer_return_bool, #transfer_return_bool2').click(toggle_transfer_date);
        $('#transfer_type, #transfer_type2').click(toggle_transfer_type);
		setFromDate();
        if ($('.toDate').length ) {
            setToDate();
        }
	}

    function toggle_transfer_date() {
        if (this.value == 'SINGLE') {
            $('.transfer_ret_form').hide();
        } else if (this.value == 'RETURN') {
            $('.transfer_ret_form').show();
        }
    }

    function toggle_transfer_type() {
        if (this.value == 'AR') {
            $('#trans_out').text('Flight arrival date and time');
            $('#trans_return').text('Flight departure date and time');
        } else if (this.value == 'RA') {
            $('#trans_out').text('Flight departure date and time');
            $('#trans_return').text('Flight arrival date and time');
        }
    }

	function updateFromDate() {
		var fromDate = $(this).val();
		var splitDate = fromDate.split("/")
		$(".from").val(splitDate[2] + "/" + splitDate[1] + "/" + splitDate[0]);
	}

	function updateToDate() {
		var searchID = this.parentNode.parentNode.parentNode.id;
		var fromDate = $(this).val();
		var splitDate = fromDate.split("/")
		var dates = calculateToDate(fromDate);
		var ty = dates[0];
		var tm = dates[1];
		var td = dates[2];
		$(".toDate").val(td + "/" + tm + "/" + ty).datepicker("option", "minDate", new Date(splitDate[2], (splitDate[1] - 1), splitDate[0], "numberOfMonths", [1, 2]));
		$(".fromDate, .fromDateSingle").val(splitDate[0] + "/" + splitDate[1] + "/" + splitDate[2]);
	}

	/* on init set From dates */
	function setFromDate() {
		var dateObj= new Date();
		var inDateObj = new Date();
		inDateObj.setDate(dateObj.getDate());
		var fy = inDateObj.getFullYear();
		var fm = inDateObj.getMonth()+1;
		var fd = inDateObj.getDate();
		if (fd < 10) {	fd = "0" + fd; }
		if (fm < 10) {	fm = "0" + fm; }
		$(".fromDate").val(fd + "/" + fm + "/" + fy);
		$(".fromDateSingle").val(fd + "/" + fm + "/" + fy);

        var fy = inDateObj.getFullYear();
        var fm = inDateObj.getMonth() + 1;
        var fd = inDateObj.getDate() + 2;
        $("#transfer_dep_date").val(fd + "/" + fm + "/" + fy);
	}

	//On init Set To Dates
	function setToDate() {
		var fromDate = $(".fromDate").val();
		var splitDate = fromDate.split("/");
		var dates = calculateToDate(fromDate);
		var ty = dates[0];
		var tm = dates[1];
		var td = dates[2];
		$(".toDate").val(td + "/" + tm + "/" + ty).datepicker( { defaultDate: + plusDays, dateFormat: 'dd/mm/yy', minDate: 'today', numberOfMonths: [1, 2]});

        /* For Transfers Only (+2 days)*/
        if ($('#transfer_dep_date').length ) {
            var fromDate = $( "#transfer_dep_date" ).val();
            var splitDate = fromDate.split("/");
            var dates = calculateToDate(fromDate);
            var ty = dates[0];
            var tm = dates[1];
            var td = dates[2];
            $("#transfer_in_date").val(td + "/" + tm + "/" + ty).datepicker( { defaultDate: + plusDays, dateFormat: 'dd/mm/yy', minDate: 'today', numberOfMonths: [1, 2]});
        }

	}

	/* Calculate To Dates*/
	function calculateToDate(fromDate) {
		var dates = new Array()
		var splitDate = fromDate.split("/")
		var dateObj= new Date(splitDate[2], (splitDate[1] - 1), splitDate[0]);
		dateObj.setDate(dateObj.getDate() + plusDays);

		dates[0] = dateObj.getFullYear();
		var month = dateObj.getMonth() + 1;
		var day = dateObj.getDate();

		if (day < 10) { day = "0" + day; }
		dates[2] = day;

		if (month < 10) { month = "0" + month; }
		dates[1] = month;
		return dates;
	}
}

$(document).ready(date.init);

/* Kill the anchors from scrolling halfways down the page...*/
$(document).ready(function() {
    $(".accordion").accordion({'active': false, collapsible: true});
});

