// JS êàëåíäàðü
var calendar = null; 


// Ôóíêöèÿ âûçûâàåòñÿ êîãäà þçåð êëèêàåò íà äàòå
function selected(cal, date) {
	cal.sel.value = date; // îáíîâëÿåò çíà÷åíèå ïîëÿ èíïóòà
}

// âûçûâàåòñÿ êîãäà ïîëüçîâàòåëü êëèêàåò ïîäàòå èëè íàæèìàåò êíîïêó çàêðûòü
function closeHandler(cal) {
	cal.hide();			// ñêðûòü êàëåíäàðü

	Calendar.removeEvent(document, "mousedown", checkCalendar);
}

// âûçûâàåòñÿ êîãäà ïîëüçîâàòåëü íàæèìàåò íà êíîïêó ìûøè â ëþáîì ìåñòå äîêóìåíòà êðîìå êàëåíäàðÿ. êàëåíäàðü çàêðûâàåòñÿ
function checkCalendar(ev) {
	var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);
	for (; el != null; el = el.parentNode)
	
	if (el == calendar.element || el.tagName == "A") break;
	if (el == null) {
		// âûçûâàåò closeHandler äëÿ çàêðûòèÿ êàëåíäàðÿ
		calendar.callCloseHandler(); Calendar.stopEvent(ev);
	}
}

// Ôóíêöèÿ îòîáðàæåíèÿ êàëåíäàðÿ
function showCalendar(id) {
	var el = document.getElementById(id);
	if (calendar != null) {
		// åñëè óæå îêðûò òî îáíîâëÿåì.
		calendar.hide();		// ñêðûâàåò ñóùåñòâóþùèé êàëåíäàðü
		calendar.parseDate(el.value); // ïîñûëàåò íîâóþ äàòó
	} else {
		// ïåðâûé âûçîâ, ñîçäàíèå îáúåêòà êàëåíäàðÿ
		var cal = new Calendar(true, null, selected, closeHandler);
		calendar = cal;		
		cal.setRange(1970, 2070);	// ìèí/ìàêñ ãîä îòîáðàæåíèÿ
		calendar.create();		// ñîçäàåò âñïëûâàþùåå îêíî êàëåíäàðÿ
	}
	calendar.sel = el;		// óêàçûâàåò íà èñïîëüçóåìîå ïîëå input
	calendar.showAtElement(el);	// ïîêàçûâàåò êàëåíäàðü äëÿ ñëåä.input

	Calendar.addEvent(document, "mousedown", checkCalendar);
	return false;
}
