function calendar(objName,name,date,width,height){ this.objName=objName; this.calendarName=name!=null?name.toString():'calendar'; this.width=width!=null?width:'100%'; this.height=height!=null?height:'100%'; this.dayName=['日','一','二','三','四','五','六']; this.nowDate=new Date(); this.dateTime=date!=null?date:new Date(); this.str=''; this.dateTable=''; this.days=31; this.pastDays=0; this.generated=false; this.channel='news'; this.generate=generate; this.getTable=getTable; this.focusDate=focusDate; this.attachLink=attachLink; this.refresh=refresh; this.previewMonth=previewMonth; this.nextMonth=nextMonth; this.setDate=setDate; this.afterRefresh=function(){}; function generate(date){ //蓝色边框 this.str='
'; this.dateTime=date!=null?new Date(date):this.dateTime; this.days=new Date(this.dateTime.getYear(),this.dateTime.getMonth()+1,0).getDate(); this.pastDays=new Date(this.dateTime.getFullYear()+'/'+(this.dateTime.getMonth()+1)+'/1').getDay(); this.str+='
' +this.dayName.join('')+'
'; //区取中间的table this.getTable(); this.str+=this.dateTable+'

'; this.generated=true; return this.str; } function getTable(){ // this.dateTable='' +new Array(this.pastDays+1).join(''); for(var i=1;i<=this.days;i++){ var monthValue = (this.dateTime.getMonth()+1); if(monthValue <10) monthValue="0"+monthValue; var dayValue = i; if(i<10) dayValue ="0"+dayValue; var openurl = ''; var ropenurl = ''; var closeurl=''; if(this.dateTime.getFullYear() > this.nowDate.getFullYear()) { this.dateTable+=closeurl; } else if(this.dateTime.getFullYear()== this.nowDate.getFullYear()) { if(this.dateTime.getMonth() > this.nowDate.getMonth()) { this.dateTable+=closeurl; } else if(this.dateTime.getMonth() == this.nowDate.getMonth()) { if(i<=this.nowDate.getDate()) { if(i == this.nowDate.getDate()) { this.dateTable+=ropenurl; } else this.dateTable+=openurl; } else { this.dateTable+=closeurl; } } else { this.dateTable+=openurl; } } else this.dateTable+=openurl; if((i+this.pastDays)%7==0)this.dateTable+=''; } for(var i=1;i<=37-this.days-this.pastDays;i++){ this.dateTable+=''; if((i+this.pastDays+this.days)%7==0)this.dateTable+=''; } if((this.dateTime.getFullYear()<=2004) && (this.dateTime.getMonth()<9)) { this.dateTable+='' +'' +'' +'' +'
'+''+i+''+''+i+''+i+'
'+this.dateTime.getFullYear().toString()+''+(this.dateTime.getMonth()+1).toString()+'
'; } else { this.dateTable+='' +''+this.dateTime.getFullYear().toString()+'' +''+(this.dateTime.getMonth()+1).toString()+'' +'' +''; } return this.dateTable; } function focusDate(date){ try{ eval(this.calendarName+(date!=null?date|0:new Date().getDate())+'.className="focus"'); return(true); } catch(e) { return(false); } } function attachLink(date,link,target,title){ try{ eval(this.calendarName+(date!=null?date|0:new Date().getDate()) +'.innerHTML="'+date.toString()+'"'); return(true); } catch(e) { alert(e.message);return(false); } } function refresh(){ try{ eval(this.calendarName+'Td.filters[0].apply()'); eval(this.calendarName+'Td.innerHTML=\''+this.getTable()+'\''); eval(this.calendarName+'Td.filters[0].play()'); this.afterRefresh(); return(true); } catch(e) { return(false); } } function previewMonth(){ try{ this.dateTime.setMonth(this.dateTime.getMonth()-1) this.generate(); this.refresh(); return(true); } catch(e) { return(false); } } function nextMonth(){ try{ this.dateTime.setMonth(this.dateTime.getMonth()+1) this.generate(); this.refresh(); return(true); } catch(e) { return(false); } } function setDate(dateStr){ try{ this.dateTime=new Date(dateStr); return(true); } catch(e) { return(false); } } }