DP_jQuery.datepicker.Pickers = [];

Agenda = {
	init: function(id,checked){
		if($('#'+id).is('div')){
			this.id = id;
			this.checked = checked;
			this.date = new Date();
			
			var picker = '#'+this.id;
			picker = picker.toString();
			DP_jQuery.datepicker.Pickers[picker] = this;
			
			Agenda.getDatePicker();
		}else{
			alert('DIV #'+id+' manquante !');
		}
	},
	
	getDatePicker: function(){
		
		var myobject = this;
		
		var d = new Date();
		var currentYear = d.getFullYear();
		var currentMonth = d.getMonth()+1;
		var currentDay = d.getDate();
		
		$('#'+myobject.id).datepicker({
			inline: true,
			defaultDate: myobject.date,
			firstDay: 1,
			minDate: new Date(currentYear, currentMonth - 1, 1),
			maxDate: '+1y -'+currentDay+'d',
			dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
			monthNames: ['Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin','Juillet','Ao&ucirc;t','Septembre','Octobre','Novembre','D&eacute;cembre']
		});
		
		$('#'+myobject.id).find('.ui-state-active').removeClass('ui-state-active').removeClass('ui-state-highlight').removeClass('ui-state-hover');
		
		Agenda.refreshCalendar();
		
		DP_jQuery.datepicker._adjustDate = Agenda._adjustDate;
		DP_jQuery.datepicker._selectDay = Agenda._selectDay;
	},
	
	refreshCalendar: function(){
		var myobject = this;
		var mydate = $('#'+this.id).datepicker('getDate');
		var d = new Date(mydate);
		var mois = ['01','02','03','04','05','06','07','08','09','10','11','12'];
		var jour = ['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31'];
		var mois = (d.getFullYear()+'-'+mois[d.getMonth()]);
		
		$('#'+this.id).find('td a').each(function(i){
			var day = mois+'-'+jour[$(this).html()-1];
			//$(this).attr('title',day);
			
			if(in_array(day,myobject.checked)){
				$(this).attr('title','Non disponible');
				//$(this).addClass('ui-state-active');
				$(this).addClass('ui-state-disabled');
			}else{
				$(this).attr('title','Date disponible');
			}
		});
	},
	
	_adjustDate: function(obj, incre, type){
		var myobject = DP_jQuery.datepicker.Pickers[obj];
		
		var d = new Date($(obj).datepicker('getDate'));
		d.setMonth(d.getMonth()+incre);
		$(obj).datepicker('destroy');
		myobject.date = d;
		myobject.getDatePicker();
	},
	
	_selectDay: function(){
	}
};

function in_array (needle, haystack, argStrict) {
 
    var key = '', strict = !!argStrict;
 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
 
    return false;
}