var DateManager = function(){
	var selectedDate;
	var allowedDates;
	var redirectUrl;

	var onDateSelect = function(dateStr,o){
		window.location.href = redirectUrl+"&date="+o._currentYear+"-"+(o._currentMonth+1)+"-"+o._currentDay;
	}

	var validateDate = function(date) {
		var dl = allowedDates.length;

		var month = date.getMonth()+1;
		month = (month < 10)? "0"+month : month;
		var day = (date.getDate() < 10)? "0"+date.getDate() : date.getDate()
		var dateStr = date.getFullYear()+"-"+month+"-"+day;
		for(var i=0; i<dl; i++){
			if(allowedDates[i] == dateStr){
				return [true, ''];
			}
		}
		return [false, 'not-allowed-date'];
	}

	return {
		init: function(containerId){
			$('#'+containerId).attachDatepicker({
				defaultDate: selectedDate,
				onSelect: onDateSelect,
				closeAtTop: false,
				showOtherMonths: true,
				changeMonth: false,
				changeYear: false,
				beforeShowDay: validateDate
			});
		},

		setAllowedDates: function(arrDates){
			allowedDates = arrDates;
		},

		setSelectedDate: function(timestamp){
			selectedDate = new Date(timestamp);
		},

		setRedirectUrl: function(url){
			redirectUrl = url;
		},

		loadByDate: function(date){
			window.location.href = redirectUrl+"&date="+date;
		}
	}
}();