var openedCalendar = null;

var clndrSetDates = new Array();

//mn - month names

//wd - week names

//hc,bc - barvy

//r1 - day field, r2 - month field, r3 - year field, f - formaty

function clndr(ti,mi,mx,mn,wd,ho,hc,bc,r1,f1,r2,f2,r3,f3) {

    if(openedCalendar && !window.openedCalendar.closed) {

    	window.openedCalendar.close();

    	window.openedCalendar = null;

    }

    if (ti=='Datum')

	    clndr_wi=window.open('about:blank','clndr_wi',"location=0,menubar=0,resizable=0,scrollbars=0,status=0,toolbar=0,width=186,height=146,left=390,top=470");

    else

	    clndr_wi=window.open('about:blank','clndr_wi',"location=0,menubar=0,resizable=0,scrollbars=0,status=0,toolbar=0,width=186,height=146,left=390,top=700");	

	openedCalendar = clndr_wi;

    clndr_ho=new Array();

    clndr_mn=new Array();

    clndr_wd=new Array();

    clndr_ms=new Array(31,28,31,30,31,30,31,31,30,31,30,31);

    clndr_dd=new Date();

    clndr_td=new Date();

    clndr_hd=new Date();

    for(i=0;i<ho.length;i++) if(ho[i].charAt(ho[i].length-1)==".") clndr_ho[i]=ho[i].substring(0,ho[i].length-1);

	    else clndr_ho[i]=ho[i];

    for(i=0;i<mn.length;i++) if(document.layers) clndr_mn[i]=clndr_as(mn[i]);

	    else clndr_mn[i]=mn[i];

    for(i=0;i<7;i++) if(document.layers) clndr_wd[i]=clndr_as(wd[i]);

	    else clndr_wd[i]=wd[i];

    clndr_mi=clndr_mm(mi);

    clndr_mx=clndr_mm(mx);

    clndr_mx.setHours(23);

    clndr_mx.setMinutes(59);

    if(document.layers) clndr_ti=clndr_as(ti);

    else clndr_ti=ti;

    clndr_hc=hc;

    clndr_bc=bc;

    clndr_r1=r1;

    clndr_r2=r2;

    clndr_r3=r3;

    clndr_f1=f1;

    clndr_f2=f2;

    clndr_f3=f3;

    if(clndrSetDates[clndr_ti])

      clndr_td = clndr_mm(clndrSetDates[clndr_ti]);

    clndr_sh();

}

