6) зачем такие сложности:var objCellText= new Object(); objCellText=element(this.CellId+num);
Не проще ли var objCellText = element(this.CellId+num); ?
7) вот тебе и управление цветом. Опять же, смотри в сторону CSS, а про устаревающие свойства лучше забывать по маленьку - больше гимора с совместимостью. Поддерживать совместимость с N4 и IE4 я считаю лишним - это очень убогие браузеры, давно и безнадежно устаревшие.
this.fSetColor1 = function(num)
{
element(this.CellId+num).style.color = "#ff0000";
}
this.fSetColor2 = function(num)
{
element(this.CellId+num).style.color = "";
}
// ....
document.write("<td id='" + this.CellId + num + "'"
+ " class='calCell' align='center' valign='center' width='17' height='15'"
+ " onmouseover='" + this.calName + ".fSetColor1(" + num + ");'"
+ " onmouseout='" + this.calName + ".fSetColor2(" + num + ");'"
+ " onclick='" + this.calName + ".fSetSelectedDay(" + num + ");'>"
);
8) атрибуты HTML то же пишутся прописными буквами. HTML 4.0 допускает и те и другие, а XHTML - требует. Лучше приделживаться более современных стандартов.
9) если ты пределяешь CSS-классы, то зачем тебе атрибуты, описывающие внешний вид, в теге? Это только захламляет код.