    /*!
     * Ext JS Library 3.3.0
     * Copyright(c) 2006-2010 Ext JS, Inc.
     * licensing@extjs.com
     * http://www.extjs.com/license
     */
    /**
     * @class Ext.calendar.DayHeaderTemplate
     * @extends Ext.XTemplate
     * This is the template used to render the all-day event container used in {@link Ext.calendar.DayView DayView} and
     * {@link Ext.calendar.WeekView WeekView}. Internally the majority of the layout logic is deferred to an instance of
     * {@link Ext.calendar.BoxLayoutTemplate}.
     * This template is automatically bound to the underlying event store by the
     * calendar components and expects records of type {@link Ext.calendar.EventRecord}.
     * Note that this template would not normally be used directly. Instead you would use the {@link Ext.calendar.DayViewTemplate}
     * that internally creates an instance of this template along with a {@link Ext.calendar.DayBodyTemplate}.
     * @constructor
     * @param {Object} config The config object
     */
    Ext.calendar.DayHeaderTemplate = function(config){

        Ext.apply(this, config);

        this.allDayTpl = new Ext.calendar.BoxLayoutTemplate(config);
        this.allDayTpl.compile();

        Ext.calendar.DayHeaderTemplate.superclass.constructor.call(this,
            '',
                '',
                    '',
                        '',
                            '',
                            '{allDayTpl}',
                            '',
                        '',
                    '',
                '',
            ''
        );
    };

    Ext.extend(Ext.calendar.DayHeaderTemplate, Ext.XTemplate, {
        applyTemplate : function(o){
            return Ext.calendar.DayHeaderTemplate.superclass.applyTemplate.call(this, {
                allDayTpl: this.allDayTpl.apply(o)
            });
        }
    });

    Ext.calendar.DayHeaderTemplate.prototype.apply = Ext.calendar.DayHeaderTemplate.prototype.applyTemplate;