﻿// JScript 파일

// JScript 파일
function java_all_trim(a) {

    for (; a.indexOf(" ") != -1 ;) { 
        a = a.replace(" ","")
    }
    return a;
}
  
function plus_day(day) { 
		var now = new Date();
		var newdate = new Date();

		sdate = newdate.getTime();
		edate = sdate + (day*24*60*60*1000);   
		newdate.setTime(edate);
		last_ndate = newdate.toLocaleString();
		last_date = java_all_trim(last_ndate)
		last_year = last_date.substr(0,4);
		last_month = last_date.substr(5,2);
		last_mon = last_month.replace("월","");

        if(last_mon < 10) {
        last_m = 0+last_mon;
        last_day = last_date.substr(7,2);
        last_da = last_day.replace("일","");
      
            if(last_da < 10) {
                last_d = 0+last_da;
            }
            else{
                last_d = last_da;
             }
        }
        else{
        last_m = last_mon;
        last_day = last_date.substr(8,2);
           last_da = last_day.replace("일","");
                if(last_da < 10) {
                last_d = 0+last_da;
                }else{
                last_d = last_da;
                }
        }
    last_time = last_year + "-" + last_m +"-"+ last_d;
	return last_time;
} 
/*
function onlyNumber() 
{
	
   if((event.keyCode<48)||(event.keyCode>57))
   {
	 alert("숫자만 사용하십시요");
	 event.returnValue=false;
	 }
  else
  {
		event.returnValue=true;
  }
}*/


var target;																
var stime;

function Calendar(obj, divID) {
	var now = obj.value.split("-");
	var x, y;
	
	target = obj;																
	var Control
	if(divID == "")
		Control = eval('document.all.minical');
	else
		Control = eval('document.all.' + divID);

	Control.style.display = (Control.style.display == "block") ? "none" : "block";

	if (now.length == 3) {													
		Show_cal(now[0],now[1],now[2], divID);										
	} else {
		now = new Date();
		Show_cal(now.getFullYear(), now.getMonth()+1, now.getDate(), divID);		
	}
}

function doOver() {															
	var el = window.event.srcElement;
	cal_Day = el.title;

	if (cal_Day.length > 4) {												
		el.style.borderTopColor = el.style.borderLeftColor = "buttonhighlight";
		el.style.borderRightColor = el.style.borderBottomColor = "buttonshadow";
	}
	window.clearTimeout(stime);													// Clear
}

//날자 사이의 일수를 구한다.
function checkTerm(eDate, sDate)
{
    var eDateYear  = parseInt(eDate.substring(0,4),10);
    var eDateMonth = parseInt(eDate.substring(5,7),10);
    var eDateDate  = parseInt(eDate.substring(8,10),10);

   // var sDateYear  = parseInt(sDate.substring(0,4),10);
  //  var sDateMonth = parseInt(sDate.substring(5,7),10);
 //   var sDateDate  = parseInt(sDate.substring(8,10),10);
   
	var today = new Date(); 
	var day = today.getDate(); 
	var month= today.getMonth()+1; 
	var year = today.getYear(); 
	
    var eDate = new Date(eDateYear, eDateMonth, eDateDate);
    var sDate = new Date(year, month, day);
    
	
	var differ = (((((eDate - sDate)/1000)/60)/60)/24);

	
	if(differ >= 4){
		return true;
	}
	else{
		return false;
	}
}


function doClick(divID) {	
	cal_Day = window.event.srcElement.title;

	window.event.srcElement.style.borderColor = "red";		
					
	if (cal_Day.length > 4) {												
		target.value=cal_Day												
	}
	var Control
	if(divID == "")
		Control = eval('document.all.minical');
	else
		Control = eval('document.all.' + divID);
	
	Control.style.display='none';					
}

function doOut() {
	var el = window.event.fromElement;
	cal_Day = el.title;

	if (cal_Day.length > 7) {
		el.style.borderColor = "white";
	}
}

