﻿var timeArray;

function initCalendar(){
	var thisDate = new Date();
	timeArray = timeXmlRead();
	var showDate = timeArray[1];
	var showMonth = showDate.getMonth() + 1;
	monthSelectInit(showMonth);
	monthSelect(showMonth);
	
}

function monthSelectInit(thisMonth){
	var monthSelectDiv = $("#monthSelectField");
	var monthSelectHtml = "";
	for (var i = 5; i<11;i++) {
		monthSelectHtml += "<li>";
		if (i <= thisMonth) {
			monthSelectHtml += "<div id = 'select";
			monthSelectHtml += i;
			monthSelectHtml += "' ";
			if (i == thisMonth) {
				monthSelectHtml += "class='blog_dh_div1 blog_dh_car'><div class='blog_dh_div2' onclick='monthSelect(";
			} else {
				monthSelectHtml += "class='blog_dh_div1'><div class='blog_dh_div2' onclick='monthSelect(";
			}
			monthSelectHtml += i;
			monthSelectHtml += ")'><a href='#'>";
			monthSelectHtml += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class='blog_dh_span1'>";
			monthSelectHtml += i;
			monthSelectHtml += "</span><span class='blog_dh_span2'>";
		} else {
			monthSelectHtml += "<div class='blog_dh_div1'><div class='blog_dh_div2'>";
			monthSelectHtml += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class='blog_dh_span1'>";
			monthSelectHtml += i;
			monthSelectHtml += "</span><span class='blog_dh_span2'>";
		}
		if (i == 5) {
			monthSelectHtml += "MAY</span>"; 
		}
		if (i == 6) {
			monthSelectHtml += "JUNE</span>"; 
		}
		if (i == 7) {
			monthSelectHtml += "JULY</span>"; 
		}
		if (i == 8) {
			monthSelectHtml += "AUG</span>"; 
		}
		if (i == 9) {
			monthSelectHtml += "SEP</span>"; 
		}
		if (i == 10) {
			monthSelectHtml += "OCT</span>"; 
		}
		if (i <= thisMonth) {
			monthSelectHtml += "</a></div></div></li>";
		} else {
			monthSelectHtml += "</div></div></li>";
		}
	}
	monthSelectDiv.attr("innerHTML",monthSelectHtml);
}

function monthChange(id){
	var thisDate = new Date();
	var thisMonth = thisDate.getMonth() + 1;
	if (thisMonth < 5) {
		thisMonth = 5;
	}
	for (var i = 5; i <= 10;i++) {
		if (document.getElementById('select'+i) != null) {
			document.getElementById('select'+i).className = "blog_dh_div1";
		}
	}
	document.getElementById('select'+id).className = "blog_dh_div1 blog_dh_car";
}

