var saveOnClick = false;
var saveMethod;

document.observe('dom:loaded',function(){initCalendars()});
//Event.observe(window,'load',function(){initCalendars()});
function initCalendars(){
	$$('.calendar:not([class~=processed])').each(function(e){enqueue(initCalendar,e)});
}
function initCalendar(target){
	target = $(target).addClassName('processed');
	var options = { 
		titleformat:'mmmm yyyy',
		closebutton:'X',
		dayheadlength:2,
		weekdaystart:0,
		planner:  [ ],
		tabular: false,
		exactweeks: true,
		prevbutton: '<img src="content/images/modules/calendarWidget/btn_prevMo.gif" />',
		nextbutton: '<img src="content/images/modules/calendarWidget/btn_nextMo.gif" />'
		};
	if( typeof(planner) != 'undefined' ) options.planner = planner;
	if ( typeof(startDate) == 'object' ) { 
		options.day = startDate.day;
		options.month = startDate.month;
		options.year = startDate.year;
	}
	//console.log(options);
	calendar = new scal(target, Prototype.K, options);
	if(target.readAttribute('multiple') == 'multiple') initMultiSelectCalendar(target,calendar);
	return calendar;
}
function initMultiSelectCalendar(target,calendar){
	$(calendar).updateelement = dateClicked.curry(calendar);
	$(target).calendar = calendar;
	$(target).formSelect = $(target).next('select');	
}
function dateClicked(cal,date,e){
	var sel = $(cal.element.formSelect);
	var d = (date.getMonth()+1)+'/'+date.getDate()+"/"+date.getFullYear();
	var opt = new Option('',d);
	$(opt).writeAttribute('selected','selected');
	if(false === cal.removeEventsByDate(date)){
		cal.setPlannerValue(date,'', 'selected');
		sel.options[sel.options.length] = opt;
	} else {
		$A(sel.options).each(function(o,i){if(o.value == d){sel.options[i]=null;throw $break;}});
	}
	if (saveOnClick)
	{
	    eval(saveMethod);
	}
}
