var record="";
function montharr(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11)
{
this[0] = m0;
this[1] = m1;
this[2] = m2;
this[3] = m3;
this[4] = m4;
this[5] = m5;
this[6] = m6;
this[7] = m7;
this[8] = m8;
this[9] = m9;
this[10] = m10;
this[11] = m11;
}
function calendar(strDate,status)
{ 
var strContent="";
var monthNames = "JanFebMarAprMayJunJulAugSepOctNovDec";
if (strDate){
	var checkday = new Date();
	var today = new Date(strDate);
	if (today.getFullYear() >= (checkday.getFullYear()+4)){
		alert("最多只能選到"+(checkday.getFullYear()+3)+"年喔!!\n");
		return;
	}
	if (today.getFullYear() < checkday.getFullYear()){
		alert("只能從"+checkday.getFullYear()+"年開始選喔!!\n");
		return;
	}
	record=strDate;
	
}else{
	var today = new Date();
	record="";
}
var thisDay;
var monthDays = new montharr(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
year = today.getFullYear();
thisDay = today.getDate();
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) monthDays[1] = 29;
nDays = monthDays[today.getMonth()];
firstDay = today;
firstDay.setDate(1); // works fine for most systems
testMe = firstDay.getDate();
if (testMe == 2) firstDay.setDate(0);
startDay = firstDay.getDay();
strContent+='<table border="0" cellspacing="0" cellpadding="2" align="CENTER" bgcolor="#0080FF" width="220" height="100%"><TR><TD valign="top" align="left"><table width="100%"  height="100%" border="0" cellspacing="1" cellpadding="2" bgcolor="Silver">';
strContent+='<TR><th colspan="7" bgcolor="#fd932c" align="right"><img src="/image/2008training/but_close.gif" style="cursor:hand;cursor:pointer;" onclick="fnPanelClose();"></TH></TR>';
strContent+='<TR><th colspan="7" bgcolor="#C8E3FF" align="CENTER">';
var dayNames = new Array("(日)","(一)","(二)","(三)","(四)","(五)","(六)");
var monthNames = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
if (strDate){
	var now = new Date(strDate);
}else{
	var now = new Date();
}
strContent+="<font style=font-size:9pt;Color:#330099><img src='/image/cal_l.gif' onclick='premonth(\""+status+"\");' style='cursor:hand;cursor:pointer;'>  " + now.getFullYear()  + "/"+ monthNames[now.getMonth()] + "/ "+ now.getDate() + " "+dayNames[now.getDay()];
strContent+=" <img src='/image/cal_r.gif' onclick='addmonth(\""+status+"\");' style='cursor:hand;cursor:pointer;'></FONT>";
strContent+='</TH></TR><TR><TH BGCOLOR="#0080FF"><font style="font-size:9pt;Color:White">日</FONT></TH>';
strContent+='<th bgcolor="#0080FF"><font style="font-size:9pt;Color:White">一</FONT></TH>';
strContent+='<TH BGCOLOR="#0080FF"><font style="font-size:9pt;Color:White">二</FONT></TH>';
strContent+='<TH BGCOLOR="#0080FF"><font style="font-size:9pt;Color:White">三</FONT></TH>';
strContent+='<TH BGCOLOR="#0080FF"><font style="font-size:9pt;Color:White">四</FONT></TH>';
strContent+='<TH BGCOLOR="#0080FF"><font style="font-size:9pt;Color:White">五</FONT></TH>';
strContent+='<TH BGCOLOR="#0080FF"><font style="font-size:9pt;Color:White">六</FONT></TH>';
strContent+="</TR><TR>";
column = 0;
for (i=0; i<startDay; i++)
{
strContent+="\n<TD><FONT style=font-size:9pt>&nbsp;</FONT></TD>";
column++;
}
for (i=1; i<=nDays; i++)
{
if (i == thisDay)
{
strContent+='</TD><td align="CENTER" bgcolor="#FF8040" style="cursor:hand;cursor:pointer;" onclick="back_date(\''+now.getFullYear()+'/'+monthNames[now.getMonth()]+'/'+i+'\',\''+status+'\');"><FONT style=font-size:9pt;Color:#ffffff ><B>';
}
else
{
strContent+='</TD><TD BGCOLOR="#FFFFFF" ALIGN="CENTER" style="cursor:hand;cursor:pointer;" onclick="back_date(\''+now.getFullYear()+'/'+monthNames[now.getMonth()]+'/'+i+'\',\''+status+'\');"><FONT style=font-size:9pt;font-family:Arial;font-weight:bold;Color:#330066>';
}
strContent+=i;
if (i == thisDay) strContent+="</FONT></TD>";
column++;
if (column == 7)
{
strContent+="<TR>"; 
column = 0;
}
}
strContent+='</tr></TABLE></TD></TR></TABLE>';
oPanel.innerHTML=strContent;
}
function back_date(strdate,status){
	if (status=="t"){
		obj.value=strdate;
	}else if (status=="s"){
		var monthNames = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
		var myDay = new Date(strdate);
		var myYear=myDay.getFullYear();
		for (var i=0;i<objY.length;i++){
			if (objY.options[i].value==myYear){
				objY.selectedIndex=i;
				break;
			}
		}
		var myMon=monthNames[myDay.getMonth()];
		for (var i=0;i<objM.length;i++){
			if (objM.options[i].value==myMon){
				objM.selectedIndex=i;
				break;
			}
		}	
		var myDate=myDay.getDate();
		for (var i=0;i<objD.length;i++){
			if (objD.options[i].value==myDate){
				objD.selectedIndex=i;
				break;
			}
		}	
	}
	fnPanelClose();
}

