/*
.CDclear {float:none;clear:both;height:0px;line-height:0px;overflow:hidden;font-size:1px;}
.CDblank, .CDTDw, a.CDtda, a.CDtdas {display:block;width:20px;height:20px; line-height:20px; float:left; overflow:hidden; text-align:center; cursor:default;}
.CDblank { overflow:hidden;font-size:1px;}
.CDtdw { background-color:#EFEFEF;}
a.CDpage { text-decoration:none; color:#333333;}
a.CDtda { text-decoration:none; color:#444444;}
a.CDtdas {text-decoration:none; color:#444444; background-color:#EFEFEF;}
a.CDtda:hover ,a.CDtdas:hover { background-color:#FF9900;}
.CDtmlab {width:30px; height:18px; line-height:18px; overflow:hidden; float:left; margin-top:4px; margin-left:5px;}
.CDtimer { border:solid 1px #CCCCCC; width:80px; height:18px; line-height:18px; overflow:hidden; float:left; margin-top:3px;}
.CDinput { border:none; width:18px; height:16px; line-height:16px; font-size:12px; vertical-align:middle;}
//使用方式:
$('Button1').onclick = function() {
JzCalendar.Show(this, function(y, m, d, h, i, s) {
$('Text1').value = '' + y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;
});
};
//赋初始值
$('Button2').onclick = function() {
JzCalendar.Show($('Text2'), function(y, m, d, h, i, s) {
$('Text2').value = '' + y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;
}, 2009, 07, 06, 21, 30, 54);
};*/varJzCalendar={//日历显示PanelId:'JzCalendarSelect',//显示面板的ID号Panel:null,//显示面板DatePanel:null,//日历面板TimePanel:null,//时间面板PosStep:20,//显示的上边距离像素ReturnFun:null,//回传值执行的函数ShowTime:false,//是否显示时间选择findPos:function(obj) {//找到元素的位置varcurleft=curtop=0;if(obj.offsetParent) {
curleft=obj.offsetLeft
curtop=obj.offsetTopwhile(obj=obj.offsetParent) {
curleft+=obj.offsetLeft
curtop+=obj.offsetTop
}
}return[curleft, curtop];
},
IsDate:function(str) {//验证是否日期格式 2009-09-27varreg=/^(\d+)-(\d{1,2})-(\d{1,2})$/;varr=str.match(reg);if(r==null)returnfalse;
r[2]=r[2]-1;vard=newDate(r[1], r[2], r[3]);if(d.getFullYear()!=r[1])returnfalse;if(d.getMonth()!=r[2])returnfalse;if(d.getDate()!=r[3])returnfalse;returntrue;
},
BetweenNumber:function(num, max, min, def) {//是否在数字之间num=num.toInt();if(nummax)returndef;returnnum;
},
BindEvent:function(o, name, fun) {//绑定事件if(o.addEventListener) {
o.addEventListener(name, fun,false);
}else{
o.attachEvent("on"+name, fun);
}
},
CreatePanel:function() {//创建显示面板varme=JzCalendar;varp=document.createElement('div');
p.id=me.PanelId;
p.style.position='absolute';
p.style.display='none';
p.style.backgroundColor='#FFFFFF';
p.style.border='solid 1px #CCCCCC';vard=document.createElement('div');
d.id=me.PanelId+'Date';
d.style.display='block';vart=document.createElement('div');
t.id=me.PanelId+'Time';
t.style.display='block';
p.appendChild(d);
p.appendChild(t);
document.body.appendChild(p);
me.Panel=$(me.PanelId);
me.DatePanel=$(me.PanelId+'Date');
me.TimePanel=$(me.PanelId+'Time');
},
Init:function(isShowTime) {//初始化varme=JzCalendar;if(isShowTime) {//是否需要显示时间选择if(isShowTime==true) me.ShowTime=true;
}this.BindEvent(window,"load", me.CreatePanel);
},
SetDateToControl:function(year, month, day) {//设置控件的值varme=JzCalendar;if(me.ShowTime==true) {
me.ReturnFun(year, month, day, $(me.PanelId+'_Hour').value, $(me.PanelId+'_Minute').value, $(me.PanelId+'_Second').value);
}else{varCurDate=newDate();
me.ReturnFun(year, month, day, CurDate.getHours(), CurDate.getMinutes(), CurDate.getSeconds());
}
me.Hide();
},
ShowCl:function(thisYear, thisMonth, thisDay) {//显示日期varme=JzCalendar;varCurDate=newDate();
thisYear=thisYear||CurDate.getFullYear();
thisMonth=thisMonth||CurDate.getMonth()+1;//0-11 实际月份要加一thisDay=thisDay||CurDate.getDate();varDaysCount=newDate(thisYear, thisMonth,0).getDate();//月的总天数varstartDays=newDate(thisYear+'/'+thisMonth+'/1').getDay();//月开始的天数是周几vargoYearl=thisMonth==1?thisYear-1: thisYear;//前翻的年vargoYearr=thisMonth==12?thisYear+1: thisYear;//后翻到年vargoMonthl=thisMonth==1?12: thisMonth-1;//前翻的月vargoMonthr=thisMonth==12?1: thisMonth+1;//后翻到月varweekDays=newArray('日','一','二','三','四','五','六');varbr='
';//清除浮动vars=[];
s.push('
s.push('
');s.push('
<');//上一月s.push(''+thisYear+'/'+thisMonth+'');s.push('
>');//下一月s.push(' ×');s.push('
');s.push('
');s.push('
s.push(''+weekDays[j]+'');
}
s.push(br+'
s.push('
s.push('');
}//实际显示for(vary=startDays, ds=1; ds<=DaysCount; y++) {
s.push(''+ds+'');
ds++;
}
s.push(br+'
me.DatePanel.innerHTML=s.join('');
s.length=0;
},
ShowTl:function(thisHour, thisMinute, thisSecond) {//显示时间varme=JzCalendar;varCurDate=newDate();
thisHour=thisHour||CurDate.getHours();
thisMinute=thisMinute||CurDate.getMinutes();
thisSecond=thisSecond||CurDate.getSeconds();vark=me.PanelId;vars=[];
s.push('
s.push('时间');
s.push("
s.push('
s.push('');
s.push(':');
s.push('');
s.push(':');
s.push('');
s.push('
s.push('
');
me.TimePanel.innerHTML=s.join('');
s.length=0;
},
Show:function(btnObj, returnFun, cYear, cMonth, cDay, cHour, cMinute, cSecond) {//显示varme=JzCalendar;
me.ReturnFun=returnFun;varpos=me.findPos(btnObj);
me.Panel.style.top=pos[1]+me.PosStep+'px';
me.Panel.style.left=pos[0]+'px';
me.Panel.style.display='block';
me.ShowCl(cYear, cMonth, cDay);if(me.ShowTime==true) {
me.ShowTl(cHour, cMinute, cSecond);
}
},
Hide:function() {//隐藏varme=JzCalendar;
me.Panel.style.display='none';
}
};
JzCalendar.Init(true);//需要显示时间选择