function ShowCalendar(input, disableOldDates, mindate, autopostback) {
    var input_field = document.getElementById(input);
    var calendar = new Calendar(1, input_field.value, onSelect, onClose, disableOldDates);
    calendar.autopostback = autopostback;
    if (disableOldDates)
        calendar.setDisabledHandler(setDisabled);
    var now = new Date();
    if (mindate) {
        var dt = new Date(mindate);
        now.setMonth(dt.getMonth());
        now.setFullYear(dt.getFullYear());
        now.setDate(dt.getDate());
        calendar.minDate = now;
    } else {

        now.setDate(now.getDate() - 1);
        calendar.minDate = now;
    }
    calendar.InputFieldName = input_field;
    calendar.setDateFormat("%d/%m/%Y");
    calendar.create();
    calendar.parseDate(input_field.value);
    calendar.showAtElement(input_field, 'Bl');
}

function onSelect(calendar, date) {
    var input_field = calendar.InputFieldName;
    input_field.value = date;
    if (calendar.dateClicked) {
        calendar.callCloseHandler(); // this calls "onClose" (see above)
        if (input_field.onblur) {
            input_field.onblur();
        }
        if (calendar.autopostback) {
            setTimeout('__doPostBack(\'' + input_field.id + '\',\'\')', 0);
        }
    }
};

//disable all old dates
function setDisabled(date) {
    if (this) {
        return date < this.minDate;
    }
    else {
        return false;
    }
}

function onClose(calendar) {
    calendar.hide();
    calendar.destroy();
};
