var plotRoot= "/images"
var oPopup = window.createPopup();
var oPopBody = oPopup.document.body;
var target;
var stime;
var calendar;
var objViewer;

var valid = "abcdefghijklmnopqrstuvwxyz0123456789_"; //ÀÔ·ÂµÈ ¹®ÀÚ À¯È¿¼º °Ë»ç. ºñ¹Ð¹øÈ£
var num = "1234567890"; //ÀÔ·ÂµÈ ¹®ÀÚ À¯È¿¼º °Ë»ç. 


/* Null Ã¼Å© */
function comFuncIsNull( obj, str )
{
	if( obj.value == "" )
	{
		alertWindow (obj, str + " ÀÔ·ÂÇØÁÖ¼¼¿ä");
		return false;
	}
	else
		return true;
}


function alertWindow(obj,msg)
{
	//var pTop = document.body.clientTop + GetObjectTop(obj);
	var pTop = document.body.clientTop + obj.clientTop;
	oPopBody.innerHTML = "<div>" + +"</div>";
	oPopBody.innerHTML = "<div  style='position:absolute; top:0; left:0; " + 
	"width:200px; height:40px; padding:3px;background:#CCCCCC; border:1px solid black; border-top:1px solid white; border-left:1px solid white;font-family:tahoma; " +
	"font-size:9pt;'> " + "<table><tr><td></td><td style='font-family:±¼¸²Ã¼;font-size:8pt;font-color:#FFFF00;' valign=middle>" +
	  msg + ".</td></tr></div>";	
	 
	 obj.focus();
	 oPopup.show(50,pTop+obj.offsetHeight-3, 200, 40, obj);	 
	 return;
}


function alertWindow2(msg)
{
	var pTop = document.body.clientTop ;
	oPopBody.innerHTML = "<div>" + +"</div>";
	oPopBody.innerHTML = "<div  style='position:absolute; top:0; left:0; " + 
	"width:250px; height:20px; padding:3px;background:#FF0066; border:1px solid black; border-top:1px solid white; border-left:1px solid white;font-family:tahoma; " +
	"font-size:9pt;'> " + "<table><tr><td><img src=" + plotRoot + "/alert.gif align=absmiddle></td><td style='font-family:±¼¸²Ã¼;font-size:8pt;font-color:#FFFF00;' valign=middle>" +
	  msg + ".</td></tr></div>";	
	 
	 //obj.focus();
	 oPopup.show(50,pTop, 240, 55);	 
	 return;
}



/* ÇÊµå Length */
function comFuncCheckLength( obj, min, max, str )
{
	var iLength = obj.value.length;
	if( iLength < min || iLength > max ) {
		//comFuncIsNull(obj,str + " " + min + "ÀÚ ÀÌ»ó " + max + "ÀÚ ÀÌ³»·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä.   ")
		alertWindow (obj, str + " " + min + "ÀÚ ÀÌ»ó " + max + "ÀÚ ÀÌ³»·Î ÀÔ·ÂÇØ ÁÖ¼¼¿ä");			
		//obj.focus();
		return false;
	}
	else return true;
}



function validPass(obj, msg)
{
  //var iLength = obj.value.length;

  for (var i=0; i<obj.value.length; i++) { 
    temp = "" + obj.value.substring(i, i+1); 
    if (valid.indexOf(temp) == "-1") { 
	   alertWindow (obj, msg+" ´Â ¿µ¹®°ú ¼ýÀÚ, _ ·Î¸¸ ÀÌ·ç¾îÁú¼ö ÀÖ½À´Ï´Ù.");			
       return false;
	}else{
		return true;
	}	 
  } 
}

function juminPass(obj, msg)
{
  //var iLength = obj.value.length;

  for (var i=0; i<obj.value.length; i++) { 
    temp = "" + obj.value.substring(i, i+1); 
    if (num.indexOf(temp) == "-1") { 
	   alertWindow (obj, msg+" ´Â ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁú¼ö ÀÖ½À´Ï´Ù.");			
       return false;
	}else{
		return true;
	}	 
  } 
}


function addDay(yyyy, mm, dd, pDay) // ³â, ¿ù, ÀÏ, °è»êÇÒ ÀÏÀÚ (³âµµ´Â ¹Ýµå½Ã 4ÀÚ¸®·Î ÀÔ·Â)
{
	var oDate; // ¸®ÅÏÇÒ ³¯Â¥ °´Ã¼ ¼±¾ð

	dd = dd*1 + pDay*1; // ³¯Â¥ °è»ê

	mm--; // ¿ùÀº 0~11 ÀÌ¹Ç·Î ÇÏ³ª »©ÁØ´Ù

	oDate = new Date(yyyy, mm, dd) // °è»êµÈ ³¯Â¥ °´Ã¼ »ý¼º (°´Ã¼¿¡¼­ ÀÚµ¿ °è»ê)
	//alert(oDate);
	return oDate;
}

function show_calendar(str_target, str_datetime) {

	//alert ("str_datetime="+str_datetime);

	var arr_months = ["1¿ù", "2¿ù", "3¿ù", "4¿ù", "5¿ù", "6¿ù",
		"7¿ù", "8¿ù", "9¿ù", "10¿ù", "11¿ù", "12¿ù"];
	var week_days = ["ÀÏ", "¿ù", "È­", "¼ö", "¸ñ", "±Ý", "Åä"]; // ¿äÀÏ
	var n_weekstart = 1; // day week starts from (normally 0 or 1)
	var dt_datetime = (str_datetime == null || str_datetime =="" ?  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_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 monthn = (dt_datetime.getMonth()+1);
	var dayn = dt_datetime.getDate();
	var yearn = dt_datetime.getFullYear();	

	
	var str_buffer = new String (
		"<html>\n"+
		"<head>\n"+
		"<title>´Þ·Â</title>\n"+
		"</head>\n"+
		"<body bgcolor=White>\n"+
		"<table class=clsOTable cellspacing=0 border=0 width=100%>\n"+
		"<tr><td align=center bgcolor=#4682B4>\n"+
		"<table cellspacing=1 cellpadding=3 border=0 width=100%><tr>\n"+
		"<td bgcolor=#4682B4>\n"+
		"<a href=\"javascript:window.opener.show_calendar('"+
		str_target+"', '"+ dt2dtstr(dt_prev_month)+"');\">"+
		"<img src=prev.gif width=16 height=16 border=0 alt=ÀÌÀü ´Þ></a></td>\n"+  

	
		 //À§¿¡ ¿ù ³âµµ ³ª¿À´Â ºÎºÐ
		"<td bgcolor=#4682B4  align=center colspan=5>"+
		"<font color=white face=tahoma, verdana size=2>"
		+yearn+"³â "+arr_months[dt_datetime.getMonth()]+"</font></td>\n"+ 
		 //À§¿¡ ¿ù ³âµµ ³ª¿À´Â ºÎºÐ

		"<td bgcolor=#4682B4 align=right>\n"+ 
		"<a href=\"javascript:window.opener.show_calendar('"
		+str_target+"', '"+dt2dtstr(dt_next_month)+"');\">"+
		"<img src=next.gif width=16 height=16 border=0 alt=´ÙÀ½ ´Þ></a></td>\n</tr>\n"
		);


	var dt_current_day = new Date(dt_firstday);

	str_buffer += "<tr>\n";
	for (var n=0; n<7; n++)
		str_buffer += "<td align=center bgcolor=#87CEFA>"+  // ¿äÀÏ ³ª¿À´Â ºÎºÐ

		"<font color=white face=tahoma, verdana size=2>"+
		week_days[(n_weekstart+n)%7]+"</font></td>\n";

	// print calendar table
	str_buffer += "</tr>\n";
	while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
		dt_current_day.getMonth() == dt_firstday.getMonth()) 
		

		{

		// print row heder
		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 bgcolor=#FFB6C1 align=right>";
				else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)



					// ÁÖ¸»ÀÏ¶§ ¹è°æ»ö
					str_buffer += "	<td bgcolor=#DBEAF5 align=right>";
				else
					// print working days of current month
					str_buffer += "	<td bgcolor=white align=right>";

				if (dt_current_day.getMonth() == dt_datetime.getMonth())

					// print days of current month

					str_buffer += "<a href=\"javascript:window.opener."+str_target+
					".value='"+dt2dtstr(dt_current_day)+"'; window.close();\">"+
					"<font color=black face=tahoma, verdana size=2>";

				else 

					// print days of other months
					str_buffer += "<a href=\"javascript:window.opener."+str_target+
					".value='"+dt2dtstr(dt_current_day)+"'; window.close();\">"+
					"<font color=gray face=tahoma, verdana size=2>";
				str_buffer += dt_current_day.getDate()+"</font></a></td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);
		}
		// print row footer
		str_buffer += "</tr>\n";
	}

	// ÆË¾÷Ã¢ Ä¶¸°´õ¿¡ ½Ã°£ ³ª¿À´Â ºÎºÐ
	/*
	str_buffer +=
		"<form name=cal>\n"+
		"<tr><td colspan=7 bgcolor=#87CEFA>"+
		"<font color=White face=tahoma, verdana size=2>"+
		"ÇöÀç½Ã°£: <input type=text name=time value="+dt2tmstr(dt_datetime)+" size=8 maxlength=8></font>"+
		"</td></tr>" +
		"</form>\n" +
		"</table>\n" +
		"</td>\n</tr>\n</table>\n" +
		"</body>\n" +
		"</html>\n";

	*/
        // ´Þ·Â »õÃ¢ ¶ç¿ì´Â ºÎºÐ
	var vWinCal = window.open("", "Calendar", 
		"width=200,height=250,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) {

	var re_date = /^(\d+)\-(\d+)\-(\d+)/;  

	if (!re_date.exec(str_datetime))
		return alert("³¯Â¥ Çü½ÄÀÌ Àß¸ø µÇ¾ú½À´Ï´Ù. "+ str_datetime);
	return (new Date (RegExp.$1, RegExp.$2-1, RegExp.$3, RegExp.$4, RegExp.$5, RegExp.$6));  // ³¯Â¥ Çü½ÄÀÌ ³âµµ-¿ù-ÀÏ ½ÃºÐÃÊÀÏ¶§

//	return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));  // ³¯Â¥ Çü½ÄÀÌ ÀÏ-¿ù-³âµµ ½ÃºÐÃÊÀÏ¶§

}

