var win = null;
function NewWindow(mypage,myname,w,h,scroll){
    LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
    TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
    settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable' 
    win = window.open(mypage,myname,settings)
}

function getHTML(urlVar,parsVar,id) {
   var url = urlVar;
   var pars = parsVar;
   var myAjax = new Ajax.Updater(id, url, {method: 'get', parameters: pars});
 }   
 
function flash(object_id, embed_name, url, bgcolor, wmode, width, height){
	document.write ('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="' + width + '" height="' + height + '" id="' + object_id + '" align="middle">');
	document.write ('<param name="allowScriptAccess" value="sameDomain">');
	document.write ('<param name="movie" value="' + url + '">');
	document.write ('<param name="quality" value="high">');
	if (wmode == 1 || wmode == "1")	{
		document.write ('<param name="wmode" value="transparent">');
	}
	document.write ('<param name="bgcolor" value="' + bgcolor + '">');
	document.write ('<embed src="' + url + '" width="' + width + '" height="' + height + '" name="' + embed_name + '" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">');
	document.write ('</object>');
}

function popup(_url, _name, _width, _height, scroll, resize) {
	if(scroll == null) scroll = "yes";
	if(resize == null) resize = "yes";	

    var loc_width = (screen.width - _width) / 2;
    var loc_height = (screen.height - _height) / 2;
    _feature = 'height='+_height+',width='+_width+',top='+loc_height+',left='+loc_width+',scrollbars='+scroll+',resizable='+resize
    window.open(_url, _name, _feature);   
}

function divView(item,flag) {
	var o = document.getElementById(item);
	if(flag == 'n'){
		o.style.display = "none";
	} else {
		o.style.display = "block";
	}
}	    
 
function waiting(left,top){	
	var o = document.getElementById('waiting');
	var str = '';
	if( left.length == 0 ) left = '5';
	if( top.length == 0 ) top = '10';
		
	str	+= '<div id="waiting" style="position:absolute; left:'+left+'px; top:'+top+'px; width:300; height: 80; z-index: 1; display:block"> ';
	str += '<table border="0" cellspacing="0" cellpadding="0" width="300" height="80">';
	str	+= '<tr>';
	str	+= '	<td align="center" bgcolor="#F2F2F2" style="color: blue; border: 1px solid #6C6C6C; line-height: 170%; cursor: wait">';
	str	+= '		잠시만 기다려 주세요.<br>';
	str	+= '		처리중입니다.</td>';
	str	+= '</tr>';
	str	+= '</table>';
	str	+= '</div>';
	
	o.innerHTML = str;	
}

function fwaiting(){	
	var o = document.getElementById('waiting');
	var str = '';		
	str	+= '<div id="waiting" style="position:absolute; left:10px; top:10px; width:20; height: 30; z-index: 1; display:block"> ';
	str += '<table border="0" cellspacing="0" cellpadding="0" width="100" height="30">';
	str	+= '<tr>';
	str	+= '	<td align="center" bgcolor="#F2F2F2" style="color: blue; border: 1px solid #6C6C6C; line-height: 170%; cursor: wait">';
	str	+= '		&nbsp;&nbsp;처리중입니다...</td>';
	str	+= '</tr>';
	str	+= '</table>';
	str	+= '</div>';	
	o.innerHTML = str;	
}  

function getObject(objectId) {
    if(document.getElementById && document.getElementById(objectId)) {
        return document.getElementById(objectId);
    }else if (document.all && document.all(objectId)) {
        return document.all(objectId);
    }else if (document.layers && document.layers[objectId]) {
        return document.layers[objectId];
    } else {
        return false;
    }
}

    
    
function pageMove(url){
		location.href= url;
} 
	
function checkLength(obj,str,flag){	
	var len = obj.value.length;
	if(len == 0){
		alert(str + " 에 입력값이 존재하지 않습니다");
		if(flag) obj.focus();
		return false;
	} else {
		return true;
	}
}

