var dateType = 1;	// 1: yyyymmdd, 2: ddmmyyyy

function show_calendar(str_target, str_form, str_datetime) {
	//document.getElementById("dim").style.display = "block";
	
	var arr_months = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
	var week_days = ["일", "월", "화", "수", "목", "금", "토"];

	var n_weekstart = 0; 
	var dt_datetime = (str_datetime == null || str_datetime == "" || str_datetime.length != 10 ?  new Date() : str2dt(str_datetime));
	var dt_prev_month = new Date(dt_datetime);
	dt_prev_month.setMonth(dt_datetime.getMonth()-1);
	var dt_next_month = new Date(dt_datetime);
	dt_next_month.setMonth(dt_datetime.getMonth()+1);

	var dt_prev_year = new Date(dt_datetime);
	dt_prev_year.setYear(dt_datetime.getFullYear()-1);


	var dt_next_year = new Date(dt_datetime);
	dt_next_year.setYear(dt_datetime.getFullYear()+1);

	var dt_firstday = new Date(dt_datetime);
	dt_firstday.setDate(1);
	dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
	var dt_lastday = new Date(dt_next_month);
	dt_lastday.setDate(0);
	
	var str_buffer = new String (
		"<div id=\"calendar-title\" class=\"layer_claendar\">\n"+
		"	<div class=\"toppart\">\n"+
		"		<button id=\"prevYear\" title=\"이전 년도\" onclick=\"javascript:show_calendar('"+str_target+"', '"+str_form+"', '"+dt2dtstr(dt_prev_year)+"'); \">"+
		"<i>이전 년도</i></button>\n" +
		"		<button id=\"prevMonth\" title=\"이전 달\" onclick=\"javascript:show_calendar('"+str_target+"', '"+str_form+"', '"+ dt2dtstr(dt_prev_month)+"');\">"+
		"<i>이전 달</i></button>	&nbsp;\n"+
		"<b id=\"_calendarTableHeader\"><span class=\"year\">"+dt_datetime.getFullYear()+"년 </span> <span class=\"month\">"+arr_months[dt_datetime.getMonth()]+"월</span></b>&nbsp;   \n"+
		"		<button id=\"nextMonth\" title=\"다음 달\" onclick=\"javascript:show_calendar('"+str_target+"', '"+str_form+"', '"+dt2dtstr(dt_next_month)+"');\">"+
		"<i>다음 달</i></button>\n" +
		"		<button id=\"nextYear\" title=\"다음 년도\" onclick=\"javascript:show_calendar('"+str_target+"', '"+str_form+"', '"+dt2dtstr(dt_next_year)+"');\">"+
		"<i>다음 년도</i></button>\n" +
		"	</div>"
	);

	str_buffer += "<table id=\"calendarTable\" class=\"calendarboard\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">  \n";
	if(str_form.indexOf('from') > 0){
		str_buffer += "	<caption>검색 시작일 선택</caption>\n";
	}else{
		str_buffer += "	<caption>검색 종료일 선택</caption>\n";
	}
		str_buffer += "	<colgroup>	<col width=\"14%\"><col width=\"14%\"><col width=\"14%\"><col width=\"14%\"><col width=\"14%\"><col width=\"14%\"><col width=\"14%\"></colgroup>  \n";
	
	var dt_current_day = new Date(dt_firstday);
	
	str_buffer += "		<thead><tr> \n";
	for (var n=0; n < 7; n++){
		str_buffer += "	<th scope=\"col\" >"+week_days[(n_weekstart+n)%7]+"</th>\n";
	}
	str_buffer += "		</tr></thead>\n";
	iss = 0;
	str_buffer += "		<tbody>\n";
	while (dt_current_day.getMonth() == dt_datetime.getMonth() || dt_current_day.getMonth() == dt_firstday.getMonth()) {
		str_buffer += "			<tr>\n";
		for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
				if (dt_current_day.getDate() == dt_datetime.getDate() &&
					dt_current_day.getMonth() == dt_datetime.getMonth()){
					str_buffer += "				<td class=\"today\">";
				}			
				else if (dt_current_day.getDay() == 0){
					str_buffer += "				<td class=\"sun\">";
				}
				else if (dt_current_day.getDay() == 6){
					str_buffer += "				<td class=\"sat\">";
				}
				else{
					str_buffer += "				<td>";
				}

				if (dt_current_day.getMonth() == dt_datetime.getMonth()){
					str_buffer += "<a href=\"javascript:"+str_form+
					".value='"+dt2dtstr(dt_current_day)+"';" + str_form + ".focus();hide_Calendar('"+str_target+"');\">"+dt_current_day.getDate()+"</a>";
				}
				else{ 
					str_buffer += "&nbsp;";
				}

				str_buffer += "</td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);
		}

		str_buffer += "			</tr>\n";
		iss++;
	}
	/*
	if(iss == 5){
		str_buffer += "<tr>\n";
		for(q=0;q<7;q++){
		str_buffer +="<td>&nbsp;</td>\n"
		}
		str_buffer +="</tr>\n";
	}
	*/
	str_buffer +=
		"</tbody>\n" +
		"</table>\n" +
		"<button class=\"cal_close\" onclick=\"hide_Calendar('"+str_target+"');\"><i>달력닫기</i></button>\n" +
		"</div>";


    document.getElementById(str_target).innerHTML = str_buffer;
    document.getElementById(str_target).style.display = "block"
	/*
	var vWinCal = window.open("", "Calendar", "width=200,height=200,status=no,resizable=yes,top=200,left=200");
	vWinCal.opener = self;
	var calc_doc = vWinCal.document;
	calc_doc.write (str_buffer);
	calc_doc.close();
	*/
}


