UNPKG

dzxstatic

Version:

The static files of Discuz! X

1 lines 8.94 kB
var controlid=null,currdate=null,startdate=null,enddate=null,halfhour=!1,yy=null,mm=null,hh=null,ii=null,currday=null,addtime=!1,today=new Date,lastcheckedyear=!1,lastcheckedmonth=!1,calendarrecall=null;function loadcalendar(){s="",s+='<div id="calendar" style="display:none; position:absolute; z-index:100000;" onclick="doane(event)">',s+='<div style="width: 210px;"><table cellspacing="0" cellpadding="0" width="100%" style="text-align: center;">',s+='<tr align="center" id="calendar_week"><td onclick="refreshcalendar(yy, mm-1)" title="上一月" style="cursor: pointer;"><a href="javascript:;">&laquo;</a></td><td colspan="5" style="text-align: center"><a href="javascript:;" onclick="showdiv(\'year\');doane(event)" class="dropmenu" title="点击选择年份" id="year"></a>&nbsp; - &nbsp;<a id="month" class="dropmenu" title="点击选择月份" href="javascript:;" onclick="showdiv(\'month\');doane(event)"></a></td><td onclick="refreshcalendar(yy, mm+1)" title="下一月" style="cursor: pointer;"><a href="javascript:;">&raquo;</a></td></tr>',s+='<tr id="calendar_header"><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>';for(var e=0;e<6;e++){s+="<tr>";for(var a=1;a<=7;a++)s+="<td id=d"+(7*e+a)+' height="19">0</td>';s+="</tr>"}s+='<tr id="hourminute" class="pns"><td colspan="4" align="left"><input type="text" size="1" value="" id="hour" class="px vm" style="width: 16px;margin-right: 5px;" onKeyUp=\'this.value=this.value > 23 ? 23 : zerofill(this.value);controlid.value=controlid.value.replace(/\\d+(:\\d+)/ig, this.value+"$1")\'>点',s+='<span id="fullhourselector"><input type="text" size="1" value="" id="minute" class="px vm" style="width: 16px;margin: 0px 5px;" onKeyUp=\'this.value=this.value > 59 ? 59 : zerofill(this.value);controlid.value=controlid.value.replace(/(\\d+:)\\d+/ig, "$1"+this.value)\'>分</span>',s+='<span id="halfhourselector"><select id="minutehalfhourly" onchange=\'this.value=this.value > 59 ? 59 : zerofill(this.value);controlid.value=controlid.value.replace(/(\\d+:)\\d+/ig, "$1"+this.value)\'><option value="00">00</option><option value="30">30</option></select>分</span>',s+='</td><td align="right" colspan="3"><button class="pn" onclick="confirmcalendar();"><em>确定</em></button></td></tr>',s+="</table></div></div>",s+='<div id="calendar_year" onclick="doane(event)" style="display: none;z-index:100001;"><div class="col">';for(var l=2090;l>=2001;l--)s+=2090!=l&&l%10==0?'</div><div class="col">':"",s+='<a href="javascript:;" onclick="refreshcalendar('+l+", mm);$('calendar_year').style.display='none'\"><span"+(today.getFullYear()==l?' class="calendar_today"':"")+' id="calendar_year_'+l+'">'+l+"</span></a><br />";s+="</div></div>",s+='<div id="calendar_month" onclick="doane(event)" style="display: none;z-index:100001;">';for(l=1;l<=12;l++)s+='<a href="javascript:;" onclick="refreshcalendar(yy, '+(l-1)+");$('calendar_month').style.display='none'\"><span"+(today.getMonth()+1==l?' class="calendar_today"':"")+' id="calendar_month_'+l+'">'+l+(l<10?"&nbsp;":"")+" 月</span></a><br />";s+="</div>",BROWSER.ie&&BROWSER.ie<7&&(s+='<iframe id="calendariframe" frameborder="0" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"></iframe>',s+='<iframe id="calendariframe_year" frameborder="0" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"></iframe>',s+='<iframe id="calendariframe_month" frameborder="0" style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"></iframe>');var t=document.createElement("div");t.innerHTML=s,$("append_parent").appendChild(t),document.onclick=function(e){closecalendar(e)},$("calendar").onclick=function(e){doane(e),$("calendar_year").style.display="none",$("calendar_month").style.display="none",BROWSER.ie&&BROWSER.ie<7&&($("calendariframe_year").style.display="none",$("calendariframe_month").style.display="none")}}function closecalendar(e){$("calendar").style.display="none",$("calendar_year").style.display="none",$("calendar_month").style.display="none",BROWSER.ie&&BROWSER.ie<7&&($("calendariframe").style.display="none",$("calendariframe_year").style.display="none",$("calendariframe_month").style.display="none")}function parsedate(e){/(\d+)\-(\d+)\-(\d+)\s*(\d*):?(\d*)/.exec(e);var a=RegExp.$1&&RegExp.$1>1899&&RegExp.$1<2101?parseFloat(RegExp.$1):today.getFullYear(),l=RegExp.$2&&RegExp.$2>0&&RegExp.$2<13?parseFloat(RegExp.$2):today.getMonth()+1,t=RegExp.$3&&RegExp.$3>0&&RegExp.$3<32?parseFloat(RegExp.$3):today.getDate(),r=RegExp.$4&&RegExp.$4>-1&&RegExp.$4<24?parseFloat(RegExp.$4):0,n=RegExp.$5&&RegExp.$5>-1&&RegExp.$5<60?parseFloat(RegExp.$5):0;return/(\d+)\-(\d+)\-(\d+)\s*(\d*):?(\d*)/.exec("0000-00-00 00:00"),new Date(a,l-1,t,r,n)}function settime(d){addtime||($("calendar").style.display="none",$("calendar_month").style.display="none",BROWSER.ie&&BROWSER.ie<7&&($("calendariframe").style.display="none")),controlid.value=yy+"-"+zerofill(mm+1)+"-"+zerofill(d)+(addtime?" "+zerofill($("hour").value)+":"+zerofill($(halfhour?"minutehalfhourly":"minute").value):""),"function"==typeof calendarrecall?calendarrecall():eval(calendarrecall)}function confirmcalendar(){addtime&&""===controlid.value&&(controlid.value=today.getFullYear()+"-"+(today.getMonth()+1)+"-"+today.getDate()+" "+zerofill($("hour").value)+":"+zerofill($(halfhour?"minutehalfhourly":"minute").value)),closecalendar()}function initclosecalendar(){for(var e=getEvent(),a=e.target||e.srcElement;a.parentNode!=document.body;)"append_parent"==a.parentNode.id&&(a.onclick=function(){closecalendar(e)}),a=a.parentNode}function showcalendar(e,a,l,t,r,n,d){controlid=a,addtime=l,startdate=!!t&&parsedate(t),enddate=!!r&&parsedate(r),currday=controlid.value?parsedate(controlid.value):today,hh=currday.getHours(),ii=currday.getMinutes(),halfhour=!!n,calendarrecall=d||null;var o=fetchOffset(controlid);$("calendar").style.display="block",$("calendar").style.left=o.left+"px",$("calendar").style.top=o.top+20+"px",doane(e),refreshcalendar(currday.getFullYear(),currday.getMonth()),0!=lastcheckedyear&&($("calendar_year_"+lastcheckedyear).className="calendar_default",$("calendar_year_"+today.getFullYear()).className="calendar_today"),0!=lastcheckedmonth&&($("calendar_month_"+lastcheckedmonth).className="calendar_default",$("calendar_month_"+(today.getMonth()+1)).className="calendar_today"),$("calendar_year_"+currday.getFullYear()).className="calendar_checked",$("calendar_month_"+(currday.getMonth()+1)).className="calendar_checked",$("hourminute").style.display=addtime?"":"none",lastcheckedyear=currday.getFullYear(),lastcheckedmonth=currday.getMonth()+1,halfhour?($("halfhourselector").style.display="",$("fullhourselector").style.display="none"):($("halfhourselector").style.display="none",$("fullhourselector").style.display=""),BROWSER.ie&&BROWSER.ie<7&&($("calendariframe").style.top=$("calendar").style.top,$("calendariframe").style.left=$("calendar").style.left,$("calendariframe").style.width=$("calendar").offsetWidth,$("calendariframe").style.height=$("calendar").offsetHeight,$("calendariframe").style.display="block"),initclosecalendar()}function refreshcalendar(e,a){var l=new Date(e,a,1),t=l.getDay(),r=l.getDate(),n=null;yy=l.getFullYear(),mm=l.getMonth(),$("year").innerHTML=yy,$("month").innerHTML=mm+1>9?mm+1:"0"+(mm+1);for(var d=1;d<=t;d++)(n=$("d"+d)).innerHTML="&nbsp;",n.className="";for(;l.getMonth()==mm;)(n=$("d"+(r+t))).style.cursor="pointer",n.onclick=function(){settime(this.childNodes[0].innerHTML),doane()},n.innerHTML='<a href="javascript:;">'+r+"</a>",l.getTime()<today.getTime()||enddate&&l.getTime()>enddate.getTime()||startdate&&l.getTime()<startdate.getTime()?n.className="calendar_expire":n.className="calendar_default",l.getFullYear()==today.getFullYear()&&l.getMonth()==today.getMonth()&&l.getDate()==today.getDate()&&(n.className="calendar_today",n.firstChild.title="今天"),l.getFullYear()==currday.getFullYear()&&l.getMonth()==currday.getMonth()&&l.getDate()==currday.getDate()&&(n.className="calendar_checked"),l.setDate(++r);for(;r+t<=42;)(n=$("d"+(r+t))).innerHTML="&nbsp;",r++;addtime&&($("hour").value=zerofill(hh),$("minute").value=zerofill(ii))}function showdiv(e){var a=fetchOffset($(e));$("calendar_"+e).style.left=a.left+"px",$("calendar_"+e).style.top=a.top+16+"px",$("calendar_"+e).style.display="block",BROWSER.ie&&BROWSER.ie<7&&($("calendariframe_"+e).style.top=$("calendar_"+e).style.top,$("calendariframe_"+e).style.left=$("calendar_"+e).style.left,$("calendariframe_"+e).style.width=$("calendar_"+e).offsetWidth,$("calendariframe_"+e).style.height=$("calendar_"+e).offsetHeight,$("calendariframe_"+e).style.display="block")}function zerofill(e){e=parseFloat(e.toString().replace(/(^[\s0]+)|(\s+$)/g,""));return((e=isNaN(e)?0:e)<10?"0":"")+e.toString()}BROWSER.other||(loadcss("forum_calendar"),loadcalendar());