	var cDate=new Date();
	var cYear=cDate.getFullYear();
	var cMonth=cDate.getMonth();
	var cDay=cDate.getDate();
	var returnField='';
	var cStartAt=new Date();

	function initCalendar(year, month, day, startAtYear, startAtMonth, startAtDay) {
		if (year)
			var dt = new Date(year,month-1,1);
		else
			var dt = new Date();
		cStartAt=new Date(startAtYear, startAtMonth-1, startAtDay);
		setCalendar(dt);
	}

	function setCalendar(dt) {
		dat=new Date();
		cYear=dt.getFullYear();
		cMonth=dt.getMonth();
		cDay=dt.getDate();
		firstDay = dt.getDay();
		for(i = 0; i < 42; i++) {
			var el = window.document.getElementById('d'+i);
			if (el) {
				el.innerHTML='';
				el.className='day';
			}
		}
		if ((firstDay -2)<-1)
			firstDay +=7;
		dayspermonth = getDaysPerMonth(cMonth);
		for(i = 1; i < dayspermonth+1; i++){
			aDate=new Date(cYear, cMonth, i);
			i1=(i<10)? "0"+i : i;
			ii=(i+firstDay-2);
			var el = window.document.getElementById('d'+ii);
			if (el) {
				if (ii==5 || ii==6 || ii==12 || ii==13 || ii==19 || ii==20 || ii==26 || ii==27 || ii==33 || ii==34 || ii==40 || ii==41 || aDate<cStartAt) {
					el.innerHTML=i1;
				} else {
					el.innerHTML='<a href="javascript:setDate(\''+i1+'\')">'+i1+'</a>';
					el.className='day';
				}
			}
		}
		window.document.getElementById('mesice').selectedIndex=cMonth;
		window.document.getElementById('rok').selectedIndex=cYear-dat.getFullYear();
	}

	function setNYear(y){
		setCalendar(new Date(y,cMonth,1));
	}

	function setNMonth(m){
		cMonth=m;
		setCalendar(new Date(cYear,cMonth-1,1));
	}

	function getDaysPerMonth(m){
		daysArray=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
		days=daysArray[m];
		if (m==1){
			if((cYear% 4) == 0) {
				if(((cYear% 100) == 0) && (cYear% 400) != 0)
					days = 28;
				else
					days = 29;
			}
		}
		return days;
	}

	function setDate(day) {
		var mes=window.document.getElementById('mesice');
		var rok=window.document.getElementById('rok');
		mes=mes.selectedIndex+1;
		if (mes<10) mes="0"+mes;
		//if (day<10) day="0"+day;
		window.opener.document.getElementById(returnField).value=(day+'.'+mes+'.'+rok.options[rok.selectedIndex].text);
		window.close();
	}

	function setReturnField(rf) {
		returnField=rf;
	}

	function showCalendar(id,datum,startat) {
		var w=window.open('/calendar/?returnField='+id+(datum ? '&date='+datum : '')+(startat ? '&startat='+startat : '')+'&clean', '', 'width=250, height=250');
	}

	function zciselniku(kategorie) {
		var w=window.open('?page=ciselnik&mode=get&kategorie='+kategorie+'&clean=1', '', 'width=600, height=400, scrollbars=1');
	}

	function napln(prefix,firma, ulice, psc, mesto, stat, kontakt, telefon) {
		window.opener.document.getElementById('itm'+prefix+'firma').value=firma;
		window.opener.document.getElementById('itm'+prefix+'ulice').value=ulice;
		window.opener.document.getElementById('itm'+prefix+'psc').value=psc;
		window.opener.document.getElementById('itm'+prefix+'mesto').value=mesto;
		if (prefix=='ds_php_') {
			window.opener.document.getElementById('itm'+prefix+'ico').value=kontakt;
			window.opener.document.getElementById('itm'+prefix+'dic').value=telefon;
		} else {
			window.opener.document.getElementById('itm'+prefix+'stat').value=stat;
			window.opener.document.getElementById('itm'+prefix+'kontakt').value=kontakt;
			window.opener.document.getElementById('itm'+prefix+'telefon').value=telefon;
		}
		window.close();
	}

	function objInfo(id_obj) {
		var w=window.open('?page=objednavky&mode=status&id_obj='+id_obj+'&clean=1', '', 'width=400, height=600, scrollbars=1');
	}

	function coliuser(id) {
		str='';
		if (id!='') str='&id_firm_coli='+id;
		var w=window.open('?page=firmpop'+str, '', 'width=600, height=600, scrollbars=1');
	}