function monthSelect(month){
	var thisDay;
	var monthShowField = $("#monthShowField");
	var html;
	monthChange(month);
	html = "<table class='monthSelect_td_tb'>";
	if(month == 5 ) {
		var mayDay = 1;
		for(var i = 1;i<7;i++){
			html += "<tr class='monthSelect_fontStyel'>";
			for (var j = 1;j<8;j++) {
				if (i==1) {
					if (j>5) {
						html += tdCreate(mayDay,timeArray,month);
						mayDay += 1;
					}else {
						html += "<td></td>";
					}
				} else {
					if (i==6) {
						if (j == 1) {
							html += tdCreate(mayDay,timeArray,month);
							mayDay += 1;
						}
						else {
							html += "<td></td>";
						}
					}
					else {
						html += tdCreate(mayDay,timeArray,month);
						mayDay += 1;
					}
				}
			}
			html += "</tr>";
		}
	}
	if(month == 6) {
		var mayDay = 31;
		var juneDay = 1;
		for(var i = 1;i<6;i++){
			html += "<tr>";
			for (var j = 1;j<8;j++) {
				if (i==1) {
					if (j>1) {
						html += tdCreate(juneDay,timeArray,month);
						juneDay += 1;
					}else {
						html += tdCreate(mayDay,timeArray,month-1);
						mayDay += 1;
					}
				} else {
					if (i==5) {
						if (j<4) {
							html += tdCreate(juneDay,timeArray,month);
							juneDay += 1;
						}
						else {
							html += "<td></td>";
						}
					} else {
						html += tdCreate(juneDay,timeArray,month);
						juneDay += 1;
					}
				}
			}
			html += "</tr>";
		}
	}
	if(month == 7) {
		var julyDay = 1;
		var juneDay = 28;
		for(var i = 1;i<6;i++){
			html += "<tr>";
			for (var j = 1;j<8;j++) {
				if (i==1) {
					if (j>3) {
						html += tdCreate(julyDay,timeArray,month);
						julyDay += 1;
					}else {
						html += tdCreate(juneDay,timeArray,month-1);
						juneDay += 1;
					}
				} else {
					if (i==5) {
						if (j < 7) {
							html += tdCreate(julyDay,timeArray,month);
							julyDay += 1;
						}
						else {
							html += "<td></td>";
						}
					} else {
						html += tdCreate(julyDay,timeArray,month);
						julyDay += 1;
					}
				}
			}
			html += "</tr>";
		}
	}
	if(month == 8) {
		var julyDay = 26;
		var augDay = 1;
		for(var i = 1;i<7;i++){
			html += "<tr>";
			for (var j = 1;j<8;j++) {
				if (i==1) {
					if (j==7) {
						html += tdCreate(augDay,timeArray,month);
						augDay += 1;
					}else {
						html += tdCreate(julyDay,timeArray,month-1);
						julyDay += 1;
					}
				} else {
					if (i==6) {
						if (j < 3) {
							html += tdCreate(augDay,timeArray,month);
							augDay += 1;
						}
						else {
							html += "<td></td>";
						}
					
					} else {
						html += tdCreate(augDay,timeArray,month);
						augDay += 1;
					}
				}
			}
			html += "</tr>";
		}
	}
	if(month == 9) {
		var augDay = 30;
		var speDay = 1;
		for(var i = 1;i<6;i++){
			html += "<tr>";
			for (var j = 1;j<8;j++) {
				if (i==1) {
					if (j>2) {
						html += tdCreate(speDay,timeArray,month);
						speDay += 1;
					}else {
						html += tdCreate(augDay,timeArray,month-1);
						augDay += 1;
					}
				} else {
					if (i==5) {
						if (j < 5) {
							html += tdCreate(speDay,timeArray,month);
							speDay += 1;
						}
						else {
							html += "<td></td>";
						}
					} else {
						html += tdCreate(speDay,timeArray,month);
						speDay += 1;
					}
				}
			}
			html += "</tr>";
		}
	}
	if(month == 10 ) {
		var octDay = 1;
		var speDay = 27;
		for(var i = 1;i<6;i++){
			html += "<tr class='monthSelect_fontStyel'>";
			for (var j = 1;j<8;j++) {
				if (i==1) {
					if (j>4) {
						html += tdCreate(octDay,timeArray,month);
						octDay += 1;
					}else {
						html += tdCreate(speDay,timeArray,month-1);
						speDay += 1;
					}
				} else {
					html += tdCreate(octDay,timeArray,month);
					octDay += 1;
				}
			}
			html += "</tr>";
		}
	}
	html += "</table>";
	monthShowField.attr("innerHTML",html);
	
}




function tdCreate(mayDay,timeArray,month){
	var tmpDate = new Date("2010",month-1,mayDay);
	if(timeArray == null || timeArray == ""){
		return "<td class='monthSelect_fontStyel1'><span>"+mayDay+"</span></td>";
	}
	var doStartTime = timeArray[0];
	var doEndTime = timeArray[1];
	if (tmpDate < doStartTime) {
		str = "<td class='monthSelect_fontStyel1'><span>"+mayDay+"</span></td>";
	}
	if (tmpDate >= doStartTime && tmpDate <= doEndTime) {
		//var href = hrefRead(month,mayDay)
		var href = '/sign';
		str = "<td class='monthSelect_fontStyel2'><span><a href='";
		str += href;
		str += "' target='_blank' onmouseover='mouseover(event,";
		str += month;
		str += ",";
		str += mayDay;
		str += ");' onmouseout='mouseout();'>"+mayDay+"</a></span></td>";
	}
	if (tmpDate > doEndTime) {
		str = "<td class='monthSelect_fontStyel'><span>"+mayDay+"</span></td>";
	}
	return str;
	
}

function hrefRead(month,mayDay){
	var xmlUrl = "/xml/date.xml";
	var xmlDoc = readXml(xmlUrl);
	var tagNm = "month" + month + "_" + mayDay;
	if(xmlDoc.getElementsByTagName(tagNm)[0] == null){
		//alert(tagNm);
		return "";
	}
	return ((xmlDoc.getElementsByTagName(tagNm)[0]).getElementsByTagName("url"))[0].firstChild.nodeValue;

}

function picRead(month,mayDay){
	var xmlUrl = "/xml/date.xml";
	var xmlDoc = readXml(xmlUrl);
	var tagNm = "month" + month + "_" + mayDay;
	if(xmlDoc.getElementsByTagName(tagNm)[0] == null){
		return "";
	}
	return ((xmlDoc.getElementsByTagName(tagNm)[0]).getElementsByTagName("divpic"))[0].firstChild.nodeValue;
}

