/* calendar.js

{{IS_NOTE
	Purpose:

	Description:

	History:
		Fri June 9 10:29:16 TST 2009, Created by Flyworld
}}IS_NOTE

Copyright (C) 2008 Potix Corporation. All Rights Reserved.

{{IS_RIGHT
}}IS_RIGHT
*/
function calendar$mold$(out) {
  var renderer = zul.db.Renderer,
    uuid = this.uuid,
    view = this._view,
    localizedSymbols = this.getLocalizedSymbols(),
    icon = this.$s('icon'),
    outRangeL = this.isOutOfRange(true) ? ' disabled="disabled" aria-disabled="true"' : '',
    outRangeR = this.isOutOfRange() ? ' disabled="disabled" aria-disabled="true"' : '',
    showTodayLink = this._showTodayLink;

  // header
  out.push('<div id="', uuid, '"', this.domAttrs_(), '><div id="', uuid, '-a" tabindex="-1" class="z-focus-a"></div><div class="', this.$s('header'), '"><a id="', uuid, '-left" href="javascript:;" class="', /*safe*/icon, ' ', this.$s('left'), '"', outRangeL, '><i class="z-icon-angle-left" aria-label="', msgzul.PREV, '"></i></a>', '<a id="', uuid, '-title" href="javascript:;" class="', this.$s('title'), '">');
  renderer.titleHTML(this, out, localizedSymbols);
  out.push('</a><a id="', uuid, '-right" href="javascript:;" class="', /*safe*/icon, ' ', this.$s('right'), '"', outRangeR, '><i class="z-icon-angle-right" aria-label="', msgzul.NEXT, '"></i></a></div>');
  switch (view) {
    case 'day':
      renderer.dayView(this, out, localizedSymbols);
      break;
    case 'month':
      renderer.monthView(this, out, localizedSymbols);
      break;
    case 'year':
      renderer.yearView(this, out, localizedSymbols);
      break;
    case 'decade':
      renderer.decadeView(this, out, localizedSymbols);
      break;
  }
  if (showTodayLink) {
    out.push('<div class="', this.$s('header'), ' ', this.$s('today'), '"><a id="', uuid, '-today" href="javascript:;" class="', this.$s('title'), '">');
    renderer.todayView(this, out, localizedSymbols);
    out.push('</a></div>');
  }
  out.push('</div>');
}