document.write("<style>");
document.write("#__calendar{width:147px;margin:0;padding:0;}");
document.write("#calendarTable{ margin:0;padding:0;border:1px solid #000; background-color:#EEEEEE}");
document.write("th,td{margin:0;padding:0px}");
document.write("#calendarTable th ,#calendarTable td{font:12px/20px \u5b8b\u4f53,Arial,sans-serif;text-align:center;}");
document.write("#calendarTable thead th.week{border-top:1px solid #CCC;border-bottom:1px solid #ccc;background:#EEE;}");
document.write("#calendarTable thead tr.function th{border:1px solid #fff}");
document.write("#calendarTable thead tr.top{letter-spacing:1px;}");
document.write("#calendarTable thead a{color:#000;width:19px;height:18px;text-decoration:none;display:block;border:1px solid #ccc;background:#E1F1FF;}");
document.write("#calendarTable tbody a:hover{color:#990;width:19px;height:18px;text-decoration:none;display:block;border:1px solid #ccc;background:#E1F1FF;}");
document.write("#calendarTable thead a.today{width:98% !important;width:100%}");
document.write("#calendarTable thead a.today:hover{width:98% !important;width:100%}");
document.write("#calendarTable td{width:21px;height:20px;border-bottom:1px solid #E6E6E6;color:#fff;}");
document.write("#calendarTable th{height:21px;}");
document.write("#calendarTable tr.com{background:#fff;}");
document.write("#calendarTable tr.cur{background:#F0FAFF;}");
document.write("#calendarTable tbody a{color:#000;width:19px;height:18px;text-decoration:none;display:block;border:1px solid #fff;}");
document.write("#calendarTable tbody a:hover{color:#990;width:19px;height:18px;text-decoration:none;border:1px solid #E6E6E6;background:#E1F1FF;display:block;}");
document.write("#calendarTable tbody a.today{color:#c00;border:1px solid #DBDBDB;background:#CCE4FF;}");
document.write("#calendarTable tbody a.today:hover{color:#990;border:1px solid #DBDBDB;background:#CCE4FF;}");
document.write("#calendarTable tbody a.week{color:#c00;}");
document.write("</style>");    
document.write("<div id='__calendar'  style='position:absolute;display:none;' ><iframe src='javascript:false' style='z-index:-1; filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0); left:0px; visibility:inherit; width:100px; border-width:0 0 0 0;position:absolute; margin-top:18px; padding-top:18px;frameborder:0 height:300px'> </iframe></div>");
document.write("<table cellspacing=\"0\" cellpadding=\"0\" id=\"calendarTable\"><thead><tr class=\"top\"><th>&nbsp;</th><th colspan=\"5\" id=\"sohwdate\"></th><th><a href=\"javascript:void(0);\" title=\"close\" onclick=\"shut()\">\xd7</a></th></tr><tr class=\"function\"><th><a href=\"javascript:void(0);\" title=\"\u5411\u524d\u7ffb1\u5e74\" onclick=\"preYear()\">&lt;&lt;</a></th><th><a href=\"javascript:void(0);\" title=\"\u5411\u524d\u7ffb1\u6708\" onclick=\"preMonth()\">&lt;</a></th><th colspan=\"3\"><a href=\"javascript:void(0);\" class=\"today\" title=\"\u4eca\u5929\" onclick=\"getDate('0')\">\u4eca\u5929</a></th><th><a href=\"javascript:void(0);\" title=\"\u5411\u540e\u7ffb1\u6708\" onclick=\"nextMonth()\">&gt;</a></th><th><a href=\"javascript:void(0);\" title=\"\u5411\u540e\u7ffb1\u5e74\" onclick=\"nextYear()\">&gt;&gt;</a></th></tr><tr><th class=\"week\">\u65e5</th><th class=\"week\">\u4e00</th><th class=\"week\">\u4e8c</th><th class=\"week\">\u4e09</th><th class=\"week\">\u56db</th><th class=\"week\">\u4e94</th><th class=\"week\">\u516d</th></thead><tbody id=\"calendarTbody\"></tbody></table>");
var objouter;
var objInput;
var isShow = true;
var day;
var dateValue;
objouter = document.getElementById("__calendar");
var calendarTable = document.getElementById("calendarTable");
objouter.appendChild(calendarTable);
function setday(obj, n) {
    if(obj.readOnly==false){
        objInput = obj;
        day = n;
        writeDate();
        sohwDate();
        objouter.style.top = getAbsoluteHeight(objInput) + getAbsoluteTop(objInput)+"px";
        objouter.style.left = getAbsoluteLeft(objInput)+"px";
        objouter.style.display = "block";
    }
}
function getAbsoluteHeight(ob) {
	return ob.offsetHeight;
}
function getAbsoluteWidth(ob) {
	return ob.offsetWidth;
}
function getAbsoluteLeft(ob) {
	var s_el = 0;
	el = ob;
	while (el) {
		s_el = s_el + el.offsetLeft;
		el = el.offsetParent;
	}
	return s_el;
}
function getAbsoluteTop(ob) {
	var s_el = 0;
	el = ob;
	while (el) {
		s_el = s_el + el.offsetTop;
		el = el.offsetParent;
	}
	return s_el;
}
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var toDay = new Date();
var tempYear = toDay.getFullYear();
var tempMonth = toDay.getMonth();
var tbody = document.getElementById("calendarTbody");
var sohwId = document.getElementById("sohwdate");
function getDays(month, year) {
	if (1 == month) {
		return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28;
	} else {
		return daysInMonth[month];
	}
}
function writeDate() {
	var curCal = new Date(tempYear, tempMonth, 1);
	var startDay = curCal.getDay();
	var daily = 0;
	var today = toDay.getDate();
	if (tempYear != toDay.getFullYear() || tempMonth != toDay.getMonth()) {
		today = -1;
	}
	var todayStyle = "";
	var weekEndStyle = "";
	clear();
	var intDaysInMonth = getDays(curCal.getMonth(), curCal.getFullYear());
	var weeks = (intDaysInMonth + startDay) % 7 == 0 ? (intDaysInMonth + startDay) / 7 : parseInt((intDaysInMonth + startDay) / 7) + 1;
	for (var intWeek = 1; intWeek <= weeks; intWeek++) {
		var tr = document.createElement("tr");
		tr.setAttribute("onmouseover", "javascript:this.className='cur'");
		tr.setAttribute("onmouseout", "javascript:this.className='com'");
		tr.onmouseover = function () {
			this.className = "cur";
		};
		tr.onmouseout = function () {
			this.className = "com";
		};

//alert(intDay);
		for (var intDay = 0; intDay < 7; intDay++) {
			var td = document.createElement("td");
			if ((intDay == startDay) && (0 == daily)) {
				daily = 1;
			}
			if (today == daily) {
				todayStyle = "today";
			}
			if (intDay == 6 || intDay == 0) {
				weekEndStyle = "week";
			}
			if ((daily > 0) && (daily <= intDaysInMonth)) {
				td.innerHTML = "<a href=\"javascript:void(0);\" class=\"" + weekEndStyle + todayStyle + "\" onclick=\"getDate('" + daily + "')\" title=\"" + eval(tempMonth + 1) + "\u6708" + daily + "\u65e5\">" + daily + "</a>";
				todayStyle = "";
				weekEndStyle = "";
				daily++;
			} else {
				td.innerHTML = "&nbsp;";
				todayStyle = "";
				weekEndStyle = "";
			}
			tr.appendChild(td);
		}
		tbody.appendChild(tr);
	}
}
/*function validateHiddenWeek(objForm){
//var myDate=new Date();
objForm.value=myDate.getDay();
return objForm.value;
}*/
function getDate(day) {
	var year, month, date;
	if (day == "0") {
		year = toDay.getFullYear();
		month = eval(toDay.getMonth() + 1) < 10 ? "0" + eval(toDay.getMonth() + 1) : eval(toDay.getMonth() + 1);
		date = toDay.getDate() < 10 ? "0" + toDay.getDate() : toDay.getDate();
	} else {
		year = tempYear;
		month = eval(tempMonth + 1) < 10 ? "0" + eval(tempMonth + 1) : eval(tempMonth + 1);
		date = day < 10 ? "0" + day : day;
	}
	
	var mydate=new Date();
	var year2=mydate.getFullYear();
    var year1=(year2<1900?(1900+year2):year2);
    var month2=mydate.getMonth()+1;
    var monthFormat=(month2>9?month2:"0"+month2);
    var datee2=mydate.getDate();
    var dateeFormat=(datee2>9?datee2:"0"+datee2);
    var currentDate=year1+"-"+monthFormat+"-"+dateeFormat;  
        
    var val = year + "-" + month + "-" + date;
    //alert(val);
    //alert(currentDate);
	/* Do not check here
    if(val < currentDate){
		alert('選擇的日期為即日起或之後的日期,請重新選擇!');
     }
     */
	objInput.value = val;
	
    var myDate = new Date();
	myDate.setFullYear(year, month - 1, date);
	dateValue = myDate.getDay();
	setHidden(dateValue);
	close();
}
function setHidden(dateValue) {
	switch (day) {
	  case 0:
		//document.tmHolidayForm.weekday.value = dateValue;
		break;
	  case 1:
		//document.houseWorkForm.weekday1.value = dateValue;
		break;
	  case 2:
		//document.houseWorkForm.weekday2.value = dateValue;
		break;
	  case 3:
		//document.houseWorkForm.weekday3.value = dateValue;
		break;
	  case 4:
		//document.houseWorkForm.weekday4.value = dateValue;
		break;
	  case 5:
		//document.houseWorkForm.weekday5.value = dateValue;
		break;
	  case 6:
		//document.houseWorkForm.weekday6.value = dateValue;
		break;
	  case 7:
		//document.houseWorkForm.weekday7.value = dateValue;
		break;
	}
}
function sohwDate() {
	sohwId.innerHTML = tempYear + "\u5e74" + eval(tempMonth + 1) + "\u6708";
}
function preYear() {
	isShow = false;
	if (tempYear > 999 && tempYear < 10000) {
		tempYear--;
	} else {
		alert("\u5e74\u4efd\u8d85\u51fa\u8303\u56f4\uff081000-9999\uff09\uff01");
	}
	sohwDate();
	writeDate();
}
function nextYear() {
	isShow = false;
	if (tempYear > 999 && tempYear < 10000) {
		tempYear++;
	} else {
		alert("\u5e74\u4efd\u8d85\u51fa\u8303\u56f4\uff081000-9999\uff09\uff01");
	}
	sohwDate();
	writeDate();
}
function preMonth() {
	isShow = false;
	if (tempMonth >= 1) {
		tempMonth--;
	} else {
		tempYear--;
		tempMonth = 11;
	}
	sohwDate();
	writeDate();
}
function nextMonth() {
	isShow = false;
	if (tempMonth == 11) {
		tempYear++;
		tempMonth = 0;
	} else {
		tempMonth++;
	}
	sohwDate();
	writeDate();
}
function clear() {
	var nodes = tbody.childNodes;
	var nodesNum = nodes.length;
	for (var i = nodesNum - 1; i >= 0; i--) {
		tbody.removeChild(nodes[i]);
	}
}
function shut() {
	close();
}
function close() {
	tempYear = toDay.getFullYear();
	tempMonth = toDay.getMonth();
	objouter.style.display = "none";
	objouter.style.top = 0;
	objouter.style.left = 0;
}
function vent(event) {
	if (document.all) {
		if (isShow) {
			if (window.event.srcElement != objouter && window.event.srcElement != objInput) {
				close();
			}
			isShow = true;
			return;
		}
		isShow = true;
	} else {
		if (isShow) {
			if (event.target != objouter && event.target != objInput) {
				close();
			}
			isShow = true;
		}
		isShow = true;
	}
}
document.onclick = vent;

