@Override
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
if (!component.isRendered())
return;
TimeScaleTable timetableView = (TimeScaleTable) component;
Rendering.registerDateTimeFormatObject(timetableView.getLocale());
AjaxUtil.prepareComponentForAjax(context, timetableView);
timetableView.setEvent(null);
ResponseWriter writer = context.getResponseWriter();
String clientId = timetableView.getClientId(context);
writer.startElement("table", timetableView);
writer.writeAttribute("id", clientId, "id");
writer.writeAttribute("cellspacing", "0", null);
writer.writeAttribute("cellpadding", "0", null);
writer.writeAttribute("border", "0", null);
Timetable timetable = timetableView.getTimetable();
writer.writeAttribute("class", Styles.getCSSClass(context,
timetableView, timetableView.getStyle(),
timetable == null ? "o_timetableView" : "o_timetableView o_timetableView_embedded",
timetableView.getStyleClass()), null);
Rendering.writeStandardEvents(writer, timetableView);
writer.startElement("tbody", timetableView);
renderHeader(context, timetableView);
renderSpecificHeaders(context, timetableView, clientId);