Продолжение:
function DateSelectorInit() {
if (!ns4) {
if (!ie) {
yearNow += 1900
}
crossobj = (dom) ? document.getElementById("calendar").style : ie ? document.all.calendar : document.calendar
hideCalendar()
monthConstructed = false;
yearConstructed = false;
sHTML1 = "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
sHTML1 += "<tr>\n";
sHTML1 += " <td width='5'><span id='spanLeft' class='date-title-red' onclick='javascript:decMonth()'><</span></td>\n";
sHTML1 += " <td width='100%' align='center'><span id='spanMonth'></span> <span id='spanYear'></span></td>\n";
sHTML1 += " <td width='5'><span id='spanRight' class='date-title-red' onclick='incMonth()'>></span></td>\n";
sHTML1 += "</tr>\n";
sHTML1 += "</table>\n";
document.getElementById("caption").innerHTML = sHTML1
bPageLoaded = true
}
}
function DocumentRegisterEvents() {
document.onkeypress = function hideCalender_Trap1() {
if (event.keyCode == 27) {
hideCalendar();
}
}
document.onclick = function hideCalender_Trap2() {
if (!bShow) {
hideCalendar();
}
bShow = false
}
}
И пример его использования:
<style>
.date-table-style {border-width: 1px; border-style: solid; border-color: #a0a0a0; background-color: #ffffff; font-family: arial; font-size: 10px;}
.date-div-style {z-index: +998; position: absolute; visibility: hidden;}
</style>
<input name="text" type="text" value="" class="form" onclick="popUpCalendar(this, this, 'dd.mm.yyyy');" />
Все работает нормально, панель календаря выпадает непосредственно под текстовым полем, но если указать "<!DOCTYPE html>", календарь будет появляться в верхнем левом углу экрана.
Что изменить в коде чтобы он работал как прежде?