function clndr_sh() {

    var i,pd,bm,yr,ho;

    var wd=clndr_wi.document;

    wd.open();

    wd.write("<html>\n<head>\n");

    if(document.all) wd.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset="+document.charset+"\">\n");

    wd.write("<title>"+clndr_ti+"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</title>");

    wd.write("<style>\ntd { background-color: "+clndr_bc+"; text-align: center; font-style: normal; font-size: 11px; font-family: Tahoma, Arial, Helvetica, sans-serif; } input, select { font-size: 11px; } .no { color: #cccccc; } .ce { color: #dd0000; } .mi { color: #555555; } a, a:link, a:visited { color: #000000; text-decoration: none; } a:hover { color: #990000; text-decoration: none; } .border { background-color: "+clndr_hc+"; } .head { background-color: "+clndr_hc+"; }");

    wd.write("</style>\n<scr"+"ipt language=javascript>\n");

    wd.write("\nfunction ff(v) { var id='"+clndr_ti+"'; window.opener.clndr_ff(v,id); }");

    wd.write("\nfunction sm(v) { window.opener.clndr_td.setMonth(v); window.opener.clndr_sh(); }");

    wd.write("\nfunction sy(v) { window.opener.clndr_td.setFullYear(v); window.opener.clndr_sh(); }");

    wd.write("</scr"+"ipt>\n");

    wd.write("</head>\n<body topmargin=3 leftmargin=3 marginheight=3 marginwidth=3>");

    wd.write("<table width=180 cellpadding=1 cellspacing=0 border=0><tr><td class=border>\n<table width=100% cellpadding=0 cellspacing=0 border=0><tr><td width=20 class=head>");

    if((clndr_td.getFullYear()>clndr_mi.getFullYear())||((clndr_td.getMonth()!=0)&&(clndr_td.getFullYear()==clndr_mi.getFullYear()))) wd.write("<a href=\"javascript:sm("+(clndr_td.getMonth()-1)+")\"><b>&lt;</b></a>");

    else wd.write("<b>&lt;</b>");

	wd.write("</td><td class=head><form><select name=m onchange=\"sm(this[this.selectedIndex].value);\">");

	for(i=0;i<12;i++) {

	    wd.write("<option value="+i);

	    if(i==(clndr_td.getMonth())) { wd.write(" selected "); }

	    wd.write(">"+clndr_mn[i]+"</option>\n");

	}

	wd.write("</select><select name=r onchange=\"sy(this[this.selectedIndex].value);\">");

	for(i=clndr_mi.getFullYear();i<(clndr_mx.getFullYear()+1);i++) {

	    wd.write("<option value="+i);

	    if(i==clndr_td.getFullYear()) wd.write(" selected ");

	    wd.write(">"+i+"</option>\n");

	}

	wd.write("</select></td></form><td class=head width=20>");

    if((clndr_td.getFullYear()<clndr_mx.getFullYear())||((clndr_td.getMonth()!=11)&&(clndr_td.getFullYear()==clndr_mx.getFullYear()))) wd.write("<a href=\"javascript:sm("+(clndr_td.getMonth()+1)+")\"><b>&gt;</b></a>");

    else wd.write("<b>&gt;</b>");

    wd.write("</td></tr></table><table width=100% cellpadding=2 cellspacing=0 border=0><tr>");

    for(i=0;i<6;i++) wd.write("<td width=20><b>"+clndr_wd[i]+"</b></td>");

    wd.write("<td width=20><span class=ce><b>"+clndr_wd[6]+"</b></span></td></tr>\n");

    clndr_td.setDate(1);

    pd=clndr_td.getDay()-1;

    clndr_rc=0;

    if(pd==-1) pd=6;

	bm=clndr_td.getMonth();

	yr=clndr_td.getFullYear();

	if(bm==0) {

	    clndr_td.setMonth(11);

	    clndr_td.setFullYear(yr-1);

	    clndr_ol();

	} else clndr_td.setMonth(bm-1);

	for(i=clndr_ms[clndr_td.getMonth()]-pd+1;i<=clndr_ms[clndr_td.getMonth()];i++) {

	    clndr_td.setDate(i);

 	    if(clndr_td.getDay()==0) ho="class=ce";

	    else ho="";

	    wd.write("<td>&nbsp</td>");

	}

	clndr_td.setDate(1);

	clndr_td.setMonth(bm);

	clndr_td.setFullYear(yr);

	clndr_ol();

	for(i=0;i<clndr_ms[(clndr_td.getMonth())];i++) {

	    clndr_td.setDate(i+1);

	    if((clndr_td.getDay()==1)&&(clndr_td.getDate()!=1)) {

	 	    wd.write("</tr>\n<tr>");

	 	    clndr_rc++;

	    } else if((clndr_td.getDay()==1)&&(clndr_td.getDate()==1)) wd.write("<tr>");

	    if(clndr_td.getDay()==0) ho="class=ce";

	    else ho="";

 	    for(j=0;j<clndr_ho.length;j++) if((clndr_ho[j].substring(0,clndr_ho[j].indexOf("."))==clndr_td.getDate())&&(clndr_ho[j].substring(clndr_ho[j].indexOf(".")+1,clndr_ho[j].length)==(clndr_td.getMonth()+1))) ho="class=ce";

	    if((clndr_td.getTime()>clndr_mx.getTime())||(clndr_td.getTime()<clndr_mi.getTime())) wd.write("<td "+ho+"><span class=no>"+clndr_td.getDate()+"</span></td>");

	    else if(ho=="") wd.write("<td><a href=\"javascript:ff('"+clndr_td.getDate()+"."+(clndr_td.getMonth()+1)+"."+clndr_td.getFullYear()+"')\">"+clndr_td.getDate()+"</a></td>");

	    else wd.write("<td><a href=\"javascript:ff('"+clndr_td.getDate()+"."+(clndr_td.getMonth()+1)+"."+clndr_td.getFullYear()+"')\"><span class=ce>"+clndr_td.getDate()+"</span></a></td>");

	}

	clndr_td.setDate(1);

	clndr_td.setMonth(bm+1);

	pd=clndr_td.getDay()-1;

	if(pd==0) pd=20;

	if(pd==-1) pd=6;

	for(i=1;i<=(7-pd);i++) {

	    wd.write("<td>&nbsp</td>");

	    clndr_td.setDate(i);

	    if(clndr_td.getDay()==0) ho="class=ce";

	    else ho="";

	}

	clndr_td.setDate(1);

	clndr_td.setMonth(bm);

	clndr_td.setFullYear(yr);

	clndr_ol();

    if(clndr_rc<5) wd.write("</tr><tr><td colspan=7>&nbsp;</td>");

    wd.write("</tr></table></td></tr></table></body></html>");

    wd.close();

    window.clndr_wi.focus();

}

function clndr_mm(ta) {

    var td=new Date();

    ta=ta.split(".");

    td.setDate(ta[0]);

    td.setMonth(ta[1]-1);

    td.setFullYear(ta[2]);

    td.setHours(0);

    td.setMinutes(0);

    return(td);

}

function clndr_ol() {

    var y=clndr_td.getFullYear();

	if (0 == y%4 && ((y%100 != 0) || (y%400 == 0))) clndr_ms[1]=29;

	else  clndr_ms[1]=28;

}

function clndr_ff(dt,id) {

    var f,r,fr,d,dd,m,mm,mmm,yy,yyyy;

       clndrSetDates[id] = dt;

    var msn=Array('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC');

	dt=dt.split(".");

	d=dt[0];

	if(d<10) dd="0"+d;

	else dd=d;

	m=dt[1];

	if(m<10) mm="0"+m;

	else mm=m;

	mmm = msn[m-1];

	yyyy=dt[2];

	yy=yyyy.substring(2,4);

	for(i=1;i<=3;i++) {

	    r=eval("clndr_r"+i);

	    f=eval("clndr_f"+i);

	    if((r)&&(f!="undefined")) {

		    fr=f.replace("dd",dd);

		    fr=fr.replace("d",d);

		    fr=fr.replace("mmm",mmm);

		    fr=fr.replace("mm",mm);

		    fr=fr.replace("m",m);

		    fr=fr.replace("yyyy",yyyy);

		    fr=fr.replace("yy",yy);

			

    	}

    }

	document.getElementById(id+'_day').value = dd;
	document.getElementById(id+'_month').value = mm;
	document.getElementById(id+'_year').value = yyyy;

	window.clndr_wi.close();

    openedWindow = false;

}

function clndr_as(co) {

 var k;

 var n="aAaAcCdDeEeEeEiIlLlLnNoOoOoOrRrRsStTuUuUuUyYzZ";

 var o="áÁäÄeEiIéÉëËiIíÍaA31oOóÓôÔöÖaAoO¹©??úÚuUüÜýÝ¾®";

 for(k=0;k<n.length;k++) co=co.replace(o[k],n[k]);

 return(co);

}

