📄 popcalendar.js
字号:
}
function PopCalCalendarVisible()
{
for( var i = 0; i <= lPopCalList; i++ )
{
if ( objPopCalList[i].crossobj.visibility != "hidden" )
{
return (objPopCalList[i])
}
}
return (null)
}
function PopCalShow(ctl, format, from, to, execute, overwrite)
{
var PopCal=PopCalInstanceCreated()
var CenturyOn = true
if (PopCal)
{
if (PopCal.initialized==1)
{
if (objPopCalendar.ie)
{
if (PopCal.LoadElements==-1)
{
var oElement = document.all.tags( 'Select' )
for( var i = 0; i < oElement.length; i++ )
{
PopCal.Elements[PopCal.Elements.length]= oElement[i]
}
var oElement = document.all.tags( 'Applet' )
for( var i = 0; i < oElement.length; i++ )
{
PopCal.Elements[PopCal.Elements.length]= oElement[i]
}
PopCal.LoadElements = PopCal.Elements.length
}
}
objPopCalendar.movePopCal = false
if (objPopCalendar.timeoutID3 != null)
{
clearTimeout(objPopCalendar.timeoutID3)
objPopCalendar.timeoutID3 = null
}
var objPopCalVisible = PopCalCalendarVisible()
if ( objPopCalVisible == null )
{
objPopCalendar.overWriteSelectWeekend = objPopCalendar.overWriteWeekend
objPopCalendar.overWriteSelectHoliday = objPopCalendar.overWriteHoliday
objPopCalendar.overWriteWeekend = null
objPopCalendar.overWriteHoliday = null
if (overwrite!=null)
{
overwrite = PopCalPad(overwrite, 3, " ", "R")
if (("01").indexOf(overwrite.substr(0,1))!=-1)
{
objPopCalendar.overWriteSelectWeekend = parseInt(overwrite.substr(0,1), 10)
}
if (("01").indexOf(overwrite.substr(1,1))!=-1)
{
objPopCalendar.overWriteSelectHoliday = parseInt(overwrite.substr(1,1), 10)
}
}
objPopCalendar.commandExecute = null
if (execute!=null)
{
objPopCalendar.commandExecute = execute
}
if (objPopCalendar.ie)
{
objPopCalendar.onKeyPress = document.onkeypress
document.onkeypress = PopCalPressEscape
objPopCalendar.onmouseup = document.onmouseup
document.onmouseup=new Function("objPopCalendar.movePopCal=false;if(event.button==2){objPopCalendar.bShow=false;PopCalClickDocumentBody();};")
if (PopCal.move == 1)
{
objPopCalendar.onmousemove = document.onmousemove
document.onmousemove=PopCalTrackMouse
}
objPopCalendar.onresize = window.onresize
window.onresize = PopCalResizeWindow
objPopCalendar.onscroll = window.onscroll
window.onscroll = PopCalScroll
}
else
{
objPopCalendar.onKeyPress = document.onkeyup
document.captureEvents(Event.KEYUP)
document.onkeyup = PopCalPressEscape
}
objPopCalendar.onClick = document.onclick
document.onclick = PopCalClickDocumentBody
if (objPopCalendar.ie)
{
objPopCalendar.onSelectStart = document.onselectstart
document.onselectstart=new Function('return(false);')
objPopCalendar.onContextMenu = document.oncontextmenu
document.oncontextmenu=new Function('return(false);')
}
objPopCalendar.yearConstructed=false
objPopCalendar.monthConstructed=false
objPopCalendar.ctlToPlaceValue = ctl
objPopCalendar.dateFormat=""
if (format!=null)
{
objPopCalendar.dateFormat = format.toLowerCase()
}
else if (PopCal.defaultFormat!=null)
{
objPopCalendar.dateFormat = PopCal.defaultFormat.toLowerCase()
}
objPopCalendar.dateFrom = 01
objPopCalendar.monthFrom = 00
objPopCalendar.yearFrom = 1900
objPopCalendar.dateUpTo = 31
objPopCalendar.monthUpTo = 11
objPopCalendar.yearUpTo = 2099
objPopCalendar.dateSelected = 0
objPopCalendar.timeSelected = 0
objPopCalendar.monthSelected = objPopCalendar.monthNow
objPopCalendar.yearSelected = objPopCalendar.yearNow
if (PopCalSetDMY(ctl.value, objPopCalendar.dateFormat))
{
objPopCalendar.dateSelected = objPopCalendar.oDate
objPopCalendar.monthSelected = objPopCalendar.oMonth
objPopCalendar.yearSelected = objPopCalendar.oYear
}
if (from!=null)
{
if ((from.toLowerCase() == "hoy") || (from.toLowerCase() == "now"))
{
objPopCalendar.dateFrom = objPopCalendar.dateNow
objPopCalendar.monthFrom = objPopCalendar.monthNow
objPopCalendar.yearFrom = objPopCalendar.yearNow
}
else if (PopCalSetDMY(from, objPopCalendar.dateFormat))
{
objPopCalendar.dateFrom = objPopCalendar.oDate
objPopCalendar.monthFrom = objPopCalendar.oMonth
objPopCalendar.yearFrom = objPopCalendar.oYear
}
}
if (to!=null)
{
if ((to.toLowerCase() == "hoy") || (to.toLowerCase() == "now"))
{
objPopCalendar.dateUpTo = objPopCalendar.dateNow
objPopCalendar.monthUpTo = objPopCalendar.monthNow
objPopCalendar.yearUpTo = objPopCalendar.yearNow
}
else if (PopCalSetDMY(to, objPopCalendar.dateFormat))
{
objPopCalendar.dateUpTo = objPopCalendar.oDate
objPopCalendar.monthUpTo = objPopCalendar.oMonth
objPopCalendar.yearUpTo = objPopCalendar.oYear
}
}
if (!PopCalCenturyOn(objPopCalendar.dateFormat))
{
if (PopCalDateFrom() < PopCalPad(1900 + objPopCalendar.centuryLimit, 4, "0", "L") + "0001")
{
objPopCalendar.dateFrom = 01
objPopCalendar.monthFrom = 00
objPopCalendar.yearFrom = 1900 + objPopCalendar.centuryLimit
}
if (PopCalDateUpTo() > PopCalPad(2000 + (objPopCalendar.centuryLimit-1), 4, "0", "L" ) + "1131")
{
objPopCalendar.dateUpTo = 31
objPopCalendar.monthUpTo = 11
objPopCalendar.yearUpTo = 2000 + (objPopCalendar.centuryLimit-1)
}
}
if (PopCalDateFrom() > PopCalDateUpTo())
{
objPopCalendar.oDate = objPopCalendar.dateFrom
objPopCalendar.oMonth = objPopCalendar.monthFrom
objPopCalendar.oYear = objPopCalendar.yearFrom
objPopCalendar.dateFrom = objPopCalendar.dateUpTo
objPopCalendar.monthFrom = objPopCalendar.monthUpTo
objPopCalendar.yearFrom = objPopCalendar.yearUpTo
objPopCalendar.dateUpTo = objPopCalendar.oDate
objPopCalendar.monthUpTo = objPopCalendar.oMonth
objPopCalendar.yearUpTo = objPopCalendar.oYear
}
if (PopCalDateSelect() < PopCalDateFrom())
{
objPopCalendar.dateSelected = 0
objPopCalendar.monthSelected = objPopCalendar.monthFrom
objPopCalendar.yearSelected = objPopCalendar.yearFrom
}
if (PopCalDateSelect() > PopCalDateUpTo())
{
objPopCalendar.dateSelected = 0
objPopCalendar.monthSelected = objPopCalendar.monthUpTo
objPopCalendar.yearSelected = objPopCalendar.yearUpTo
}
objPopCalendar.odateSelected = objPopCalendar.dateSelected
objPopCalendar.omonthSelected = objPopCalendar.monthSelected
objPopCalendar.oyearSelected = objPopCalendar.yearSelected
PopCalMoveDefaultPos()
if (objPopCalendar.ie)
{
if ((PopCal.move == 1) && (PopCal.saveMovePos == 1))
{
if (objPopCalendar.ctlToPlaceValue != null)
{
if (objPopCalendar.ctlToPlaceValue.CalendarTop != null)
{
objPopCalendar.crossobj.top = objPopCalendar.ctlToPlaceValue.CalendarTop
}
if (objPopCalendar.ctlToPlaceValue.CalendarLeft != null)
{
objPopCalendar.crossobj.left = objPopCalendar.ctlToPlaceValue.CalendarLeft
}
PopCalShowAllElements()
}
}
}
PopCalConstructCalendar()
PopCalFadeIn()
PopCalScroll()
objPopCalendar.bShow = (PopCal.GXLink == 0)
}
else
{
objCurrentCalendar = objPopCalendar
objPopCalendar = objPopCalVisible
objPopCalendar.executeFade = (objPopCalendar.ctlNow==ctl)
objCurrentCalendar.executeFade = (objPopCalendar.ctlNow==ctl)
PopCalHideCalendar()
if (objPopCalendar.ctlToPlaceValue != null)
{
objPopCalendar.ctlToPlaceValue = null
}
objPopCalendar = objCurrentCalendar
if (objPopCalendar!=objPopCalVisible)
{
objCurrentCalendar.ctlNow = null
}
if (objPopCalendar.ctlNow!=ctl)
{
objPopCalendar.show(ctl, format, from, to, execute, overwrite)
}
objPopCalendar.executeFade = true
objPopCalVisible.executeFade = true
}
objPopCalendar.ctlNow = ctl
}
}
}
function PopCalResizeWindow()
{
if ((objPopCalendar.ctlToPlaceValue.CalendarTop == null) && (objPopCalendar.ctlToPlaceValue.CalendarLeft == null))
{
PopCalDownMonth()
PopCalDownYear()
PopCalMoveDefault()
}
}
function PopCalScroll()
{
if (objPopCalendar.crossobj.visibility != "hidden")
{
if ((objPopCalendar.ctlToPlaceValue.CalendarTop == null) && (objPopCalendar.ctlToPlaceValue.CalendarLeft == null))
{
PopCalDownMonth()
PopCalDownYear()
PopCalMoveDefault()
}
}
}
function PopCalMoveDefaultPos()
{
var PopCal = PopCalInstanceCreated()
var leftpos=0
var toppos=0
var aTag = objPopCalendar.ctlToPlaceValue
var lDivTop = -1
do
{
aTag = aTag.offsetParent
leftpos += aTag.offsetLeft
toppos += aTag.offsetTop
if (aTag.tagName == "DIV")
{
if (lDivTop == -1)
{
lDivTop += (1 + aTag.offsetTop)
}
leftpos -= aTag.scrollLeft
toppos -= aTag.scrollTop
}
else if (lDivTop != -1)
{
lDivTop += aTag.offsetTop
}
}
while(aTag.tagName!="BODY")
leftpos = parseInt(PopCal.fixedX==-1 ? objPopCalendar.ctlToPlaceValue.offsetLeft + leftpos: PopCal.fixedX, 10)
toppos = parseInt(PopCal.fixedY==-1 ? objPopCalendar.ctlToPlaceValue.offsetTop + toppos + objPopCalendar.ctlToPlaceValue.offsetHeight + 7 : PopCal.fixedY, 10)
if (((leftpos + PopCal.popupSuperCalendar.clientWidth + 10) - aTag.scrollLeft) > aTag.clientWidth)
{
leftpos -= ((((leftpos + PopCal.popupSuperCalendar.clientWidth) - aTag.clientWidth) + 10) - aTag.scrollLeft)
}
if (toppos < lDivTop)
{
toppos = lDivTop
}
if (((toppos + PopCal.popupSuperCalendar.clientHeight + 65) - aTag.scrollTop) > aTag.clientHeight)
{
toppos -= ((((toppos + PopCal.popupSuperCalendar.clientHeight) - aTag.clientHeight) + 65) - aTag.scrollTop)
}
if (leftpos < aTag.scrollLeft + 10)
{
leftpos = aTag.scrollLeft + 10
}
if (toppos < aTag.scrollTop + 10)
{
toppos = aTag.scrollTop + 10
}
objPopCalendar.crossobj.left = leftpos
objPopCalendar.crossobj.top = toppos
}
function PopCalMoveDefault()
{
var PopCal = PopCalInstanceCreated()
PopCalMoveDefaultPos()
PopCalMoveShadow()
PopCalShowAllElements()
if (PopCal.saveMovePos == 1)
{
if (objPopCalendar.ctlToPlaceValue != null)
{
objPopCalendar.ctlToPlaceValue.CalendarLeft = null
objPopCalendar.ctlToPlaceValue.CalendarTop = null
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -