
var Browser,IE,NS,targetObj,datToday;
browser=window.navigator.appName
IE="Microsoft Internet Explorer"
NS="Netscape"
if(browser==IE)
{	var strDiv
	strDiv="<div style=\"position:absolute;z-index: 20;\" id=calndr></div>"
	document.writeln(strDiv)}

function showCalendar(Year,Month)
{
	var datCalndr=new Date(Year,Month,1)
	var strCalndr
	var intTRCount,intTDCount,intDiff
	var aryMonth = new Array();
	
	
	aryMonth[-1] = "十<br>二";
	aryMonth[0] = "一";
	aryMonth[1] = "二";
	aryMonth[2] = "三";
	aryMonth[3] = "四";
	aryMonth[4] = "五";
	aryMonth[5] = "六";
	aryMonth[6] = "七";
	aryMonth[7] = "八";
	aryMonth[8] = "九";
	aryMonth[9] = "十";
	aryMonth[10] = "十<br>一";
	aryMonth[11] = "十<br>二";
	aryMonth[12] = "一";
	
	//define style
	strStyTABLE="style=\"border-width:1px;border-style:Solid;font-family:Verdana;font-size:9pt;background:#ffffff\""
	strStyCP="style=\"cursor:hand;font-size:8pt;color:white\""
	strStyA="style=\"cursor:hand;text-decoration:none;color:white\""
	strStyTH="style=\"background:white;color:#333333;font-size:8pt;font-weight:bold;height:8pt;\""
	strStyTD="style=\"cursor:hand;font-size:8pt;background:#CCCCCC;\""
	strStySP="style=\"cursor:hand;font-size:8pt;background:#CCCCCC;color:#999999;\""
	strStyToday="style=\"cursor:hand;font-size:8pt;background:#333399;border:1 solid black;text-decoration:none;color:white;\""
	

	//this is heading of calendar
	strCalndr="<table borderColor=#ffffff "+strStyTABLE+" border=0 cellspacing=1 width=155px>"
	strCalndr+="<tr><td colspan=7>"
	strCalndr+="<table border=0 bgcolor=#333399 width=100%>"
	strCalndr+=  "<tr>"
	strCalndr+=    "<td width=15%><span "+strStyA+" onclick='javascript:calendar(" + Year+ "," + (Month-1) + ")'>" + aryMonth[Month-1] + "<br>月</span></td>"
	strCalndr+=    "<td align=center width=70%><font color=ffffff>" + Year + "年" + (Month+1) + "月</font></td>"
	strCalndr+=    "<td align=right width=15%><span "+strStyA+" onclick='javascript:calendar(" + Year+ "," + (Month+1) + ")'>" + aryMonth[Month+1] + "<br>月</span></td>"
	strCalndr+=  "</tr>"
	strCalndr+="</table>"

	strCalndr+="</td></tr>"

	//this is heading of calendar
	strCalndr+="<tr align=Center>"
	strCalndr+="<td "+strStyTH+">星<br>期<br>日"
	strCalndr+="<td "+strStyTH+">星<br>期<br>一"
	strCalndr+="<td "+strStyTH+">星<br>期<br>二"
	strCalndr+="<td "+strStyTH+">星<br>期<br>三"
	strCalndr+="<td "+strStyTH+">星<br>期<br>四"
	strCalndr+="<td "+strStyTH+">星<br>期<br>五"
	strCalndr+="<td "+strStyTH+">星<br>期<br>六"
	strCalndr+="</tr><tbody>"
	
	intTRCount=0
	
	//calculate the space of the begin
	var intLastDay=31;
	var intLastMonth;
	var intLastYear;
	if(Month==0){
		intLastMonth=12;
		intLastYear=Year-1;
	}
	else{
		intLastMonth=Month;
		intLastYear=Year;
	}
	while( !IsDate(intLastYear + "/" + intLastMonth + "/" + intLastDay) ){
		intLastDay--;
	}
	intLastDay-=parseInt(datCalndr.getDay());
	for (intTDCount=parseInt(datCalndr.getDay());intTDCount>0;intTDCount--)
	{	//strCalndr+="<td "+strStySP+">&nbsp;"
		strCalndr+="<td "
		strCalndr+=" onclick=\"javascript:setDate('"+intLastYear+"/"+intLastMonth+"/"+intLastDay+"')\""
		strCalndr+=" align=\"center\""
		strCalndr+=strStySP+">" + intLastDay
		intLastDay++;
		intTRCount++;
	}
	
	for (intDate=1;intDate<=31;intDate++)
	{	datCalndr.setDate(intDate)
		if (intTRCount==7)
		{	strCalndr+="</tr><tr>"
			intTRCount=0;}
		intTRCount+=1
		
		//if exceed the length of a month jump out the loop
		if (parseInt(datCalndr.getMonth())!=Month)
		{	intDiff=parseInt(datCalndr.getDay()-1)
			break;}

		
		//if date is today
		if (whToday(datCalndr.getFullYear(),datCalndr.getMonth(),datCalndr.getDate()))
		{	strCalndr+="<td onclick=\"javascript:setDate('"+Year+"/"+(Month+1)+"/"+datCalndr.getDate()+"')\""
			strCalndr+=" align=\"center\""
			strCalndr+=strStyToday+">"}
		else
		{	
			strCalndr+="<td "
			strCalndr+=" onclick=\"javascript:setDate('"+Year+"/"+(Month+1)+"/"+datCalndr.getDate()+"')\""
			strCalndr+=" align=\"center\""
			strCalndr+=strStyTD+">"}

		strCalndr+=datCalndr.getDate()
		
		intDiff=parseInt(datCalndr.getDay())}

	//calculate the space of the end
	intNextMonth = (Month+2);
	intNextYear = Year;
	if (intNextMonth>=13){
		intNextYear++;
		intNextMonth--;
	}
	if (intDiff>=0)//in case of a space line
	{	for (intTDCount=0;intTDCount<(6-intDiff);intTDCount++)
		{//strCalndr+="<td "+strStySP+">&nbsp;"
			strCalndr+="<td "
			strCalndr+=" onclick=\"javascript:setDate('"+Year+"/"+intNextMonth+"/"+(intTDCount+1)+"')\""
			strCalndr+=" align=\"center\""
			strCalndr+=strStySP+">" + (intTDCount+1)
		}
	}
	
	return (strCalndr)}

