that contains calendar
calendarLinkName: 'calendarlink',// name of the link that is used to toggle
clockDivName: 'clockbox', // name of clock
that gets toggled
@@ -160,11 +161,22 @@
var cal_box = document.createElement('div');
cal_box.style.display = 'none';
cal_box.style.position = 'absolute';
+ cal_box.style.zIndex = 999999;
cal_box.className = 'calendarbox module';
cal_box.setAttribute('id', DateTimeShortcuts.calendarDivName1 + num);
document.body.appendChild(cal_box);
addEvent(cal_box, 'click', DateTimeShortcuts.cancelEventPropagation);
+ // Hack for IE6: create iframe to hide dropdowns which would otherwise show through the div.
+ var cal_iframe = document.createElement('iframe');
+ cal_iframe.style.display = 'none';
+ cal_iframe.style.position = 'absolute';
+ cal_iframe.style.zIndex = 999998;
+ cal_iframe.className = 'calendarbox module';
+ cal_iframe.setAttribute('id', DateTimeShortcuts.calendarIframeName + num);
+ document.body.appendChild(cal_iframe);
+ addEvent(cal_iframe, 'click', DateTimeShortcuts.cancelEventPropagation);
+
// next-prev links
var cal_nav = quickElement('div', cal_box, '');
var cal_nav_prev = quickElement('a', cal_nav, '<', 'href', 'javascript:DateTimeShortcuts.drawPrev('+num+');');
@@ -194,6 +206,7 @@
},
openCalendar: function(num) {
var cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1+num)
+ var cal_iframe = document.getElementById(DateTimeShortcuts.calendarIframeName+num)
var cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName+num)
// Recalculate the clockbox position
@@ -209,12 +222,16 @@
cal_box.style.left = findPosX(cal_link) - 180 + 'px';
}
cal_box.style.top = findPosY(cal_link) - 75 + 'px';
+ cal_iframe.style.left = cal_box.style.left;
+ cal_iframe.style.top = cal_box.style.top;
cal_box.style.display = 'block';
+ cal_iframe.style.display = 'block';
addEvent(window, 'click', function() { DateTimeShortcuts.dismissCalendar(num); return true; });
},
dismissCalendar: function(num) {
document.getElementById(DateTimeShortcuts.calendarDivName1+num).style.display = 'none';
+ document.getElementById(DateTimeShortcuts.calendarIframeName+num).style.display = 'none';
},
drawPrev: function(num) {
DateTimeShortcuts.calendars[num].drawPreviousMonth();
@@ -223,7 +240,7 @@
DateTimeShortcuts.calendars[num].drawNextMonth();
},
handleCalendarCallback: function(num) {
- return "function(y, m, d) { DateTimeShortcuts.calendarInputs["+num+"].value = y+'-'+m+'-'+d; document.getElementById(DateTimeShortcuts.calendarDivName1+"+num+").style.display='none';}";
+ return "function(y, m, d) { DateTimeShortcuts.calendarInputs["+num+"].value = y+'-'+m+'-'+d; document.getElementById(DateTimeShortcuts.calendarDivName1+"+num+").style.display='none'; document.getElementById(DateTimeShortcuts.calendarIframeName+"+num+").style.display='none';}";
},
handleCalendarQuickLink: function(num, offset) {
var d = new Date();