﻿dayArr=["S", "M", "T", "W", "T", "F", "S"];


function createCalendar(startDate, endDate, curDate){
	var tag=new TagObj();
	tag.beginTag("table", "class", "calendar");
	tag.beginTag("tr", "class" );
	for(var i=0;i<dayArr.length;i++){
		if(i==0 || i==dayArr.length-1){
			tag.beginTag("td", "class", "head-rest");
		}else{
			tag.beginTag("td", "class", "head-day");
		}
		tag.writeString(dayArr[i]);
		tag.closeTag("td");
	}
	tag.closeTag("tr");
	var t=getFirstDateOfMonth(startDate);
	//t.setDate(t.getDate()+15);
	var t1=getFirstDateOfMonth(endDate);
	t1.setMonth(t1.getMonth()+1);
	//t1.setDate(t1.getDate()-15);
	base=t.getDay();
	tag.beginTag("tr")
	if(base>0) tag.beginTag("td", "colspan", base)+tag.closeTag("td");
	while(t<t1){
		if(base==0) tag.beginTag("tr");
		if(t.getTime()==curDate.getTime()) {
			tag.beginTag("td", "class", "cur-date");
			tag.writeString(t.getDate());
			tag.closeTag("td");
		}else if(t>=startDate && t<=endDate) {
			tag.beginTag("td", "class", "valid-date");
			tag.beginTag("a", "href", "ff-schedule.aspx?dt="+getDateString(t));
			tag.writeString(t.getDate());
			tag.closeTag("td");
		}else {
			tag.beginTag('td');
			tag.writeString(t.getDate());
			tag.closeTag("td");
		}		
		base++;
		base%=7;
		if(base==0) tag.closeTag("tr");
		t.setDate(t.getDate()+1);
	}
	//if(base!=0) tag.closeTag("tr");
	//alert(t1);
	tag.closeTag("table");
	document.write(tag.getTagString());
}
function getFirstDateOfMonth(d){
	return new Date(d.getFullYear(), d.getMonth(), 1);
}
function getDateString(d){
	return d.getFullYear()+"-"+padLeft(d.getMonth()+1, 2, "0")+"-"+padLeft(d.getDate(), 2, "0");
}
function padLeft(s, l, c){
	var tmp=""+s;
	while(tmp.length<l){
		tmp=c+tmp;
	}
	return tmp;
}
createCalendar(startDate, endDate, dtName);