<!--


// OBJECT or VALUE NULL 체크
// null이 아니면 true, null이면 false return;
function isNull ( obj ) {

	isValid = true;

	if ( obj != null && obj != "null" && obj != "undefined" && obj != "" )
		isValid = false;

	return isValid;
}

// OBJECT or VALUE Blank 체크
function blankCheck(textValue) {
	var isValid = true;

	if(textValue == "" || textValue == null ) {
		isValid = false;
	} else {
		isValid = true;
	}

	return isValid;
}


// 클라이언트 브라우져 체크.
// DOM expression이 가능한 경우 true, 그렇지 않은경우 false return (W3C DOM 적용가능한 버전인지에 따라 [IE 5.xx/Netscape 6.xx high]) VALIDATION 체크).
function isValidateDOM () {

	isValid = true;

	if(env.ie5up || env.nav6over) {
		isValid = true;
	} else {
		isValid = false;
	}

	return isValid;
}



function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	 var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	 if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	 d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/***************************************************
 ** extjs와 충돌로 인해 주석처리 ************************
// IE 와 Mozilla 에서 insertAdjacentElement 메소드가 CrossBrowsing 되도록 하는 로직
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){
	HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode){
		switch (where){
			case 'beforeBegin':
			this.parentNode.insertBefore(parsedNode,this)
			break;
			case 'afterBegin':
			this.insertBefore(parsedNode,this.firstChild);
			break;
			case 'beforeEnd':
			this.appendChild(parsedNode);
			break;
			case 'afterEnd':
			if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling);
			else this.parentNode.appendChild(parsedNode);
			break;
		}
	}

	HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr) {
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML);
	}


	HTMLElement.prototype.insertAdjacentText = function(where,txtStr){
		var parsedText = document.createTextNode(txtStr);
		this.insertAdjacentElement(where,parsedText);
	}
}
 ** extjs와 충돌로 인해 주석처리 ************************
***************************************************/

// 라틴/아시아계 2Byte/캐릭탕 2bit 를 사용하는 문자열의 길이 구함.
// 문자열의 길이 return
// 사용예 : getStringLength('가나다라마'); ===> 숫자 10 이 리턴됨.
function getStringLength(str) {

	var byteLength = 0;
	var result = '';

	for (var inx = 0; inx < str.length; inx++) {
		var oneChar = escape(str.charAt(inx));
		if ( oneChar.length == 1 ) {
			byteLength ++;
		} else if (oneChar.indexOf("%u") != -1) {
			byteLength += 2;
		} else if (oneChar.indexOf("%") != -1) {
			byteLength += oneChar.length/3;
		}

	}

	return byteLength;
}

// 필수요소인 각 element validation 체크.
// element 에 null 또는 공백 문자열만 입력된 경우 처리.
function formNecessaryValidate (oForm) {

	for (var i = 0; i < oForm.length; i++) {
		if (oForm.elements[i].getAttribute("mandatory") != null) {
			if (getOnlyString(oForm.elements[i].value.trim()).length == 0) {
				alert (oForm.elements[i].alt + " 값이 없습니다!");

				if ( 'hidden' != oForm.elements[i].type )
					oForm.elements[i].focus();

				return false;
			}
		}
	}
	return true;
}

// form radio element에서 체크된 값 반환
function getRadioCheckedValue (array) {
	var result;
	for (var i = 0; i < array.length; i++) {
		if ( array[i].checked ) {
			result = array[i].value;
			break;
		}
	}
	return result;
}

// form radio element에서 체크된 타이틀을 반환
function getRadioCheckedTitle (array) {
	var result;
	for (var i = 0; i < array.length; i++) {
		if ( array[i].checked ) {
			result = array[i].title;
			break;
		}
	}

	return result;
}

// 문자열에서 공백제거
function getOnlyString(str)
{
	var index, len;

	if ( isNull(str) ) {
		// remove the null string
		while(true) {
			index = str.indexOf(" ");
			if( index == -1 ) break;
			len = str.length;
			str = str.substring(0, index) + str.substring((index+1),len);
		}

		// remove the carrage return
		while(true) {
			index = str.indexOf("\r");
			if( index == -1 ) break;
			len = str.length;
			str = str.substring(0, index) + str.substring((index+2),len);
		}
	}

	return str;
}

// 문자열 공백 제거 (kjbg)
function strTrim(str)
{
	 return str.replace(/(^\s*)|(\s*$)/g, "");
}


// 문자열이 알파벳으로 구성 되어있는지를 체크.
// 단, 한글은 포함안됨.
// 전부 알파벳일 경우 true를 return, 그렇지 않은 경우 false return.
function checkChar(checkStr) {

	var checkNumber = 0;
	tempStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

	for (i=0; i<checkStr.length; i++) {
		for(j=0; j<tempStr.length; j++) {
			if (checkStr.charAt(i) == tempStr.charAt(j)) checkNumber++;
		}
	}

	if (checkNumber != checkStr.length) return false;
	else	return true;
}

// 문자열이 숫자로 구성 되어있는지를 체크
// 전부 숫자일경우 true를 return, 그렇지 않은 경우 false return.
function checkNumber(checkStr) {

	rValue = false;
	var num=0;
	tempStr = '0123456789';

	for (i=0; i<checkStr.length; i++) {
		for(j=0; j<tempStr.length; j++) {
			if (checkStr.charAt(i) == tempStr.charAt(j))
				num++;
		}
	}

	if (num != checkStr.length)
		rValue = false;
	else
		rValue = true;

	return rValue;
}

// 문자열이 숫자로 구성 되어있는지를 체크(소수점 까지 허용할 시 사용)
// 전부 숫자일경우 true를 return, 그렇지 않은 경우 false return.
function checkNumberWithComma(checkStr) {

	rValue = false;
	checkNumber=0;
	tempStr = '0123456789.';

	for (i=0; i<checkStr.length; i++) {
		for(j=0; j<tempStr.length; j++) {
			if (checkStr.charAt(i) == tempStr.charAt(j))
				checkNumber++;
		}
	}

	if (checkNumber != checkStr.length)
		rValue = false;
	else
		rValue = true;

	return rValue;
}

// 문자열 크기 비교
// 해당 문자열 크기가 요청한 크기보다 작으면 true return
function validateSize(str, size) {
	if( getStringLength(str) < size ) {
		return true;
	} else {
		return false;
	}
}

//숫자키만 입력 할수 있게 함
//사용법    <input type="text" name="" onKeyPress="onlyNumInput(this)" style="ime-mode:disabled;">
//style은 한글키 막는 것
function onlyNumInput(obj){

	if (event.keyCode >= 48 && event.keyCode <= 57) { //숫자키만 입력
		return true;
	} else {
		alert('숫자만 입력할 수 있습니다.');
		event.returnValue = false;
	}
}



// 팝업윈도우2
// 파라미터 1) 팝업윈도우명 2) URL 3) 창 가로크기 4) 창 세로크기 5) 툴바 6) 스크롤바 7) 사이즈조절
// 사용예 : popWindow('WIN', 'http://domain', 800, 600, 'yes', 'yes', 'yes');
function popWindow (objName, src, width, height, toolbar, scrollbars, resizable) {
	var lSize = ( screen.width - width ) / 2;
	var tSize = ( screen.height - height ) / 2;

	var pWin = window.open( src,
				objName,
				"top="+tSize+",left="+lSize+",status=no,toolbar="+toolbar+",scrollbars="+scrollbars+",resizable="+resizable+",menubar=no,width="+width+",height="+height );

	if ( pWin ) eval(pWin).focus();

	return pWin;
}

// 팝업윈도우2
// 파라미터 0) 오프너윈도우의 폼객체명 1) 팝업윈도우명 2) URL 3) 창 가로크기 4) 창 세로크기 5) 툴바 6) 스크롤바 7) 사이즈조절
// 사용예 : popWindowSubmit('WIN', 'http://domain', 800, 600, 'yes', 'yes', 'yes');
function popWindowSubmit (form, objName, src, width, height, toolbar, scrollbars, resizable) {
	var lSize = ( screen.width - width ) / 2;
	var tSize = ( screen.height - height ) / 2;

	var wmd = window.open( "",
				objName,
				"top="+tSize+",left="+lSize+",status=no,toolbar="+toolbar+",scrollbars="+scrollbars+",resizable="+resizable+",menubar=no,width="+width+",height="+height );

	var prevTarget = form.target;
	form.target = objName;
	form.action = src;
	form.submit();
	form.target = prevTarget;

	if ( wmd ) eval(wmd).focus();

	return wmd;
}

// 문자열에 quot(', ")가 있는지 체크.
// quot가 없을경우 true를 return, 그렇지 않은 경우 false return.
function checkQuotChar(checkStr) {
	if ( checkStr == "" ) return true;

	result = true;

	quot = '"';
	apos = "'";

	if ( isNull(checkStr) ) alert ( "'checkStr' Values is NULL OR EMPTY!");

	for (i=0; i<checkStr.length; i++) {
		if (checkStr.charAt(i) == quot) {
			result = false;
			break;
		}
		if (checkStr.charAt(i) == apos) {
			result = false;
			break;
		}
	}

	return result;
}

// 문자열에 특수문자가 있는지 체크.
// 특수문자가 없을경우 true를 return, 그렇지 않은 경우 false return.
function checkSpecialChar(checkStr) {
	if ( checkStr == "" ) return true;
	tempStr = '~`!@#$%^&*()_-+=|\\{}[]:;\'\"<>,.?/';

	if ( isNull(checkStr) ) alert ( "'checkStr' Values is NULL OR EMPTY!");

	for (i=0; i<checkStr.length; i++) {
		for(j=0; j<tempStr.length; j++) {
			if (checkStr.charAt(i) == tempStr.charAt(j))
				return false;
		}
	}

	return true;
}



// 숫자 비교.
// 대상숫자가 min,max 사이값인지 검사.
// if min value null, alert 'max 값보다 작아야합니다', return false
// if max value null, alert 'min 값보다 커야 합니다', return false
// if min, max value exist, check
// -> if min < num max, return true
// -> if min > num or max > num, return false
function checkInterval(obj, min, max) {
	num = obj.value;

	if ( isNaO(max) && isNaO(min) ) {
		alert(min + "," + max + " 잘못된 비교 입니다");
		return false;
	} else if ( isNaO(min) ) {
		alert(max+" 보다 작아야 합니다");
		return false;
	} else if (isNaO(max) ) {
		alert(min+" 보다 커야 합니다");
		return false;
	} else if ( compare(num, min) && compare(max, num) ) {
		return true;
	} else {
		alert(obj.alt + " 값을 " + min + "과 " + max + "사이 값으로 입력해주세요");
		obj.focus();
		return false;
	}
}

// compare
function compare(seed, tnum) {
	if ( seed >= tnum ) return true;
}

// is Null a Object
// OBJECT or VALUE NULL 체크
// null이 아니면 true, null이면 false return;
function isNaO ( obj ) {
	isValid = true;
	if ( obj != null && obj != "null" )
		isValid = false;
	return isValid;
}
// null이거나 빈스트링을 str2로 치환한다.
function nvl( str, str2 ) {
	if ( str == null || str == "null" || str == "undefined" || str == '' ) return str2;
	else return str;
}

function check_jumin(input, input2) {

	var p_no	= new Array(13);
	var preg1	= input.value;
	var preg2	= input2.value;
	var last_id, no_mod, no_minus, no_last;

	if (preg1 == '' || preg1.length !=6) {
		alert('주민등록번호 앞번호 6자리를 입력하세요.');
		input.focus();
		input.select();
		return false;
	}

	if (preg2 == '' || preg2.length !=7) {
		alert('주민등록번호 뒷번호 7자리를 입력하세요.');
		input2.focus();
		input2.select();
		return false;
	}
	if (!((preg2.substring(0,1) == '1') || (preg2.substring(0,1) == '2') || (preg2.substring(0,1) == '3') || (preg2.substring(0,1) == '4'))) {
		alert('주민등록번호 뒷자리를 맞게 입력 해주세요.');
		input2.focus();
		input2.select();
		return false;
	}

	last_id		= parseInt(preg2.substring(6,7));
	p_no[0]		= parseInt(preg1.substring(0,1)) * 2;
	p_no[1]		= parseInt(preg1.substring(1,2)) * 3;
	p_no[2]		= parseInt(preg1.substring(2,3)) * 4;
	p_no[3]		= parseInt(preg1.substring(3,4)) * 5;
	p_no[4]		= parseInt(preg1.substring(4,5)) * 6;
	p_no[5]		= parseInt(preg1.substring(5,6)) * 7;
	p_no[6]		= parseInt(preg2.substring(0,1)) * 8;
	p_no[7]		= parseInt(preg2.substring(1,2)) * 9;
	p_no[8]		= parseInt(preg2.substring(2,3)) * 2;
	p_no[9]		= parseInt(preg2.substring(3,4)) * 3;
	p_no[10]	= parseInt(preg2.substring(4,5)) * 4;
	p_no[11]	= parseInt(preg2.substring(5,6)) * 5;
	p_no[12]	= 0;

	for (var i	= 0; i < 12; i++) {
		p_no[12] = p_no[12] + p_no[i];
	}
	no_mod		= p_no[12] % 11;
	no_minus	= 11 - no_mod;
	no_last		= no_minus % 10;

	if (no_last != last_id) {
		alert('주민등록번호가 맞지않습니다.');
		input.focus();
		input.select();
		return false;
	}

	return true;
}

