 var LOCK_FLAG = "0";
var winMsg = "";
var OBJ_POPUP = null;
var OBJ_STATUS = null;
var oPopup = window.createPopup();

//document.onmousedown = new Function("if (LOCK_FLAG == \'1\'){showWindowStatus(winMsg);return false;}");
function nhn_mouse_security(e) {
	if (event.button == 2 || event.button == 3) {
		try	{
			if( CUR_USER == ""){
			} else {
				alert("오른쪽 마우스는 사용하실 수 없습니다.");
				return false;
			}
		}catch ( e ){
			alert("오른쪽 마우스는 사용하실 수 없습니다.");
			return false;
		}
	}
	return true;
}
//document.onmousedown = nhn_mouse_security;
//document.onclick = new Function("if (LOCK_FLAG == \'1\'){showWindowStatus(winMsg);return false;}");
window.onblur = new Function("if(OBJ_POPUP){OBJ_POPUP.hide();return true;}");
window.onfocus = new Function("if (LOCK_FLAG == \'1\'){showWindowStatus(winMsg);return false;}");
//----Handle to enter Key
function handleEnterKey(){
	if (window.event.keyCode == 13) {
		if(event.srcElement.rows != null)return true;
		else {
			window.event.keyCode = 0;
			return false;
		}
	}
}
//----Show create window pop
function showWindowStatus(msg){
	LOCK_FLAG = "1";
	document.oncontextmenu=new Function("return false");
	//oPopup = window.createPopup();
	var oPopupBody = oPopup.document.body; 
	winMsg = msg
/*	var htmlsrc =	"<table width=297 height=93 border=1 cellspacing=0 cellpadding=0  styl=\"border:5px solid #D9E7EA;\">\n" + 
					"<tr height=20>" + 
					"<td width=230 background='" + IMG_DIR + "/img/img_comn_pwprogressbg1.gif' align=center valign=bottom>" +
					"<font style='font-size : 12px; color : #081039;'>111" + winMsg + "</font>" + 
					"</td>" + 
					"</tr>\n"+ 
					"<tr height=39>" + 
					"<td width=230 background='" + IMG_DIR + "/img/img_comn_pwprogressbg2.gif' align=center>" + 
					"<img src='" + IMG_DIR + "/img/img_comn_pwprogress.gif' onclick='parent.hideWindowStatus();'></td>" + 
					"</tr>\n"+ 
					"<tr height=36>" + 
					"<td width=230 background='" + IMG_DIR + "/img/img_comn_pwprogressbg3.gif'></td>" + 
					"</tr>\n"+ 
					"</table>";
*/
	var htmlsrc =	"<table width=287 height=93 border=0 cellspacing=0 cellpadding=0  style=\"border:5px solid #D9E7EA;\">\n" + 
					"<tr height=93><td>"+
					"<table width=287 height=93 border=0 cellspacing=0 cellpadding=0  style=\"border:1px solid #1B9CB9;\">\n" + 
					"<tr height=20><td></td></tr>\n" + 
					"<tr height=20><td align=center valign=bottom>" +
					"<font style='font-size : 12px; color : #081039;'>" + winMsg + "</font>" + 
					"</td>" + 
					"</tr>\n"+ 
					"<tr height=15><td></td></tr>\n" + 
					"<tr height=18><td align=center>"+
					"<table width=197 heigth=18 border=0 cellspacing=0 cellpadding=0  background='" + IMG_DIR + "/img/img_loadingbg.gif' ><tr>"+
					"<td>"+"<img src=\"" + IMG_DIR + "/img/img_loading.jpg\">"+"</td>"+
					"</tr></table>"+
					"</td></tr>\n" + 
					"<tr height=20><td>"+
					"</tr>\n"+ 
					"</table>\n"+					
					"</td></tr>\n" + 
					"</table>";

	oPopupBody.innerHTML = htmlsrc;
	//var x = parseInt( document.body.offsetWidth ) / 2 - 287 / 2;
	var x = 970 / 2 - 287 / 2;
	var y = parseInt( document.body.offsetHeight ) / 2 - 93 / 2;
	oPopup.show( x, y, 297, 103, document.body);
	OBJ_STATUS = oPopup;
}
function hideWindowStatus() {
	if(OBJ_STATUS) { 
		LOCK_FLAG = "0"; 
		document.oncontextmenu=new Function("return true"); 
		OBJ_STATUS.hide(); 
	}
}

//----- Add select's option object
function addOption(object, addText, addValue) {
	if(isDuplicateOption(object, addText)) return true;
	var defaultSelected = false;
	var selected = true;
	var optionName = new Option(addText, addValue, defaultSelected, selected);
	var length = object.length;
	object.options[length] = optionName;
	return true;
}
//---- Check Dulplicate value?
function isDuplicateOption(object, addText) {
	for(var i=0; i < object.options.length; i++) {
		if(object.options[i].text == addText) return true;
	}
	return false;
}
//---- Delete select's option object
function deleteOption(object) {
	var optlen = object.options.length;
	for(var i=optlen-1;i >= 0 ;i--)object.options[i] = null;
}
//---- Delete selected item of select's option object
function deleteSelectedOption(object) {
	var optlen = object.options.length;
	for(var i=optlen-1;i >= 0 ;i--) {
		if(object.options[i].selected) object.options[i] = null;
	}
}
//---- Set the selectedIndex of obj which window object 
function setSelectedIndex(object, selectedValue) {
	object.selectedIndex = 0;
	for(var i=0; i < object.options.length; i++) {
		if(object.options[i].value == selectedValue){object.selectedIndex = i; break;}
	}
}
//----------------------------------------------------------------------------------
// Date Functions
//----------------------------------------------------------------------------------
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function Calendar(field, week){
	// bug patch 2006.08.18
	if(OBJ_POPUP){
		OBJ_POPUP.document.body.parentElement.blur();
		OBJ_POPUP = null;
		Calendar(field, week);
		return;
	}
	
	OBJ_POPUP = null;
	var txtObj = document.forms[0].elements[field];
	var val = Trim(txtObj.value.replace(/-/gi, "/"));
	var today = new Date();
	var year = today.getFullYear();
	var month = today.getMonth();
	if (val != "") {
		if (isValidDate(val)) {
			var date1 = new Date(val);
			year = date1.getFullYear();
			month = date1.getMonth();
		}
	}
	var winLeft = txtObj.getBoundingClientRect().left;
	var winTop = txtObj.getBoundingClientRect().top+ 19;
	var winWidth = 184;
	//var winHeight = 150;
	var winHeight = 170;
	
	CALENDAR.EGC_initialize(year,month,field,winLeft,winTop,winWidth,winHeight, null, week);
	var htmlstr = CALENDAR.EGC_makeCalendar();
	CALENDAR.EGC_showCalendar(htmlstr);
}

function CalendarSE(field, kind) {
	// bug patch 2006.08.18
	if(OBJ_POPUP){
		OBJ_POPUP.document.body.parentElement.blur();
		OBJ_POPUP = null;
		CalendarSE(field, kind);
		return;
	}
	
	OBJ_POPUP = null;
	var txtObj = document.forms[0].elements[field];
	var val = Trim(txtObj.value.replace(/-/gi, "/"));
	var today = new Date();
	var year = today.getFullYear();
	var month = today.getMonth();
	if (val != "") {
		if (isValidDate(val)) {
			var date1 = new Date(val);
			year = date1.getFullYear();
			month = date1.getMonth();
		}
	}
	
	
	if(PRE_DATE != ""){
		var tmpVal = Trim(PRE_DATE.replace(/-/gi, "/"));
		if (isValidDate(tmpVal)) {
			var date1 = new Date(tmpVal);
			year = date1.getFullYear();
			month = date1.getMonth();
		}
	}
	var winLeft = txtObj.getBoundingClientRect().left;
	var winTop = txtObj.getBoundingClientRect().top+ 19;
	var winWidth = 184;
	//var winHeight = 150;
	var winHeight = 170;
	CALENDAR.EGC_initialize(year,month,field,winLeft,winTop,winWidth,winHeight,kind);
	var htmlstr = CALENDAR.EGC_makeCalendar();
	CALENDAR.EGC_showCalendar(htmlstr);
}

function Calendar2(field){
	
	OBJ_POPUP = null;
	var txtObj = document.forms[1].elements[field];
	var val = Trim(txtObj.value.replace(/-/gi, "/"));
	var today = new Date();
	var year = today.getFullYear();
	var month = today.getMonth();
	if (val != "") {
		if (isValidDate(val)) {
			var date1 = new Date(val);
			year = date1.getFullYear();
			month = date1.getMonth();
		}
	}
	var winLeft = txtObj.getBoundingClientRect().left;
	var winTop = txtObj.getBoundingClientRect().top+ 19;
	var winWidth = 184;
	//var winHeight = 150;
	var winHeight = 170;
	CALENDAR.EGC_initialize(year,month,field,winLeft,winTop,winWidth,winHeight);
	var htmlstr = CALENDAR.EGC_makeCalendar();
	CALENDAR.EGC_showCalendar(htmlstr);
}

function isValidDate(it) {
	var dt = it.replace(/-/gi, "/");
	dt = dt.replace(/\./gi, "/");
	var date1 = new Date(dt);
	if (date1.toString() == "NaN") return false;
	dt = dt.replace(/:/gi, "/");
	dt = dt.replace(/ /gi, "/");
	var dt_list = dt.split("/");
	var Y = dt_list[0];
	var M = makeTwoDigit(dt_list[1]);
	var D = makeTwoDigit(dt_list[2]);
	if (dt_list.length == 3) {
		var h = "00";
		var m = "00";
		var s = "00";
	} else {
		var h = makeTwoDigit(dt_list[3]);
		var m = makeTwoDigit(dt_list[4]);
		var s = makeTwoDigit(dt_list[5]);
	}
	var Y2 = date1.getFullYear();
	var M2 = date1.getMonth()+1;
	var D2 = date1.getDate();
	var h2 = date1.getHours();
	var m2 = date1.getMinutes();
	var s2 = date1.getSeconds();
	M2 = makeTwoDigit(M2);
	D2 = makeTwoDigit(D2);
	h2 = makeTwoDigit(h2);
	m2 = makeTwoDigit(m2);
	s2 = makeTwoDigit(s2);
	if (Y == Y2 && M == M2 && D == D2 && h == h2 && m == m2 && s == s2) 
		return true;
	else
		return false;
}
//날짜 스티링으로 리턴
function makeDateTime(DateTime){
	return DateTime.getFullYear()+"-"+ makeTwoDigit(DateTime.getMonth() +1) + "-"+ makeTwoDigit(DateTime.getDate())
}