function getByteStr(str) {
	var len = str.length;
	for(i = 0; i < str.length; i++)
		if(str.charCodeAt(i) > 127) len++;
	return len;
}
	
function cutByteStr(str, maxbyte) {
	var len = str.length;
	for(i = 0, j = 0; i < len && j < maxbyte; i++, j++)
		if(str.charCodeAt(i) > 127) j++;
	if(i > 0 && j > maxbyte) i--;
	return str.substring(0, i);
} 
    
function checkLen(obj, len) {
	if(getByteStr(obj.value) > len) {
		alert(len + "자 이상을 초과할 수 없습니다.");
		obj.value = "";
		return false;
	}
  
	return true;
}
function isAsciiStr(str) {
	if(str == "") return false;
	for(i = 0; i < str.length; i++) {
		var buf = str.charAt(i);
		if(((buf >= "0") && (buf <= "9")) || 
			((buf >= "A") && (buf <= "Z")) || 
			((buf >= "a") && (buf <= "z")) ||
			(buf == "_") || (buf == "-") || (buf == ".") || (buf == "@")) { }
		else return false;
	}
	return true;
}

function isNumericStr(str) {
	if(str == "") return false;
	for(i = 0; i < str.length; i++) {
		var buf = str.charAt(i);
		if((buf >= "0") && (buf<="9")) { }
		else return false;
	}
	return true;
}

function isEmailStr(str) {
	var altnum = 0;
	if(!isAsciiStr(str) || str.length <= 6) return false;
	for (var i = 0; i < str.length; i++) {
		if(str.charAt(i) == "@") altnum++
	}
	if(altnum != 1) return false;
	if(str.indexOf("@") < 1) return false;
	if(str.indexOf("@") == str.length) return false;
	return true;
}

function trim(str){
	str = str.replace(/^\s*/, "").replace(/\s*$/, "");
	return str;
} 

