﻿

Ext.override(Ext.form.DateField, {
    onTriggerClick: function() {

        if (this.disabled) {
            return;
        }
        if (this.menu == null) {
            this.menu = new Ext.menu.DateMenu();
        }

        var calendarTop = "Top";
        var calendarBottom = "Bottom";

        Ext.apply(this.menu.picker, {
            minDate: this.minValue,
            maxDate: this.maxValue,
            disabledDatesRE: this.ddMatch,
            disabledDatesText: this.disabledDatesText,
            disabledDays: this.disabledDays,
            disabledDaysText: this.disabledDaysText,
            format: this.format,
            minText: String.format(this.minText, this.formatDate(this.minValue)),
            maxText: String.format(this.maxText, this.formatDate(this.maxValue))
        });

        this.menu.on(Ext.apply({}, this.menuListeners, {
            scope: this
        }));


        this.yOffset = (this.initialConfig.yOffset != null) ? this.initialConfig.yOffset : 0;
        this.xOffset = (this.initialConfig.xOffset != null) ? this.initialConfig.xOffset : 0;
        this.calendarAlign = (this.initialConfig.calendarAlign != null) ? this.initialConfig.calendarAlign : calendarBottom;

        this.menu.picker.setValue(this.getValue() || new Date());
        this.menu.show(this.el, "bl")
        var alignOffset = (this.calendarAlign == calendarTop) ? (-this.menu.getEl().getHeight(false)) : 0;
        var yOffset = alignOffset + this.yOffset;
        var xOffset = this.xOffset;
        this.menu.getEl().alignTo(this.el, "bl", [xOffset, yOffset]);

    }
});