//---Make one digit to two digit
function makeTwoDigit(x) {
	if (x.toString().length == 1) return "0"+x; else return x;
}
//--Clock
function Clock(){
	var NOW_TIME ="";
	var timeOBJ = document.getElementById("Time");
	var TODAY = new Date();
	var HOUR = TODAY.getHours();
	var MIN = TODAY.getMinutes();
	var SEC = TODAY.getSeconds();
	if (HOUR > 12) HOUR = HOUR;
	if (HOUR <= 9) HOUR = "0" + HOUR;
	if (MIN <= 9) MIN = "0" + MIN;
	if (SEC <= 9) SEC = "0" + SEC;
	NOW_TIME = HOUR+":"+MIN+":"+SEC
	timer= setTimeout("Clock()", 1000);
	timeOBJ.innerText = NOW_TIME;
}
//--------------------------------------------------------------------------------
// String Functions
//--------------------------------------------------------------------------------
//---- Extract value that posted on parameterName
function getParameter (strValue, parameterName, sep) {
	strValue = RTrim(LTrim(strValue));
	var lists = strValue.split(sep);
	for (var i=0; i < lists.length; i++) {
		if (Left(lists[i], "=").toLowerCase() == parameterName.toLowerCase()) {
			return (Right(lists[i], "="));
		}
	}
	return "";
}
//---Replace value that posted on parameterName with modifyValue.
function modifyParameter(strValue, parameterName, sep, modifyValue) {
	if(strValue.indexOf(parameterName+"=") < 0) {
		//parameter가 없으면 추가
		var retValue = strValue+sep+parameterName+"="+modifyValue;
		return retValue;
	}

	var lists = strValue.split(sep);
	for (var i=0; i < lists.length; i++) {
		if (Left(lists[i], "=").toLowerCase() == parameterName.toLowerCase()) {
			lists[i] = parameterName + "=" + modifyValue;
			break;
		}
	}
	return lists.join(sep);
}
//---delete Parameter
function removeParameter(strValue, parameterName, sep) {
	if(strValue.indexOf(parameterName+"=") < 0) {
		//parameter가 없으면 그대로 리턴
		return strValue;
	}

	var lists = strValue.split(sep); var lists2 = new Array();
	for (var i=0; i < lists.length; i++) {
		if (Left(lists[i], "=").toLowerCase() != parameterName.toLowerCase()) {
			lists2[lists2.length] = lists[i];
		}
	}
	return lists2.join(sep);
}
//----Is contained by substr
function Contains(str,substr) {
	var sepStr = str.split(";");
	for(var i=0 ; i < sepStr.length ; i++){
		if(sepStr[i] == substr)return true;
	}
	return false;
}
//----return index dimension element
function Elements(Str) {
	var DelimeterIndex = Str.indexOf(";");
	var TrimStr = Trim(Str);
	if(TrimStr =='' || (TrimStr.Length < 1 && DelimeterIndex < 1)) return (0);
	return (1 + Elements(Right(TrimStr,";")));
}
//----Extraction left string
function Left(SourceStr, FindStr) {
	Index = SourceStr.indexOf(FindStr);
	if(Index < 0) {
		return ("");
	}else{
		return (SourceStr.substring(0, Index));
	}
}
//-----Extraction right string
function Right(SourceStr, FindStr) {
	Index = SourceStr.indexOf(FindStr);
	if(Index < 0) {
		return ("");
	}else{
		Len = SourceStr.length;
		return(SourceStr.substring(Index+FindStr.length, Len));
	}
}
//----Elimination empty string value
function Trim(SourceStr) {
	newStr = SourceStr.replace(/ /gi, "");
	return (newStr);
}
//----Elimination left empty string value
function LTrim(value) {
	var pos = 0;
	for(var i=0; i < value.length; i++) {
		if(value.substr(i,1) != " ") { pos = i; break; }
	}
	return (value.substring(pos, value.length));
}
//----Elimination right empty string value
function RTrim(value) {
	var pos = 0;
	for(var i=value.length-1; i >= 0; i--) {
		if(value.substr(i,1) != " ") { pos = i; break; } 
	}
	return (value.substring(0, pos+1));
}
//----특정문자열로 split한 값중 특정번째 값
function Word(value, sep, index) {
	if(value == "" || value == null) return "";

	var lists = value.split(sep);

	if(index == -1) {
		return (lists[lists.length-1]);
	} else {
		if (lists.length-1 < index) return "";
		return (lists[index]);
	}
}
//----Is Korean Character?
function isKorean(it) { 
	if (it.substring(0, 2) == "%u")
		if (it.substring(2,4) == "00") return false; else return true; 
	else if (it.substring(0,1) == "%") 
		if (parseInt(it.substring(1,3), 16) > 127) return true; else return false;
	else 
		return false;
}
//----String Length
function getLength(str) {
	var len=0;
	for(var i=0; i < str.length; i++) {
		if (isKorean(escape(str.substr(i,1))) == true) len += 2; else len += 1;
	}
	return len;
}
//----Return index
function getIndex(param, key) {
	for (var i=0; i < param.length; i++) {
		if (param[i] == key) return i;
	}
	return -1;
}
//----Return Index that key is contained by param[i]
function getContainsIndex(param, key) {
	for (var i=0; i < param.length; i++) {
		if (param[i].indexOf(key) >= 0) return i;
	}
}
//----Return Index that key is contained by param[i]
function getStrContainsIndex(param, key) {
	for (var i=0; i < param.length; i++) {
		if (param[i].indexOf(key) >= 0) return i;
	}
	return -1;
}
function checkNumber(value){
	if(isNaN(value)) return false; else return true;
}
//-- Round Function
function Round(num, pos) {
	var posV = Math.pow(10,pos);
	return Math.round(num*posV)/posV;
}
//----Extract string by limit character
function fixIt(str, limit) {
	var len=0; var new_str="";
	var max = 0;
	switch(limit) {
		case "name":	max = 12; break;
		case "post":	max = 10; break;
		case "date":	max = 12; break;
		case "percent":	max = 5; break;
		default:max=limit; break;
	}
	for(var i=0; i < str.length; i++) {
		if (len > max) return new_str+"..";
		if (isKorean(escape(str.substr(i,1))) == true) len += 2; else len += 1;
		new_str += str.substr(i,1);
	}
	return new_str;
}
//----Check the validation of email format
function isValidEmail(email) {
	if (email.length <= 6 || email.indexOf ('@', 0) == -1 || email.indexOf ('.', 0) == -1 || email.indexOf(".") == email.length-1) return false;
	else return true;
}
function isValidPwd(password){
	var Triple = false;
	var pchr = 0 ;

	for (var i=0; i < password.length; i++ ){
		var xchr = password.charCodeAt(i);

		if (Math.abs(xchr-pchr) <= 0) { // AAA, ABC, ZYX, 012, 432, 999
			if (Triple)	return false;
			else Triple = true;
		}else Triple = false;

		if( ( i == 0) || (i == (password.length-1) )){
			if( ( Math.abs( xchr) > 47  ) && ( Math.abs( xchr) < 56  ) )
				// 첫자리와 끝자리는 숫자를 넣을 수 없음
				return false
		}
		pchr = xchr;
	}

	return true;
}
//----Insert comma at Number
function insertComma(srcNumber) {
	var txtNumber = '' + srcNumber;
	if (isNaN(txtNumber) || txtNumber == "") {
		return txtNumber;
	} else {
		var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
		var arrNumber = txtNumber.split('.');
		arrNumber[0] += '.';
		do {
			arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
		} while (rxSplit.test(arrNumber[0]));
		if (arrNumber.length > 1) {
			return arrNumber.join('');
		} else {
			return arrNumber[0].split('.')[0];
		}
	}
}
//---- Check namestr having a wrong charater with act
function checkCharacter(namestr,act) {

	if(namestr.charAt(0)==" ") {
		alert( act+" 맨 앞에 공백이 올 수 없습니다.");
		return false;
	} 
	switch (act) {
		case "제목":
			if(
				namestr.indexOf( ';' ) != -1 || 
				namestr.indexOf( '^' ) != -1 || 
				namestr.indexOf( '\'' ) != -1 ||
				namestr.indexOf( '\\' ) != -1 ||
				namestr.indexOf( '\"' ) != -1
			)	{
				alert( act+"에 특수문자(;, ^, \', \" , \\)를 사용하실 수 없습니다.");
				return false;
			}
			break;

		case "폴더명":
			if(
				namestr.indexOf( ';' ) != -1 || 
				namestr.indexOf( '^' ) != -1 || 
				namestr.indexOf( '\'' ) != -1 ||
				namestr.indexOf( '\\' ) != -1 ||
				namestr.indexOf( '\"' ) != -1
			)	{
				alert( act+"에 특수문자(;, ^, \', \" , \\)를 사용하실 수 없습니다.");
				return false;
			}
			break;

		case "팀룸명":
			if(
				namestr.indexOf( ';' ) != -1 || 
				namestr.indexOf( '^' ) != -1 || 
				namestr.indexOf( '\'' ) != -1 ||
				namestr.indexOf( '\"' ) != -1
			)	{
				alert( act+"에 특수문자(;, ^, \', \")를 사용하실 수 없습니다.");
				return false;
			}
			break;
		case "동호회명":
			if(
				namestr.indexOf( ';' ) != -1 || 
				namestr.indexOf( '^' ) != -1 || 
				namestr.indexOf( '\'' ) != -1 ||
				namestr.indexOf( '\"' ) != -1
			)	{
				alert( act+"에 특수문자(;, ^, \', \")를 사용하실 수 없습니다.");
				return false;
			}
			break;
		case "자원명":			
			if(
				namestr.indexOf( ';' ) != -1 || 
				namestr.indexOf( '^' ) != -1 || 
				namestr.indexOf( '\'' ) != -1 ||
				namestr.indexOf( '\"' ) != -1
			)	{
				alert( act+"에 특수문자(;, ^, \', \")를 사용하실 수 없습니다.");
				return false;
			}
			break;
		case "그룹명":			
			if(
				namestr.indexOf( ';' ) != -1 || 
				namestr.indexOf( '^' ) != -1 || 
				namestr.indexOf( '\'' ) != -1 ||
				namestr.indexOf( '\"' ) != -1
			)	{
				alert( act+"에 특수문자(;, ^, \', \")를 사용하실 수 없습니다.");
				return false;
			}
			break;
		case "검색어":
			if(
				namestr.indexOf( '<' ) != -1 ||
				namestr.indexOf( '>' ) != -1 || 
				namestr.indexOf( ';' ) != -1 ||
				namestr.indexOf( '[' ) != -1 || 
				namestr.indexOf( ']' ) != -1 ||
				namestr.indexOf( '{' ) != -1 || 
				namestr.indexOf( '}' ) != -1 ||
				namestr.indexOf( '`' ) != -1 || 
				namestr.indexOf( '|' ) != -1 ||
				namestr.indexOf( '+' ) != -1 || 
				namestr.indexOf( '=' ) != -1 ||
				namestr.indexOf( '(' ) != -1 || 
				namestr.indexOf( ')' ) != -1 ||
				namestr.indexOf( '&' ) != -1 ||
				namestr.indexOf( '^' ) != -1 || 
				namestr.indexOf( '%' ) != -1 ||
				namestr.indexOf( '#' ) != -1 || 
				namestr.indexOf( '!' ) != -1 || 
				namestr.indexOf( '~' ) != -1 ||
  		  		namestr.indexOf( '\'' ) != -1 || 
  		  		namestr.indexOf( '\"' ) != -1
			){
				alert( act+"에 특수문자를 사용하실 수 없습니다.");
		        return false;
			}
			break;
		case "질의어":
			if(
				namestr.indexOf( '|' ) != -1 ||
				namestr.indexOf( '&' ) != -1 ||
				namestr.indexOf( '+' ) != -1 || 
				namestr.indexOf( '=' ) != -1 ||
				namestr.indexOf( '(' ) != -1 || 
				namestr.indexOf( ')' ) != -1 ||
  		  		namestr.indexOf( '\'' ) != -1 || 
  		  		namestr.indexOf( '\"' ) != -1 ||
				namestr.indexOf( '*' ) != -1 ||
				namestr.indexOf( '\\') != -1
			){
				alert( act+"에 특수문자(|, &, +, =, (, ), \', \", *, \\)을(를) 사용하실 수 없습니다.");
		       	return false;
			}
			break;
		case "보관함":
			if(
				namestr.indexOf( '<' ) != -1 ||
				namestr.indexOf( '>' ) != -1 || 
				namestr.indexOf( ';' ) != -1 ||
				namestr.indexOf( '[' ) != -1 || 
				namestr.indexOf( ']' ) != -1 ||
				namestr.indexOf( '{' ) != -1 || 
				namestr.indexOf( '}' ) != -1 ||
				namestr.indexOf( '`' ) != -1 || 
				namestr.indexOf( '|' ) != -1 ||
				namestr.indexOf( '+' ) != -1 || 
				namestr.indexOf( '=' ) != -1 ||
				namestr.indexOf( '(' ) != -1 || 
				namestr.indexOf( ')' ) != -1 ||
				namestr.indexOf( '&' ) != -1 ||
				namestr.indexOf( '^' ) != -1 || 
				namestr.indexOf( '%' ) != -1 ||
				namestr.indexOf( '#' ) != -1 || 
				namestr.indexOf( '!' ) != -1 || 
  		  		namestr.indexOf( '\'' ) != -1 || 
  		  		namestr.indexOf( '\"' ) != -1
			){
				alert( act+"에 특수문자(<, >, ;, [, ], {, }, `, |, +, =, (, ), &, ^, %, #, !, \', \")를 사용하실 수 없습니다.");
		        return false;
			}
			break;
	}
  	return true;
}
//기본적인 특수문자검사
function checkCharacterEx(namestr,label) {
	if(
		namestr.indexOf( '|' ) != -1 ||
		namestr.indexOf( '&' ) != -1 ||
		namestr.indexOf( '+' ) != -1 || 
		namestr.indexOf( '=' ) != -1 ||
  		namestr.indexOf( '\'' ) != -1 || 
  		namestr.indexOf( '\"' ) != -1 ||
		namestr.indexOf( '*' ) != -1 ||
		namestr.indexOf( '^' ) != -1 ||
		namestr.indexOf( '\\') != -1
	) {
		alert( label + "에 특수문자(|, &, +, =, \', \", *, ^, \\)을(를) 사용하실 수 없습니다.");
	   	return false;
	} else {
		return true;
	}
}
//숫자인지 체크함
function chnum(obj)
{ 
	var instr = obj.value;
	
	for (kk=0; kk<instr.length; kk++){
		mmstr = instr.substr(kk,1).charCodeAt(0);
		if (mmstr < 48 || mmstr > 57){
			alert("숫자만 입력해 주십시오.");
			obj.value = "";
			return;
		}
	}
}

//숫자인지 체크함
function checknum(obj, default_value)
{
	var instr = obj.value;
	
	for (kk=0; kk<instr.length; kk++){
		mmstr = instr.substr(kk,1).charCodeAt(0);
		if (mmstr < 48 || mmstr > 57){
			alert("숫자만 입력해 주십시오.");
			obj.value = default_value;
			obj.focus();
			return;
		}
	}
}

function checkTextField(checker) {
	var ret = checkInput(checker);
	return ret;
}
function checkNumberField(checker) {
	var ret = checkInput(checker);
	if(ret != true) return false;
	var obj = document.forms[0].elements[checker.fieldname];
	if(obj == null) return false;
	if(checkNumber(obj.value)==false) {
		alert(checker.fieldtitle+"은(는) 숫자로 입력하여 주십시오");
		return false;
	}
	if(checker.min != "") {
		if(obj.value < checker.min) {
			alert(checker.fieldtitle+"은(는) "+ checker.min + "이상으로 입력하여 주십시오");
			return false;
		}
	}
	if(checker.max != "") {
		if(obj.value > checker.max) {
			alert(checker.fieldtitle+"은(는) "+ checker.max + "이하로 입력하여 주십시오");
			return false;
		}
	}
	if(checker.min != "" && checker.max != "") {
		if((obj.value >= checker.min && obj.value <= checker.max)==false) {
			alert(checker.fieldtitle+"은(는) "+ checker.min + "이상 " + checker.max + "이하로 입력하여 주십시오");
			return false;
		}
	}
	return true;
}
function checkDateField(checker) {
	var ret = checkInput(checker);
	if(ret != true) return false;
	var obj = document.forms[0].elements[checker.fieldname];
	if(obj == null) return false;
	if(isValidDate(obj.value)==false) {
		alert(checker.fieldtitle+"의 날짜값이 유효하지 않습니다");
		return false;
	}
	if(checker.min != "") {
		if(obj.value < checker.min) {
		alert(checker.fieldtitle+"은(는) "+ checker.min + "이상으로 입력하여 주십시오");
		return false;
		}
	}
	if(checker.max != "") {
		if(obj.value > checker.max) {
			alert(checker.fieldtitle+"은(는) "+ checker.max + "이하로 입력하여 주십시오");
			return false;
		}
	}
	if(checker.min != "" && checker.max != "") {
		if((obj.value >= checker.min && obj.value <= checker.max)==false) {
			alert(checker.fieldtitle+"은(는) "+ checker.min + "이상 " + checker.max + "이하로 입력하여 주십시오");
			return false;
		}
	}
	return true;
}
function checkInput(checker) {
	var obj = document.forms[0].elements[checker.fieldname];
	if(obj == null) return false;
	if(Trim(obj.value) == "") {
		alert(checker.msg);
		return false;
	} else {
		return true;
	}
}
//--------------------- 문자열의 hexa값 encoding&decoding 함수 ----------------
var chex = "0123456789ABCDEF";
function decTohex(x) {
	hexval = new Array();
	var i=0;
	tmpval = x;
	for ( i=0 ; i  < hexval.length ; i++ ) hexval[i] = "";
	if ( tmpval >= 16 ) {
		while ( tmpval >= 16 ) {
			tmpRem = tmpval%16;
			tmpmok = (tmpval-tmpRem)/16;
			hexval[i] = chex.charAt(tmpRem);
			if (tmpmok < 16) {
				hexval[i+1] = chex.charAt(tmpmok );
				tmpval = tmpmok;
			}
			else {
				tmpval = tmpmok;
			}
			i = i +1;
	}
	} else {
    		hexval = chex.charAt(tmpval);
	}
	converthex = "";
	hexval.reverse();
	for ( k = 0 ; k < hexval.length ; k++)
		converthex = converthex + hexval[k];
	return converthex ;
}


function strConvert(strbuf, flag) {
	
	source = new String();
	buf1 =  new String();
	buf = new String();
	source = strbuf;

	if ( flag == 1 ) {
		slen = source.length;
		for ( var ss= 0 ; ss < slen ; ss++) {
			buf1 = source.substring(ss, ss+1);
			if (buf1 == null ) return false;
			k= decTohex( buf1.charCodeAt(0)) ;
			t = "0000" + k;
			o = t.substring(t.length - 4 , t.length);
			buf  = buf + o;		
		}
	}
	else { //----Decoding -----------------------------------
		buf1 = "";
		var k = new String();
		for ( i=0 ; i < strbuf.length; ) {
			buf1 =strbuf.substring(i, i+4);
			k = "";
			Test = String.fromCharCode(parseInt(buf1, '16'));
			buf = buf + Test;
			i = i +4;
		}
	}
	return buf;
}
//------------------------------------------------------------

//Key값을 이용한 CN추출
function getEntryCN(Key) {
	if(Key.toUpperCase().indexOf("CN=") >= 0) {
		return Left(Right(Key, "CN="), "/");
	} else {
		return Key;
	}
}

//Key값을 이용한 Abbreviated추출
function getEntryAbbreviated(Key) {
	if(Key.toUpperCase().indexOf("CN=") >= 0) {
		var lists = (Key.indexOf("@") >= 0?Left(Key,"@").split("/"):Key.split("/"));
		var retList = new Array();
		for(var i=0; i < lists.length; i++) {
			retList[retList.length] = Right(lists[i],"=");
		}
		return retList.join("/");
	} else {
		return Key;
	}
}

//----Make new list
function makeNewList(lists, param, sep) {
	var new_lists = new Array();
	var inc = 0;
	var i=0; var j=0;
	var param_value = "";
	for (i=0; i < lists.length ; i++) {	
		new_lists[inc]="";
		for (j=0; j < param.length; j++) {
			param_value = getParameter(lists[i], param[j], sep);
			new_lists[inc] = new_lists[inc]+sep+param_value;
		}
		new_lists[inc] = new_lists[inc].substr(1, new_lists[inc].length);
		inc++;
	}
	return new_lists;
}
//----Sort lists by sort_type
function sortIt(lists, sep, index, sort_type) {
	if ( lists == null || lists.length == 0 )return lists;
	var new_lists = new Array();
	if (index == 0)new_lists = lists;
	else new_lists = replaceOrder(lists, sep, index);
	new_lists.sort();
	if (sort_type=="ascending")return new_lists;
	else return new_lists.reverse();
}
//-----Replace Order
function replaceOrder(lists, sep, index) {
	var new_lists = new Array();
	var each_new_list = new Array();
	var each_list = new Array();
	var tmpstr="";
	for (var i=0; i < lists.length; i++) {
		each_list = lists[i].split(sep);
		each_new_list = each_list;
		tmpstr = each_new_list[0];
		each_new_list[0] = each_list[index];
		each_new_list[index] = tmpstr;
		new_lists[i] = each_new_list.join(sep);
	}
	return new_lists;
}
//----일단 보류
function addCategory(){/* 필드명, 윈도우 타이틀 */
	document.forms[0].elements[arguments[0]].value = arguments[1];
	hidePopup();
}
//------------------------------------------------------------------------------
// OPEN
//------------------------------------------------------------------------------
//----Open popup window with scrollbar options
function openSubwin(url, width, height, scrollbars, win_name, resizable) {
	var opt_scrollbars = (scrollbars == null)?"auto":scrollbars;
	var window_name = (win_name == null)?"subwin":win_name;
	var winFeature = setCenter(width, parseInt( height, 10)+20) + ",status=yes,menubar=no,resizable="+(resizable==null?"no":resizable)+",scrollbars="+opt_scrollbars;
	//var winFeature = setCenter(width, height)+",status=yes,menubar=no,resizable="+(resizable==null?"no":resizable)+",scrollbars="+opt_scrollbars;
	var subwin = window.open(url, window_name, winFeature);
	return subwin;
}


//----Open popup window with scrollbars
function openWin(url, width, height, win_name){
	var window_name = (win_name == null)?"subwin":win_name;
	var winFeature = setCenter(width, parseInt( height, 10) +20) + ",status=yes,menubar=no,resizable=yes,scrollbars=yes";
	var subwin = window.open(url, "", winFeature);
	return subwin;
}
//----Open Window with menubar and scrollbars
function openMenuWin(url, width, height, win_name){
	var window_name = (win_name == null)?"subwin":win_name;
	var winFeature = setCenter(width, parseInt( height, 10)+20) + ",status=yes,toolbar=yes,location=yes,menubar=yes,resizable=yes,scrollbars=yes";
	window.open(url, "", winFeature);
}
//----Open Modal Popup window
function openModalSubwin(url, args, win_width, win_height, scrollflag) {
	var dt = new Date();
	var winFeature = "dialogWidth:"+win_width+"px; dialogHeight:"+(parseInt( win_height, 10)+20)+"px; center:yes; help:no; status:yes; scroll:"+(scrollflag == null ? "no" : scrollflag)+"; resizable:no";
	var strurl = url+"&"+dt.toUTCString().replace(/ /gi,"");
	var retValue = window.showModalDialog(strurl, args, winFeature);

	return retValue;
}


//----Open Calendar Window
function openCalendar(url, args, win_width, win_height,win_left,win_top) {
	var winFeature = "dialogWidth:"+win_width+"px; dialogHeight:"+(parseInt( win_height, 10)+20)+"px; dialogLeft:"+win_left+"; dialogTop:"+win_top+"; center:no; help:no; status:no; scroll:no; resizable:no";
	var retValue = window.showModalDialog(url, args, winFeature);
	return retValue;
}
//----Open Doc
function openDoc(dbpath, view, id,mode){
	var doc_url = "/"+ dbpath + "/"+view+"/"+id+"?"+(mode=="R"?"opendocument":"editdocument");
	location.href = doc_url;
}
//----openForm
function openForm(dbpath,formname,query){
	var url = "/"+ dbpath + "/"+formname+"?openform&"+query
	location.href = url;
}
//---CreatePopup
function openPopup(winLeft, winTop, winWidth, winHeight, htmlstr) {
	//var oPopup = window.createPopup();
	var oPopBody = oPopup.document.body;
	oPopBody.onblur = new Function("");
	oPopBody.style.backgroundColor = "#FFFFFF";
	oPopBody.style.border = "1px solid #D2D2D2";
	oPopBody.scroll = "yes";
	oPopBody.style.scrollbarFaceColor = "#ECECEC";
	oPopBody.style.scrollbarShadowColor = "#F5F4F4";
	oPopBody.style.scrollbarHighlightColor = "#F5F4F4";
	oPopBody.style.scrollbar3dLightColor = "#F5F4F4";
	oPopBody.style.scrollbarDarkShadowColor = "#FFFFFF";
	oPopBody.style.scrollbarTrackColor = "#F5F4F4";
	oPopBody.style.scrollbarArrowColor = "#808080";	
	oPopBody.innerHTML = htmlstr;

	//x,y,width,height
	oPopup.show(winLeft, winTop, winWidth, winHeight, document.body);
	OBJ_POPUP = oPopup;
}
function hidePopup(){
	if (OBJ_POPUP){OBJ_POPUP.hide();}
}
/* 문서가 팝업으로 열릴때, 문서 내용에 따라 세로 스크롤바 표시 */
function initScroll(){
	document.body.scrollHeight>document.body.clientHeight?document.body.scroll="yes":"";
}

//----------------------------------------------------------------------------------------------
// ETC Functions
//----------------------------------------------------------------------------------------------
//-----window open시 중앙에 위치
function setCenter(winwidth, winheight) {
	//return " width=" + winwidth + ",height=" + winheight;

	winx = Math.ceil((screen.availWidth - winwidth) / 2);
	winy = Math.ceil((screen.availHeight - winheight) / 2);
	if (winwidth == screen.availWidth) winwidth = screen.availWidth - 10;
	if (winheight == screen.availHeight) winheight = screen.availHeight - 30;
	return "left=" + winx + ",top=" + winy + ",width=" + winwidth + ",height=" + winheight;
}

//----Diplay action button's event status
function toggleActionBtn(BtnObj,Flag){
	switch(Flag){
		case "0" : //moveout
			BtnObj.style.backgroundColor = "#ECECEC";
			BtnObj.style.borderWidth = "1px";
			BtnObj.style.borderStyle ="solid";
			BtnObj.style.borderColor = "#CFCFCF";
			BtnObj.style.color = "#000000";
			break;
		case "1" : //mouseover			
			BtnObj.style.backgroundColor = "#DCDCDC";
			BtnObj.style.borderTopColor = "#EBEBEB";
			BtnObj.style.borderRightColor = "#ACACAC";
			BtnObj.style.borderBottomColor = "#8F8F8F";
			BtnObj.style.borderLeftColor = "#E3E3E3";
			BtnObj.style.color = "#000000";
			break;
		case "2" : //mousedown 
			BtnObj.style.backgroundColor = "#ACACAC";
			BtnObj.style.borderTopColor = "#707070";
			BtnObj.style.borderRightColor = "#BDBDBD";
			BtnObj.style.borderBottomColor = "#CFCFCF";
			BtnObj.style.borderLeftColor = "#868686";
			BtnObj.style.color = "#FFFFFF";
			break;	
	}
}
// view와 답변리스트의 각 tr에 mouse over/out시 dot 행에도 bgcolor 적용
function changeDotLine(i, status){
	//사용안함
	return true;
	var lineID = eval("document.all['line" + i + "']");
	if (lineID != null){
		lineID.className = "bgDOT" + status;
	}
}
//
function setClipBoard(StrData){
	window.clipboardData.setData("Text",(StrData==null?location.href:StrData));
}
function getClipBoard(){
	return window.clipboardData.getData("Text");
}
//-- EIP & KMS 같이 사용
function showUserInfo(NotesID){
	var ViewName=""; var Key="";
	Key = escape(NotesID);
	if(NotesID.toUpperCase().indexOf("CN=") >= 0 && NotesID.indexOf("&") == -1)	{
		ViewName="user_by_notesid"; 
		if(Key.indexOf("@") >= 0) {
			Key = Left(Key, "@");
		}
	} else {
		if(NotesID.toUpperCase().indexOf("CN=") >= 0) NotesID = getEntryCN(NotesID);
		ViewName="user_by_name";
	}
	
	var url = "/"+LIBRARY_PATH + "/win_show_user?openform&user="+Key+"&view="+ViewName+"&is_popup=1";
	//var subwin = openSubwin(url, 600,450, "no","subwin","no")
	var subwin = openSubwin(url, 800, 300, "no","subwin","no")
	subwin.focus();	
}

function toggleImage(obj,mode){
	try	{
		obj.src = IMG_DIR + "/btn/btn_pop_"+ obj.id +(mode?"_r.gif":".gif");
	}catch ( e ){
	}
}
function swapImageButton(imgid, flag){
	var obj = document.getElementById(imgid);
	if(obj!=null) {
		var strtmp = IMG_DIR+"/btn/"+imgid;
		obj.src = (flag?strtmp+"_r.gif":strtmp+".gif");
	}
}
function getToday() {
	var dt = new Date();
	var d  = makeTwoDigit(dt.getDate());
	var m = makeTwoDigit(dt.getMonth()+1);
	var y  = makeTwoDigit(dt.getFullYear());

	return y+"-"+m+"-"+d;
}
//-- 
function getSelectedValue(FieldName){
	var Obj = eval("document.forms[0]."+FieldName);
	for(var i=0 ; i < Obj.options.length ; i++){
		if(Obj.options[i].selected) return Obj.options[i].value;
	}
	return "";
}

function getSelectedText(FieldName){
	var Obj = eval("document.forms[0]."+FieldName);
	for(var i=0 ; i < Obj.options.length ; i++){
		if(Obj.options[i].selected) return Obj.options[i].text;
	}
	return "";
}
//-------- html로 생성한 checkbox를 문서저장시 에러가 안나게 하기 위해 모두 uncheck 함
function unCheckAll() {

	//---- 저장시 필드없이, javascript로 생성한 체크박스들을 모두 check를 해제시켜 저장시 에러가 안나게 함
	var inputTags = document.all.tags("INPUT");
	for(var i=0 ; i < inputTags.length; i++) {
		if(inputTags[i].type.toUpperCase() == "CHECKBOX" && inputTags[i].name != "%%Detach") {
			inputTags[i].checked = false;
		}
	}
}
// checkbox에서 선택된 값 리턴
function getCheckedValue(object) {
	var lists = new Array();
	var inc = 0;

	for(var i=0; i < object.length; i++) {
		if(object[i].checked) {
			lists[inc++] = object[i].value;
		}
	}
	return lists;
}
function getChecked() {
	var retList = new Array();
	var j=0;
	var ObjList = document.all.tags("INPUT");
	for (var i=0; i < ObjList.length; i++) {
		if (ObjList[i].type == "checkbox" && ObjList[i].name.length == 8 && ObjList[i].name != "checkAll") {
			if(ObjList[i].checked) retList[j++] = ObjList[i].name;
		}
	}
	return retList;
}
//--한개의 CheckBox 값 ,radio 에서 선택되어진값 가져오기
function getCRValue(FieldName){
	var cObj = eval("document.forms[0]."+FieldName);
	for(var i=0 ; i < cObj.length ; i++){
		if(cObj[i].checked) return cObj[i].value;
	}
	return "";
}
//--한개의 CheckBox 값 ,radio 에서 선택되어진 값의 텍스트 가져오기
function getCRText(FieldName){
	var cObj = eval("document.forms[0]."+FieldName);
	for(var i=0 ; i < cObj.length ; i++){
		if(cObj[i].checked) return cObj[i].text;
	}
	return "";
}
function set_combo(Obj, value) {
	for (var i = 0; i <Obj.options.length; i++) {
		if (Obj.options[i].value == value) {
			Obj.selectedIndex = i;
		}
	}
}
function set_combo_text(Obj, value) {
	for (var i = 0; i <Obj.options.length; i++) {
		if (Obj.options[i].text == value) {
			Obj.selectedIndex = i;
		}
	}
}
// Select List에서 선택한 값 가져오기
function get_select_value(Obj) {
	if (Obj.selectedIndex < 0) {
		return "";
	} else {
		return Obj.options[Obj.selectedIndex].value;
	}
}
// Select List에서 선택한 텍스트 가져오기
function get_select_text(Obj) {
	if (Obj.selectedIndex < 0) {
		return "";
	} else {
		return Obj.options[Obj.selectedIndex].text;
	}
}
//EMail의 <,>를 변환
function fixEMail(email) {
	return email.replace(/</gi,"&lt;").replace(/>/gi,"&gt;");
}
//Sort by specific index
function sortByIndex(Lists, index, sep) {
	//index번째것을 맨앞으로 하여 배열생성
	var NewLists = new Array(); var SubLists = new Array();
	for(var i=0; i < Lists.length; i++) {
		SubLists = Lists[i].split(sep);
		NewLists[NewLists.length] = SubLists[index]+sep+Lists[i];
	}

	//do sort
	NewLists.sort();

	//맨앞의 소트를 위한 값 삭제
	var RetLists = new Array();
	for(var i=0; i < NewLists.length; i++) {
		RetLists[RetLists.length] = Right(NewLists[i],sep);
	}

	return RetLists;
}

//Clients DB에서 Client선택
function selectClients(RetFunction, IsMulti) {
	var Path = "";
	try { Path = CLIENTS_PATH; } catch(e) { alert("Clients정보 경로(CLIENTS_PATH)가 셋팅되지 않았습니다."); return; }

	var url = "/"+Path+"/win_select_clients?readform"+
			"&multi="+(IsMulti?"1":"0")+
			"&ret="+RetFunction;

	var subwin = openSubwin(url, "400", "550", "no", "");
	subwin.focus();
}

//Office DB에서 Office정보 선택
function selectOffice(RetFunction, IsMulti){
	var Path = "";
	try{ Path = OFFICE_PATH;}catch (e){alert("Office정보 경로(OFFICE_PATH)가 셋팅되지 않았습니다.");return;}
	var url ="/" + Path + "/win_select_office?readform"+
			"&multi="+(IsMulti?"1":"0")+
			"&ret="+RetFunction;

	var subwin = openSubwin(url, "400", "550", "no", "");
	subwin.focus();
}
/* --------- 접기/펼치기 ----------- */
function toggleProcess(DIV_TOGGLE, IMG_TOGGLE){
	var obj = document.getElementById(DIV_TOGGLE);
	var imgObj = document.getElementById(IMG_TOGGLE);
	if(obj.style.display == "none"){
		obj.style.display = "inline";
		imgObj.src = IMG_DIR + "/"+ IMG_COLLAPSE;
	}else {
		obj.style.display = "none";
		imgObj.src = IMG_DIR + "/"+ IMG_EXPAND;
	}
}
/* ======================== XMLHttp(JavaScript) ==================== */
function xmlhttp(url){
	var htmlstr = "";

	var objHTTP=new ActiveXObject("MSXML2.XMLHTTP");
	objHTTP.Open('GET', url, false);
	objHTTP.Send();

	if (objHTTP.statustext == "OK" ) {
		htmlstr=objHTTP.responseText;
	} else {
		htmlstr = XMLERROR;
	}
	return htmlstr;
}


/* ================================================================== */
function K2_Search(Obj){	
	
	var colls =""; var field =0;
	var query = Obj.value;
	var QueryText="";	
	var prtquery=query;
			
	//query
	if(Trim(query)==""){
		alert("검색어를 입력해 주세요");
		Obj.focus();
		return ;
	}	
				
	frm.QueryText.value = "([0.9]"+ query + "<in>title <or> [0.1]"+query+")";
	//frm.QueryText.value =  query + "<in>title";
	frm.prtquery.value=prtquery;
	frm.target="Content";
	//alert(frm.QueryText.value);
	frm.submit();

}
//-- Code별 도움말을 보여주는 함수
function showHelpWithCode(code){
	var url = "/"+ HELP_PATH + "/first?openform&code="+ code ;

	var subwin = openSubwin(url, 840, 650, "yes", "", "yes");
	subwin.focus();
}
//-- Code별 QNA을 보여주는 함수
function showQNAWithCode(code){
	var url = PROTOCOL + QNA_HOST_NAME + "/" + LIBRARY_PATH+"/view_linker?readform"+
				"&db="+QNA_PATH+
				"&view=faq_datetime_des"+
				"&all_view=0"+
				"&category="+code+
				"&category_text="+escape(SYSTEM_TITLE)+
				"&sort_type=descending"+
				"&sort_col=6"+
				"&rows="+ROWS+
				"&add_param="+escape(ADD_PARAM);
	parent.parent.Content.location.href = url;


}
//개인주소록 추가
function addPersonalAddressbook(email) {
	var url = "/"+LIBRARY_PATH+"/WinAddPersonalAddrBook?openform&email="+escape(email);
	var subwin = openSubwin(url, 400, 146);
	subwin.focus();

}
//===========================================================================
//--KMS 
//===========================================================================
function EGATE_SYSTEM_PROFILE(SystemCode, info) {
	this.SystemCode = SystemCode;
	this.SystemName = "";
	this.HomeServer = "";
	this.DBDir = "";
	this.DBFileName = "";
	this.DBPath = "";
	this.FirstForm = "";
	this.SystemName = Left(Right(info, "SystemName="),FIELD_SEP);
	this.HomeServer = Left(Right(info, "HomeServer="),FIELD_SEP);
	this.DBDir = Left(Right(info, "DBDir="),FIELD_SEP);
	this.DBFileName = Left(Right(info, "DBFileName="),FIELD_SEP);
	this.DBPath = (this.DBDir==""?this.DBFileName:this.DBDir+"/"+this.DBFileName);
	this.FirstForm = Left(Right(info, "FirstForm="),FIELD_SEP);
}
function getMapPathName( mapinfo ) {
	if ( mapinfo == "" )
		return "";
	var maplist = mapinfo.split( ";" );
	var pathname = "";
	for ( var i = maplist.length - 1; i >= 0; i-- ) {
		var last = maplist[i].lastIndexOf( "^" );
		pathname += maplist[i].substr( last + 1, maplist[i].length - last ) + " > ";
	}
	return pathname;
}
function openSystem(code){
	var url;
	if (code == KPREF || code == KTOOL){
		url = PROTOCOL + HUB_SERVER+"/"+LIBRARY_PATH+"/sys_linker?readform&system="+code;
	}else {
		url = "/" + LIBRARY_PATH + "/sys_linker?readform&system="+code;
	}
	parent.location.href = url;
}
function openSystemEx(target, code, menu) {
	var url;
	if (code == KPREF || code == KTOOL){
		url = PROTOCOL + HUB_SERVER + "/" + LIBRARY_PATH + "/sys_linker?readform"+"&system="+code+(menu==null?"":"&menu="+menu);
	}else {
		url = "/" + LIBRARY_PATH + "/sys_linker?readform"+"&system="+code+(menu==null?"":"&menu="+menu);
	}
	target.location.href = url;
}
function showKMSUserInfo(username, kind){
	var ShowKind = (kind==null?"general":kind);
	var formname = "";
	switch(ShowKind) {
		case "general": formname = "win_user_info"; break;
		case "best": formname = "win_best_user_info"; break;
		case "detail": formname = "win_detail_user_info"; break;
	}
	var url = "/"+ LIBRARY_PATH + "/"+formname+"?readform&notesid="+escape(username)+"&is_popup=1";
	var subwin = openSubwin(url, 600, 430, "auto", "subwin", "no");
	subwin.focus();
}
//__kms 전문가검색 공통
function searchExpert(SysCode){
	var url = "";
	var query = f.SearchQuery.value;
	if (query == "" || query == " "){
		alert("검색어를 입력하세요.");
		return;
	}
	if(checkCharacter(query, "검색어")==false) return;
	url = "/" + YPMNG_PATH + "/expert_search_result?openform" +
		"&query=" + escape(query) +
		"&syscode=" + SysCode;
	if (SysCode == KPT){
		var subwin = open_subwin(url, POPUP_WIDTH, POPUP_HEIGHT, "no", "", "no");
		subwin.focus();
	}else if (SysCode == KYP){
		parent.parent.Content.location.href = url;
	}
}

function openEmbedMailLink(url){
	location.href = url;
}