function calendar(intYear,intMonth)
{	var Year,Month
	if (intMonth==12)
	{	Month=0
		Year=intYear+1}
	else	
	{	if (intMonth==-1)
		{	Month=11
			Year=intYear-1}
		else 
		{	
			Month=intMonth
			Year=intYear}}
	if(browser==IE)
	{	document.all("calndr").innerHTML=(showCalendar(Year,Month))}
	if(browser==NS)
	{	}}

function setDate(ymd)
{	targetObj.value=ymd
        closez()}

function whToday(Y,M,D)
{	if (datToday.getFullYear()==Y && datToday.getMonth()==M && datToday.getDate()==D)
		return (true)
	else
		return (false)}
		


function calendarIntialize(target)
{	
	targetObj=target
	if(IsDate(targetObj.value)){
		datToday=new Date(targetObj.value);
	}
	else{
		datToday=new Date();
	}
	intTYear=parseInt(datToday.getFullYear())
	intTMonth=parseInt(datToday.getMonth())
	if (browser==IE)
	{	with(document.all("calndr"))
		{	
			var parentObj,x,y
			parentObj=target.offsetParent
			x=0
			y=0
			while(parentObj.tagName!="BODY")
			{	x+=parentObj.offsetLeft
				y+=parentObj.offsetTop
				parentObj=parentObj.offsetParent}
			x+=target.offsetLeft+2
			y+=target.offsetTop+target.offsetHeight
			style.posTop=y
			style.posLeft=x
			innerHTML=(showCalendar(intTYear,intTMonth))
			style.visibility="visible"}}}
function closez()
{	
	if (browser==IE)
	{	with(document.all("calndr"))
		{	
			style.posTop=0
			style.posLeft=0
			style.visibility="hidden"
			innerHTML=""}}
	if (browser==NS)
	{	}}

function IsDate( objRef ){
	objRef = objRef.replace(/[-]+/g,"/");
	var datDate = new Date(objRef);
	if(datDate=="NaN" || objRef=="" || objRef=="0000/00/00"){
		return false;
	}
	
	//Start把月日開頭的零拿掉
	var aryDate=objRef.split("/");
	objRef_New = aryDate[0];
	
	for (var i=0;i<aryDate[1].length;i++){
		if ( aryDate[1].substr(i, 1) != "0" ){
			break;
		}
	}
	objRef_New += "/" + aryDate[1].substr(i, aryDate[1].length - i);

	for (var i=0;i<aryDate[2].length;i++){
		if ( aryDate[2].substr(i, 1) != "0" ){
			break;
		}
	}
	objRef_New += "/" + aryDate[2].substr(i, aryDate[2].length - i);
	//End把月日開頭的零拿掉

	var intYear = datDate.getFullYear();
	var intMonth = datDate.getMonth()+1;
	var intDay = datDate.getDate();

	var datCheckDate = intYear + '/' + intMonth + '/' + intDay;

	if(objRef_New!=datCheckDate){
		return false;
	}
	return true;
}