function setCookie(name,value,expiredays) {
	var todayDate = new Date();
	todayDate.setDate(todayDate.getDate() + expiredays);
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

function getCookie(name) {
	var nameOfCookie = name + "=";
	var x = 0;	
	while ( x <= document.cookie.length ) {
		var y = (x+nameOfCookie.length);
		if ( document.cookie.substring( x, y ) == nameOfCookie ) {
			if ( (endOfCookie=document.cookie.indexOf( ";",y )) == -1 ) {
				endOfCookie = document.cookie.length;
			}				
			return unescape( document.cookie.substring(y, endOfCookie ) );
		}
		x = document.cookie.indexOf( " ", x ) + 1;
		if ( x == 0 ) break; 
	}
	return "";
}

//달력 ----------------------------------
var target;																	// 호출한 Object의 저장
var stime;
document.write("<div id=minical oncontextmenu='return false' ondragstart='return false' onselectstart='return false' style=\"background:buttonface; margin:5; padding:5;margin-top:2;border-top:1 solid buttonshadow;border-left: 1 solid buttonshadow;border-right: 1 solid buttonshadow;border-bottom:1 solid buttonshadow;width:160;display:none;position: absolute; z-index: 99\"></div>");

function calModalOpen(form_name, input_name) {	

var obj = eval(form_name+"."+input_name);
													// jucke
var now = obj.value.split("-");
var x, y;

target = obj;																// Object 저장;

x = (document.layers) ? loc.pageX : event.clientX;
y = (document.layers) ? loc.pageY : event.clientY;

minical.style.pixelTop	= y+5;
minical.style.pixelLeft	= x-50;
minical.style.display = (minical.style.display == "block") ? "none" : "block";

if (now.length == 3) {														// 정확한지 검사
	Show_cal(now[0],now[1],now[2]);											// 넘어온 값을 년월일로 분리
} else {
	now = new Date();
	Show_cal(now.getFullYear(), now.getMonth()+1, now.getDate());			// 현재 년/월/일을 설정하여 넘김.
}
}

function doOver() {																// 마우스가 칼렌다위에 있으면
var el = window.event.srcElement;
cal_Day = el.title;

if (cal_Day.length > 7) {													// 날자 값이 있으면.
	el.style.borderTopColor = el.style.borderLeftColor = "buttonhighlight";
	el.style.borderRightColor = el.style.borderBottomColor = "buttonshadow";
}
window.clearTimeout(stime);													// Clear
}

function doClick() {															// 날자를 선택하였을 경우
cal_Day = window.event.srcElement.title;
window.event.srcElement.style.borderColor = "red";							// 테두리 색을 빨간색으로
if (cal_Day.length > 7) {													// 날자 값이있으면
	target.value=cal_Day													// 값 설정
}
minical.style.display='none';												// 화면에서 지움
}

function doOut() {
var el = window.event.fromElement;
cal_Day = el.title;

if (cal_Day.length > 7) {
	el.style.borderColor = "white";
}
//stime=window.setTimeout("minical.style.display='none';", 200);
}

function day2(d) {																// 2자리 숫자료 변경
var str = new String();

if (parseInt(d) < 10) {
	str = "0" + parseInt(d);
} else {
	str = "" + parseInt(d);
}
return str;
}

function Show_cal(sYear, sMonth, sDay) {
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();
document.all.minical.innerHTML = "";
datToday = new Date();													// 현재 날자 설정

intThisYear = parseInt(sYear);
intThisMonth = parseInt(sMonth);
intThisDay = parseInt(sDay);

if (intThisYear == 0) intThisYear = datToday.getFullYear();				// 값이 없을 경우
if (intThisMonth == 0) intThisMonth = parseInt(datToday.getMonth())+1;	// 월 값은 실제값 보다 -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;										// 현재 월
NowThisDay = datToday.getDate();											// 현재 일

datFirstDay = new Date(intThisYear, intThisMonth-1, 1);						// 현재 달의 1일로 날자 객체 생성(월은 0부터 11까지의 정수(1월부터 12월))
intFirstWeekday = datFirstDay.getDay();										// 현재 달 1일의 요일을 구함 (0:일요일, 1:월요일)

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) {													// 4년마다 1번이면 (사로나누어 떨어지면)
	if ((intThisYear % 100) == 0) {
		if ((intThisYear % 400) == 0) {
			Months_day[2] = 29;
		}
	} else {
		Months_day[2] = 29;
	}
}
intLastDay = Months_day[intThisMonth];										// 마지막 일자 구함
Stop_flag = 0

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);'><FONT COLOR=Navy>◀</FONT></SPAN> "
		+ "<B STYLE=color:red>"+get_Yearinfo(intThisYear,intThisMonth,intThisDay)+"년"+get_Monthinfo(intThisYear,intThisMonth,intThisDay)+"월</B>"
		+ " <SPAN TITLE='다음달' STYLE=cursor:hand; onClick='Show_cal("+intNextYear+","+intNextMonth+",1);'><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();>";
			intThirdWeekday--;
		} else {
			if (thirdPrintDay > intLastDay) {								// 입력 날짝 월말보다 크다면
				Cal_HTML += "<TD onClick=doClick();>";
			} else {														// 입력날짜가 현재월에 해당 되면
				Cal_HTML += "<TD onClick=doClick(); 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>";

document.all.minical.innerHTML = Cal_HTML;
}

function get_Yearinfo(year,month,day) {											// 년 정보를 콤보 박스로 표시
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+");' 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) {										// 월 정보를 콤보 박스로 표시
var i = new Number();
var str = new String();

str = "<SELECT onChange='Show_cal("+year+",this.value,"+day+");' 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;
}
//달력 종료 --------------------------------------------------


//교육관련 플래시 팝업 띄우기
function openNewWindow(uri) {
	open (uri,"NewWindow2","left=200, top=200, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, width=994, height=678");
}

	
	
	
	
