
	var cd=Array();
	cd['move']=Array();

	function Forms_Cd(uniq, clock)
	{
		var date, value;

		if(uniq)
		{
			if(cd['run']) return;
			cd['run']=true;
			cd['uniq']=uniq;
			cd['clock']=clock;
		}
		else
		{
			cd['val'].value=Math.ceil(cd['new'] / 1000);
		}

		cd['elem']=GO('forms-' + cd['uniq']);
		cd['val']=GO('forms-hide-' + cd['uniq']);
		cd['view']=GO('forms-pos-' + cd['uniq']);

		value=cd['val'].value * 1000;
		cd['date']=new Date(value);

		date=new Date(value);

		cd['year_actual']=date.getFullYear();
		cd['month_actual']=date.getMonth() + 1;

		car=Forms_Cd_Vals(value ? value : date.getTime() - date.getTimezoneOffset());
		Forms_Cd_View(car);
	}



	function Forms_Cd_Vals(time)
	{
		var date, day, ret=Array(), dt;

		date=new Date(time);

		date.setDate(1);

		startmonth=date.getTime();
		month=date.getMonth() + 1;

		day=date.getDay();
		if(day == 0) day=7;

		if(day > 1)
		{
			day--;
			dt=date.getTime();
			date.setTime(date.getTime() - day * 86400000);
			startday=Math.floor(date.getTime());
			date.setTime(dt);
		}
		else
		{

			startday=startmonth;
		}

		date.setMonth(date.getMonth() - 1);
		cd['move'][1]=date.getTime();
		date.setMonth(date.getMonth() + 2);
		cd['move'][2]=date.getTime();
		date.setTime(date.getTime() - 86400000);

		day=date.getDay();
		if(day == 0) day=7;

		if(day != 7)
		{
			dt=date.getTime();
			date.setTime(date.getTime() + (7 - day) * 86400000);
			endday=Math.floor(date.getTime());
			date.setTime(dt);
		}
		else
		{
			endday=date.getTime();
		}

		ret['startday']=startday;
		ret['startmonth']=startmonth;
		ret['endday']=endday;
		ret['month']=month;

		return ret;
	}



	function Forms_Cd_Move(mode)
	{
		cd['new']=cd['move'][mode];
		Forms_Cd();
	}



	function CdCl()
	{
		var tx, i;

		tx='<div class="cdcl">';
		tx+='<table>';
		tx+='<colgroup><col class="cdcl-col-01" /><col class="cdcl-col-01" /><col /><col class="cdcl-col-01" /></colgroup>';
		tx+='<tr><td>';
			tx+='<div>';
			for(i=1; i<=12; i++)
			{
				tx+='<a href="funkce: Vybrat hodinu ' + i + '" onclick="Forms_Cd_Select(' + i + '); return false;" class="cdcl-h-' + i + '">' + i + '</a>';
			}
			tx+='</div>';
		tx+='</td><td>';
			tx+='<div class="cdcl-night">';
			for(i=13; i<=24; i++)
			{
				tx+='<a href="funkce: Vybrat hodinu ' + i + '" onclick="Forms_Cd_Select(' + ((i == 24) ? 0 : i) + '); return false;" class="cdcl-h-' + i + '">' + i + '</a>';
			}
			tx+='</div>';
		tx+='</td><td>';
			tx+='<input type="text" id="cdcl-date" readonly="readonly" />';
			tx+='<input type="text" id="cdcl-time" readonly="readonly" />';
			tx+='<button type="button" onclick="CdClOk(false, false, true);">OK</button>';
		tx+='</td><td>';
			tx+='<div class="cdcl-min">';
			for(i=0; i<=55; i+=5)
			{
				tx+='<a href="funkce: Vybrat minutu ' + i + '" onclick="Forms_Cd_Select(' + i + ', 2); return false;" class="cdcl-m-' + i + '">' + i + '</a>';
			}
			tx+='</div>';
		tx+='</td></tr>';
		tx+='</table>';
		tx+='</div>';

		cd['view'].innerHTML=tx;
	}



	function CdClSet()
	{
		var minute, rst, rst2;

		//time=cd['time'] + (cd['clock_hour'] * 3600000) + (cd['clock_minute'] * 60000);

		//date=new Date(time);

		minute=cd['date'].getMinutes();
		if(minute < 10) minute='0' + minute;
		rst=cd['date'].getHours() + ':' + minute;
		rst2=cd['date'].getDate() + '. ' + (cd['date'].getMonth() + 1) + '  ' + cd['date'].getFullYear();

		GO('cdcl-date').value=rst2;
		GO('cdcl-time').value=rst;

		return rst;
	}



	function CdClOk(view)
	{
		//var time;

		if(!view)
		{
			view=CdClSet();
		}

		//time=cd['time'] + (cd['clock_hour'] * 3600000) + (cd['clock_minute'] * 60000);

		GO(cd['val']).value=Math.ceil(cd['date'].getTime() / 1000);
		//alert(cd['elem']);
		//cd['elem'].style.display='none';
		cd['view'].style.display='none';
		cd['view'].innerHTML='';

		//date=new Date(time);
		name=cd['date'].getDate() + '.' + CdMCZ(cd['date'].getMonth() + 1, 2) + ' ' + cd['date'].getFullYear();

		if(view != '0:00')
		{
			name+='  ' + view;
		}

		//GO(cd['view']).value=name;
		GO('forms-' + cd['uniq']).value=name;
		cd=Array();
		cd['move']=Array();
	}



	function Forms_Cd_Select(val, minute, ok)
	{
		var time, date, view;

		if(cd['clock'])
		{
			if(!cd['clock_active'])
			{
				cd['date'].setTime(val);
				cd['clock_active']=true;
				CdCl();
				CdClSet();
			}
			else
			{
				if(minute)
				{
					cd['date'].setMinutes(val);
					view=CdClSet();
					CdClOk(view);

				}
				else
				{
					cd['date'].setHours(val);
					CdClSet();
				}
			}
		}
		else
		{
			cd['date'].setTime(val);
			cd['val'].value=Math.ceil(cd['date'].getTime() / 1000);
			cd['view'].style.display='none';

			name=cd['date'].getDate() + '. ' + CdMCZ(cd['date'].getMonth() + 1, 2) + ' ' + cd['date'].getFullYear();

			cd['elem'].value=name;

			cd=Array();
			cd['move']=Array();
			cd['uniq']=false;
			cd['run']=false;
		}
	}


	function Forms_Cd_View(car)
	{
		var tx, i, e, time, date, day, month, month_name, month_old, name, year;

		time=car['startmonth'];
		date=new Date(time);
		year=date.getFullYear();
		month=CdMCZ(date.getMonth() + 1, 1);

		tx='<div class="cdc">';
		tx+='<table>';
		tx+='<tr class="cdc-top">';
			tx+='<td>';
				tx+='<a href="funkce: Měsíc zpátky" onclick="Forms_Cd_Move(1); return false;"> &lt; </a>';
			tx+='</td>';
			tx+='<td colspan="5" class="cdc-name">' + month + ' ' + year + '</td>';
			tx+='<td>';
				tx+='<a href="funkce: Měsíc dopředu" onclick="Forms_Cd_Move(2); return false;"> &gt; </a>';
			tx+='</td>';
		tx+='</tr>';
		tx+='<tr class="cdc-names"><td>Po</td><td>Út</td><td>St</td><td>Čt</td><td>Pá</td><td>So</td><td>Ne</td></tr>';

		time=car['startday'];
		date=new Date(time);
		year=date.getFullYear();

		for(i=car['startday'], e=1; date.getTime()<car['endday']+1; i+=86400000, e++)
		{
			day=date.getDate();
			month=date.getMonth() + 1;
			year=date.getFullYear();

			if(month != month_old) month_name=CdMCZ(month, 2);

			if(cd['clock'])
			{
				name=day +  '. ' + month_name + ' ' + year + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds() + ' : ' + date.getMilliseconds();
			}
			else
			{
				name=day +  '. ' + month_name + ' ' + year;
			}

			if(!((e+6) % 7))
			{
				tr=true;
				tx+='<tr>';
			}

			tx+='<td';
			if(month != car['month']) tx+=' class="cdc-none"';
			tx+='><a href="funkce: Vybrat den: ' + name + '"';
			tx+=' onclick="Forms_Cd_Select(' + i + ', \'' + name + '\'); return false;"';
			tx+='>' +  day + '</a></td>';

			if(!(e % 7))
			{
				tr=false;
				tx+='</tr>';
			}

			date.setTime(date.getTime() + 86400000);
		}

		if(tr)
		{
			tx+='</tr>';
		}

		tx+='</table>';
		tx+='</div>';

		cd['view'].innerHTML=tx;
		cd['view'].style.display='block';
	}



	function CdMCZ(month, mode)
	{
		var mes=Array();
		mes[1]=Array();
		mes[2]=Array();

		mes[1][1]='Leden'; 	mes[1][2]='Únor';	mes[1][3]='Březen';
		mes[1][4]='Duben';	mes[1][5]='Květen';	mes[1][6]='Červen';
		mes[1][7]='Červenec';	mes[1][8]='Srpen';	mes[1][9]='Září';
		mes[1][10]='Říjen';	mes[1][11]='Listopad';	mes[1][12]='Prosinec';

		mes[2][1]='ledna'; 	mes[2][2]='února';	mes[2][3]='března';
		mes[2][4]='dubna';	mes[2][5]='května';	mes[2][6]='června';
		mes[2][7]='července';	mes[2][8]='srpna';	mes[2][9]='září';
		mes[2][10]='října';	mes[2][11]='listopadu';	mes[2][12]='prosince';

		return mes[mode][month];
	}