    /*******************************
	*  Developed by: Anar Alishov  *
	*  Company: anarsoft.com       *
	*                              *
	*    support@anarsoft.com      *
	*                              *
	*   http://www.anarsoft.com    *
	* (C)2006 All right reserverd. *
	*******************************/

	/* CALENDAR */

	/* Calendar pre sets */
	CalendarSets = {}
	CalendarSets['month'] = {}
	CalendarSets['month']['0'] = 'Січень'
	CalendarSets['month']['1'] = 'Лютий'
	CalendarSets['month']['2'] = 'Березень'
	CalendarSets['month']['3'] = 'Квітень'
	CalendarSets['month']['4'] = 'Травень'
	CalendarSets['month']['5'] = 'Червень'
	CalendarSets['month']['6'] = 'Липень'
	CalendarSets['month']['7'] = 'Серпень'
	CalendarSets['month']['8'] = 'Вересень'
	CalendarSets['month']['9'] = 'Жовтень'
	CalendarSets['month']['10']= 'Листопад'
	CalendarSets['month']['11']= 'Грудень'
	var today = new Date();
	CalendarSets['days'] = {}
	CalendarSets['days']['0'] = 31
	CalendarSets['days']['1'] = (today.getFullYear() % 4 == 0) ? 29 : 28
	CalendarSets['days']['2'] = 31
	CalendarSets['days']['3'] = 30
	CalendarSets['days']['4'] = 31
	CalendarSets['days']['5'] = 30
	CalendarSets['days']['6'] = 31
	CalendarSets['days']['7'] = 31
	CalendarSets['days']['8'] = 30
	CalendarSets['days']['9'] = 31
	CalendarSets['days']['10']= 30
	CalendarSets['days']['11']= 31

	var today = new Date()
	var toDate = {}
	toDate['month'] = {}
	toDate['year'] = {}
	toDate['month']['prev'] = today.getMonth()-1;
	toDate['month']['curr'] = today.getMonth();
	toDate['month']['next'] = today.getMonth()+1;
	toDate['year']['prev'] = today.getFullYear()-1;
	toDate['year']['curr'] = today.getFullYear();
	toDate['year']['next'] = today.getFullYear()+1;

	DrawCalendarToday = new Date()
	CalendarLastClass = ''
	CalendarLastCell = null

	function CalendarOver(self) {
	    if (CalendarLastCell != null)
	    	CalendarLastCell.className = CalendarLastClass
    	CalendarLastClass = self.className
		CalendarLastCell = self
		self.className = 'CalendarOver'
	}

	function CalendarClick(self, calendarID, day) {
		DrawCalendarToday = new Date(DrawCalendarToday.getFullYear(), DrawCalendarToday.getMonth(), day);
		calendarID+='Done';
		eval(calendarID+'()');
	}

	function DrawCalendar(calendarID, monthID, yearID, bodyID, startYear, startMonth, exactlyYear) {
		var ltoday = DrawCalendarToday
		if (startYear!=null)
			ltoday.setFullYear(ltoday.getFullYear() + startYear)
		if (exactlyYear!=null)
			ltoday.setFullYear(exactlyYear)
		if (startMonth!=null)
			ltoday.setMonth(ltoday.getMonth() + startMonth)
		DrawCalendarToday = ltoday
		var cDate = new Date(ltoday.getFullYear(), ltoday.getMonth(), 1);
		var object = $(monthID);
		object.innerHTML = CalendarSets['month'][ltoday.getMonth()];
		object = findObject(yearID);
		object.value = ltoday.getFullYear();

		var startDate = new Date(startCalendarWeekYear, startCalendarWeekMonth - 1, startCalendarWeekDay);
		var stopDate = new Date(stopCalendarWeekYear, stopCalendarWeekMonth - 1, stopCalendarWeekDay);

		var day2Start = cDate.getDay();
		if (day2Start == 0) day2Start = 7
		var maxDays = CalendarSets['days'][ltoday.getMonth()]+1
		var weeks = 6
		var week = ''
		var weektr = ''
		var dayNo = 1
		var totalDayNo = 1
		var monthInHTML = ''
		var	needtoaddToTR = false
		cookieDate = GetCookie('tvprogrammdate');
		dateCook = (DrawCalendarToday.getDate()) + '.' + (DrawCalendarToday.getMonth()+1) + '.' + (DrawCalendarToday.getFullYear());
		myCook = (DrawCalendarToday.getMonth()+1) + '.' + (DrawCalendarToday.getFullYear());
		var startWeek2Click = false;
		for(i=1;i<weeks+1;i++) {
			week = ''
			weekDaysDone = 0
			weektr = '<td'
			if (i==weeks) weektr += ' class="LastCalendarTD"'
			else weektr += ' class="CalendarTD"'
			weektr += ' align="center" OnMouseOver="CalendarOver(this)"'
			needtoaddToTR = false
			if (totalDayNo < day2Start)
				for(w=(i*7)-6;w<(i*7)+1;w++) {
					totalDayNo++
					week += weektr + '>&nbsp;</td>'
					weekDaysDone++
					if (totalDayNo >= day2Start) break
				}
			if (totalDayNo >= day2Start)
				for(w=(i*7)-6;w<(i*7)+1;w++) if (weekDaysDone<7) {
					if (dayNo < maxDays) {
						needtoaddToTR = true;
						var todayNo =(dayNo+'.'+ myCook); 
						var curDate = new Date(cDate.getFullYear(), cDate.getMonth(), dayNo);
						if (curDate >= startDate && curDate <= stopDate)
							startWeek2Click = true;
						else
							startWeek2Click = false;

						if (startWeek2Click) {
							week += weektr +'><a href="#" OnClick="CalendarClick(this, \''+calendarID+'\',  \''+dayNo+'\')">'+ (cookieDate == todayNo ? '<b style="color: #770000;">' : '<font color="#333333">') + dayNo + (dateCook == todayNo ? '</b>' : '</font>') + '</a></td>'
						} else {
							week += weektr +'><font color="#AAAAAA">'+ dayNo + '</a></td>'
						}
					} else
						week += weektr + '>&nbsp;</td>'
					weekDaysDone++
					dayNo++
				}
			if (needtoaddToTR)
				monthInHTML += '<tr class="CalendarRow'+((i+1) % 2)+'" align="center" width="100%">'+week+'</tr>';
		}

		object = findObject(bodyID);
		object.innerHTML = '<table class="CalendarTable" cellspacing=0 cellpadding=0 width="100%"><tr align="center" width="100%"><th class="CalendarTH">Пн</th><th class="CalendarTH">Вт</th><th class="CalendarTH">Ср</th><th class="CalendarTH">Чт</th><th class="CalendarTH">Пт</th><th class="CalendarTHSAT">Сб</th><th class="CalendarTHSUN">Нд</th></tr>'+monthInHTML+'</table>'
	}