function titleRead(month,mayDay){
	var xmlUrl = "/xml/date.xml";
	var xmlDoc = readXml(xmlUrl);
	var tagNm = "month5_1";
	var title = ((xmlDoc.getElementsByTagName(tagNm)[0]).getElementsByTagName("ti"))[0].firstChild.nodeValue;
	var time = ((xmlDoc.getElementsByTagName(tagNm)[0]).getElementsByTagName("time"))[0].firstChild.nodeValue;
	var repeat = ((xmlDoc.getElementsByTagName(tagNm)[0]).getElementsByTagName("repeat"))[0].firstChild.nodeValue;
	var note = ((xmlDoc.getElementsByTagName(tagNm)[0]).getElementsByTagName("note"))[0].firstChild.nodeValue;
	return "<span class='monthcar_fontStyel1'>" + title + "<br/></span>"
	 + "<span class='monthcar_fontStyel2'>" + time + "<br/></span>"
	 + "<span class='monthcar_fontStyel2'>" + repeat + "<br/></span>"
	 + "<span class='monthcar_fontStyel3'>" + note + "</br></span>" ;
}



function timeXmlRead(){
	var timeArray = new Array();
	var thisDate = new Date();
	var thisMonth = thisDate.getMonth() + 1;
	var thisDay = thisDate.getDate();
	//alert(thisMonth + " - " + thisDay);
	var xmlUrl = "/xml/time.xml";
	var xmlDoc = readXml(xmlUrl);
	
	var time = xmlDoc.getElementsByTagName("time");
	for (var i = 0;i < time.length; i++) {
		var bookStartMonth = (time[i].getElementsByTagName("bookStartMonth"))[0].firstChild.nodeValue;
		var bookEndMonth = (time[i].getElementsByTagName("bookEndMonth"))[0].firstChild.nodeValue;
		var bookStartDay = (time[i].getElementsByTagName("bookStartDay"))[0].firstChild.nodeValue;
		var bookEndDay = (time[i].getElementsByTagName("bookEndDay"))[0].firstChild.nodeValue;
		
		var bookStartDate = new Date("2010",bookStartMonth-1,bookStartDay);
		var bookEndDate = new Date("2010",bookEndMonth-1,bookEndDay);
		if (thisMonth*30+parseInt(thisDay) >= bookStartMonth*30+parseInt(bookStartDay) && thisMonth*30+parseInt(thisDay) <= bookEndMonth*30+parseInt(bookEndDay)) {
			var doStartMonth = (time[i].getElementsByTagName("doStartMonth"))[0].firstChild.nodeValue;
			var doEndMonth = (time[i].getElementsByTagName("doEndMonth"))[0].firstChild.nodeValue;
			var doStartDay = (time[i].getElementsByTagName("doStartDay"))[0].firstChild.nodeValue;
			var doEndDay = (time[i].getElementsByTagName("doEndDay"))[0].firstChild.nodeValue;
			var doStartTime = new Date("2010",doStartMonth-1,doStartDay);
			var doEndTime = new Date("2010",doEndMonth-1,doEndDay);
			timeArray[0] = doStartTime;
			timeArray[1] = doEndTime;
			return timeArray;
		}
	}
}

function readXml(xmlUrl) {
	var xmlDoc;
	try{
		// 用于 IE 的代码：
		if (window.ActiveXObject){
			xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async="false";
			xmlDoc.load(xmlUrl);
		}
		// 用于 Mozilla, Firefox, Opera, 等浏览器的代码：
		else {
			//读取xml文件的方法，支持firfox,chrome浏览器 
			var oXmlHttp = new XMLHttpRequest();
			oXmlHttp.open( "GET", xmlUrl, false );
			oXmlHttp.send(null);
			xmlDoc = oXmlHttp.responseXML;
		}
	} catch (e) {
		alert(e);
		alert('对不起，您的浏览器暂不支持本操作，请使用IE6/IE7/遨游/firfox/Opera/chrome浏览器打开此页面');
	}
	return xmlDoc;
}



function mouseover(ev,month,mayDay){
	return false;
	var urlValue = picRead(month,mayDay);
	ev  = ev || window.event;      
	var mousePos = mouseCoords(ev);  
	var mouseX = mousePos.x;
	var mouseY = mousePos.y - 14;
	var noticeDiv = $("#notice");
	var noticeTitleDiv = $("#noticeTitle");
	var notice = document.getElementById("notice");
	//var noticeTitle = document.getElementById("noticeTitle");
	var url = "url("+urlValue+")";
	//notice.style.backgroundImage = url;
	noticeDiv.css({left: mouseX , top: mouseY });
	var title = titleRead(month,mayDay);
	noticeTitleDiv.attr("innerHTML",title);
	noticeDiv.show();
}

function mouseout(){
	var noticeDiv = $("#notice");
	noticeDiv.hide();
}

function mouseCoords(ev){      
	if(ev.pageX || ev.pageY){          
		return {
			x:ev.pageX,
			y:ev.pageY
		};       
	}      
	return {           
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop   - document.body.clientTop
	};  
} 


