function showCalendar(id, format, mode) {
    var el = document.getElementById(id);

    if (mode == 1) {
        var isValid = validateDate(el, 'dd-mm-yyyy', '.');

        if (!isValid) {
            if (el.value != '') {
                el.value = '';
                return false;
            }
        }
    }

    if (calendar != null) {
        calendar.hide();
    } else {
        var cal = new Calendar(false, null, selected, closeHandler);
        // uncomment the following line to hide the week numbers
        // cal.weekNumbers = false;
        calendar = cal;
        cal.setRange(1900, 2070);
        cal.create();
    }

    calendar.setDateFormat(format);
    calendar.parseDate(el.value);
    calendar.sel = el;
    calendar.showAtElement(el);

    return false;
}

function selected(cal, date) {
    cal.sel.value = date;
    // single click
    if (cal.sel.id == "deliverydate") {
        cal.callCloseHandler();
    }
}

function closeHandler(cal) {
    cal.hide();
}

