  var datePopups = Array();

  function addDatePopup( divname, type ) {
    if (type == 'div') {
      var dv = document.createElement("DIV"); 
      dv.name = 'div_' + divname;
      dv.id = 'div_' + divname;
      dv.className = 'date_popup';
      dv.style.position = 'absolute';
      dv.style.left = '0px';
      dv.style.top = '0px';
      dv.style.visibility = 'hidden';
      dv.innerHTML = '&nbsp;';
      document.body.appendChild(dv); 
      var cal = new CalendarPopup( 'div_' + divname );
    } else {
      var cal = new CalendarPopup();
    }
    cal.showYearNavigation();
    //cal.showNavigationDropdowns();
    cal.setYearSelectStartOffset(60);
    setCalendarCaptions(cal); // ez a config-ban talalhato
    cal.setWeekStartDay(1); // week is Monday - Sunday
    datePopups[divname] = cal;
  }

  function getDatePopup( divname, type ) {
    if (datePopups[divname] == undefined) addDatePopup( divname, type );
    datePopups[divname].select(document.getElementById(divname), 'anch_' + divname, 'yyyy.MM.dd');
  }

	function getDays( year, month, day, new_value ) {
		if ( new_value == 0 ) {
			year.value = 0;
			month.value = 0;
			for (i=day.length;i<=31;i++) {
				var y=document.createElement('option');
				y.text=i;
				y.value=i;
				try {
					day.add(y,null);
				}
				catch(ex) {
					day.add(y);
				}
			}
			day.value = 0;
		} else {
			if ( year.value == 0) year.value = year.options[1].value;
			if ( month.value == 0) month.value = month.options[1].value;
			if ( day.value == 0) day.value = day.options[1].value;

			if ( month.value == 2 )
				if ( ((year.value % 100 != 0) && (year.value % 4 == 0)) || (year.value % 400 == 0) )
					maxDay = 29;
				else maxDay = 28;
			else if ( month.value == 0 || month.value == 1 || month.value == 3 || month.value == 5 || month.value == 7 || month.value == 8 || month.value == 10 || month.value == 12)
				maxDay = 31;
			else
				maxDay = 30;

			tmpDay = day.value;
			while (day.length > 0) {
				day.remove(0);
			}

			for (month.length==13 ? i=0 : i=1;i<=maxDay;i++)	{
				var y=document.createElement('option');
				if ( i == 0 ) y.text = month.options[0].text;
				else y.text=i;
				y.value=i;
				try {
					day.add(y,null);
				}
				catch(ex) {
					day.add(y);
				}
	    }
			if ( tmpDay <= maxDay )
				day.value = tmpDay;
			else day.value = maxDay;
		}
	}
