

















/*
* Generate calender day headings and clear calender grid
*/
(function($) {
$.ti.recalculateCalendarGrid = {

	// Calculate either day numbers or dates in format "Day XX"
	calculateGrid: function() {
		var count, headings, obj, day, date, month, year, column;

		headings = $('.dayHeading', '#calendarDays');

		if($.ti.tripData.trip.tripStartDate) {
			// Create date object n.b. replacing '-' with '/' for IE
			obj = new Date($.ti.tripData.trip.tripStartDate.replace(/-/g, '/'));

			for(count = 0; count < $.ti.tripData.trip.tripDuration; count += 1) {
				day = $.ti.pickDates.dayNames[obj.getDay()];
				date = $.ti.utils.padNumber(obj.getDate());
				year = obj.getFullYear();
				month = $.ti.utils.padNumber(obj.getMonth() + 1);
				column = $(headings[count]).closest('.day');
				// Append day heading
				$(headings[count]).text(day + ' ' + date);
				// Iterate day object by one day
				obj = new Date(obj.getTime() + 86400000);
				// Attach date in YYYY-MM-DD format to date object for the column
				$(column).data('date', year + '-' + month + '-' + date);
				// Add id to each grid item for that day
				$.ti.recalculateCalendarGrid.addDayIds(column, (count + 1));
			}

		} else {
			// Otherwise we simply add numbers to the days
			dayN='Dag ';
			for(count = 0; count < $.ti.tripData.trip.tripDuration; count += 1) {
				if (dayN.indexOf('#')>0)
					$(headings[count]).text(dayN.replace(/#/,''+(count + 1)));
				else
					$(headings[count]).text(dayN + (count + 1));
				column = $(headings[count]).closest('.day');
				$.ti.recalculateCalendarGrid.addDayIds(column, (count + 1));
			}
		}
		// Set droppables
		$.ti.bindDroppableGrid.bindDroppables();
	},

	// Loops through a calender column and adds ids in format "dXrX"
	addDayIds: function(column, day) {
		var count, length, rows;

		rows = $('.dayGrid', column);
		length = rows.length;

		for(count = 0; count < length; count += 1) {
			rows[count].id = 'd' + day + 'r' + (count + 1);
		}
	},

	// Remove all instances of dayGridSelected class
	clearGrid: function() {
		$('.dayGrid', '#calendarDays').removeClass('dayGridSelected');
	}

};
})(jQuery);