function day2(d) {															

	var str = new String();
	
	if (parseInt(d) < 10) {
		str = "0" + parseInt(d);
	} else {
		str = "" + parseInt(d);
	}
	return str;
}
//function Show_cal(sYear, sMonth, sDay) {
function Show_cal(sYear, sMonth, sDay, divID) {
	var Months_day = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
	var Weekday_name = new Array("일", "월", "화", "수", "목", "금", "토");
	var intThisYear = new Number(), intThisMonth = new Number(), intThisDay = new Number();
	
	var Control
	if(divID == "")
		Control = eval('document.all.minical');
	else
		Control = eval('document.all.' + divID);
	Control.innerHTML = "";
	
	//datToday = new Date();
	datToday = new Date(sYear, sMonth, sDay, 0, 0, 0);
	
	// -->
	if ((sMonth.length == 2) && (sMonth.substr(0,1) == 0))
		sMonth = sMonth.substr(1,1);
		
	if ((sDay.length == 2) && (sDay.substr(0,1) == 0))
		sDay = sDay.substr(1,1);
	// <-- 추가
	
	intThisYear = parseInt(sYear);
	intThisMonth = parseInt(sMonth);
	intThisDay = parseInt(sDay);
	
	if (intThisYear == 0) intThisYear = datToday.getFullYear();				
	if (intThisMonth == 0) intThisMonth = parseInt(datToday.getMonth())+1;	
	if (intThisDay == 0) intThisDay = datToday.getDate();
	
	switch(intThisMonth) {
		case 1:
				intPrevYear = intThisYear -1;
				intPrevMonth = 12;
				intNextYear = intThisYear;
				intNextMonth = 2;
				break;
		case 12:
				intPrevYear = intThisYear;
				intPrevMonth = 11;
				intNextYear = intThisYear + 1;
				intNextMonth = 1;
				break;
		default:
				intPrevYear = intThisYear;
				intPrevMonth = parseInt(intThisMonth) - 1;
				intNextYear = intThisYear;
				intNextMonth = parseInt(intThisMonth) + 1;
				break;
	}

	NowThisYear = datToday.getFullYear();
	//NowThisMonth = datToday.getMonth() + 1;
	NowThisMonth = datToday.getMonth();
	NowThisDay = datToday.getDate();
	
	datFirstDay = new Date(intThisYear, intThisMonth-1, 1);					
	intFirstWeekday = datFirstDay.getDay();										
	
	intSecondWeekday = intFirstWeekday;
	intThirdWeekday = intFirstWeekday;
	
	datThisDay = new Date(intThisYear, intThisMonth, intThisDay);				
	intThisWeekday = datThisDay.getDay();										

	varThisWeekday = Weekday_name[intThisWeekday];								

	
	intPrintDay = 1																
	secondPrintDay = 1
	thirdPrintDay = 1
	
	Stop_Flag = 0
	
	if ((intThisYear % 4)==0) {												
		if ((intThisYear % 100) == 0) {
			if ((intThisYear % 400) == 0) {
				Months_day[2] = 29;
			}
		} else {
			Months_day[2] = 29;
		}
	}
	intLastDay = Months_day[intThisMonth];										
	Stop_flag = 0
	
	// 추가
	var selfcall = "Show_cal("+intPrevYear+","+intPrevMonth+",1, '"+divID+"');";
	
	Cal_HTML = "<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0 ONMOUSEOVER=doOver(); ONMOUSEOUT=doOut(); STYLE='font-size:8pt;font-family:Tahoma;'>"
			+ "<TR ALIGN=CENTER><TD COLSPAN=7 nowrap=nowrap ALIGN=CENTER><SPAN TITLE='이전달' STYLE=cursor:hand; onClick=Show_cal("+intPrevYear+","+intPrevMonth+",1,\'"+divID+"\');><FONT COLOR=Navy>◀</FONT></SPAN> "
			+ "<B STYLE=color:red>"+get_Yearinfo(intThisYear,intThisMonth,intThisDay,divID)+"년"+get_Monthinfo(intThisYear,intThisMonth,intThisDay, divID)+"월</B>"
			+ " <SPAN TITLE='다음달' STYLE=cursor:hand; onClick=Show_cal("+intNextYear+","+intNextMonth+",1,\'"+divID+"\');><FONT COLOR=Navy>▶</FONT></SPAN></TD></TR>"
			+ "<TR ALIGN=CENTER BGCOLOR=ThreedFace STYLE='color:White;font-weight:bold;'><TD>일</TD><TD>월</TD><TD>화</TD><TD>수</TD><TD>목</TD><TD>금</TD><TD>토</TD></TR>";

	for (intLoopWeek=1; intLoopWeek < 7; intLoopWeek++) {						// 주단위 루프 시작, 최대 6주
		Cal_HTML += "<TR ALIGN=RIGHT BGCOLOR=WHITE>"
		for (intLoopDay=1; intLoopDay <= 7; intLoopDay++) {						// 요일단위 루프 시작, 일요일 부터
			if (intThirdWeekday > 0) {											// 첫주 시작일이 1보다 크면
				Cal_HTML += "<TD onClick=doClick('" + divID + "');>";
				intThirdWeekday--;
			} else {
				if (thirdPrintDay > intLastDay) {								// 입력 날짝 월말보다 크다면
					Cal_HTML += "<TD onClick=doClick('" + divID + "');>";
				} else {														// 입력날짜가 현재월에 해당 되면
					Cal_HTML += "<TD onClick=doClick('" + divID + "'); title="+intThisYear+"-"+day2(intThisMonth).toString()+"-"+day2(thirdPrintDay).toString()+" STYLE=\"cursor:Hand;border:1px solid white;";
					if (intThisYear == NowThisYear && intThisMonth==NowThisMonth && thirdPrintDay==intThisDay) {
						Cal_HTML += "background-color:cyan;";
					}
					
					switch(intLoopDay) {
						case 1:													// 일요일이면 빨간 색으로
							Cal_HTML += "color:red;"
							break;
						case 7:
							Cal_HTML += "color:blue;"
							break;
						default:
							Cal_HTML += "color:black;"
							break;
					}
					
					Cal_HTML += "\">"+thirdPrintDay;
					
				}
				thirdPrintDay++;
				
				if (thirdPrintDay > intLastDay) {								// 만약 날짜 값이 월말 값보다 크면 루프문 탈출
					Stop_Flag = 1;
				}
			}
			Cal_HTML += "</TD>";
		}
		Cal_HTML += "</TR>";
		if (Stop_Flag==1) break;
	}
	
	Cal_HTML += "</TABLE>";
	Cal_HTML += "<table>";
	Cal_HTML += "<tr><td>날짜를 클릭해 주십시요.</td></tr>";
	Cal_HTML += "</table>";
	Control.innerHTML = Cal_HTML;
}
function displayNoCal(){
	document.all.minical.innerHTML = "";

}

