var dd, mm, yyyy;
var m_arrD = new Array() 
var m_cntD = 0
var m_locked = false;

function maxDays(mm, yyyy){
	var mDay;
	if((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)){
		mDay = 30;
	}
	else{
		mDay = 31
		if(mm == 1){
			if (yyyy/4 - parseInt(yyyy/4) != 0){
			mDay = 28
			}
			else{
				mDay = 29
			}
		}
	}
	return mDay;
}

function changeBg(id){
	var dd = eval(id).innerHTML;
	for( i = 0; i < m_cntD; i++)
	{
		if ( m_arrD[i] == dd && m_locked == false)
		{
			//var dow = now.getDay()
			var dt = new Date(  yyyy, mm, dd)
			changeCal( dt)
		
			m_locked = true;
			RV_SetPlaySpeed(0);
			RV_SetDate( dt, true);
			delete dt; //hjyang
			break;
		}
	}
}
function writeCalendar(ob){
	var now = new Date();
	dd = now.getDate()
	mm = now.getMonth()
	yyyy = now.getFullYear()
	var text = ""
//	text = "<form name=calForm>"
	text = "<table border=0>"
	
	aa = 0
	for (kk=0;kk<=5;kk++){
		text += "<tr>"
		for (ii=0;ii<=6;ii++){
			text += "<td align=center><span id=sp" + aa + " onClick='changeBg(this.id)' ></span></td>"
			aa += 1
		}
		text += "</tr>"
	}
	text += "</table>"
//	text += "</form>"
	//document.write(text)
	ob.innerHTML = text;
//	changeCal( now)
	
	ChangeMon(0, false);
	delete now; //hjyang
}

function changeCal( dt){
	if (dt!=0)
	{
		dd = dt.getDate()
		mm = dt.getMonth()
		yyyy = dt.getFullYear()
	}	
	var currM = mm;//parseInt(document.calForm.selMonth.value)
	var prevM
	if (currM!=0){
		prevM = currM - 1
	}
	else{
		prevM = 11
	}
	var currY = yyyy;//parseInt(document.calForm.selYear.value)
	var mmyyyy = new Date()
	mmyyyy.setFullYear(currY)
	mmyyyy.setMonth(currM)
	mmyyyy.setDate(1)
	var day1 = mmyyyy.getDay()
	if (day1 == 0){
		day1 = 7
	}
	var arrN = new Array(41)
	var aa
	for (ii=0;ii<day1;ii++){
		arrN[ii] = maxDays((prevM),currY) - day1 + ii + 1
	}
	aa = 1
	for (ii=day1;ii<=day1+maxDays(currM,currY)-1;ii++){
		arrN[ii] = aa
		aa += 1
	}
	aa = 1
	for (ii=day1+maxDays(currM,currY);ii<=41;ii++){
		arrN[ii] = aa
		aa += 1
	}
	var i = 0;
	for (ii=0;ii<=41;ii++){
		eval("sp"+ii).style.backgroundColor = "#000000"
	}
	var dCount = 0
	for (ii=0;ii<=41;ii++){
		if (((ii<7)&&(arrN[ii]>20))||((ii>27)&&(arrN[ii]<20))){
			eval("sp"+ii).innerHTML = arrN[ii]
			eval("sp"+ii).className = "c3"
		}
		else{
			eval("sp"+ii).innerHTML = arrN[ii]
			if ((dCount==0)){//||(dCount==6)){
				eval("sp"+ii).className = "c2"
			}
			else{
				eval("sp"+ii).className = "c2"
			}

			if ( mm != currM || yyyy != currY)
				continue;
				
			if ( arrN[ii]==dd){
				eval("sp"+ii).style.backgroundColor="dimgray"
			}
			if (i < m_cntD && arrN[ii]==m_arrD[i]){
				eval("sp"+ii).className = "c4";
				i++;
			}
		}
		dCount += 1
		if (dCount>6){
			dCount=0
		}
	}
	delete mmyyyy;
//	delete arrN;//hjyang
}

function ChangeMon(n, mode)
{
//	if ( m_locked == true && n != 0)
//		return;
		 
	switch ( n)	
	{
		case -1: //prev
			mm = mm - 1; 
			if (mm < 0)
			{
				mm = 11; 
				yyyy = yyyy-1;
			}
		break;
		case 0: //now
		break;
		case 1: //next
			mm = mm + 1; 
			if (mm > 11)
			{
				mm = 0; 
				yyyy = yyyy+1;
			}
		break;
	}

	var arrM = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	var month = String(yyyy) + '  ' + arrM[mm];
	var ob = MM_findObj('B_month');
	ob.innerHTML = "<div align='center'><font color='#008000' size='1' face='Arial'>"+month+"</font></div>";

	var dt = new Date( yyyy, mm, dd);
	if ( n == -1 || n == 1) 
	{
		if ( mode == true)
		{
			RV_SetPlaySpeed(0);
			RV_SetDate( dt, false);
		}
	}

	var date = new Date(curDate*1000);
	changeCal( date);
	delete date; 
	delete dt;
//	delete arrM;//hjyang
}