function dt2dtstr (dt_datetime) {

var yearn = dt_datetime.getFullYear();
var monthn = (dt_datetime.getMonth()+1);
var dayn = dt_datetime.getDate();


if (monthn<10) // ¿ùÀÌ 1´ÜÀ§ÀÌ¸é 
monthn="0"+monthn; // ¿ù¾Õ¿¡ 0À» ºÙ¿©ÁÜ ==> 1 ==> 01

if (dayn<10) // ÀÏÀÌ 1´ÜÀ§ÀÌ¸é 
dayn="0"+dayn; // ÀÏ¾Õ¿¡ 0À» ºÙ¿©ÁÜ ==> 1 ==> 01

	return (new String (
//			dt_datetime.getDate()+"-"+(dt_datetime.getMonth()+1)+"-"+dt_datetime.getFullYear()+" "));  // ¿øº» ÀÏ-¿ù-³âµµ
			yearn+"-"+monthn+"-"+dayn+" "));
//			dayn+"-"+monthn+"-"+yearn+" "));
}

function dt2tmstr (dt_datetime) {

var hourn = dt_datetime.getHours();
var minn = dt_datetime.getMinutes();
var secn = dt_datetime.getSeconds();

if (hourn<10) // 1´ÜÀ§ÀÌ¸é 
hourn="0"+hourn; // 0À» ºÙ¿©ÁÜ ==> 1 ==> 01

if (minn<10) // 1´ÜÀ§ÀÌ¸é 
minn="0"+minn; // 0À» ºÙ¿©ÁÜ ==> 1 ==> 01

if (secn<10) // 1´ÜÀ§ÀÌ¸é 
secn="0"+secn; // 0À» ºÙ¿©ÁÜ ==> 1 ==> 01

	return (new String (
			hourn+":"+minn+":"+minn));
//			dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds())); // ½Ã°£
}


