﻿var fixedX=-1;
var fixedY=-1;
var startAt=1;
var showWeekNumber=0;
var showToday=0;
var imgDir="images/newregister/";
var gotoString="Go To Current Month";
var todayString="Today is";
var weekString="Wk";
var scrollLeftMessage="减小月份";
var scrollRightMessage="增大月份";
var selectMonthMessage="选择月";
var selectYearMessage="选择年";
var selectDateMessage="您现在选择的日期是： [date] ";
var crossobj,crossMonthObj,crossYearObj,monthSelected,yearSelected,dateSelected,omonthSelected,oyearSelected,odateSelected,monthConstructed,yearConstructed,intervalID1,intervalID2,timeoutID1,timeoutID2,ctlToPlaceValue,ctlNow,dateFormat,nStartingYear,nStartingMonth;
var bPageLoaded=false;
var ie=false;
var dom=document.getElementById;
var ns4=document.layers;
var today=new Date();
var dateNow=today.getDate();
var monthNow=today.getMonth();
var yearNow=today.getYear();
var imgsrc=new Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right2.gif");
var img=new Array();
var bShow=false;
if((navigator.userAgent.toLowerCase().indexOf("opera")==-1)&&(navigator.userAgent.toLowerCase().indexOf("msie")!=-1)){
ie=true;
}
function hideElement(_1,_2){
if(ie){
for(i=0;i<document.all.tags(_1).length;i++){
obj=document.all.tags(_1)[i];
if(!obj||!obj.offsetParent){
continue;
}
objLeft=obj.offsetLeft;
objTop=obj.offsetTop;
objParent=obj.offsetParent;
while(objParent.tagName.toUpperCase()!="BODY"){
objLeft+=objParent.offsetLeft;
objTop+=objParent.offsetTop;
objParent=objParent.offsetParent;
}
objHeight=obj.offsetHeight;
objWidth=obj.offsetWidth;
if((_2.offsetLeft+_2.offsetWidth)<=objLeft){
}else{
if((_2.offsetTop+_2.offsetHeight)<=objTop){
}else{
if(_2.offsetTop>=(objTop+objHeight)){
}else{
if(_2.offsetLeft>=(objLeft+objWidth)){
}else{
obj.style.visibility="hidden";
}
}
}
}
}
}
}
function showElement(_3){
if(ie){
for(i=0;i<document.all.tags(_3).length;i++){
obj=document.all.tags(_3)[i];
if(!obj||!obj.offsetParent){
continue;
}
obj.style.visibility="";
}
}
}
function HolidayRec(d,m,y,_7){
this.d=d;
this.m=m;
this.y=y;
this.desc=_7;
}
var HolidaysCounter=0;
var Holidays=new Array();
function addHoliday(d,m,y,_b){
Holidays[HolidaysCounter++]=new HolidayRec(d,m,y,_b);
}
if(dom){
for(i=0;i<imgsrc.length;i++){
img[i]=new Image;
img[i].src=imgDir+imgsrc[i];
}
document.write("<div onclick='bShow=true' id='calendar'\tstyle='z-index:11101;position:absolute;visibility:hidden;'><table\twidth="+((showWeekNumber==1)?250:220)+" style='font-family:arial;font-size:11px;border-width:1;border-style:solid;border-color:#a0a0a0;font-family:arial; font-size:11px}' bgcolor='#ffffff'><tr style='this.style.backgroundColor=58CB89' bgcolor='#58CB89'><td><table width='"+((showWeekNumber==1)?248:218)+"'><tr><td style='padding:2px;font-family:arial; font-size:11px;'><font color='#ffffff'><B><span id='caption'></span></B></font></td><td align=right><a href='javascript:hideCalendar()'><IMG SRC='"+imgDir+"close.gif' WIDTH='15' HEIGHT='13' BORDER='0' ></a></td></tr></table></td></tr><tr><td style='padding:5px' bgcolor=#ffffff><span id='datecontent'></span></td></tr>");
if(showToday==1){
document.write("<tr bgcolor=#f0f0f0><td style='padding:5px' align=center><span id='lblToday'></span></td></tr>");
}
document.write("</table></div><div id='selectMonth' style='z-index:11101;position:absolute;visibility:hidden;'></div><div id='selectYear' style='z-index:11101;position:absolute;visibility:hidden;'></div>");
}
var monthName=new Array("01","02","03","04","05","06","07","08","09","10","11","12");
var monthName2=new Array("01","02","03","04","05","06","07","08","09","10","11","12");
if(startAt==0){
dayName=new Array("日","一","二","三","四","五","六");
}else{
dayName=new Array("一","二","三","四","五","六","日");
}
var styleAnchor="text-decoration:none;color:black;";
var styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;";
function swapImage(_c,_d){
if(ie){
document.getElementById(_c).setAttribute("src",imgDir+_d);
}
}
function init(){
if(!ns4){
if(!ie){
//yearNow+=1900;
}
crossobj=(dom)?document.getElementById("calendar").style:ie?document.all.calendar:document.calendar;
hideCalendar();
crossMonthObj=(dom)?document.getElementById("selectMonth").style:ie?document.all.selectMonth:document.selectMonth;
crossYearObj=(dom)?document.getElementById("selectYear").style:ie?document.all.selectYear:document.selectYear;
monthConstructed=false;
yearConstructed=false;
if(showToday==1){
document.getElementById("lblToday").innerHTML=todayString+" <a onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' style='"+styleAnchor+"' href='javascript:monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>"+dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", "+dateNow+" "+monthName[monthNow].substring(0,3)+"\t"+yearNow+"</a>";
}
sHTML1="<span id='spanLeft'\tstyle='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer' onmouseover='swapImage(\"changeLeft\",\"left2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+scrollLeftMessage+"\"' onclick='javascript:decMonth()' onmouseout='clearInterval(intervalID1);swapImage(\"changeLeft\",\"left1.gif\");this.style.borderColor=\"#3366FF\";window.status=\"\"' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartDecMonth()\",500)'\tonmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG id='changeLeft' SRC='"+imgDir+"left1.gif' width=10 height=11 BORDER=0>&nbsp</span>&nbsp;";
sHTML1+="<span id='spanRight' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer'\tonmouseover='swapImage(\"changeRight\",\"right2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+scrollRightMessage+"\"' onmouseout='clearInterval(intervalID1);swapImage(\"changeRight\",\"right1.gif\");this.style.borderColor=\"#3366FF\";window.status=\"\"' onclick='incMonth()' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartIncMonth()\",500)'\tonmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG id='changeRight' SRC='"+imgDir+"right1.gif'\twidth=10 height=11 BORDER=0>&nbsp</span>&nbsp";
sHTML1+="<span id='spanMonth' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer'\tonmouseover='swapImage(\"changeMonth\",\"drop2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+selectMonthMessage+"\"' onmouseout='swapImage(\"changeMonth\",\"drop1.gif\");this.style.borderColor=\"#3366FF\";window.status=\"\"' onclick='popUpMonth()'></span>&nbsp;";
sHTML1+="<span id='spanYear' style='border-style:solid;border-width:1;border-color:#3366FF;cursor:pointer' onmouseover='swapImage(\"changeYear\",\"drop2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+selectYearMessage+"\"'\tonmouseout='swapImage(\"changeYear\",\"drop1.gif\");this.style.borderColor=\"#3366FF\";window.status=\"\"'\tonclick='popUpYear()'></span>&nbsp;";
document.getElementById("caption").innerHTML=sHTML1;
bPageLoaded=true;
}
}
function hideCalendar(){
crossobj.visibility="hidden";
if(crossMonthObj!=null){
crossMonthObj.visibility="hidden";
}
if(crossYearObj!=null){
crossYearObj.visibility="hidden";
}
showElement("SELECT");
showElement("APPLET");
}
function padZero(_e){
return (_e<10)?"0"+_e:_e;
}
function constructDate(d,m,y){
sTmp=dateFormat;
sTmp=sTmp.replace("dd","<e>");
sTmp=sTmp.replace("d","<d>");
sTmp=sTmp.replace("<e>",padZero(d));
sTmp=sTmp.replace("<d>",d);
sTmp=sTmp.replace("mmmm","<p>");
sTmp=sTmp.replace("mmm","<o>");
sTmp=sTmp.replace("mm","<n>");
sTmp=sTmp.replace("m","<m>");
sTmp=sTmp.replace("<m>",m+1);
sTmp=sTmp.replace("<n>",padZero(m+1));
sTmp=sTmp.replace("<o>",monthName[m]);
sTmp=sTmp.replace("<p>",monthName2[m]);
sTmp=sTmp.replace("yyyy",y);
return sTmp.replace("yy",padZero(y%100));
}
function closeCalendar(){
var _12;
hideCalendar();
ctlToPlaceValue.value=constructDate(dateSelected,monthSelected,yearSelected);
}
function StartDecMonth(){
intervalID1=setInterval("decMonth()",80);
}
function StartIncMonth(){
intervalID1=setInterval("incMonth()",80);
}
function incMonth(){
monthSelected++;
if(monthSelected>11){
monthSelected=0;
yearSelected++;
}
constructCalendar();
}
function decMonth(){
monthSelected--;
if(monthSelected<0){
monthSelected=11;
yearSelected--;
}
constructCalendar();
}
function upMonth(){
if(nStartingMonth>0){
nStartingMonth--;
for(i=0;i<6;i++){
newMonth=(i+nStartingMonth);
if(newMonth==monthSelected){
txtMonth="&nbsp;<B>"+monthName[newMonth]+"</B>&nbsp;";
}else{
txtMonth="&nbsp;"+monthName[newMonth]+"&nbsp;";
}
document.getElementById("m"+i).innerHTML=txtMonth;
}
}
bShow=true;
}
function downMonth(){
if(nStartingMonth<6){
nStartingMonth++;
for(i=0;i<6;i++){
newMonth=(i+nStartingMonth);
if(newMonth==monthSelected){
txtMonth="&nbsp;<B>"+monthName[newMonth]+"</B>&nbsp;";
}else{
txtMonth="&nbsp;"+monthName[newMonth]+"&nbsp;";
}
document.getElementById("m"+i).innerHTML=txtMonth;
}
}
bShow=true;
}
function selectMonth(_13){
monthSelected=parseInt(_13+nStartingMonth);
monthConstructed=false;
constructCalendar();
popDownMonth();
}
function constructMonth(){
popDownYear();
if(!monthConstructed){
sHTML="<tr><td align='center'\tonmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID1);this.style.backgroundColor=\"\"' style='cursor:pointer'\tonmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"upMonth()\",30)' onmouseup='clearInterval(intervalID1)'>-</td></tr>";
j=0;
i=(monthSelected-3);
if(i<0){
i=0;
}
if(i>6){
i=6;
}
nStartingMonth=i;
for(ii=0;ii<6;ii++,i++,j++){
sName=monthName[i];
if(i==monthSelected){
sName="<B>"+sName+"</B>";
}
sHTML+="<tr><td id='m"+j+"' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='selectMonth("+j+");event.cancelBubble=true'>&nbsp;"+sName+"&nbsp;</td></tr>";
}
sHTML+="<tr><td align='center' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID2);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"downMonth()\",30)'\tonmouseup='clearInterval(intervalID2)'>+</td></tr>";
document.getElementById("selectMonth").innerHTML="<table width=32\tstyle='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#a0a0a0;' bgcolor='#FFFFDD' cellspacing=0 onmouseover='clearTimeout(timeoutID1)'\tonmouseout='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"popDownMonth()\",100);event.cancelBubble=true'>"+sHTML+"</table>";
monthConstructed=true;
}
}
function popUpMonth(){
constructMonth();
crossMonthObj.visibility=(dom||ie)?"visible":"show";
crossMonthObj.left=parseInt(crossobj.left)+50;
crossMonthObj.top=parseInt(crossobj.top)+26;
hideElement("SELECT",document.getElementById("selectMonth"));
hideElement("APPLET",document.getElementById("selectMonth"));
}
function popDownMonth(){
crossMonthObj.visibility="hidden";
}
function incYear(){
for(i=0;i<6;i++){
newYear=(i+nStartingYear)+1;
if(newYear==yearSelected){
txtYear="&nbsp;<span style=color:red><B>"+newYear+"</B></span>&nbsp;";
}else{
txtYear="&nbsp;<span style=color:red>"+newYear+"</span>&nbsp;";
}
document.getElementById("y"+i).innerHTML=txtYear;
}
nStartingYear++;
bShow=true;
}
function decYear(){
for(i=0;i<6;i++){
newYear=(i+nStartingYear)-1;
if(newYear==yearSelected){
txtYear="&nbsp;<B>"+newYear+"</B>&nbsp;";
}else{
txtYear="&nbsp;"+newYear+"&nbsp;";
}
document.getElementById("y"+i).innerHTML=txtYear;
}
nStartingYear--;
bShow=true;
}
function selectYear(_14){
yearSelected=parseInt(_14+nStartingYear);
yearConstructed=false;
constructCalendar();
popDownYear();
}
function constructYear(){
popDownMonth();
sHTML="";
if(!yearConstructed){
sHTML="<tr><td align='center'\tonmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID1);this.style.backgroundColor=\"\"' style='cursor:pointer'\tonmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear()\",30)' onmouseup='clearInterval(intervalID1)'>-</td></tr>";
j=0;
nStartingYear=yearSelected-3;
for(i=(yearSelected-3);i<(yearSelected+3);i++){
sName=i;
if(i==yearSelected){
sName="<B>"+sName+"</B>";
}
sHTML+="<tr><td id='y"+j+"' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='selectYear("+j+");event.cancelBubble=true'>&nbsp;"+sName+"&nbsp;</td></tr>";
j++;
}
sHTML+="<tr><td align='center' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID2);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear()\",30)'\tonmouseup='clearInterval(intervalID2)'>+</td></tr>";
document.getElementById("selectYear").innerHTML="<table width=45 style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#a0a0a0;'\tbgcolor='#FFFFDD' onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownYear()\",100)' cellspacing=0>"+sHTML+"</table>";
yearConstructed=true;
}
}
function popDownYear(){
clearInterval(intervalID1);
clearTimeout(timeoutID1);
clearInterval(intervalID2);
clearTimeout(timeoutID2);
crossYearObj.visibility="hidden";
}
function popUpYear(){
var _15;
constructYear();
crossYearObj.visibility=(dom||ie)?"visible":"show";
_15=parseInt(crossobj.left)+document.getElementById("spanYear").offsetLeft;
if(ie){
_15+=6;
}
crossYearObj.left=_15;
crossYearObj.top=parseInt(crossobj.top)+26;
}
function WeekNbr(n){
year=n.getFullYear();
month=n.getMonth()+1;
if(startAt==0){
day=n.getDate()+1;
}else{
day=n.getDate();
}
a=Math.floor((14-month)/12);
y=year+4800-a;
m=month+12*a-3;
b=Math.floor(y/4)-Math.floor(y/100)+Math.floor(y/400);
J=day+Math.floor((153*m+2)/5)+365*y+b-32045;
d4=(((J+31741-(J%7))%146097)%36524)%1461;
L=Math.floor(d4/1460);
d1=((d4-L)%365)+L;
week=Math.floor(d1/7)+1;
return week;
}
function constructCalendar(){
var _17=Array(31,0,31,30,31,30,31,31,30,31,30,31);
var _18;
var _19=new Date(yearSelected,monthSelected,1);
var _1a;
if(monthSelected==1){
_1a=new Date(yearSelected,monthSelected+1,1);
_1a=new Date(_1a-(24*60*60*1000));
numDaysInMonth=_1a.getDate();
}else{
numDaysInMonth=_17[monthSelected];
}
datePointer=0;
dayPointer=_19.getDay()-startAt;
if(dayPointer<0){
dayPointer=6;
}
sHTML="<table\t border=0 style='font-family:verdana;font-size:10px;'><tr>";
if(showWeekNumber==1){
sHTML+="<td width=27><b>"+weekString+"</b></td><td width=1 rowspan=7 bgcolor='#d0d0d0' style='padding:0px'></td>";
}
for(i=0;i<7;i++){
sHTML+="<td width='27' align='right'><B>"+dayName[i]+"</B></td>";
}
sHTML+="</tr><tr>";
if(showWeekNumber==1){
sHTML+="<td align=right>"+WeekNbr(_19)+"&nbsp;</td>";
}
for(var i=1;i<=dayPointer;i++){
sHTML+="<td>&nbsp;</td>";
}
for(datePointer=1;datePointer<=numDaysInMonth;datePointer++){
dayPointer++;
sHTML+="<td align=right class=xyz>";
sStyle=styleAnchor;
if((datePointer==odateSelected)&&(monthSelected==omonthSelected)&&(yearSelected==oyearSelected)){
sStyle+=styleLightBorder;
}
sHint="";
for(k=0;k<HolidaysCounter;k++){
if((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1))){
if((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0))){
sStyle+="background-color:#FFDDDD;";
sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc;
}
}
}
var _1c=/\"/g;
sHint=sHint.replace(_1c,"&quot;");
_18="onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' ";
if((datePointer==dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow)){
sHTML+="<a "+_18+" title=\""+sHint+"\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer+";closeCalendar();'>&nbsp;<font color=#ff0000>"+datePointer+"</font>&nbsp;</a>";
}else{
if(dayPointer%7==(startAt*-1)+1){
sHTML+="<a "+_18+" title=\""+sHint+"\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer+";closeCalendar();'>&nbsp;<font color=#909090>"+datePointer+"</font>&nbsp;</a>";
}else{
sHTML+="<a "+_18+" title=\""+sHint+"\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer+";closeCalendar();'>&nbsp;"+datePointer+"&nbsp;</a>";
}
}
sHTML+="";
if((dayPointer+startAt)%7==startAt){
sHTML+="</tr><tr>";
if((showWeekNumber==1)&&(datePointer<numDaysInMonth)){
sHTML+="<td align=right>"+(WeekNbr(new Date(yearSelected,monthSelected,datePointer+1)))+"&nbsp;</td>";
}
}
}
document.getElementById("datecontent").innerHTML=sHTML;
document.getElementById("spanMonth").innerHTML="&nbsp;"+monthName[monthSelected]+"&nbsp;<IMG id='changeMonth' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>";
document.getElementById("spanYear").innerHTML="&nbsp;"+yearSelected+"&nbsp;<IMG id='changeYear' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>";
}
function popUpCalendar(ctl,_1e,_1f){
var _20=0;
var _21=0;
if(bPageLoaded){
if(crossobj.visibility=="hidden"){
ctlToPlaceValue=_1e;
dateFormat=_1f;
formatChar=" ";
aFormat=dateFormat.split(formatChar);
if(aFormat.length<3){
formatChar="/";
aFormat=dateFormat.split(formatChar);
if(aFormat.length<3){
formatChar=".";
aFormat=dateFormat.split(formatChar);
if(aFormat.length<3){
formatChar="-";
aFormat=dateFormat.split(formatChar);
if(aFormat.length<3){
formatChar="";
}
}
}
}
tokensChanged=0;
if(formatChar!=""){
aData=_1e.value.split(formatChar);
for(i=0;i<3;i++){
if((aFormat[i]=="d")||(aFormat[i]=="dd")){
dateSelected=parseInt(aData[i],10);
tokensChanged++;
}else{
if((aFormat[i]=="m")||(aFormat[i]=="mm")){
monthSelected=parseInt(aData[i],10)-1;
tokensChanged++;
}else{
if(aFormat[i]=="yyyy"){
yearSelected=parseInt(aData[i],10);
tokensChanged++;
}else{
if(aFormat[i]=="mmm"){
for(j=0;j<12;j++){
if(aData[i]==monthName[j]){
monthSelected=j;
tokensChanged++;
}
}
}else{
if(aFormat[i]=="mmmm"){
for(j=0;j<12;j++){
if(aData[i]==monthName2[j]){
monthSelected=j;
tokensChanged++;
}
}
}
}
}
}
}
}
}
if((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected)){
dateSelected=dateNow;
monthSelected=monthNow;
yearSelected=yearNow;
}
odateSelected=dateSelected;
omonthSelected=monthSelected;
oyearSelected=yearSelected;
aTag=ctl;
do{
aTag=aTag.offsetParent;
_20+=aTag.offsetLeft;
_21+=aTag.offsetTop;
}while(aTag.tagName!="BODY");
crossobj.left=fixedX==-1?ctl.offsetLeft+_20:fixedX;
crossobj.top=fixedY==-1?ctl.offsetTop+_21+ctl.offsetHeight+2:fixedY;
constructCalendar(1,monthSelected,yearSelected);
crossobj.visibility=(dom||ie)?"visible":"show";
hideElement("SELECT",document.getElementById("calendar"));
hideElement("APPLET",document.getElementById("calendar"));
bShow=true;
}else{
hideCalendar();
if(ctlNow!=ctl){
popUpCalendar(ctl,_1e,_1f);
}
}
ctlNow=ctl;
}
}
document.onkeypress=function hidecal1(){
if(event.keyCode==27){
hideCalendar();
}
};
document.onclick=function hidecal2(){
if(!bShow){
hideCalendar();
}
bShow=false;
};
if(ie){
init();
}else{
window.onload=init;
}

