?? calendar.js
字號:
this.dd.mInput.value=dpcfg.aMonStr[tempMonth-1];
this.dd.mInput.setAttribute('realValue',tempMonth);}
else{tempYear=this.year;
tempMonth=this.month;}
var firstDay,firstDate,lastDay,lastDate;
var s=new __sb();
var i,j,k;
firstDay=new Date(tempYear,tempMonth-1,1).getDay();
firstDate=1-firstDay;
lastDay=new Date(tempYear,tempMonth,0).getDay();
lastDate=new Date(tempYear,tempMonth,0).getDate();
s.a("<table id=dpDayTable width=100% border=0 cellspacing=0 cellpadding=0>");
s.a("<tr id=dpWeekTitle align=center>");
var ss=new Array();
for(i=0;i<7;i++){s.a("<td>"+dpcfg.aWeekStr[i]+"</td>");}
var classStr='';
var chassOnStr='';
var isThisMonth=((tempYear==this.t_year)&&(tempMonth==this.t_month));
var isSelMonth=((tempYear==this.s_year)&&(tempMonth==this.s_month));
var needCompareMinDate=((tempYear*100+tempMonth*1)==(this.minDate.year*100+this.minDate.month));
var needCompareMaxDate=((tempYear*100+tempMonth*1)==(this.maxDate.year*100+this.maxDate.month));
var needCompareBoth=needCompareMinDate&&needCompareMaxDate;
var isValidDate=!needCompareMinDate&&!needCompareMaxDate;
for(i=1,j=firstDate;i<7;i++){s.a("<tr>");
for(k=0;k<7;k++){if(j>=1&&j<=lastDate){if(isSelMonth&&(j==this.s_date)){classStr='Wselday';}
else if(isThisMonth&&(j==this.t_date)){classStr='Wtoday';}
else{classStr=((dpcfg.highLineWeekDay&&(k==0||k==6))?'Wwday':'Wday');}
classOnStr=((dpcfg.highLineWeekDay&&(k==0||k==6))?'WwdayOn':'WdayOn');
s.a("<td align=center ");
if(isValidDate||(!needCompareBoth&&((needCompareMinDate&&j>=this.minDate.date)||(needCompareMaxDate&&j<=this.maxDate.date)))||(needCompareBoth&&(j>=this.minDate.date)&&(j<=this.maxDate.date))){s.a("onclick=\"$d.obj.pickDate(null,null,"+j+");\" ");
s.a("onmouseover=\"this.className='"+classOnStr+"'\" ");
s.a("onmouseout=\"this.className='"+classStr+"'\" ");}
else{classStr='WinvalidDay';}
s.a("class="+classStr);
s.a("><span>"+j+"</span>");}
else{s.a("<td><span></span>");}
j++;
s.a("</td>");}
s.a("</tr>");}
s.a("</table>");
return s.j();};
My97DatePicker.prototype._createTimeTable=function(){var s=new __sb();
s.a("<div id=dpTime style='"+((this.showTime)?'':'display:none;')+"float:left;margin-top:3px'><table cellspacing=0 cellpadding=0 border=0><tr><td rowspan=2><span id=dpTimeStr>"+dpcfg.timeStr+"</span>");
s.a(" <input class=tB maxlength=2 value="+this.hour+"><input value=':' class=tm readonly>");
s.a("<input class=tE maxlength=2 value="+this.minute+"><input value=':' class=tm readonly>");
s.a("<input class=tE maxlength=2 value="+this.sec+"></td><td>");
s.a("<button id=dpTimeUp></button></td></tr><tr><td><button id=dpTimeDown></button></td></tr></table></div>");
s.a("<div id=dpButton style='float:right;margin-top:3px;text-align:right;'>");
s.a("<input id=dpClearInput type=button value='"+dpcfg.clearStr+"'> <input id=dpTodayInput type=button value='"+dpcfg.todayStr+"'> <input id=dpOkInput type=button value='"+dpcfg.okStr+"'>");
s.a("</div>");
return s.j();};
My97DatePicker.prototype._fillmonth=function()
{var s=new __sb();
s.a("<table cellspacing=0 cellpadding=2 border=0>");
var i,n=0,v=parseInt(this.dd.mInput.getAttribute("realValue"));
var aMonStrT=new Array(12);
var aMonStrV=new Array(12);
for(i=0;i<11;i++){if(i+1==v){n=1;}
aMonStrT[i]=dpcfg.aMonStr[n+i];
aMonStrV[i]=n+i+1;}
this.year=parseInt(this.dd.yInput.value);
var needCompareMinMonth=this.year==this.minDate.year;
var needCompareMaxMonth=this.year==this.maxDate.year;
var needCompareBoth=needCompareMinMonth&&needCompareMaxMonth;
var validMonth=(this.year>this.minDate.year&&this.year<this.maxDate.year);
var isValidMonth;
for(i=0;i<6;i++){s.a("<tr><td ");
isValidMonth=(validMonth)||(!needCompareBoth&&((needCompareMinMonth&&aMonStrV[i]>=this.minDate.month)||(needCompareMaxMonth&&aMonStrV[i]<=this.maxDate.month)))||(needCompareBoth&&(aMonStrV[i]>=this.minDate.month&&aMonStrV[i]<=this.maxDate.month));
s.a((isValidMonth)?"class='Wym' onmouseover=\"this.className='WdayOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.mInput.value="+aMonStrV[i]+";$d.mDiv.style.display='none';$d.mInput.blur();\"":"class='Winvalidym'");
s.a(">"+aMonStrT[i]+"</td>");
if(i==5){break;}
s.a("<td ");
isValidMonth=(validMonth)||(!needCompareBoth&&((needCompareMinMonth&&aMonStrV[i+6]>=this.minDate.month)||(needCompareMaxMonth&&aMonStrV[i+6]<=this.maxDate.month)))||(needCompareBoth&&(aMonStrV[i+6]>=this.minDate.month&&aMonStrV[i+6]<=this.maxDate.month));
s.a((isValidMonth)?"class='Wym' onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.mInput.value="+aMonStrV[i+6]+";$d.mDiv.style.display='none';$d.mInput.blur();\"":"class='Winvalidym'");
s.a(">"+aMonStrT[i+6]+"</td></tr>");}
s.a("<td align=center onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.mDiv.style.display='none';\">×</td</tr>");
s.a("</table>");
this.dd.mDiv.innerHTML=s.j();};
My97DatePicker.prototype._fillyear=function(minV,maxV)
{if(minV==null||maxV==null){var v=parseInt(this.dd.yInput.value);
minV=v-5;maxV=v+4;}
var i;
var a=new Array(maxV-minV);
for(i=minV;i<=maxV;i++){a[i-minV]=i;}
var n=(a.length/2);
var s=new __sb();
var isValidYear;
s.a("<table cellspacing=0 cellpadding=2 border=0>");
for(i=0;i<n;i++){isValidYear=(a[i]>=this.minDate.year&&a[i]<=this.maxDate.year);
s.a("<tr><td ");
s.a((isValidYear)?"class='Wym' onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.yInput.value='"+a[i]+"';$d.yDiv.style.display='none';$d.yInput.blur();\"":"class='Winvalidym'");
s.a(">"+a[i]+"</td><td ");
isValidYear=(a[i+n]>=this.minDate.year&&a[i+n]<=this.maxDate.year);
s.a((isValidYear)?"class='Wym' onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.yInput.value='"+a[i+n]+"';$d.yDiv.style.display='none';$d.yInput.blur();\"":"class='Winvalidym'");
s.a(">"+a[i+n]+"</td></tr>");}
s.a("</table>");
s.a("<table cellspacing=0 cellpadding=3 border=0><tr><td ");
s.a((this.minDate.year<minV)?"class='Wym' onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown='$d.obj._fillyear("+(minV-10)+","+(maxV-10)+")'":"class='Winvalidym'");
s.a(">\u2190</td><td class='Wym' onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.yDiv.style.display='none';$d.yInput.blur();\">×</td><td ");
s.a((this.maxDate.year>maxV)?"class='Wym' onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown='$d.obj._fillyear("+(minV+10)+","+(maxV+10)+")'":"class='Winvalidym'");
s.a(">\u2192</td></tr></table>");
this.dd.yDiv.innerHTML=s.j();};
My97DatePicker.prototype._setOkInput=function(){this.dd.clearInput.onclick=function(){$d.obj.eCont.value='';};
this.dd.todayInput.onclick=function(){var d=$d.obj;d.pickDate(d.t_year,d.t_month,d.t_date,d.t_hour,d.t_minute,d.t_sec);};
this.dd.okInput.onclick=function(){$d.obj.modifyDate();};
if(this.eCont.value==""&&this.hasDate){if(((this.t_year*10000+this.t_month*100+this.t_date*1)>=(this.minDate.year*10000+this.minDate.month*100+this.minDate.date*1))&&((this.t_year*10000+this.t_month*100+this.t_date*1)<=(this.maxDate.year*10000+this.maxDate.month*100+this.maxDate.date*1))){this.dd.todayInput.style.display='inline';
this.dd.clearInput.style.display=this.dd.okInput.style.display='none';}
else{this.dd.okInput.style.display='inline';
this.dd.todayInput.style.display=this.dd.clearInput.style.display='none';}
this.dd.bDiv.onmouseover=function(){};
this.dd.bDiv.onmouseout=function(){};}
else{this.dd.okInput.style.display='inline';
this.dd.clearInput.style.display=this.dd.todayInput.style.display='none';
this.dd.bDiv.onmouseover=function(){$d.tDiv.style.display='none';
$d.clearInput.style.display='inline';
if((($d.obj.t_year*10000+$d.obj.t_month*100+$d.obj.t_date*1)>=($d.obj.minDate.year*10000+$d.obj.minDate.month*100+$d.obj.minDate.date*1))&&(($d.obj.t_year*10000+$d.obj.t_month*100+$d.obj.t_date*1)<=($d.obj.maxDate.year*10000+$d.obj.maxDate.month*100+$d.obj.maxDate.date*1))){$d.obj.dd.todayInput.style.display='inline';}
else{$d.obj.dd.todayInput.style.display='none';}};
this.dd.bDiv.onmouseout=function(){if($d.obj.showTime){$d.tDiv.style.display='inline';}
$d.clearInput.style.display=$d.todayInput.style.display='none';};}};
My97DatePicker.prototype._returnDateStr=function(Y,M,D,h,m,s,fmt)
{if(Y==null){Y=this.year;}
if(M==null){M=this.month;}
if(D==null){D=this.date;}
if(h==null){h=this.hour;}
if(m==null){m=this.minute;}
if(s==null){s=this.sec;}
if(fmt==null){fmt=this.dateFmt;}
var sDate=fmt.replace(/%[Yy]/,this._doStr(Y,4)).replace(/%[M]/,this._doStr(M,2)).replace(/%[Dd]/,this._doStr(D,2));
if(this.showTime){sDate=sDate.replace(/%[Hh]/,this._doStr(h,2)).replace(/%[m]/,this._doStr(m,2)).replace(/%[Ss]/,this._doStr(s,2));}
return sDate;};
My97DatePicker.prototype._doStr=function(s,len){s=s+'';
for(var i=s.length;i<len;i++){s='0'+s;}
return s;};
My97DatePicker.prototype._setRealValue=function(Y,M,D,h,m,s){if(this.showTime){this.eCont.setAttribute("REALVALUE",this._returnDateStr(Y,M,D,h,m,s,dpcfg.realValueLongFmt));}
else{this.eCont.setAttribute("REALVALUE",this._returnDateStr(Y,M,D,null,null,null,dpcfg.realValueShortFmt));}};
My97DatePicker.prototype.pickDate=function(Y,M,D,h,m,s){if(Y==null){Y=this.dd.yInput.value;}
if(M==null){M=this.dd.mInput.getAttribute("realValue");}
if(D==null){D=this.date;}
this.year=Y;this.month=M;this.date=D;
if(this.showTime){if(h==null){h=this.dd.hhInput.value;}
if(m==null){m=this.dd.mmInput.value;}
if(s==null){s=this.dd.ssInput.value;}
this.hour=h;this.minute=m;this.sec=s;
this.eCont.value=this._returnDateStr(Y,M,D,h,m,s);}
else{this.eCont.value=this._returnDateStr(Y,M,D);}
this._setRealValue(Y,M,D,h,m,s);
$d.obj._markValue(true);
parent.document.dateDiv.style.display='none';
this.onPicked();};
My97DatePicker.prototype.modifyDate=function(Y,M,D,h,m,s){if(Y==null){Y=this.dd.yInput.value;}
if(M==null){M=this.dd.mInput.getAttribute("realValue");}
if(D==null){D=this.date;}
this.year=Y;this.month=M;this.date=D;
if(this.showTime){if(h==null){h=this.dd.hhInput.value;}
if(m==null){m=this.dd.mmInput.value;}
if(s==null){s=this.dd.ssInput.value;}
this.hour=h;this.minute=m;this.sec=s;
this.eCont.value=this._returnDateStr(Y,M,D,h,m,s);}
else{this.eCont.value=this._returnDateStr(Y,M,D);}
if((Y*10000+M*100+D*1)<(this.minDate.year*10000+this.minDate.month*100+this.minDate.date*1)){Y=this.minDate.year;
M=this.minDate.month;
D=this.minDate.date;}
else if((Y*10000+M*100+D*1)>(this.maxDate.year*10000+this.maxDate.month*100+this.maxDate.date*1)){Y=this.maxDate.year;
M=this.maxDate.month;
D=this.maxDate.date;}else{while(!this._isDate(Y+'-'+M+'-'+D)&&D>0){D--;}}
this.pickDate(Y,M,D);}
My97DatePicker.prototype._markValue=function(bValue){if(bValue){this.eCont.className=this.eCont.className.replace(/ WdateFmtErr/,'');}
else{var tempMode=dpcfg.errDealMode;
while(true){switch(tempMode){case 0:
if(!confirm(dpcfg.errAlertMsg)){tempMode=2;
continue;}
case 1:
if(this.eCont.getAttribute("REALVALUE")){this._judgeCorrectDateTime(this.eCont.getAttribute("REALVALUE"));}else{this.eCont.value="";}
this.eCont.className=this.eCont.className.replace(/ WdateFmtErr/,'');
break;
case 2:
this.eCont.className=this.eCont.className.replace(/ WdateFmtErr/,'');
this.eCont.className=this.eCont.className.replace(/Wdate/,'Wdate WdateFmtErr');
break;}
break;}}};
My97DatePicker.prototype._judgeCorrectDateTime=function(sDateTime){var Y,M,D,h,m,s;
var v=sDateTime.split(/\W+/);
var f=this.dateFmt.match(/%./g);
for(var i=0;i<f.length;i++){if(f[i].toLowerCase()=='%y'){Y=Number(v[i]);
if(isNaN(Y)){return false;}}
else if(f[i]=='%M'){M=Number(v[i]);
if(isNaN(M)){return false;}}
else if(f[i].toLowerCase()=='%d'){D=Number(v[i]);
if(isNaN(D)){return false;}}
else if(f[i].toLowerCase()=='%h'){h=Number(v[i]);
if(isNaN(h)){return false;}}
else if(f[i]=='%m'){m=Number(v[i]);
if(isNaN(m)){return false;}}
else if(f[i].toLowerCase()=='%s'){s=Number(v[i]);
if(isNaN(s)){return false;}}}
Y=Y||this.minDate.year;
M=M||this.minDate.month;
D=D||this.minDate.date;
if(this._isDate(Y+'-'+M+'-'+D)&&(h==undefined||(h>=0)&&(h<=23))&&(s==undefined||(m>=0)&&(h<=59))&&(s==undefined||(s>=0)&&(s<=59))){this.eCont.value=this._returnDateStr(Y,M,D,h,m,s);
if(((Y*10000+M*100+D*1)>=(this.minDate.year*10000+this.minDate.month*100+this.minDate.date*1))&&((Y*10000+M*100+D*1)<=(this.maxDate.year*10000+this.maxDate.month*100+this.maxDate.date*1))){return true;}}
return false;};
My97DatePicker.prototype._doCustomDate=function(str,fmt,dvType){var defaultValue=(dvType=="min")?dpcfg.minDate:dpcfg.maxDate;
if(!str||str==''){str=defaultValue;}
var re=/\{(.*?)\}/
var year,month,day;
var arr;
var tmpEval="";
var hasLastDay=(str.indexOf('#lastDay#')>=0);
str=str.replace(/#Year#/g,this.t_year).replace(/#Month#/g,this.t_month).replace(/#Day#/g,this.t_date).replace(/#lastDay#/,'0');
if(str.substring(0,3)=="#F{"){if((arr=re.exec(str))!=null){str=parent.$dp.obj.win.eval(arr[1]);}
else{alert("Function error!");
return;}}
else{var i=0;
while((arr=re.exec(str))!=null){if(i++==97){break;}
arr.lastIndex=arr.index+arr[1].length+1;
tmpEval=parseInt(eval(arr[1]),10);
if(tmpEval<0){tmpEval='19700'+(-tmpEval);}
str=str.substring(0,arr.index)+tmpEval+str.substring(arr.lastIndex);}}
if(str==''){str=defaultValue;}
var v=str.split(/\W+/);
var f=fmt.match(/%./g);
for(var i=0;i<f.length;i++){if(v[i]){if(f[i].toLowerCase()=='%y'){year=parseInt(v[i],10);}
else if(f[i]=='%M'){month=parseInt(v[i],10);}
else if(f[i].toLowerCase()=='%d'){day=parseInt(v[i],10);}}}
year=(""+year).replace(/^19700/,"-");
month=(""+month).replace(/^19700/,"-");
day=(""+day).replace(/^19700/,"-");
if(!hasLastDay){month-=1;}
var tmp=new Date();
tmp=new Date(year,month,day);
year=tmp.getFullYear();
month=tmp.getMonth()+1;
day=tmp.getDate();
if(isNaN(year)||isNaN(month)||isNaN(day)){alert('\u65E5\u671F\u8303\u56F4\u683C\u5F0F\u9519\u8BEF(Invalid MINDATE or MAXDATE)!\n\nYear:'+year+' Month:'+month+' Day:'+day);}
return{'year':year,'month':month,'date':day};}
function hideYMSel(){$d.yDiv.style.display=$d.mDiv.style.display='none';}
function autoSizeIframe(){if(window!=parent){var ifs=parent.document.getElementsByTagName("IFRAME");
for(var i=0;i<ifs.length;i++){try
{if(ifs[i].contentWindow==window){var tmp=document.getElementsByTagName('div')[0];
ifs[i].style.width=tmp.offsetWidth+"px";
ifs[i].style.height=tmp.offsetHeight+"px";}}
catch(e){continue;}}}}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -