//////////////////////////////////////////////////////////////////
//																//
//					[검색어 자동 완성] 기본 					//
//					수정일 : 2007. 4. 4.						//
//																//
//////////////////////////////////////////////////////////////////

//자동완성 리스트를 받아올 웹서버의 주소
var akc_url = "/search/akc/query.php";

//자동완성 gateway 파일 경로 (Cross Domain 문제 해결을 위해 gateway를 사용하는 경우에 한함.)
//var akc_sub = "http://192.168.7.172/AKC_PHP/AKC_GER_PHP/lib/akcgw.php";

//입력창이 포함된 form의 ID를 명시
var AKCFrmID = "AKCFrm";

//입력창의 ID를 명시
var AKCKwdID = "AKCKwd";

//화면에서 보여질 최대 목록 개수
var akc_maxlen = 20;

//스크롤 내에 보여질 목록 개수
var akc_list_len = 5;

var AKC_Div = null;
var AKC_IDiv = null;
var AKC_Ifrm = null;

// 화살표
var AKC_Arrow = null;

// 검색어 자동 완성 폼
var akc_frm = null;

// 검색어 자동 완성 키워드
var akc_kwd = null;

// 검색어 자동 완성에 대한 요청 수행
var akc_request = null;

// 현재 위치 값
var akc_curp = -1;

// 검색어 자동 완성 사용 여부
var akc_enable = 0;

// 이전 쿼리
var akc_prv_query = "";
// 현재 쿼리
var akc_cur_query = "";
// 검색어 자동 완성 쿼리 집합
var akc_my_query = new Array("");
// 검색어 자동 완성에서 선택된 쿼리를 보내기 위한 쿼리
var akc_send_query = null;
// 선택된 쿼리
var akc_query = null;

// 키 값
var akc_keycode = null;

// 검색어 자동 완성 사용 여부
var akc_esrc = 0;

// 시간에 따른 식별자
var akc_timeid = null;

// 검색어 자동 완성의 원래 키워드 입력 값
var akc_org_query = "";

// 검색어 자동 완성에서 키워드에 따른 값 배열
var akc_array = null;

// 배열의 크기
var akc_prvl = null;

// 검색어 자동 완성 창 활성화 전 상태
var akc_hiidx = -1;

// 키 눌림 상태
var keystate   = 0;

// 검색어 자동 완성의 하이라이팅 부분 체크
var akc_hilichk = 2;

var _dom = 3;

var NumOfBigSplitChar = "#";
var NumOfSmallSplitChar = "@";


function akc_init() {
	var AKCKwd_X = 0;
	var AKCKwd_Y = 0;
	var AKCKwd_W = "";
	var AKCKwd_H = 0;
	try {
		akc_frm = parent.document.getElementById(AKCFrmID);			//getElementById : value 값 가져옴
		akc_kwd = parent.document.getElementById(AKCKwdID);			//cf) getElementByName : input의 name값이 같고 value값이 여러개 일때 배열로 저장
		akc_query = akc_kwd.defaultValue;
	} catch(e) {
		setTimeout("akc_init()", 100);
		return;
	}
	//입력창이 비어 있으면 focus(), 검색어가 있다면 커서위치 조정
	if ( akc_kwd.value == "" ) {
		akc_kwd.focus();
	} else {
		setCursorToEnd(akc_kwd);
	}
	//key 초기화
	_dom=parent.document.all ? 3 : (parent.document.getElementById ? 1 : (parent.document.layers ? 2 : 0));
	parent.document.onkeydown = keypress;
	parent.document.onmousedown = mousekeydown;

	//onclick 이벤트시 toggle() 함수 호출
	parent.document.getElementById("AKCArrow").onclick = akc_toggle;
	akc_kwd.onkeydown = akc_handle;			// 키 눌림에 대한 처리
	akc_kwd.onkeyup = akc_esc;				// <Esc> 키에 대한 처리
	akc_kwd.onclick = akc_toggle;			// 화살표에 대한 처리
	parent.document.getElementById("AKCArrow").style.visibility = "visible";
	// 사용 가능 여부 체크 조건 없을 경우 무조건 true;
	if(document.getElementById("akc_chk")!=null)
	{
		akc_enable = akc_getCookie();
		if(!akc_enable || akc_enable==1) {
			document.getElementById("akc_chk").checked = true;
		}
	}else
		akc_enable=1;
		parent.document.onclick = layer_blur;
		akc_set_interval();

	// 각 ID에 따른 변수 정의
	AKC_Div = parent.document.getElementById("AKCDiv");
	AKC_IDiv = document.getElementById("AKCIDiv");
	AKC_Ifrm = parent.document.getElementById("AKCIfrm");
	AKC_Arrow = parent.document.getElementById("AKCArrow");

	// 검색 자동 완성 창의 크기
	AKCKwd_X = getElementX(parent.document.getElementById(AKCKwdID));
	AKCKwd_Y = getElementY(parent.document.getElementById(AKCKwdID)) ;
	AKCKwd_W = parent.document.getElementById(AKCKwdID).style.width;
	AKCKwd_H = parent.document.getElementById(AKCKwdID).offsetHeight;
	//alert(AKCKwd_W);

	//자동완성창이 위치를 못잡는 경우 예외처리
	if(AKCKwd_X == 0 && AKCKwd_Y == 0)
	{
		AKCKwd_X = 388;		//검색창의 X좌표
		AKCKwd_Y = 96;		//검색창의 Y좌표
		AKCKwd_W = "0px";	//검색창의 넓이
		AKCKwd_H = 20;		//검색창의 높이
	}

	AKC_Arrow.style.top = AKCKwd_Y + 4 + "px";
	AKC_Arrow.style.left = AKCKwd_X + parseInt(AKCKwd_W) - 22 + "px";

	AKC_Div.style.top = AKCKwd_Y +  AKCKwd_H - 4 + "px";
	AKC_Div.style.left = AKCKwd_X  + "px";
	//AKC_Div.style.width = parseInt(AKCKwd_W) + "px";//수정요망...
}

// 화살표, 창 위치 설정
function akc_set_location() {

	AKC_Div = parent.document.getElementById("AKCDiv");
	AKC_Div.style.left = getElementX(parent.document.getElementById(AKCKwdID)) + "px";

	AKC_Arrow = parent.document.getElementById("AKCArrow");
	AKC_Arrow.style.left = getElementX(parent.document.getElementById(AKCKwdID)) + parseInt(parent.document.getElementById(AKCKwdID).style.width) - 22 + "px";
}

// 시간 간격 설정
function akc_set_interval() {

	if(akc_timeid == null) {
		akc_timeid = window.setInterval("akc_update()", 10);
	}
}

// 시간 간격 해제
function akc_clear_interval() {

	window.clearInterval(akc_timeid);
	akc_timeid = null;
}

// 검색어 자동 완성 창에서 상위 위치 단어 선택할 경우
function akc_up() {

	if(akc_curp < 0) {
		akc_hide();
		return;
	}

	if(akc_curp == 0) {
		akc_kwd.value = akc_cur_query;
	}

	akc_prvstyle(AKC_IDiv.childNodes[akc_curp--]);

	if(akc_curp >= 0) {
		akc_show();
		akc_curstyle(AKC_IDiv.childNodes[akc_curp], true);
	}
}

// 검색어 자동 완성 창에서 하위 위치 단어 선택할 경우
function akc_down() {

	if(akc_curp >= AKC_IDiv.childNodes.length - 1) return;

	if(akc_curp >= 0) {
		akc_show();
		akc_prvstyle(AKC_IDiv.childNodes[akc_curp]);
	}

	akc_curstyle(AKC_IDiv.childNodes[++akc_curp], true);

	if(akc_curp == 0) {
		akc_show();
	}
}

// 검색어 자동 완성 창 활성화 전 상태
function akc_prvstyle(ob) {
	if(ob) {
		akc_hiidx = -1;
		ob.style.backgroundColor = "";
	}
}