function str2dt (str_datetime) {
	if (str_datetime.length != 10) {
		return alert("Invalid Datetime format: "+ str_datetime);
	}
	
	dts = new Date();    //today's date
	ho = dts.getHours();
	min = dts.getMinutes();
	ss =  dts.getSeconds();

	//alert(parseInt(str_datetime.substring(0,4)));
	//alert(str_datetime.substring(4,6));
	//alert(parseInt(str_datetime.substring(6,8)));

//	return (new Date (2002, 8, 1,ho,min,ss));
	

	str_datetime = str_datetime.replace(/\-/g, '');
	if(dateType == 1) {
		return (new Date (parseInt(str_datetime.substring(0,4)), parseInt(toFomart2(str_datetime.substring(4,6)))-1, parseInt(str_datetime.substr(6,8)),ho,min,ss));
	} else if(dateType == 2) {
		return (new Date (parseInt(str_datetime.substring(4,8)), parseInt(toFomart2(str_datetime.substring(2,4)))-1, parseInt(str_datetime.substr(0,2)),ho,min,ss));
	}
}

function dt2dtstr (dt_datetime) {

	if(dateType == 1) {
		return (new String (dt_datetime.getFullYear()+"-"+toFomart(dt_datetime.getMonth()+1)+"-"+toFomart(dt_datetime.getDate())+""));
	} else if(dateType == 2) {
		return (new String (toFomart(dt_datetime.getDate())+""+toFomart(dt_datetime.getMonth()+1)+""+dt_datetime.getFullYear()+""));
	}
}


function dt2tmstr (dt_datetime) {
	return (new String (
			dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds()));
}

function toFomart( vals){
 var  retval = "";
  if(parseInt(vals) < 10 ){
    retval = "0"+vals;
  }else{
    retval = vals;
  }

  return retval;
}

function toFomart2( vals){
 var  retval = "";
  if(parseInt(vals) < 10 ){
    retval = vals.substring(1,2);
  }else{
    retval = vals;
  }

  return retval;
}
/*
function openCalendar(strNodeNM, strValue) {
	show_calendar(strNodeNM, strValue.replace(/\//g, ''));
}
*/

function hide_Calendar(str_target){
	//document.getElementById("dim").style.display = "none";
	document.getElementById(str_target).style.display = "none";
	
}

		function doDate(range){
			var startDate = '';
			var endDate = '';
			if(range != 'direct') {
				var currentDate = new Date();
				endDate = dateFormat(currentDate,"-");

				if (range == 'day') {
					currentDate.setDate(currentDate.getDate()-1);
				} else if (range == 'week') {
					currentDate.setDate(currentDate.getDate()-7);
				} else if (range == 'month') {
					currentDate.setMonth(currentDate.getMonth()-1);
				} else if (range == 'year') {
					currentDate.setFullYear(currentDate.getFullYear()-1);
				} else {
					startDate = '1970-01-01';
				}
				
				if (range == 'all') {
					startDate = '1970-01-01';
				}else{
					startDate = dateFormat(currentDate,"-");	
				}
				
			
			
			$("#srchStartDate").val(startDate);
			$("#srchEndDate").val(endDate);
			}else{
			$("#srchStartDate").val('');
			$("#srchEndDate").val('');
			}
		}
		
		
		// 기간 설정
		function dateFormat(date, separator) {
			var year = date.getFullYear();
			var month = date.getMonth() +1;
			var day = date.getDate();
			
			if (month <10) {
				month = "0" + month;
			}

			if (day <10) {
				day = "0" + day;
			}

			return year + separator + month + separator + day;
		}