﻿var getElementsByClassName=function(className){var alls=document.getElementsByTagName("*");var rets=new Array();for(var i=0;i<alls.length;i++){if(alls[i].className==className){rets.push(alls[i]);}}return rets;};var Calendar={model:function(){},controller:function(){},view:function(){}};Calendar.view=function(){this.currDate=new Date();this.tds=null;this.days=null;this.backNode=null;this.disableDays=new Array();};Calendar.view.getMonthDays=function(year){var feb=(year%4==0)?29:28;return new Array(31,feb,31,30,31,30,31,31,30,31,30,31);};Calendar.view.prototype.init=function(){this.setCurrMonth(new Date().getFullYear(),new Date().getMonth());};Calendar.view.prototype.addEventForTd=function(){for(var i=0;i<this.tds.length;i++){var td=this.tds[i];var arr=td.getAttribute("dateValue").split("-");var date=arr[0]+"-"+(parseInt(arr[1])+1)+"-"+arr[2];var url="http://www.niubaobao.org/Handler.ashx?date="+date+"&Size=S";td.childNodes[1].innerHTML="<a href='Show.aspx?date="+date+"' title='Bing Image History'><img class='thumb' src='"+url+"' /></a>";}};Calendar.view.prototype.setCurrMonth=function(y,m){this.currDate.setFullYear(y);this.currDate.setMonth(m);this.currDate.setDate(1);this.loadDaysByMonth(y,m);this.addEventForTd();};Calendar.view.prototype.markCurrDate=function(bDay,eDay){var temp=new Date();if(this.currDate.getFullYear()==temp.getFullYear()&&this.currDate.getMonth()==temp.getMonth()){for(var i=bDay;i<eDay;i++){if(this.tds[i].getAttribute("dateValue").split("-")[2]==temp.getDate()){if(this.backNode){this.backNode.className="";}this.tds[i].className="currDay";this.backNode=this.tds[i];return false;}}}};Calendar.view.prototype.reInState=function(){this.tds[35].parentNode.style.display="none";if(this.backNode){this.backNode.className="";}for(var i=0;i<this.disableDays.length;i++){this.disableDays[i].className="dayStyle";}this.disableDays.length=0;};Calendar.view.prototype.loadDaysByMonth=function(y,m){y=parseInt(y),m=parseInt(m);this.reInState();var beginDay=this.currDate.getDay();var _m=(m==0)?11:(m-1);var m_=(m==11)?0:(m+1);var _y=(m==0)?(y-1):y;var y_=(m==11)?(y+1):y;var prevMonthDays=Calendar.view.getMonthDays(_y)[_m];var currMonthDays=Calendar.view.getMonthDays(y)[m];var prevFlag=prevMonthDays-beginDay+1,currFlag=1,nextFlag=1;for(var i=0;i<beginDay;i++){this.tds[i].setAttribute("dateValue",_y+"-"+_m+"-"+prevFlag);this.days[i].innerHTML=prevFlag;this.days[i].className="dayStyle disableText";this.disableDays.push(this.days[i]);prevFlag++;}for(var i=beginDay;i<currMonthDays+beginDay;i++){this.tds[i].setAttribute("dateValue",y+"-"+m+"-"+currFlag);this.days[i].innerHTML=currFlag;currFlag++;}for(var i=currMonthDays+beginDay;i<this.days.length;i++){this.tds[i].setAttribute("dateValue",y_+"-"+m_+"-"+nextFlag);this.days[i].innerHTML=nextFlag;this.days[i].className="dayStyle disableText";this.disableDays.push(this.days[i]);nextFlag++;}if(this.tds[35].getAttribute("dateValue")){if(this.tds[35].getAttribute("dateValue").split("-")[2]>20){this.tds[35].parentNode.style.display="";}}this.markCurrDate(beginDay,currMonthDays+beginDay);};window.onload=function(){view=new Calendar.view();view.tds=document.getElementById("render").getElementsByTagName("td");view.days=getElementsByClassName("dayStyle");view.init();document.getElementById("testButton").onclick=function(){view.setCurrMonth(document.getElementById("testYear").value,document.getElementById("testMonth").value);};var now=new Date();var nowYear=now.getFullYear();var nowMonth=now.getMonth();var len=document.getElementById("testYear").options.length;for(var i=0;i<len;i++){if(document.getElementById("testYear").options[i].value==nowYear){document.getElementById("testYear").selectedIndex=i;break;}}len=document.getElementById("testMonth").options.length;for(var i=0;i<len;i++){if(document.getElementById("testMonth").options[i].value==nowMonth){document.getElementById("testMonth").selectedIndex=i;break;}}};