//외국인 등록번호
function forignIdentity(foreignIdentity){
	if (foreignIdentity == ''){
		alert('외국인등록번호를 입력하십시오.');
		return false;
	}

	if (foreignIdentity.length != 13) {
		alert('외국인등록번호 자리수가 맞지 않습니다.');
		return false;
	}
	if ((foreignIdentity.charAt(6) == "5") || (foreignIdentity.charAt(6) == "6")) {
		birthYear = "19";
	}else if ((foreignIdentity.charAt(6) == "7") || (foreignIdentity.charAt(6) == "8")) {
		birthYear = "20";
	}else if ((foreignIdentity.charAt(6) == "9") || (foreignIdentity.charAt(6) == "0")) {
		birthYear = "18";
	}else{
		alert("등록번호에 오류가 있습니다. 다시 확인하십시오.");
		return false;
	}

	birthYear += foreignIdentity.substr(0, 2);
	birthMonth = foreignIdentity.substr(2, 2) - 1;
	birthDate = foreignIdentity.substr(4, 2);
	birth = new Date(birthYear, birthMonth, birthDate);

	if ( birth.getYear() % 100 != foreignIdentity.substr(0, 2) ||
		birth.getMonth() != birthMonth ||
		birth.getDate() != birthDate) {
		alert('생년월일에 오류가 있습니다. 다시 확인하십시오.');
		return false;
	}

	return true;
}

/*============================================================================
 Function : telNoChk(objValue)
 Input    : objValue  : 전화 번호
  Return   : boolean
  examples : 전화 번호 체크
	  전화 번호 타입 : '02-254-3342'
============================================================================*/

function telNoChk(objValue){
	if(strTrim(objValue).length <= 0) return false;
	 if(strTrim(objValue) == '') return true;

	 var text = objValue.split('-');
	 var arrNo = new Array('02'    //서울 02
			 ,'031'   //경기 031
			 ,'032'     //인천 032
			 ,'033'  //강원 033
			 ,'041'   //충남 041
			 ,'042'  //대전 042
			 ,'043'  //충북 043
			 ,'051'  //부산 051
			 ,'052'  //울산 052
			 ,'053'  //대구 053
			 ,'054'  //경북 054
			 ,'055'   //경남 055
			 ,'061'  //전남 061
			 ,'062'  //광주 062
			 ,'063'  //전북 063
			 ,'064'  //제주 064
			 ,'010'  //핸펀
			 ,'011'
			 ,'016'
			 ,'017'
			 ,'018'
			 ,'019');

	 var newLen = objValue.length;
	 var flag = false;

	  if(newLen  < 11 ||
		 newLen  > 13 ||
		 text.length != 3 ||
		 text[1].length < 3 ||
		 text[2].length != 4)
	  {
		alert('전화번호의 형식이 맞지 않습니다. 다시 입력하세요.');
		return false;
	  }

	  for(var i=0; i<arrNo.length; i++ )  {
		if(text[0] == arrNo[i]) {
		 flag = true;
		 break;
		}
	  }
	  if(!flag){
		alert('전화번호의 형식이 맞지 않습니다. 다시 입력하세요.');
		return false;
	  }
	  return true;

}

//id형식 체크 영문과 숫자 '_' 만 허용.
function isID(m) {
	if(isNull(m)){
		return false;
	}
	m = strTrim(m).toUpperCase();
	var c = m.charAt(0);
	if(!('A' <= c && c <= 'Z')){
		alert("아이디는 영문자와 숫자 '_' 만 사용가능합니다.");
		return false;
	}
	var n = m.length;
	for(var i=1; i < n; i++) {
		c = m.charAt(i);
		if(!(('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') ||
			 (c == '_'))){
			alert("아이디는 영문자와 숫자 '_' 만 사용가능합니다.");
			return false;
		}
	}
	return true;
}

// 월을 저장하기위한 배열
var mArray = new Array(11);
// 1월부터 12월까지 월 생성
for ( i=1 ; i<13 ; i++) mArray[i-1] = i;

//date object
var dateObj = new Date();

//현재 연도를 기본으로 설정
var selectedYear = dateObj.getFullYear();
var selectedMonth = 1;

//월별 마지막 날짜 저장을 위함.(윤달/윤년 고려)
var monthDays;
monthDays = new montharr(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

// 윤달/윤년 마지막날 체크를 위한 루틴
function convertDayByMonth (checkYear, checkMonth) {
	if (((checkYear % 4 == 0) && (checkYear % 100 != 0)) || (checkYear % 400 == 0))
		monthDays[1] = 29;
}

//선택한 연도 저장.
function selectCurrentYear(ySelectTag) {
	selectedYear = ySelectTag.options[ySelectTag.selectedIndex].value;
}

//선택한 월 에 따른 일자 표시.
function selectCurrentMonth(mSelectTag, dayTag) {

	//선택한 월을 저장.
	selectedMonth = mSelectTag.options[mSelectTag.selectedIndex].value;

	//선택한 월별 마지막 날짜 반영을 위한 호출.
	convertDayByMonth(selectedYear, selectedMonth);

	//월별 일 display
	displayDay(dayTag);
}

// 월별 날짜 인스턴스
function montharr(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11) {
	this[0] = m0;
	this[1] = m1;
	this[2] = m2;
	this[3] = m3;
	this[4] = m4;
	this[5] = m5;
	this[6] = m6;
	this[7] = m7;
	this[8] = m8;
	this[9] = m9;
	this[10] = m10;
	this[11] = m11;
}


//테이블행배경색바꾸기
//changeColor(this,'000000'); restoreColor(thsi);
function changeColor(obj,colorNo) {
	obj.style.backgroundColor = colorNo;
}

function restoreColor(obj) {
	obj.style.backgroundColor = '';
}

//테이블행배경색바꾸고, 테두리 두기
//changeFWBColor(this,'000000'); restoreFColor(thsi);
function changeWBColor(obj, colorNo, _borderStyle) {
	obj.style.backgroundColor = colorNo;

	obj.style.border = _borderStyle;
}

function restoreWBColor(obj) {
	obj.style.backgroundColor = '';
	obj.style.border = "solid #cccccc 1px";
}

//글꼴색바꾸기
//changeFColor(this,'000000'); restoreFColor(thi);
function changeFColor(obj, colorNo) {
	obj.style.color = colorNo;
}

//글꼴색바꾸기
//changeFColor(this,'000000'); restoreFColor(thsi);
function restoreFColor(obj, colorNo) {
	obj.style.color = colorNo;
}

//해시테이블 Implementation
function Hash() {
	this.length = 0;
	this.items = new Array();
	for (var i = 0; i < arguments.length; i += 2) {
		if (typeof(arguments[i + 1]) != 'undefined') {
			this.items[arguments[i]] = arguments[i + 1];
			this.length++;
		}
	}

	this.removeItem = function(in_key) {
		var tmp_value;
		if (typeof(this.items[in_key]) != 'undefined') {
			this.length--;
			var tmp_value = this.items[in_key];
			delete this.items[in_key];
		}

		return tmp_value;
	}

	this.getItem = function(in_key) {
		return this.items[in_key];
	}

	this.setItem = function(in_key, in_value) {
		if (typeof(in_value) != 'undefined') {
			if (typeof(this.items[in_key]) == 'undefined') {
				this.length++;
			}

			this.items[in_key] = in_value;
		}

		return in_value;
	}

	this.hasItem = function(in_key) {
		return typeof(this.items[in_key]) != 'undefined';
	}
}

//STRING 에서 \r\n(줄바꿈) 을 HTML BR 태그로 변환하여 반환
function convertFromNRToBR ( _str ) {

	if ( null != _str && 'undefined' != _str ) {
		_temp = _str.replaceAll("\r\n", "<br>");
		_temp = _temp.replaceAll("\n", "<br>");
	} else {
		_temp = "";
	}

	return _temp;
}

//STRING 에서 \r\n(줄바꿈) 을 HTML BR 태그로 변환하여 반환
function convertFromBRToNR ( _str ) {

	if ( null != _str && 'undefined' != _str ) {
		_temp = _str.replace(/<BR>/gi, "\r\n");
	} else {
		_temp = "";
	}

	return _temp;
}

//STRING 에서 마지막 \r\n(줄바꿈) 을 공백으로 변환하여 반환
function convertFromNRToBlank ( _str ) {
	if ( null != _str && 'undefined' != _str ) {
		_temp = _str;
		while( _temp.substr(_str.length-2, 2) == "\r\n" ) {
			_temp = _temp.substr(0, _temp.length - 2);
		}
	} else {
		_temp = "";
	}

	return _temp;
}


//create innerWindow
function setInnerWindow(url, inWinWidth, inWinHeight, inWinScrolling, _innerFrameName) {

	inWin = getObject(_innerFrameName);

	getInnerWindow(inWin, url, inWinWidth, inWinHeight, inWinScrolling);

	getInnerWindowShow(inWin);
}

//create innerWindow width event position
function setInnerWindowEvent(_event, url, inWinWidth, inWinHeight, inWinScrolling, _innerFrameName) {

	inWin = getObject(_innerFrameName);

	getInnerWindowEvent(_event, inWin, url, inWinWidth, inWinHeight, inWinScrolling);

	getInnerWindowShow(inWin);
}

//create innerWindow width event position
function setInnerWindowEventLeft(_event, url, inWinWidth, inWinHeight, inWinScrolling, _innerFrameName) {

	inWin = getObject(_innerFrameName);

	getInnerWindowEventLeft(_event, inWin, url, inWinWidth, inWinHeight, inWinScrolling);

	getInnerWindowShow(inWin);
}

//create innerWindow width event position
function setInnerWindowEventRight(_event, url, inWinWidth, inWinHeight, inWinScrolling, _innerFrameName) {

	inWin = getObject(_innerFrameName);

	getInnerWindowEventRight(_event, inWin, url, inWinWidth, inWinHeight, inWinScrolling);

	getInnerWindowShow(inWin);
}

//create innerWindow width event position
function setInnerWindowEventAlignCenter(event, url, inWinWidth, inWinHeight, inWinScrolling, _innerFrameName) {

	inWin = getObject(_innerFrameName);

	getInnerWindowEventAlignCenter(event, inWin, url, inWinWidth, inWinHeight, inWinScrolling);

	getInnerWindowShow(inWin);
}

//exit innerWindow
function exitInnerWindow(_innerFrameWin) {

	inWin = getObject(_innerFrameWin);

	getInnerWindowHide(inWin);
}

// inner window ( in DIV )
// 파라미터 0) 이너윈도우의 폼객체명 1) DIV객체명 2) URL 3) 창 가로크기 4) 창 세로크기 5) 스크롤여부
// 사용예 : getInnerWindow('WIN', 'http://domain', 800, 600, 'yes');
function getInnerWindow (iwObject, iwSrc, iwWidth, iwHeight, iwScrolling) {

	inWinIFSrc = "<iframe name='inWinIF' id='inWinIF' src='"+iwSrc+"' width='"+iwWidth+"' height='"+iwHeight+"' frameborder='no' marginwidth='0px' marginheight='0px' style='border:0px;padding:0px;margin:0px' scrolling='"+iwScrolling+"'></iframe>";

	//getStyleObject() is declared in env.js
	thisDIVObject = getStyleObject( iwObject );

	var leftPos = ( document.body.clientWidth - parseInt(iwWidth) ) / 2;
	var topPos = ( document.body.clientHeight - parseInt(iwHeight) ) / 2;

	thisDIVObject.width = iwWidth;
	thisDIVObject.height = iwHeight;
	thisDIVObject.left = leftPos;
	thisDIVObject.top = topPos;

	iwObject.innerHTML = inWinIFSrc;
}

// inner window ( in DIV ) width event
// 파라미터 0) 이너윈도우의 폼객체명 1) DIV객체명 2) URL 3) 창 가로크기 4) 창 세로크기 5) 스크롤여부
// 사용예 : getInnerWindow('WIN', 'http://domain', 800, 600, 'yes');
function getInnerWindowEvent (_event, iwObject, iwSrc, iwWidth, iwHeight, iwScrolling) {
	inWinIFSrc = "<iframe name='inWinIF' id='inWinIF' src='"+iwSrc+"' width='"+iwWidth+"' height='"+iwHeight+"' frameborder='no' scrolling='"+iwScrolling+"' style='padding:0px;margin:0px'></iframe>";

	//getStyleObject() is declared in env.js
	thisDIVObject = getStyleObject( iwObject );

	thisDIVObject.width = iwWidth;
	thisDIVObject.height = iwHeight;

	thisDIVObject.left = document.body.scrollLeft + _event.clientX - iwWidth;
	//클릭 아래 로 보이기.
	thisDIVObject.top = document.body.scrollTop + _event.clientY;
	//클릭 위로 보이기.
	//tmpTopPos = parseInt(event.clientY-iwHeight);
	//tmpTopPos = parseInt(event.clientY);
	//if ( tmpTopPos < 0 ) tmpTopPos = 0;
	//thisDIVObject.top = tmpTopPos;


	iwObject.innerHTML = inWinIFSrc;
}

// inner window ( in DIV ) width event
// 파라미터 0) 이너윈도우의 폼객체명 1) DIV객체명 2) URL 3) 창 가로크기 4) 창 세로크기 5) 스크롤여부
// 사용예 : getInnerWindow('WIN', 'http://domain', 800, 600, 'yes');
function getInnerWindowEventLeft (_event, iwObject, iwSrc, iwWidth, iwHeight, iwScrolling) {
	inWinIFSrc = "<iframe name='inWinIF' id='inWinIF' src='"+iwSrc+"' width='99%' height='98%' frameborder='no' scrolling='"+iwScrolling+"' marginwidth='0' marginheight='0' style='padding:5 5 5 5;'></iframe>";

	//getStyleObject() is declared in env.js
	thisDIVObject = getStyleObject( iwObject );

	thisDIVObject.width = iwWidth;
	thisDIVObject.height = iwHeight;

	thisDIVObject.left = document.body.scrollLeft + _event.clientX - iwWidth;
	//클릭 아래 로 보이기.
	thisDIVObject.top = document.body.scrollTop + (_event.clientY/2);
	//클릭 위로 보이기.
	//tmpTopPos = parseInt(event.clientY-iwHeight);
	//tmpTopPos = parseInt(event.clientY);
	//if ( tmpTopPos < 0 ) tmpTopPos = 0;
	//thisDIVObject.top = tmpTopPos;


	iwObject.innerHTML = inWinIFSrc;
}

// inner window ( in DIV ) width event
// 파라미터 0) 이너윈도우의 폼객체명 1) DIV객체명 2) URL 3) 창 가로크기 4) 창 세로크기 5) 스크롤여부
// 사용예 : getInnerWindow('WIN', 'http://domain', 800, 600, 'yes');
function getInnerWindowEventRight (_event, iwObject, iwSrc, iwWidth, iwHeight, iwScrolling) {
	inWinIFSrc = "<iframe name='inWinIF' id='inWinIF' src='"+iwSrc+"' width='99%' height='98%' frameborder='no' scrolling='"+iwScrolling+"' marginwidth='0' marginheight='0' style='padding:5 5 5 5;'></iframe>";

	//getStyleObject() is declared in env.js
	thisDIVObject = getStyleObject( iwObject );

	thisDIVObject.width = iwWidth;
	thisDIVObject.height = iwHeight;

	thisDIVObject.left = document.body.scrollLeft + _event.clientX;
	//클릭 아래 로 보이기.
	thisDIVObject.top = document.body.scrollTop + (_event.clientY/2);
	//클릭 위로 보이기.
	//tmpTopPos = parseInt(event.clientY-iwHeight);
	//tmpTopPos = parseInt(event.clientY);
	//if ( tmpTopPos < 0 ) tmpTopPos = 0;
	//thisDIVObject.top = tmpTopPos;


	iwObject.innerHTML = inWinIFSrc;
}

// inner window ( in DIV ) width event
// 파라미터 0) 이너윈도우의 폼객체명 1) DIV객체명 2) URL 3) 창 가로크기 4) 창 세로크기 5) 스크롤여부
// 사용예 : getInnerWindow('WIN', 'http://domain', 800, 600, 'yes');
function getInnerWindowEventAlignCenter (event, iwObject, iwSrc, iwWidth, iwHeight, iwScrolling) {

	inWinIFSrc = "<iframe name='inWinIF' id='inWinIF' src='"+iwSrc+"' width='100%' height='100%' frameborder='no' scrolling='"+iwScrolling+"' style='padding:0px; margin:0px;'></iframe>";

	//getStyleObject() is declared in env.js
	thisDIVObject = getStyleObject( iwObject );

	thisDIVObject.width = iwWidth;
	thisDIVObject.height = iwHeight;

	thisDIVObject.left = (parseInt(screen.availWidth) - parseInt(iwWidth))/2;
	thisDIVObject.top = ( document.body.clientHeight - parseInt(iwHeight) ) / 2;

	iwObject.innerHTML = inWinIFSrc;
}


// inner window ( in DIV ) visible
function getInnerWindowShow (iwObject) {
	//message() si declared in env.js
	//conceal() is message div visibility set to hide
	mi = new message();

	mi.look(iwObject);
}

// inner window ( in DIV ) hidden
function getInnerWindowHide (iwObject) {
	//message() si declared in env.js
	//conceal() is message div visibility set to hide
	mi = new message();

	iwObject.innerHTML = "";

	mi.conceal(iwObject);
}

String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/gi, "");
}

String.prototype.replaceAll = function(str1, str2) {
	var temp_str = "";

	if (this.trim() != "" && str1 != str2) {
		temp_str = this.trim();

		while (temp_str.indexOf(str1) > -1) {
			temp_str = temp_str.replace(str1, str2);
		}
	}

	return temp_str;
 }

//파라미터로 받은 딜리미터를 목표값으로 변환 후 값 반환
function replaceDelimiter( _str, _delimiter, _dest ) {
	_temp = _str.replaceAll(_delimiter, _dest);

	return _temp;
}

//날짜형식 변경
function formatDate( _str ) {

	var _temp = _str;

	if ( null != _str && 'undefined' != _str && 'null' != _str) {
		if ( 10 < _str.length ) {
			_temp = _str.substring(0, 10);
		}
	}

	return _temp;
}

// 날짜형식 변경 (YYYYMMDD -->> YYYY-MM-DD)
function convertDate( _str ) {
	var _temp = "";

	if ( null!= _str && 'undefined' != _str && 'null' != _str) {
		_temp = _str.substr(0,4) + "-" + _str.substr(4,2) + "-" + _str.substr(6,2);
	}

	return _temp;
}

// 날짜 형식 변환( YYYY-MM-DD HH:MM:SS.S  -->  YYYY/MM/DD(HH:MM)
function convertDateWithTime(_date) {
	var _temp = "";

	if ( null != _date && 'undefined' != _date && 'null' != _date) {
		_temp = _date.substr(0,4) + "/" + _date.substr(5,2) + "/" + _date.substr(8,2) + " (" + _date.substr(11,2) + ":" + _date.substr(14, 2) + ")";
	}

	return _temp;
}


//NULL 또는 UNDEFINED 인 ELEMENT 를 위한 빈스트링 반환
function boundNullToString(_str) {
	if ( null == _str || 'undefined' == _str || 'null' == _str )
		_str = "";
	return _str;
}


// 숫자를 세자리씩 끊어서 콤마(,)를 표시해 주는 function
function convertNumber(num) {
	var i=0, j;
	var len, startStrLen, divideNum;
	var tmpStr, remainStr, startStr, resultStr;
	num = num + "";

	var minusFlag = (num.indexOf('-') == -1);
	num = (minusFlag)?num:num.substring(1, num.length);
	len = num.length;
	divideNum = Math.floor(len / 3);
	startStrLen = len % 3;

	resultStr = num.substr(0, startStrLen );

	remainStr =  num.substr(startStrLen, len - startStrLen );
	tmpStr = "";

	if ( remainStr != "" ) {
		for ( i = 0; i < divideNum ; i++ ) {
			tmpStr = tmpStr + "," + remainStr.substr(i*3, 3);
		}
	}

	resultStr = resultStr + tmpStr;

	if ( startStrLen == 0 )
		resultStr = resultStr.substr(1, resultStr.length - 1);

	resultStr = (minusFlag)?resultStr:'-'+resultStr;
	return resultStr;
}
function charCutBytes(str, len) {
	var byteLength = 0;
	var result = '';

	for (var inx = 0; inx < str.length; inx++) {
		var oneChar = escape(str.charAt(inx));
		if ( oneChar.length == 1 ) {
			byteLength ++;
		} else if (oneChar.indexOf("%u") != -1) {
			byteLength += 2;
		} else if (oneChar.indexOf("%") != -1) {
			byteLength += oneChar.length/3;
		}

		// bytes 길이를 넘어버dnddnd리면 마지막 글자는 넣지않고 리턴한다.
		if( byteLength > len )		break;
		//if( byteLength == len )	break;
		result += str.charAt(inx);

	}

	return result;
}

//원하는 길이만큼 자르고, 뒤에 ... 을 붙여서 리턴
function concatString( _str, _len ) {
	var _return = "";

	if ( null != _str && 'undefined' != _str && "null" != _str ) {
		var strLen = getStringLength(_str);
		var temp = charCutBytes(_str, _len);
 		if ( strLen > _len ) {
			_return = temp + "...";
		} else {
			_return = temp;
		}
	}

	return _return;
}

//원하는 라인수만큼 잘라서 리턴
function concatStringToLine( _str, _maxlength, _line ) {
	var _return = "";
	var lineNum = _line;

	if ( null != _str && 'undefined' != _str && "null" != _str ) {

		if ( _str.length > _maxlength ) {
			var _temp = _str.split("\r\n");

			for(var i=0; i < lineNum; i++) {
				var lineLength = getStringLength(_temp[i]);
				lineNum = lineNum - ( Math.round(lineLength / _maxlength));

				if( i < lineNum-1 ) {
					_return += _temp[i] + "\r\n";
				} else if( lineLength > _maxlength ){
					_return += _temp[i].substr(0, _maxlength) + "...";
				} else {
					_return += _temp[i];
				}
			}
		}
	}

	return _return;
}


//원하는 자리수만큼 다른 문자열로 대체
function replaceStringWithOthers ( _str ) {
	var _return = "";

	if ( null != _str && "null" != _str && "undefined" != _str && getOnlyString(_str).length > 6 ) {
		_return = _str.substr(0, 6) + "-*******";
	} else {
		_return = _str;
	}

	return _return;
}


//생년월일 8자리를 연도.월.일 형식으로 변경
function replaceStringWithBirth ( _str ) {
	var _return = "";

	if ( null != _str && "null" != _str && "undefined" != _str && getOnlyString(_str).length == 8 ) {
		_return = _str.substr(0, 4) + ".";
		_return += _str.substr(4, 2) + ".";
		_return += _str.substr(6, 2);
	} else {
		_return = _str;
	}

	return _return;

}

//날짜를 입력받아,
//현재날짜가 포함되어 있는지 판단
//현재날짜가 대상 두 날짜안에 포함되어 있으면 TRUE 반환
//현재날짜가 대상 두 날짜안에 포함되어 있지 않으면 FALSE 반환
//파라미터 : 시작일, 종료일, 현재일
function isValidDateOrder(sdate, edate, cdate) {

	var _isValidateFlag = false;

	if ( compareDate (sdate, cdate) > 0 && compareDate (cdate, edate) > 0 )
		_isValidateFlag = true;

	return _isValidateFlag
}

//선행일자와, 후행일자를 비교하여
//선행일자가 후행일자보다 빠르면 양수를 반환
//선행일자가 후행일자보다 늦으면 음수를 반환
function compareDate (sdatestring, edatestring) {
	var lastIndex = -1;

	while (sdatestring.indexOf (".") != -1) {
		sdatestring = sdatestring.replace (".", "-");
	}

	while (edatestring.indexOf (".") != -1) {
		edatestring = edatestring.replace (".", "-");
	}

	lastIndex = sdatestring.indexOf("-");
	var syear = sdatestring.substring (0, lastIndex);
	lastIndex = sdatestring.indexOf("-", lastIndex + 1)
	var smonth = sdatestring.substring (syear.length + 1, lastIndex);
	smonth = (smonth.charAt(0) == '0') ? smonth.substring(1) : smonth;
	var sday = sdatestring.substring (lastIndex + 1, sdatestring.length);
	sday = (sday.charAt(0) == '0') ? sday.substring(1) : sday;

	lastIndex = -1;
	lastIndex = edatestring.indexOf("-");
	var eyear = edatestring.substring (0, lastIndex);
	lastIndex = edatestring.indexOf("-", lastIndex + 1)
	var emonth = edatestring.substring (eyear.length + 1, lastIndex);
	emonth = (emonth.charAt(0) == '0') ? emonth.substring(1) : emonth;
	var eday = edatestring.substring (lastIndex + 1, edatestring.length);
	eday = (eday.charAt(0) == '0') ? eday.substring(1) : eday;

	var sdate = new Date (parseInt(syear), parseInt(smonth) - 1, parseInt(sday));
	var edate = new Date (parseInt(eyear), parseInt(emonth) - 1, parseInt(eday));

	var termMilli = edate.getTime() - sdate.getTime()

	return termMilli / 1000 / 60 / 60 / 24;
}


	// 이메일주소 체크
	var isEmail = function(s) {
	  return s.search(/^\s*[\w\~\-\.]+\@[\w\~\-]+(\.[\w\~\-]+)+\s*$/g)>=0;
	};

	// 연락처 체크 : 전화번호(핸드폰번호) 모두 가능
	var isSms = function(s) {
	  return s.search(/^0(?:\d{1}|\d{2}|\d{3}|\d{4})-(?:\d{3}|\d{4})-\d{4}$/g)>=0;
	};
	/* ****************** Message Send  END ******************** */

	// TextArea 입력제한  : <textarea 태그안에  onkeyup='limitTextarea(this, 200);' 같은 형식으로 사용
	function limitTextarea(obj, max) {
		var size = getStringLength(obj.value);
		if(max <= size) {
			alert(max + 'Byte 까지만 입력가능합니다.!');
			obj.value = obj.value.substring(0, obj.value.length-2);
			return;
		}
	}

	//fckeditor 널값체크 (null이면 true)
	function fckIsNull(str){
		var result='';
		if(strTrim(str) != ''){
			result = str.replaceAll('<p>','').replaceAll('</p>','').replaceAll('&nbsp;','');
			if(strTrim(result) == ''){
				return true;
			}else{
				return false;
			}
		}else{
			return true;
		}
	}

	// 갯수 표시 대표 메소드 : . 파라미터가 숫자가 아닌경우에는 공백문자 [ &nbsp; ]를 리턴
	var nvlCnt = function (p, r) {
		return (!isNaN(p) && (p))?convertNumber(p):((isNaN(r) || r == null)?'&nbsp;':r);
	};
	// 성적 표시 대표 메소드 : nvlScore(p) 식으로 사용한경우는 소수점이 없음. nvlScore(p, pow)처럼 사용한 경우 pow는 소수점 자릿수를 의미
	var nvlScore= function (p, r) {
		return getFloat(p, 1, (isNaN(r) || r == null)?'&nbsp;':r);
	};
	// 비율 표시  대표 메소드 : 파라미터가 숫자가 아닌경우에는 공백문자 [ &nbsp; ]를 리턴
	var nvlRate= function (p, r) {
		return getFloat(p, 0, (isNaN(r) || r == null)?'&nbsp;':r);
	};

	// 넘어온 파라미터에 소수점을 찍어서 리턴. 파라미터가 숫자가 아닌경우에는 공백문자 [ &nbsp; ]를 리턴
	var getFloat = function (p, pow, r) {
		return  (!isNaN(p) && (p))?Math.round(p*Math.pow(10, (pow)?pow:0))/Math.pow(10, (pow)?pow:0):( (isNaN(r) || r == null)?'&nbsp;':r);
	};

//doit 다이얼로그 창(확인,경고)
//사용법 :
//<link rel="stylesheet" type="text/css" href="dialog.css" />css등록후.
//
//		doitDlog('confirm','정말로 삭제하시겠습니까?<br>2222222222222211111','resultFunction',0);
//		doitDlog('confirm','정말로 삭제하시겠습니까?<br>2222222222222211111','resultFunction',0,1,'완전삭제 ');
//		파라미터: 창의 종류(confirm,alert),문구,결과를 가져오는 함수명,시간 (0이면 시간제한 없음.),1:confirm창의 확인 버튼 2:confirm창의 취소버튼 3:alert창의 확인버튼.,버튼 글자 변경할 문구.
//사용자 함수의 예
//function resultFunction(result){
//	alert(result);
//}