function get_Yearinfo(year,month,day, divID) {										
	var min = parseInt(year) - 100;
	var max = parseInt(year) + 10;
	var i = new Number();
	var str = new String();
	
	str = "<SELECT onChange=Show_cal(this.value,"+month+","+day+",\'"+divID+"\'); ONMOUSEOVER=doOver();>";
	for (i=min; i<=max; i++) {
		if (i == parseInt(year)) {
			str += "<OPTION VALUE="+i+" selected ONMOUSEOVER=doOver();>"+i+"</OPTION>";
		} else {
			str += "<OPTION VALUE="+i+" ONMOUSEOVER=doOver();>"+i+"</OPTION>";
		}
	}
	str += "</SELECT>";
	return str;
}


function get_Monthinfo(year,month,day, divID) {										
	var i = new Number();
	var str = new String();
	
	str = "<SELECT onChange=Show_cal("+year+",this.value,"+day+",\'"+divID+"\'); ONMOUSEOVER=doOver();>";
	for (i=1; i<=12; i++) {
		if (i == parseInt(month)) {
			str += "<OPTION VALUE="+i+" selected ONMOUSEOVER=doOver();>"+i+"</OPTION>";
		} else {
			str += "<OPTION VALUE="+i+" ONMOUSEOVER=doOver();>"+i+"</OPTION>";
		}
	}
	str += "</SELECT>";
	return str;
}
