﻿function SetupCalendar()
{
  if(window.calendar) return;
 
	function onSelect(cal) 
	{
	  if(!cal.dateClicked) return;
	  var changed = cal.initValue != cal.date;
		  cal.callCloseHandler();		
		if (changed == true && typeof cal.onUpdate == "function") cal.onUpdate(cal);
	};
  
	window.calendar = cal = new Calendar(1, null, onSelect, function(cal) { cal.hide(); });
	cal.showsTime = false;
	cal.time24 = true;
	cal.weekNumbers = true;
	cal.showsOtherMonths = true;
	cal.yearStep = 2;
	cal.setRange(2010, 2050);
	cal.setDateStatusHandler(null);
	cal.setDateFormat("%d.%m.%Y");
	cal.create();
}

Calendar.ShowPublic = function(element, date, selFunc, disFunc)
{
  SetupCalendar();

  var cal = window.calendar;
  
  cal.date = date;
  cal.initValue = cal.date;
  cal.setDateStatusHandler(disFunc);
  cal.onUpdate = selFunc;
  cal.refresh();
  cal.showAtElement(element, "bl");
}