// 검색어 자동 완성 창의 단어 선택시 스타일
function akc_curstyle(ob,b) {
	//alert(ob+"="+b);
	if(ob) {
		if(ob.id == "akc_msg") { return; }
		if(akc_curp >= 0 && document.getElementById("akc_0")!=null) {
			document.getElementById("akc_"+akc_curp).style.backgroundColor = "";
		}
		ob.style.backgroundColor = "#EAF5F9"; 			// 자동 검색어 완성의 단어 선택시 배경색
		akc_curp = parseInt(ob.id.substr(4,2));			// "akc_" 이후의 값을 숫자로 받음 (id 식별)
		akc_hiidx = akc_curp;
		if(b && b==true && document.getElementById("akc_0")!=null) {
			akc_kwd.value = akc_array[akc_curp].KEYWORD;
			if(akc_curp == 0 || akc_curp == (akc_maxlen - akc_list_len -1)) {
				akc_scroll(0);
			} else if(akc_curp == akc_list_len || akc_curp == (akc_list_len + 1)) {
				akc_scroll(310);
			}
		}
	}
}

// 키 눌림에 따른 수정
function akc_update() {

	if(akc_kwd.value == akc_send_query || akc_query == akc_kwd.value) {
		if(akc_keycode == 8 && (akc_kwd.value).search("[^ ]") == -1) {
			akc_send_query = "";
			akc_cur_query = "";
			akc_prv_query = "";
			akc_keycode = null;

			akc_hide();
			akc_remove();

		}
		return;
	}
	akc_req();
}

// 검색어 자동 완성 창 숨기기
function akc_hide() {
	if(AKC_Div.style.display != "none") {
		AKC_Div.style.display = "none";
		akc_chgbtn(0);
	}
}
// url 내용 삭제
function akc_remove() {
	AKC_IDiv.innerHTML = "";
}

function akc_req() {
	if(akc_keycode == 9 || akc_keycode == 16 || akc_keycode == 27 || akc_keycode == 37 || akc_keycode == 38 || akc_keycode == 40 || akc_keycode == 18) {
		return;
	}

	if(akc_enable == 0) {
		return;
	}

	akc_cur_query = akc_trim(akc_kwd.value);

	if(akc_prv_query == akc_cur_query) {
		return
	}

	if((akc_kwd.value).search("[^ ]") != -1) {
		akc_esrc = 0;
		akc_op();
		akc_prv_query = akc_cur_query;
	} else {
		akc_prv_query = null;
		akc_hide();
		akc_remove();
	}
	akc_query = "";
}

// url의 결과(myJSONObject) 가져오기
function akc_op(m,c) {

	if(akc_enable==0)
		return;

	akc_org_query = akc_trim(akc_kwd.value);

	if(typeof m == "undefined"){
		akc_hilichk = 2;
	} else if(m=="r") {
		akc_hilichk = 1;
	} else if(m=="l"){
		akc_hilichk = 0;
	}

	q = akc_org_query;

	akc_chgimg(akc_hilichk);
	akc_rmbackimg();

	if(akc_request && akc_request.readyState!=0){
		akc_request.abort()
	}

	akc_request = akc_get_object();

	if(akc_request) {
//GET Method

		akc_request.open("GET", akc_url + "?query=" + q + "&select=" + akc_hilichk, true);
		akc_request.onreadystatechange=akc_recieve;
		akc_request.send(null);
		akc_send_query = akc_org_query;

//POST Method
/*		akc_request.open("POST", akc_url);
		akc_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
		akc_request.onreadystatechange=akc_recieve;
		akc_request.send("query=" + q + "&select=" + d);
		akc_send_query = akc_org_query;
*/
	}
}

//request.readyState = 1 : 요청 시작
//request.readyState = 2 : 요청 처리중
//request.readyState = 3 : 요청 처리중
//request.readyState = 4 : 완료
//request.status == 200 : 요청처리하고 아무 문제가 없으면 상태 코드는 200이 된다.
function akc_recieve()
{
	if(akc_request.readyState==4 && akc_request.status==200 && akc_request.responseText) {
		parent.document.AKCIfrm.akc_resize(5);
		eval(akc_request.responseText);
		akc_done(myJSONObject.LIST, akc_kwd.value, eQuery);
	}
}

