function Calendar(T,E,i,j,tE,tBody,Row,f,t,d,wd){if(!document.getElementById||!document.body.appendChild)returnT=thisfunction cEl(t,p,h,w){p.appendChild(t=document.createElement(t))if(h)t.innerHTML=hif(w)t.colSpan=5return t}function cB(x){with(T.Cal){B=0;x==0?Y--:x==1?Y++:x==2?(!M?(M=11,Y--):M--):(M==11?(M=0,Y++):M++)}}if(!T.Cal){E=document.createElement('ins')E.className='clndr'T.parentNode.insertBefore(E,T.nextSibling)T.Cal={E:E,B:1,cD:new Date().getUTCDate(),cM:new Date().getMonth(),cY:new Date().getFullYear(),sD:0,sM:-1,sY:0,M:-1,Y:0}if((i=T.value.match(/\d{2,4}/g))&&i.length==3){with(T.Cal){sD=+i[2];sM=M=i[1]-1;sY=Y=i[0]}}}E=T.Cal.Ewith(T.Cal){if(B){M=M+1?M:sM+1?sM:cM;Y=Y||sY||cY}f=Date.UTC(Y,M,1);t=Date.UTC(Y,M+1,1)}while(E.childNodes[0])E.removeChild(E.firstChild)tE=cEl('table',E)tBody=cEl('thead',tE)tBody.onmouseup=function(){T.focus()}tBody.onmousemove=function(){if(window.getSelection)window.getSelection().removeAllRanges()}Row=cEl('tr',tBody)cEl('td',Row,'&#171;').onmousedown=function(){cB(0)}cEl('th',Row,T.Cal.Y,1)cEl('td',Row,'&#187;').onmousedown=function(){cB(1)}Row=cEl('tr',tBody)cEl('td',Row,'&#171;').onmousedown=function(){cB(2)}cEl('th',Row,plNames.month[T.Cal.M],1)cEl('td',Row,'&#187;').onmousedown=function(){cB(3)}tBody=cEl('tbody',tE)Row=cEl('tr',tBody)for(i=0;i<7;i++){cEl('th',Row,plNames.day[i]).className='day'+(i+1)%7}for(i=f;i<t;i+=86400000){with(new Date(i)){d=getUTCDate();wd=getUTCDay()}if(wd==1||i==f)Row=cEl('tr',tBody)if(wd!=1&&d==1){for(j=1;j<(wd?wd:7);j++)cEl('td',Row).className='empty day'+j}(tE=cEl('td',Row,d)).className='day'+wdtE.onmousedown=function(x){x=+this.innerHTMLwith(T.Cal){sD=x;sM=M;sY=Y;T.value=Y+'-'+((m=M+1)<10?'0'+m:m)+'-'+(x<10?'0'+x:x)}}with(T.Cal){if(d==cD&&M==cM&&Y==cY)tE.className+=' today';if(d==sD&&M==sM&&Y==sY)tE.className+=' selected'}}for(i=wd||7;i<7;){cEl('td',Row).className='empty day'+(++i%7)}T.onblur=function(){if(T.Cal.B)E.className='clndr hide';T.form.className=T.form.className.replace(/\bhideSel\b/,'')}T.Cal.B=1E.className='clndr'T.form.className+=' hideSel'}//global object (You can translate month&day names)plNames={ day:['pn','wt','śr','cz','pt','so','n'], month:['styczeń','luty','marzec','kwiecień','maj','czerwiec', 'lipiec','sierpień','wrzesień','październik','listopad','grudzień']}//this function change days displayed in the input field//x - number of days to add to input fieldfunction changeDay(x,T,d){T=gId(T)if((i=T.value.match(/\d{1,4}/g))&&i.length==3){x=new Date(Date.UTC(1*i[2],i[1]-1,1*i[0],0,0,0)+(0x5265C00*x))T.value=((d=x.getUTCDate())<10?'0'+d:d)+'-'+((d=x.getMonth()+1)<10?'0'+d:d)+'-'+x.getFullYear()}} //this function add onfocus event listener to input fieldsfunction addCalendar(a,i){aEL(window,'load',function(){for(j in a){if(i=document.getElementById(a[j]))aEL(i,'focus',Calendar)}})}function aEL(o,t,f){var a=[].slice.call(arguments,3)o[t+f]=function(e){return !1===f.apply(o,[e||window.event].concat(a))?e.preventDefault?e.preventDefault():!1:1}return(o.x=o.addEventListener)?o.x(t,o[t+f],!1):(o.x=o.attachEvent)?o.x('on'+t,o[t+f]):!1}function gId(i){return document.getElementById(i)}