function addmonth(status){	
	if (record==""){
		var objdate=new Date();
	}else{
		var objdate=new Date(record);
	}
	objdate.setMonth(objdate.getMonth()+1);

	record=objdate.getFullYear()+"/"+(objdate.getMonth()+1)+"/1";
	
	calendar(record,status);
}

function premonth(status){	
	if (record==""){
		var objdate=new Date();
	}else{
		var objdate=new Date(record);
	}
	objdate.setMonth(objdate.getMonth()-1);

	record=objdate.getFullYear()+"/"+(objdate.getMonth()+1)+"/1";
	
	calendar(record,status);
}
var oPanel = null;
var obj = null;
var objY = null;
var objM = null;
var objD = null;
oPanel = document.getElementById("show_calendar");

function fnOpenPanel(ev,objName){
	obj=eval(objName);
	calendar(obj.value,"t");
	//var oBase=document.goSearch.startdate;
	var event = ev||window.event;
	var oActive = event.srcElement||event.target;
	oPanel.style.top = Learn.util.calculateLocation(obj,"offsetTop")+ 15 + "px" ;
	var vn="Microsoft Internet Explorer";
	if(navigator.appName!=vn){
		//oPanel.style.left =  Learn.util.calculateLocation(obj,"offsetLeft")- Learn.util.calculateLocation(oBase,"offsetLeft")- 20 + "px";
		if(navigator.userAgent.toLowerCase().indexOf("firefox/2") != -1)
			oPanel.style.left =  Learn.util.calculateLocation(oActive,"offsetLeft") - 700 + "px";
		if(navigator.userAgent.toLowerCase().indexOf("firefox/3") != -1)
			oPanel.style.left =  Learn.util.calculateLocation(oActive,"offsetLeft")+ "px";
	}else{
		oPanel.style.left =  Learn.util.calculateLocation(obj,"offsetLeft") + obj.offsetWidth +10+ "px";
	}
	oPanel.style.display = "block";	
}
function fnPanelClose(){
	oPanel.style.display = "none";
	oPanel.style.left = "0px";
	oPanel.style.top = "0px";
} 
function fnOpenPanel_s(ev,objNameY,objNameM,objNameD){
	objY=eval(objNameY);
	objM=eval(objNameM);
	objD=eval(objNameD);
	if (objY.selectedIndex==0 || objM.selectedIndex==0 || objD.selectedIndex==0){
		var monthNames = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
		var myDay = new Date();
		var strValue=myDay.getFullYear()  + "/"+ monthNames[myDay.getMonth()] + "/"+ myDay.getDate();
	}else{
		var strValue=objY.options[objY.selectedIndex].value+"/"+objM.options[objM.selectedIndex].value+"/"+objD.options[objD.selectedIndex].value;
		if(!js_checkDate(objY.options[objY.selectedIndex].value,objM.options[objM.selectedIndex].value,objD.options[objD.selectedIndex].value)){
			alert("所選日期不正確!");
			return;
		}
	}
	
	calendar(strValue,"s");
	//var oBase=document.goSearch.startdate;
	var event = ev||window.event;
	var oActive = event.srcElement||event.target;
	oPanel.style.top = Learn.util.calculateLocation(objD,"offsetTop")+ 15 + "px" ;
	var vn="Microsoft Internet Explorer";
	if(navigator.appName!=vn){
		//oPanel.style.left =  Learn.util.calculateLocation(obj,"offsetLeft")- Learn.util.calculateLocation(oBase,"offsetLeft")- 20 + "px";
		if(navigator.userAgent.toLowerCase().indexOf("firefox/2") != -1)
			oPanel.style.left =  Learn.util.calculateLocation(oActive,"offsetLeft") - 700 + "px";
		if(navigator.userAgent.toLowerCase().indexOf("firefox/3") != -1)
			oPanel.style.left =  Learn.util.calculateLocation(oActive,"offsetLeft")+ "px";
	}else{
		oPanel.style.left =  Learn.util.calculateLocation(objD,"offsetLeft") + objD.offsetWidth +10+ "px";
	}
	oPanel.style.display = "block";	
}
function initSelectDate(){
	var monthNames = new Array("1","2","3","4","5","6","7","8","9","10","11","12");
	var objSY = document.getElementById("startY");
	var objEY = document.getElementById("endY");
	var objSM = document.getElementById("startM");
	var objEM = document.getElementById("endM");
	var objSD = document.getElementById("startD");
	var objED = document.getElementById("endD");
	//objSY.options.length = 0;
	//objEY.options.length = 0;
	//var oOption=new Option("請選擇","");
	//objSY.options[objSY.length]=oOption;
	//objEY.options[objEY.length]=oOption;
	var myDay = new Date();
	var myYear=myDay.getFullYear();
	var oOptionS=new Option(myYear,myYear);
	var oOptionE=new Option(myYear,myYear);
	objSY.options[objSY.length]=oOptionS;
	objEY.options[objEY.length]=oOptionE;
	for (var i=1;i<4;i++){
		myYear=myYear+1;
		var oOptionS=new Option(myYear,myYear);
		var oOptionE=new Option(myYear,myYear);
		objSY.options[objSY.length]=oOptionS;
		objEY.options[objEY.length]=oOptionE;		
	}
	objSY.selectedIndex=1;
	objEY.selectedIndex=2;
	var myMon=monthNames[myDay.getMonth()];
	for (var i=0;i<objSM.length;i++){
		if (objSM.options[i].value==myMon){
			objSM.selectedIndex=i;
			break;
		}
	}
	for (var i=0;i<objEM.length;i++){
		if (objEM.options[i].value==myMon){
			objEM.selectedIndex=i;
			break;
		}
	}
	var myDate=myDay.getDate();
	for (var i=0;i<objSD.length;i++){
		if (objSD.options[i].value==myDate){
			objSD.selectedIndex=i;
			break;
		}
	}
	for (var i=0;i<objED.length;i++){
		if (objED.options[i].value==myDate){
			objED.selectedIndex=i;
			break;
		}
	}
	
}