function akc_get_object()
{

	var lo_xmlhttp;

	lo_xmlhttp = null;

	try {
		lo_xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")
	} catch(e) {
		try {
			lo_xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(sc) {
			lo_xmlhttp = null;
		}
	}

	if(!lo_xmlhttp && typeof XMLHttpRequest != "undefined") {
		lo_xmlhttp = new XMLHttpRequest();
	}

	return lo_xmlhttp;
}

// 첫단어/끝단어 버튼
function akc_chgimg(d) {
	var akc_leftimg;
	var akc_rightimg;

    if(document.getElementById("AKCLeftImg")==null)
		return;

	akc_leftimg = document.getElementById("AKCLeftImg");
	akc_rightimg = document.getElementById("AKCRightImg");

	// 첫단어/끝단어 이미지 변경할 경우
	if(d==0) {
			akc_leftimg.src = "img/btn_left_on.gif";
			akc_rightimg.src = "img/btn_right_off.gif";
        } else if(d==1) {
			akc_leftimg.src = "img/btn_left_off.gif";
			akc_rightimg.src = "img/btn_right_on.gif";
        } else if(d==2){
			akc_leftimg.src = "img/btn_left_off.gif";
			akc_rightimg.src = "img/btn_right_off.gif";
        }
}


//검색어 입력 창의 Back-Ground 이미지를 지운다.
function akc_rmbackimg() {
	if(akc_kwd.style.backgroundImage != "") {
		akc_kwd.style.backgroundImage = "";
	}
}

function akc_trim(str) {
	str = str.replace(/^ +/g, "");
	str = str.replace(/ +$/g, " ");
	str = str.replace(/ +/g, " ");
	return str;
}

//화살표 이미지 toggling (bool 값에 따라 이미지 전환)
function akc_chgbtn(bool) {
	if(akc_enable==1) {
		if(bool) {
			AKC_Arrow.src = "/search/akc/img/icokeyup.gif";
		} else {
			AKC_Arrow.src = "/image/main/icokeydown.gif";
		}
	} else {
		if(bool) {
			AKC_Arrow.src = "/search/akc/img/icokeyup.gif";
		} else {
			AKC_Arrow.src = "/image/main/icokeydown.gif";
		}
	}
}


//키입력에 따른 이벤트 처리 (keyup, keydown 등)
function akc_handle(e) {
	if(akc_enable == 0) { akc_rmbackimg(); return; }
	if(!e && parent.window.event) { e = parent.window.event; }
	if(e) {
		akc_keycode = e.keyCode;

		if(akc_hiidx == -1) {
			akc_curp = -1;
		}

		switch(akc_keycode) {
		case 9:						// <Tab> 키
			if(akc_kwd.value != "" && AKC_Div.style.display != "none") {
				e.returnValue = false;
				if(e.shiftKey) {
					akc_up();
				} else {
					akc_down();
				}

				setTimeout("akc_kwd.focus()", 1);	// for ff
			}
			break;

		case 13:					// <Enter> 키
			akc_clear_interval();
			akc_hide();
			break;

		case 38:					// <윗쪽 화살표>
			akc_up();
			break;

		case 40:					// <아래쪽 화살표>
			akc_down();
			break;

		default:
			akc_rmbackimg();
		}
	}
}


function akc_esc(e)
{

	if(!e && parent.window.event) { e = parent.window.event; }

	if(e) {
		akc_keycode = e.keyCode;

		switch(akc_keycode) {
			case 27:
				akc_remove();
				akc_hide();

				akc_cur_query = akc_kwd.defaultValue;
				akc_prv_query = akc_send_query = akc_cur_query;
				akc_kwd.value = akc_cur_query;

			default:
			// do nothing
		}
	}
}


//화살표 클릭시 이벤트 처리
function akc_toggle(e)
{
	var akc_view;
	var akc_enable;
	var akc_objtype;

	if(!AKC_Div) {
		return;
	}

	if(AKC_Div.style.display == "none") {

		akc_view = parent.AKCIfrm.document.getElementById("AKCIDiv");
		akc_enable = parent.AKCIfrm.akc_getacgo();
		akc_objtype = null;

		if(!e && parent.window.event) { e = parent.window.event; }

		if(e.srcElement && e.srcElement.type) {

			akc_objtype = e.srcElement.type;
		} else if(e.target && e.target.type) {

			akc_objtype = e.target.type;
		}

		if((akc_kwd.value).search("[^ ]") != -1 && akc_enable == 1) {
			parent.AKCIfrm.akc_setesrc(1);
			parent.AKCIfrm.akc_op();
		} else {
			if(akc_objtype != "text")
			{
				parent.akc_chklist(akc_enable);
				parent.AKCIfrm.akc_show();
			}
		}
	} else if(AKC_Div.style.display != "none") {
		parent.AKCIfrm.akc_hide();
	}
}


//response된 값을 받아 화면에 출력하기 위한 처리

function akc_done(obj, combq, combconvq) {

	var hilightq = "";
	var str = "";
	var akc_my_querystyle = "";
	var i = 0;

	hilightq = akc_org_query;

	if(combq && combq != "") {
		akc_kwd.focus();
		akc_send_query = akc_cur_query = hilightq = combq;
		akc_set_interval();
	}

	if(!obj || obj.length == 0 || akc_kwd.value == "") {
		akc_prvl = 0;
		akc_resize(3);
		AKC_IDiv.innerHTML = "<div style='padding-top:8px; padding-left:5px; line-height:180%;font-face:굴림;font-size: 9pt'>일치하는 검색어가 없습니다.</div>";
		if(akc_esrc == 1) {
			akc_show();
		} else {
			akc_hide();
		}

		return;
	}

	akc_array = obj;

	akc_show();
	akc_curp = -1;
	akc_prvl = akc_array.length;
	akc_remove();


	for(i=0; i<akc_array.length && i<akc_maxlen; i++) {

		akc_orgstr = new String(akc_array[i].KEYWORD);

		akc_view = akc_orgstr.replace(hilightq, "<font color='#ED5F00'>" + hilightq + "</font>");
		akc_view = akc_view.replace(combconvq, "<font color='#ED5F00'>" + combconvq + "</font>");
		akc_schq = akc_orgstr.replace(/\'/g, "\\\'");
		akc_schq = akc_schq.replace(/\"/g, "&quot;");
		str += akc_make_table_general("100%", i, akc_my_querystyle, akc_schq, akc_view);
		
		akc_my_querystyle = "";
	}

	if(akc_array.length < akc_list_len) {
		akc_resize(akc_array.length);
	} else {
		akc_resize(akc_list_len);
	}

	AKC_IDiv.innerHTML = str;
	AKC_IDiv.style.zIndex = 15;
	akc_scroll(0);
}

//검색어 자동완성 목록 출력 GENERAL
function akc_make_table_general(tablewidth, count, akc_my_querystyle, akc_schq, keywordValue)
{
	var retStr = "";

	retStr += "<div class=url id=\"akc_" + count;
	retStr += "\" style=\"height:21; padding-left:5px;" + akc_my_querystyle;
	retStr += "\" onclick=\"akc_search_url(\'" + akc_schq;
	retStr += "\')\" onmouseover=akc_curstyle(this) onmouseout=akc_prvstyle(this)>";
	retStr += "<table width=" + tablewidth + "><tr>";

	// 키워드 값 변경
	retStr += "<td style=\"font-size:9pt\">" +  keywordValue + "</td>";
	retStr +="</tr></table></div>";

	return retStr;
}


//검색어 자동완성 목록 스크롤바 위치 조정
function akc_scroll(toppos) {

	AKC_IDiv.scrollTop = toppos;
}


//검색어 자동완성창 크기 조정
function akc_resize(len) {
	var i = 0;
	i = len * 21;
	AKC_IDiv.style.height = i;
	AKC_Ifrm.style.height = i + 28;   // IFRAME 의 높이 조절(전체 레이블이 안 보일 경우 수정)
	AKC_Div.style.height = i + 36;
}

function akc_setesrc(i) {
	akc_esrc = i;
}

//검색어 자동완성창 보여주기 (화살표 이미지처리)
function akc_show() {
	if(AKC_Div.style.display == "none") {
		AKC_Div.style.display = "";
		akc_chgbtn(1);
	}
}

function akc_getacgo() {
	return akc_enable;
}

//검색어 자동완성 사용여부에 따른 메세지 출력
function akc_chklist(i) {
	var akc_msg = "";
	parent.AKCIfrm.akc_resize(5);
	if(i==1) {
		akc_msg = "<div style=\"padding-top:8px; padding-left:5px; line-height:180%;font-face:굴림;font-size: 9pt\">현재 <font color=\"#F76D1A\">검색어 자동완성 기능</font>을 사용하고 있습니다.<br>검색어를 입력하시면 원하는 검색어를 추천해 드립니다.<br></div>";
	} else {
		akc_msg = "<div style=\"padding-top:8px;padding-left:5px; line-height:180%;font-face:굴림;font-size: 9pt\">현재 <font color=\"#F76D1A\">검색어 자동완성 기능</font>을 사용하고 있지 않습니다.<br><font color='#F76D1A'>검색어 자동완성 기능</font>을 사용하시면 손쉽게 원하는 검색어를 찾을 수 있습니다.</div>";
	}
	parent.AKCIfrm.document.getElementById("AKCIDiv").innerHTML = akc_msg;
}


//검색어 자동완성 사용여부를 쿠키에서 받아온다.
function akc_getCookie() {
	var bool=false;
	var allcookies;
	var pos;
	var start;
	var end;
	var akc_cookie;

	allcookies = document.cookie;
	pos = allcookies.indexOf("KonanAKC=");

	if ( pos==-1 ) return 1;

	start = pos + 9;
	end = allcookies.indexOf(";",start);

	if (end == -1) end = allcookies.length;

	akc_cookie = allcookies.substring(start,end);

	akc_cookie = unescape(akc_cookie);

	if(akc_cookie==0)
	{
		document.getElementById("akc_chk").checked=false;
		bool=false;
	}
	else
	{
		document.getElementById("akc_chk").checked=true;
		bool=true;
	}

	//On, Off 이미지 Toggling
	akc_chgturnimg(bool);
	return akc_cookie;
}

//검색어 자동완성 사용여부를 쿠키에 굽는다.
function akc_setCookie(bool) {
	var akc_cookie = 0;
	var todayDate;
	//좌, 우절단 버튼 이미지 초기화
	akc_chgimg(2);
	//기능 On, Off가 이미지 모드일 경우
	if(typeof bool == "undefined") {
		if(akc_enable==1)
			bool=false;
		else if(akc_enable==0)
			bool=true;
		//On, Off 이미지 Toggling
		akc_chgturnimg(bool);
	}

	if(bool)
	{
		akc_cookie = 1;
		akc_enable = 1;
		akc_cur_query = akc_kwd.value;
		akc_esrc = 1;

		if((akc_kwd.value).search("[^ ]") != -1) {
			akc_op();
		} else {
			parent.akc_chklist(akc_enable);
		}
		akc_kwd.focus();
	} else {
		akc_remove();
		akc_hide();

		akc_enable = 0;
		akc_kwd.focus();
	}

	todayDate = new Date();
	todayDate.setDate(todayDate.getDate() + 3650);

	document.cookie = "KonanAKC=" + escape(akc_cookie) + "; path=/; expires=" + todayDate.toGMTString();
}


//검색어 자동완성 사용여부에 따른 아이콘 이미지 전환
function akc_chgturnimg(bool) {
	var akc_imgchk;
	akc_imgchk = document.getElementById("akc_chk");
	if(bool) {
		akc_imgchk.src = "img/btn_turn_off.gif";
	} else {
		akc_imgchk.src = "img/btn_turn_on.gif";
	}
}

// 마우스 클릭시 위치에 따른 이벤트 실행
function akc_layer_blur(clickX, clickY){
	areaTop = AKC_Div.style.pixelTop;
	areaBottom = areaTop + AKC_Div.clientHeight;
	areaLeft = AKC_Div.style.pixelLeft;
	areaRight = areaLeft + AKC_Div.clientWidth;

	if ( clickX<areaLeft || clickX>areaRight || clickY<areaTop || clickY>areaBottom ) {
		akc_hide();
	}
}

//검색시 검색처리
function akc_search_url(url)
{
	var form=parent.document.srch_frm;

	var mainGubun=form.mainGubun.value;
	var select_value=form.menu.value;
	var gu=form.akcGu.value;

	if(form.menu.value == 'search_region' && form.code2.value.length >= 3)
		form.action = '/search/search_region_dong.php';
	else
		form.action = '/search/'+form.menu.value+'.php';

	form.submit();

	akc_clear_interval();
	akc_hide();
	akc_frm.reset();
	akc_kwd.value = url;
	akc_frm.submit();
}


//도움말 처리 함수
function akc_help() {
	alert("도움말은 준비중입니다.");
}


// 마우스가 클릭한 부분 찾기
function layer_blur(e) {
	var sub_menu;
	if(!e && parent.window.event) {
		e = parent.window.event;
	}
	if(e) {
		clickX = e.clientX;
		clickY = e.clientY;
	}
	if(e.srcElement) {
		akc_evtsrcid = e.srcElement.id;
		akc_evtsrcname = e.srcElement.name;
	} else if(e.target) {
		akc_evtsrcid = e.target.id;
		akc_evtsrcname = e.target.name;
	}

	if(AKC_Div && AKC_Div.style.display!="none" && akc_evtsrcid!="AKCArrow" && akc_evtsrcname != "q") {
		akc_layer_blur(clickX, clickY);
	}

	sub_menu = parent.document.getElementById("sub_menu");

	if(sub_menu && parent.recm_layer_blur && sub_menu.style.display!="none") {
		parent.recm_layer_blur(clickX, clickY);
	}
}


//////////////////////////
// 디버그용
//////////////////////////
//
//	return 을 제거하고 화면단에서 아래 객체를 넣어 테스트 해야함
//	EX.)
//	<TEXTAREA NAME="msgArea" ROWS="10" COLS="100"></TEXTAREA>
//
//////////////////////////
var count=0;
function log(msg)
{
	return;
	var msgArea = parent.document.getElementById('msgArea');

	msgArea.value = msgArea.value + count +":"+ msg + '\n';
	count++;
}


function getNavigatorType() {
	if ( navigator.appName == "Microsoft Internet Explorer" )
		return 1;
	else if ( navigator.appName == "Netscape" )
		return 2;
	else
		return 0;
}

// 위치 잡아 줌
function setCursorToEnd(elem) {
	var rng;

	if (elem && getNavigatorType() == 1) {   // Microsoft Internet Explorer에서 사용하는가?
		if (elem.type && (elem.type == "text" || elem.type == "textarea")) {
			rng = elem.createTextRange();
			rng.move("textedit");
			rng.select();
		}
	}
}

// 마우스 눌림 이벤트
function mousekeydown(ev) {

	keystate = 1;
}

// 키 눌림 이벤트
function keypress(ev) {
	var box;
	var sm = new Array(0,0,1,2,3,4,5,6,11,12,13);
	var ev;
	var el;
	var tg;

	if (akc_frm&&akc_kwd&&_dom!=2) {
		box=akc_kwd;
	} else {
		return 1;
	}

	if(parent.document.all)
		ev=parent.window.event;
	if(_dom==3) {
		el = ev.srcElement;
		tg = el.tagName;
	}
	if(_dom==1) {
		el = ev.target;
		tg = el.nodeName;
		}
	if(_dom==3) {
		if(ev.keyCode>0) {
			kc=ev.keyCode;
		}
	} else {
		kc=(ev.keyCode);
		if(ev.charCode>0) {
			kc=ev.charCode;
		}
	}

	if (!(tg=='TEXTAREA' || tg=='INPUT' || tg=='SELECT' || (ev.ctrlKey&&kc!=86))) {
		if (kc==8||(kc>32&&kc<41)||(kc!=21&&kc<32)||ev.altKey) {
		} else if (kc==32) {
			if (ev.shiftKey) {
				box.focus();
				box.style.imeMode ='active';
				box.select();
				ev.returnValue=false;
			}
		} else if (kc == 21) {
			scrollTo(0,0);
			box.focus();
			box.style.imeMode ='active';
			box.select();
			ev.returnValue=false;
		} else if (el!=box) {
			if ( keystate ) {
				scrollTo(0,0);
				box.style.imeMode ="inactive";
				setCursorToEnd(box);
				box.select();
				keystate = 0;
			}
		}
	}
	return;
}

// Y 위치
function getElementY(element)
{
	var targetTop = 0;

	if (element.offsetParent)
	{
		while (element.offsetParent)
		{
			targetTop += element.offsetTop;
            		element = element.offsetParent;
		}
	}
	else if(element.y)
		{
			targetTop += element.y;
    		}

	return targetTop;
}

// X 위치
function getElementX(element)
{
	var targetTop = 0;

	if (element.offsetParent)
	{
		while (element.offsetParent)
		{
			targetTop += element.offsetLeft;
            		element = element.offsetParent;
		}
	}
	else if(element.x)
		{
			targetTop += element.x;
		}

	return targetTop;
}