var tcounter=0;
var t1 = null;
var t2 = null;
var _dlogText ='';
var resultFunctionName='';
function starttime(text){
	_dlogText = text;
	t1=setInterval(insertDlogText,1000);
}
function insertDlogText(){
	var dlogtext = document.getElementById('dlogText');
	dlogtext.innerHTML = _dlogText+"<br>"+tcounter+" 초 후에 창이 자동으로 닫힙니다.";
	if(tcounter <= 0 ){
		clearInterval(t1);
		clearInterval(t2);
		closeDlog(resultFunctionName);
	}
	tcounter--;
}
function doitDlog(a,b,c,d,e,f){
	resultFunctionName=c;
	var maskwidth = 0;
	var maskheight = 0;
	if(document.body.clientWidth > document.body.scrollWidth){maskwidth=document.body.clientWidth}else{maskwidth=document.body.scrollWidth}
	if(document.body.clientHeight > document.body.scrollHeight){maskheight=document.body.clientHeight}else{maskheight=document.body.scrollHeight}
	var bb=document.getElementsByTagName("BODY")[0];
	var mask = "<div id='smokelayer' class='x-dlg-mask' style='width:"+maskwidth+";height:"+maskheight+";'></div>";
	var dialog = "<div id='dialog' class='x-dlg' align='center'></div>";
	var dlogText = '';
	if(d != 0){dlogText=b+"<br>"+d+" 초 후에 창이 자동으로 닫힙니다.";}else{dlogText = b;}

	if(navigator.appName == 'Netscape'){
		var divMASK=window.document.createElement("DIV");
		divMASK.setAttribute("id","smokelayer");
		divMASK.setAttribute("class","x-dlg-mask");
		divMASK.setAttribute("style","width:"+maskwidth+";height:"+maskheight);
		bb.appendChild(divMASK);
		var divDLOG = window.document.createElement("DIV");
		divDLOG.setAttribute("id","dialog");
		divDLOG.setAttribute("class","x-dlg");
		divDLOG.setAttribute("align","center");
		bb.appendChild(divDLOG);
	}else{
		bb.innerHTML=bb.outerHTML+mask+dialog;
	}
	//alert(navigator.appName);
	var dialogEle=document.getElementById('dialog');
	if(a == 'confirm'){
		dialogEle.innerHTML = "<table id='table1' name='table1' border='0' cellspacing='0' cellpadding='0'>"+
							  "<tr height='20'><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='1'><img src='/js/doit/images/dialog/hd-sprite-left.gif' border='0'></td><td  style='background:url(/js/doit/images/dialog/hd-sprite.gif)  repeat-x;' align='right'><a href='javascript:closeDlog(\""+c+"\");'><img src='/js/doit/images/dialog/close.gif' border='0'></a></td><td width='1' ><img src='/js/doit/images/dialog/hd-sprite-right.gif' border='0'></td></tr></table></td></tr>"+
							  "<tr><td class='x-dlg-dlg-body'>"+
							  	"<table border='0' cellspacing='0' cellpadding='0' width='100%' height='100%'>"+
							  		"<tr height='80%'><td align='center' style='padding-top:6px;padding-bottom:6px;'><span id='dlogText' style='font-size:9pt;line-height:15px;'>"+dlogText+"</span></td></tr>"+
							 	 	"<tr height='20%'><td align='center'>"+
									"<table  border='0' cellspacing='0' cellpadding='0'><tr>"+
									"<td style='background:url(/js/doit/images/dialog/leftButt.gif);height:21px;width:4px;'></td><td style='background:url(/js/doit/images/dialog/centerButt.gif)  repeat-x;cursor:hand;' onclick='okDlog(\""+c+"\");' align='center'>&nbsp;<span id='confirmButt1' style='font-size:10pt;'>확인</span>&nbsp;</td><td style='background:url(/js/doit/images/dialog/rightButt.gif);margin:0;width:4px;height:21px;'></td>"+
									"<td width='3'></td>"+
									"<td style='background:url(/js/doit/images/dialog/leftButt.gif);height:21px;width:4px;'></td><td style='background:url(/js/doit/images/dialog/centerButt.gif)  repeat-x;cursor:hand;' onclick='cancelDlog(\""+c+"\");' align='center'>&nbsp;<span id='confirmButt2' style='font-size:10pt;'>취소</span>&nbsp;</td><td style='background:url(/js/doit/images/dialog/rightButt.gif);margin:0;width:4px;height:21px;'></td>"+
									"</tr></table>"+
									"</td></tr>"+
							  	"</table>"+
							  "</td></tr>"+
							  "</table>";
	}else if(a == 'alert'){
		dialogEle.innerHTML = "<table id='table1' name='table1' border='0' cellspacing='0' cellpadding='0'>"+
							  "<tr height='20'><td><table width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td width='1'><img src='/js/doit/images/dialog/hd-sprite-left.gif' border='0'></td><td  style='background:url(/js/doit/images/dialog/hd-sprite.gif)  repeat-x;' align='right'><a href='javascript:closeDlog(\""+c+"\");'><img src='/js/doit/images/dialog/close.gif' border='0'></a></td><td width='1' ><img src='/js/doit/images/dialog/hd-sprite-right.gif' border='0'></td></tr></table></td></tr>"+
							  "<tr><td class='x-dlg-dlg-body'>"+
							  	"<table border='0' cellspacing='0' cellpadding='0' width='100%' height='100%'>"+
							  		"<tr height='80%'><td align='center' style='padding-top:6px;padding-bottom:6px;'><span id='dlogText' style='font-size:9pt;line-height:15px;'>"+dlogText+"</span></td></tr>"+
							 	 	"<tr height='20%'><td align='center'>"+
										"<table  border='0' cellspacing='0' cellpadding='0'><tr><td style='background:url(/js/doit/images/dialog/leftButt.gif);height:21px;width:4px;'></td><td style='background:url(/js/doit/images/dialog/centerButt.gif)  repeat-x;cursor:hand;' align='center' onclick='okDlog(\""+c+"\");'>&nbsp;<span id='alertButt1' style='font-size:10pt;'>확인</span>&nbsp;</td><td style='background:url(/js/doit/images/dialog/rightButt.gif);margin:0;width:4px;height:21px;'></td></tr></table>"+
									"</td></tr>"+
							  	"</table>"+
							  "</td></tr>"+
							  "</table>";

	}
	var table1 = document.getElementById("table1");
	var dwidth = table1.scrollWidth;
	var dheight = table1.scrollHeight;


	//bb.setAttribute('align','center');
	dialogEle.style.left=(document.body.clientWidth - dwidth)/2+document.body.scrollLeft;
	dialogEle.style.top=(document.body.clientHeight - dheight)/2+document.body.scrollTop;
	//alert(table1.scrollHeight+'/'+table1.scrollWidth);
	if(d != 0){
		tcounter = d;
		starttime(b);
	}

	t2=setInterval(moveDlogByScroll,100);

	if(e){
		var el = null;
		if(e == 1){
			el = document.getElementById('confirmButt1');
		}else if(e == 2){
			el = document.getElementById('confirmButt2');
		}else if(e ==3){
			el = document.getElementById('alertButt1');
		}
		el.innerHTML = f;
	}
	return;
}
function moveDlogByScroll(){
	var dialogEle=document.getElementById('dialog');
	var table1 = document.getElementById("table1");
	var dheight = table1.scrollHeight;
	dialogEle.style.top=(document.body.clientHeight - dheight)/2+document.body.scrollTop;

}
function okDlog(functionname){
	var bb=document.getElementsByTagName("body")[0];
	var div1 = document.getElementById('smokelayer');
	var div2= document.getElementById('dialog');
	bb.removeChild(div1);
	bb.removeChild(div2);
	clearInterval(t1);
	clearInterval(t2);
	eval(functionname+"('ok');");
}
function cancelDlog(functionname){
	var bb=document.getElementsByTagName("body")[0];
	var div1 = document.getElementById('smokelayer');
	var div2= document.getElementById('dialog');
	bb.removeChild(div1);
	bb.removeChild(div2);
	clearInterval(t1);
	clearInterval(t2);
	eval(functionname+"('cancel');");
}
function closeDlog(functionname){
	var bb=document.getElementsByTagName("body")[0];
	var div1 = document.getElementById('smokelayer');
	var div2= document.getElementById('dialog');
	bb.removeChild(div1);
	bb.removeChild(div2);
	clearInterval(t1);
	clearInterval(t2);
	eval(functionname+"('cancel');");
}

//itemId를 중복없이 사용하기 위해 날짜,시간을 이용하여 값을 구한다.
function get_milisec()
{
	var dd = new Date();
	var mili = dd.getMonth() +""+ dd.getDate() +""+ dd.getHours() +""+ dd.getMinutes() +""+ dd.getSeconds() +""+ dd.getMilliseconds();
	return mili;
}
////////////////////////end doit 다이얼로그//////////////////////////////////////////


	// Manager 공통 메소드
	var doit_Manager = function ( call_name, searchMap, key_array) {
		var _result = null;
		DWREngine.setAsync(false);
		if ( arguments.length < 3 ) {   //parameter가 2개인 경우 ( ex: 일반 CRUD )
			eval(call_name)(searchMap,{
				callback : function(dataFromServer) {
					_result = dataFromServer;
				}, errorHandler : function(errorMessage) {
					alert("Error Message : " + errorMessage + "\n 에러가 발생하였습니다.");
				}
			});

		} else {
			eval(call_name)(searchMap, key_array,{ // parameter가 3개인 경우 ( ex :멀티 선택 삭제)
				callback : function(dataFromServer) {
					_result = dataFromServer;
				}, errorHandler : function(errorMessage) {
					alert("Error Message : " + errorMessage + "\n 에러가 발생하였습니다.");
				}
			});
		}
		DWREngine.setAsync(true);
		return _result;
	};

function goodcase_window(link){
	window.open(link,'pop','top=100 left=0 width=1020 height=716 scrollbars=no');
}
//-->
