var monthtext=['Jan','Feb','Már','Ápr','Máj','Jún','Júl','Aug','Szep','Okt','Nov','Dec'];
function lzero(i){var t=''+i;while(t.length<2){t='0'+t;}return t;}
function days(year,month){if(month==0||month==2||month==4||month==6||month==7||month==9||month==11){return 31;}if(month==3||month==5||month==8||month==10){return 30;}if((year%4==0&&year%100!=0)||year%400==0){return 29;}else{return 28;}}
function createYearCombo(yearf,monthf,dayf,datef,year,delta){for(y=0;y<2*delta+1;y++){yearf.options[y]=new Option(year-delta+y,year-delta+y);}yearf.options[delta]=new Option(year,year,true,true);yearf.onchange=function(){createDayCombo(yearf,monthf,dayf,datef,dayf.value,days(yearf.value,monthf.value));createYearCombo(yearf,monthf,dayf,datef,yearf.value,delta);save(yearf,monthf,dayf,datef);}}
function createMonthCombo(yearf,monthf,dayf,datef,month){for(m=0;m<12;m++){monthf.options[m]=new Option(monthtext[m],m);}monthf.options[month]=new Option(monthtext[month],month,true,true);monthf.onchange=function(){createDayCombo(yearf,monthf,dayf,datef,dayf.value,days(yearf.value,monthf.value));save(yearf,monthf,dayf,datef);}}
function createDayCombo(yearf,monthf,dayf,datef,day,nr){day=day<nr?day:nr;for(i=0;i<31;i++){dayf.options[i]=new Option(i+1,i+1);}dayf.options[day-1]=new Option(day,day,true,true);dayf.options.length=nr;dayf.onchange=function(){save(yearf,monthf,dayf,datef);}}
function save(yearf,monthf,dayf,datef){datef.value=yearf.value+'-'+lzero(monthf.value-0+1)+'-'+lzero(dayf.value);}
function sqlDate(d){return new Date(d.substring(0,4),d.substring(5,7)-1,d.substring(8,10));}
function dateSelector(yearfield,monthfield,dayfield,datefield,yeardelta){var yearf=document.getElementById(yearfield);var monthf=document.getElementById(monthfield);var dayf=document.getElementById(dayfield);var datef=document.getElementById(datefield);var date=datef.value==''?new Date():sqlDate(datef.value);var delta=yeardelta?yeardelta:5;createYearCombo(yearf,monthf,dayf,datef,date.getFullYear(),delta);createMonthCombo(yearf,monthf,dayf,datef,date.getMonth());createDayCombo(yearf,monthf,dayf,datef,date.getDate(),31);save(yearf,monthf,dayf,datef);}

