//----------------------------------------------------------------------------------
// FORM Control Javascript
// By ÀüÃ¢ÈÆ
//----------------------------------------------------------------------------------

var isNetscape = window.netscape;

__pattern = {
		email:	/^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/,
		email1:	/^[_a-zA-Z0-9-\.]+$/,
		email2:	/^[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/,
		han:		/^[°¡-Èþ]*$/,
		eng:		/^[a-zA-Z\s]*$/,
		num:		/^[0-9]*$/,
		engnum:	/^[0-9a-zA-Z_]*$/
	};

function addLoadEvent(func) {
	var oldonload = window.onload;

	if (typeof func == 'function') {
		if (typeof window.onload != 'function') window.onload = func;
		else window.onload = function() { oldonload(); func(); }

	} else if (typeof func == 'string') {
		if (typeof window.onload != 'function') window.onload = eval(func);
		else window.onload = function() { oldonload(); eval(func); }
	}
}

//Æû º¯¼ö¸¦ Ã£´Â´Ù.
//getElementObject(document.frmReg, 'addr1')  <-- document.frmRegÆûÀÇ addr1º¯¼ö °´Ã¼¸¦ ¹ÝÈ¯
function getElementObject(form, name) {
	if (form == null) return null;
	if (form.elements) {
		var obj = form.elements[name];
		if (obj != null && obj.name == name) return obj;
	}
	try {
		for (var i = 0; i < form.length; i++)
			if (form.elements[i].name == name) return form.elements[i];
	} catch (e) {
		// alert('ÇØ´ç ¿ä¼Ò¸¦ Ã£À» ¼ö ¾ø½À´Ï´Ù : ' + form);
	}
	return null;
}

// form º¯¼ö¿¡ °ªÀ» ¼³Á¤ÇÑ´Ù.
// ex) setValue(document.frmReg, 'addr1', 'xxx'); <-- document.frmReg ÆûÀÇ addr1 º¯¼ö¿¡ °ªÀ» ¼³Á¤
function setValue(form, name, value) {
	var obj = getElementObject(form, name);
	if (obj == null || isEmpty(obj.type)) return null;

	switch (obj.type) {
	case "text": case "password": case "hidden":
	case "textarea":			obj.value = value;
	case "checkbox":		if (value != null) obj.checked = (obj.value == value); break;
	case "radio":				setRadioValue(obj, value); break;
	case "select-one":		setSelectOneValue(obj, value); break;
	case "file":
	case "submit":
	case "button":			break;
	default: alert("setValue: not support type: " + obj.type);
	}
}

//form º¯¼öÀÇ °ªÀ» ±¸ÇÑ´Ù.
//ex) getValue(document.frmReg, 'addr1'); <-- document.frmRegÆûÀÇ addr1º¯¼ö¸¦ Á¶È¸
//ex) getValue(document.frmReg.addr1); <-- addr1 objectÀÇ °ªÀ» Á¶È¸
function getValue(obj, name) {
	if (name != null) obj = getElementObject(obj, name);
	else if (typeof(obj) == 'string') obj = getElementObject(obj);
	if (obj == null) return null;
	switch (obj.type) {
	case "text": case "password": case "hidden": case "file": case "select-one":
	case 'textarea':		return obj.value;
	case "checkbox":	return obj.checked ? obj.value : "";
	case "radio":			return getRadioValue(obj);
	case "submit":
	case "button":		return null;
	//default: if (isNotEmpty(obj.type)) { alert("getElementValue: not support type: " + obj.type + ", key = " + obj.name); }
	}
	return null;
}

// form elementÀÇ °ªÀ» ±¸ÇÑ´Ù.
// getValue¿Í´Â checkbox,radio°ªÀ» °¡Á®¿À´Â ¹æ½ÄÀÌ ´Ù¸£´Ù.
function getElementValue(obj) {
	switch (obj.type) {
	case "text": case "file": case "password": case "hidden": case "select-one":
	case "textarea":		return obj.value;
	case "checkbox":
	case "radio":			return obj.checked ? obj.value : null;
	case "submit":
	case "button":		return null;
	//default: if (isNotEmpty(obj.type)) { alert("getElementValue: not support type: " + obj.type + ", key = " + obj.name); }
	}
	return null;
}


function $FS(obj, name, value) {
	return setValue(obj, name, value);
}

function $FV(obj, name) {
	return getValue(obj, name);
}

function $FO(obj, name) {
	return getElementObject(obj, name);
}



// ÆûÀÇ ¶óµð¿À º¯¼ö °ªÀ» ±¸ÇÑ´Ù . by accplus
function getRadioValue(obj, needObject) {
    // array·Î ½ÃµµÇØ º¸°í
    if (needObject == false)
        for (var i = 0; i < obj.length; i++)
            if (obj[i].checked)
                return obj[i].value;

    // ¾ÈµÇ¸é ÆûÀ» ÁË´Ù Ã£´Â´Ù
    var pForm = obj.form;

    for (var i = 0; i < pForm.length; i++) {
        var tmpObj = pForm.elements[i];
        if (tmpObj.name == obj.name && tmpObj.type == "radio" && tmpObj.checked)
            return (needObject) ? tmpObj : tmpObj.value;
    }
    return null;
}

// Radio º¯¼ö °ªÀ» ÁöÁ¤ÇÑ´Ù.
function setRadioValue(obj, value) {
    // array·Î ½ÃµµÇØ º¸°í
    for (var i = 0; i < obj.length; i++) {
        if (obj[i].value == value) {
            obj[i].checked = true;
            return true;
        }
    }

    // ¾ÈµÇ¸é ÆûÀ» ´Ù Ã£´Â´Ù
    var pForm = obj.form;

    for (var i = 0; i < pForm.length; i++) {
        var tmpObj = pForm.elements[i];
        if (tmpObj.name == obj.name && tmpObj.type == "radio" && tmpObj.value == value) {
            tmpObj.checked = true;
            return true;
        }
    }

    return false;
}

// select º¯¼ö °ªÀ» ÁöÁ¤ÇÑ´Ù.
function setSelectOneValue(object, value) {
    for (var i = 0; i < object.length; i++) {
    	var ovalue = object.options[i].value;
    	if (ovalue == null) ovalue = object.options[i].text;
        if (ovalue == value) {
            object.selectedIndex = i;
			return true;
        }
    }
    return false;
}

function trim(str) {
	return (str == null) ? "" : str.replace(/(^\s*)|(\s*$)/g, "");
}

function isNotEmpty(str) {
	return str != null && (""+str).length > 0;
}

function isEmpty(str) {
	return !isNotEmpty(str);
}


function setCookie(name, value, expiredays) {
    var todayDate = new Date();
    todayDate.setDate(todayDate.getDate() + expiredays);
	if(expiredays == 0)
	   document.cookie = name + "=" + escape(value) + "; path=/;"
	else
        document.cookie = name + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

function getCookie(name) {
    var nameOfCookie = name + "=";
    var x = 0;
    while (x <= document.cookie.length) {
        var y = (x+nameOfCookie.length);
        if (document.cookie.substring(x, y) == nameOfCookie) {
            if ((endOfCookie=document.cookie.indexOf(";", y)) == -1)
            endOfCookie = document.cookie.length;
            return unescape(document.cookie.substring(y, endOfCookie));
        }
        x = document.cookie.indexOf(" ", x) + 1;
        if (x == 0)
            break;
    }
    return "";
}

// ÃÖ¼Ò ±æÀÌ ¹× ÃÖ´ë±æÀÌ ±×¸®°í Çã¿ë°¡´ÉÇÑ ¹®ÀÚ¸¦ Ã¼Å©ÇÑ´Ù. by accplus
//	if (Tcheck(f.ID, '¾ÆÀÌµð', 4, 8, __pattern.userid)) return false
// lmin,lmax = 0,0 -- ÆÐÅÏ¸¸ Ã¼Å©ÇÑ´Ù
// lmin,lmax = 1,0 -- ÇÊ¼öÀÔ·Â
function Tcheck(target, cmt, lmin, lmax, pattern) {
	var i;
	var value = trim(getValue(target));

	if ((lmin > 0 && lengthb(value)) < lmin || (lmax > 0 && lengthb(value) > lmax)) {
		if (isEmpty(value)) {
			var msg = (target.type == 'select-one' || target.type == 'radio') ? "¼±ÅÃ" : "ÀÔ·Â";
			alert(cmt + '(À»)¸¦ ' + msg + 'ÇÏ¼Å¾ß ÇÕ´Ï´Ù');
		} else if (lmin == lmax) {
			alert(cmt + '(Àº)´Â ' + lmin + ' Byte ·Î ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù');
		} else {
			if (lmin > 0 && lmax > 0) alert(cmt + '´Â ' + lmin + ' ~ ' + lmax + ' Byte ÀÌ³»·Î ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù');
			else if (lmin > 0) alert(cmt + '´Â ' + lmin + ' Byte º¸´Ù ¸¹ÀÌ ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù');
			else alert(cmt + '´Â ' + lmax + ' Byte ÀÌ³»·Î ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù');
		}
		if (target.type != "hidden") target.focus();
		return false;
	}

	if (isNotEmpty(value) && pattern != null && pattern.test(value) == false) {
		alert(cmt + '¿¡ Çã¿ëÇÒ ¼ö ¾ø´Â ¹®ÀÚ°¡ ÀÔ·ÂµÇ¾ú°Å³ª Çü½ÄÀÌ Æ²·È½À´Ï´Ù');
		target.select();
		return false;
	}

	return true;
}

//Ã¼Å© Æû
function TcheckForm(form, fields) {
	if (cobj == null) return true;
	if (fields == null) {
		for (var i = 0; i < form.length; i++) {
			if (cobj(form.elements[i]) == false) return false;
		}
	} else {
		for (var i = 0; i < fields.length; i++) {
			if (cobj($FO(form, fields[i])) == false) return false;
		}
	}
	return true;
}

function TcheckFormSubmit(form, fields) {
	if (TcheckForm(form, fields) == false) return;
	form.submit();
}

//Æ÷Ä¿½º ÀÌµ¿
function nextFocus(obj, ev) {
	var fname = obj.name;
	var isShift = isShiftPress(ev);

	var next_obj = isShift ? prev_element(obj) : next_element(obj);
	if (next_obj != null) {
		if (next_obj.type == "text" || next_obj.type == "password") next_obj.select();
		try {
			keyRelease(ev);
			next_obj.focus();
		} catch (e) {
			// alert('°æ°í : focus ½ÇÆÐ : name = ' + next_obj.name);
		}
	}
}

//´ÙÀ½ form ¿ä¼Ò¸¦ Ã£´Â´Ù
function next_element(obj) {
	var f = obj.form;
	if (f == null) {
		alert("¿À·ù!! <form>ÅÂ±×°¡ ¾ø´Âµí ÇÕ´Ï´Ù.");
		return;
	}
	var next_obj = null;
	for (var i = 0; i < f.elements.length; i++) {
		if (obj != f.elements[i]) continue;
		for (var j = i+1; j < f.elements.length; j++) {
			next_obj = f.elements[j];
			if			(next_obj.name == obj.name) continue;
			else if	(next_obj.type == 'text' && next_obj.disabled == true) continue;
			else if	(next_obj.type == 'hidden') continue;
			else if	(next_obj.readOnly == true) continue;
			else if	(next_obj.type == 'radio') {
				var robj = getRadioValue(next_obj, true);
				if (robj != null) return robj;
			}
			return next_obj;
		}
	}
	return null;
}

//ÀÌÀü form ¿ä¼Ò¸¦ Ã£´Â´Ù
function prev_element(obj) {
	var f = obj.form;
	var next_obj = null;
	for (var i = 0; i < f.elements.length; i++) {
		if (obj != f.elements[i]) continue;
		for (var j = i-1; j >= 0; j--) {
			next_obj = f.elements[j];
			if (next_obj.name == obj.name) continue;
			else if (next_obj.type == 'text' && next_obj.disabled == true) continue;
			else if (next_obj.type == 'hidden') continue;
			else if (next_obj.readOnly == true) continue;
			else if (next_obj.type == 'radio') {
				var robj = getRadioValue(next_obj, true);
				if (robj != null) return robj;
			}
			return next_obj;
		}
	}
	return null;
}

//´­¸° Å°
function getKeyCode(ev) {
	return isNetscape ? ev.which : event.keyCode;
}
//½ÃÇÁÆ®°¡ ´­·È³ª ?
function isShiftPress(ev) {
	return isNetscape ? ev.shiftKey : event.shiftKey;
}
//Å° ÀÔ·Â ¹«È¿È­
function keyRelease(ev) {
	if (isNetscape) ev.preventDefault();
	else event.returnValue = false;
}

//¿£ÅÍÅ° Ã¼Å©
//»ç¿ë¹ý : onKeyDown="ckey(this,event)"
//»ç¿ë¹ý : onKeyDown="ckey(this,event,false)" -- ÀÚµ¿À¸·Î ´ÙÀ½Æ÷Ä¿½º ±â´ÉÀ» ²ô°í ½ÍÀ»¶§
//»ç¿ë¹ý : onKeyDown="ckey(this,event,function)" -- ÁöÁ¤ÇÑ ÇÔ¼ö¸¦ È£Ãâ
function ckey(obj, ev, nextAction, enterAction) {
	var fname = obj.name;
	var k = getKeyCode(ev);
	if (isNetscape) event = ev;
	var k = isNetscape ? event.which : event.keyCode;
	if (k == 9 || k == 13) {
		if (typeof(cobj) != "undefined" && !isShiftPress(ev)) {
			if (cobj(obj) == false) {
				keyRelease(ev);
				return;
			}
		}
		if (nextAction == null) {
			keyRelease(ev);

			if (k == 13 && enterAction != null) {
				if (typeof enterAction == 'function') enterAction(obj, ev);
				else if (typeof enterAction == 'string') eval(enterAction);
			}

			nextFocus(obj, ev);
		} else if (typeof nextAction == 'function') {
			keyRelease(ev);
			if( nextAction(obj, ev) == true) nextFocus(obj, ev);
		} else if (typeof nextAction == 'string') {
			keyRelease(ev);
			eval(nextAction);
		}
	}
}

// ÇØ´ç ±æÀÌ¿¡ µµ´ÞÇÏ¸é ÀÚµ¿À¸·Î ´ÙÀ½Ä­À¸·Î ÀÌµ¿ÇÑ´Ù
//»ç¿ë¹ý : onKeyUp="autoNext(this,event,4)"
function autoNext(obj, ev, len) {
	if (obj.value.length >= len) nextFocus(obj, ev);
}



function checkResidentno(num) {
    var pattern = /^(\d{6})-?(\d{5}(\d{1})\d{1})$/;
    if (!pattern.test(num)) return false;
    num = RegExp.$1 + RegExp.$2;
    if (RegExp.$3 == 7 || RegExp.$3 == 8 || RegExp.$4 == 9)
        if ((num[7]*10 + num[8]) %2) return false;

    var sum = 0;
    var last = num.charCodeAt(12) - 0x30;
    var bases = "234567892345";
    for (var i=0; i<12; i++) {
        if (isNaN(num.substring(i,i+1))) return false;
        sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
    }
    var mod = sum % 11;
    if(RegExp.$3 == 7 || RegExp.$3 == 8 || RegExp.$4 == 9)
        return (11 - mod + 2) % 10 == last ? true : false;
    else
        return (11 - mod) % 10 == last ? true : false;
}

function checkJumin(num) {
    var pattern = /^([0-9]{6})-?([0-9]{7})$/;
    if (!pattern.test(num)) return false;
    num = RegExp.$1 + RegExp.$2;

    var sum = 0;
    var last = num.charCodeAt(12) - 0x30;
    var bases = "234567892345";
    for (var i=0; i<12; i++) {
        if (isNaN(num.substring(i,i+1))) return false;
        sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
    }
    var mod = sum % 11;
    return (11 - mod) % 10 == last ? true : false;
}

function checkForeignerno(num) {
    var pattern = /^(\d{6})-?(\d{5}[7-9]\d{1})$/;
    if (!pattern.test(num)) return false;
    num = RegExp.$1 + RegExp.$2;
    if ((num[7]*10 + num[8]) %2) return false;

    var sum = 0;
    var last = num.charCodeAt(12) - 0x30;
    var bases = "234567892345";
    for (var i=0; i<12; i++) {
        if (isNaN(num.substring(i,i+1))) return false;
        sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
    }
    var mod = sum % 11;
    return (11 - mod + 2) % 10 == last ? true : false;
}

function checkBizno (num) {
    var pattern = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/;
    if (!pattern.test(num)) return false;
    num = RegExp.$1 + RegExp.$2 + RegExp.$3;
    var cVal = 0;
    for (var i=0; i<8; i++) {
        var cKeyNum = parseInt(((_tmp = i % 3) == 0) ? 1 : ( _tmp  == 1 ) ? 3 : 7);
        cVal += (parseFloat(num.substring(i,i+1)) * cKeyNum) % 10;
    }
    var li_temp = parseFloat(num.substring(i,i+1)) * 5 + "0";
    cVal += parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2));
    return parseInt(num.substring(9,10)) == 10-(cVal % 10)%10 ? true : false;
}

function checkPhone(num) {
    var pattern = /^(0[2-8][0-5]?|01[01346-9])-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
    var pattern15xx = /^(1544|1566|1577|1588|1644|1688)-?([0-9]{4})$/;
    return pattern.exec(num) || pattern15xx.exec(num) ? true : false;
}

function checkHomePhone(num) {
    var pattern = /^(0[2-8][0-5]?)-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
    var pattern15xx = /^(1544|1566|1577|1588|1644|1688)-?([0-9]{4})$/;
    return pattern.exec(num) || pattern15xx.exec(num) ? true : false;
}

function checkHp(num) {
    var pattern = /^(01[01346-9])-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
    return pattern.exec(num) ? true : false;
}

function checkUserid(value) {
	var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9_]{3,19}$/;
    return pattern.test(value) ? true : "4ÀÚÀÌ»ó 12ÀÚ ¹Ì¸¸À¸·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.\n   - ¿µ¹®, ¼ýÀÚ, _ ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù";
}



// ½ºÆ®¸µÀÇ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù. (¸ÖÆ¼¹ÙÀÌÆ®(ÇÑ±Û)±æÀÌ Ã¼Å©¿ë)
//
// var len = lengthb("ÇÑ ±Û");	--> °á°ú = 5
//
function lengthb(str) {
	if (str == null) return 0;
	var cnt = 0;
	for (var i=0; i<str.length; i++)
	{
		var c = str.substr(i,1);
		if (c.charCodeAt(0) > 127) cnt++;
		cnt++;
	}
	return cnt;
}

function length(str) {
	if (str == null) return 0;
	return str.length;
}

// Hash°´Ã¼¸¦ MergeÇÑ´Ù
function merge(array1, array2) {
	var ret = {};
	for (var v in array1) { ret[v] = array1[v]; };
	for (var v in array2) { ret[v] = array2[v]; };
	return ret;
}

// formÀÇ °ªµéÀ» °´Ã¼·Î ¹ÝÈ¯ÇÑ´Ù
// ¸¸¾à value°¡ ¿©·¯°³ÀÎ °ªÀÌ ÀÖ´Ù¸é delimiter(±âº»ÄÄ¸¶)·Î ÇÕÄ£´Ù.
function getFormData(form, delimiter) {
	var data = {};
	if (delimiter == null) delimiter = ",";

	for (var i = 0; i < form.elements.length; i++) {
		var key = form.elements[i].name;
		var value = getElementValue(form.elements[i]);
		if (value != null) {
			data[key] = data[key] == null ? value : data[key] + delimiter + value;
		}
	}

	return data;
}

//½Ç½Ã°£ ÀÔ·ÂÃ¢¿¡ ÄÞ¸¶ Âï±â
function CheckComma(element) {
	var num = element.value;
	if (element.value.length >= 4) {
		re = /^$|,/g;
		num = num.replace(re, "");
		fl=""
		if(isNaN(num)) { alert("¹®ÀÚ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");return 0}
		if(num==0) return num
		if(num<0) {
			num=num*(-1)
			fl="-"
		}
		else {
			num=num*1 //Ã³À½ ÀÔ·Â°ªÀÌ 0ºÎÅÍ ½ÃÀÛÇÒ¶§ ÀÌ°ÍÀ» Á¦°ÅÇÑ´Ù.
		}
		num = new String(num)
		temp=""
		co=3
		num_len=num.length
		while (num_len>0) {
			num_len=num_len-co
			if(num_len<0) {co=num_len+co;num_len=0}
			temp=","+num.substr(num_len,co)+temp
		}
		element.value = fl + temp.substr(1);
	}
}

// ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
function checkRegno(regno) {
    var pattern = /^([0-9]{6})-?([0-9]{7})$/;
    var num = regno;
    if (!pattern.test(num)) return false;
    num = RegExp.$1 + RegExp.$2;

    var sum = 0;
    var last = num.charCodeAt(12) - 0x30;
    var bases = "234567892345";
    for (var i=0; i<12; i++) {
        if (isNaN(num.substring(i,i+1))) return false;;
        sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
    }
    var mod = sum % 11;
    return (11 - mod) % 10 == last ? true : false;
}

// Ã¼Å©¹Ú½º¸¦ ÀüÃ¼ ¼±ÅÃ/ÇØÁ¦ ÇÑ´Ù
function setCheckAll(form, name, check) {
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (element.name == name && element.type == "checkbox") {
			element.checked = check;
		}
	}
}

// Ã¼Å©¹Ú½º ¼³Á¤
function setCheckbox(form, name, value, ischeck) {
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (element.type == 'checkbox' && element.name == name && element.value == value) {
			element.checked = ischeck;
		}
	}
}

// Ã¼Å©¿©ºÎ Á¶È¸
function getCheckbox(form, name, value) {
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (element.type == 'checkbox' && element.name == name && element.value == value) {
			return element.checked;
		}
	}
	return false;
}

//Ã¼Å©µÈ Ã¼Å©¹Ú½ºµéÀÇ °ªµéÀ» °¡Á®¿Â´Ù
//ex) getCheckboxValues(f1, "cuserid") == aaa,bb,ccc
function getCheckboxValues(form, name, delimiter, defaultValue) {
	if (delimiter == null) delimiter = ",";
	if (defaultValue == null) defaultValue = "";
	var ret = null;
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (element.type == 'checkbox' && element.name == name && element.checked) {
			ret = (ret == null) ? element.value : ret + delimiter + element.value;
		}
	}
	return ret == null ? defaultValue : ret;
}

function setCheckboxValues(form, name, values, delimiter) {
	if (delimiter == null) delimiter = ",";
	if (isEmpty(values)) values = "";

	var tmpArr = values.split(delimiter);
	var vdata = new Array();
	for(var i=0; i<tmpArr.length; i++)
		vdata[tmpArr[i]] = true;

	var ret = null;
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (element.type == 'checkbox' && element.name == name) {
			element.checked = vdata[element.value] == true ? true : false;
		}
	}
}

// Åä±Û¹× Á¶È¸
function getCheckboxToggle(form, name, value) {
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (element.type == 'checkbox' && element.name == name && element.value == value) {
			element.checked = !element.checked;
			return element.checked;
		}
	}
	return false;
}


// ÀüÈ­¹øÈ£ ¸¶ÀÌ³Ê½º(-) ±âÈ£ Ãß°¡
function addMinus(obj) {
	var fname = obj.name;
	var e = isNotEmpty(obj.value);

	if (((e && fname == "tel") || (e && fname == "hp")) &&  (obj.value).indexOf("-") < 0) {
		// sample : 02-123-1234 (9ÀÚ¸®) ¼­¿ï(02)+±¹¹ø3ÀÚ¸®+¹øÈ£4ÀÚ¸®
		if ((obj.value).length == 9) {
				obj.value = (obj.value).substring(0,2) + '-' + (obj.value).substring(2,5) + '-' + 	(obj.value).substring(5,9);
		} else if ((obj.value).length == 10) {
			if ((obj.value).indexOf("02") == 0) {
				obj.value = (obj.value).substring(0,2) + '-' + (obj.value).substring(2,6) + '-' + 	(obj.value).substring(6,10);
			// sample : 016-123-1234 (10ÀÚ¸®) ÇÚµåÆùÅë½Å»ç ¶Ç´Â Áö¿ª¹øÈ£(¼­¿ïÁ¦¿Ü)(3ÀÚ¸®) + ±¹¹ø(3ÀÚ¸®)+¹øÈ£4ÀÚ¸®
			} else {
				obj.value = (obj.value).substring(0,3) + '-' + (obj.value).substring(3,6) + '-' + 	(obj.value).substring(6,10);
			}
		// sample : 016-1234-1234 (11ÀÚ¸®) ÇÚµåÆùÅë½Å»ç ¶Ç´Â Áö¿ª¹øÈ£(¼­¿ïÁ¦¿Ü)(3ÀÚ¸®) + ±¹¹ø(4ÀÚ¸®)+¹øÈ£4ÀÚ¸®
		} else if ((obj.value).length == 11) {
				obj.value = (obj.value).substring(0,3) + '-' + (obj.value).substring(3,7) + '-' + 	(obj.value).substring(7,11);
		}
	} else if (e && fname == "regno"  && (obj.value).indexOf("-") < 0) {
		obj.value = ((obj.value).length == 13) ? (obj.value).substring(0,6) + '-' + (obj.value).substring(6,13) : obj.value ;
	}
}

function prepareEditorData(form, name) {
	var oEditor = FCKeditorAPI.GetInstance(name);
	$FS(form, name, oEditor.GetXHTML())
}

function showEditor(name, attr) {
	var buf = '';
	buf += '<input type="hidden" id="' + name + '" name="' + name + '" value="" />';
	buf += '<iframe id="' + name + '___Frame" frameborder="0" scrolling="no" ' + attr;
	buf += ' src="/fckeditor/editor/fckeditor.html?InstanceName=' + name + '&Toolbar=Default"></iframe>';
	document.writeln(buf);
}



function openWin(url, name, width, height, attr){	//°¡¿îµ¥Ã¢
	var left = (screen.width) ? (screen.width - width) / 2 : 0;
	var top = (screen.height) ? (screen.height - width) / 2 : 0;
	var buf = '';
	buf += ',width=' + width;
	buf += ',height=' + height;
	buf += ',top=' + top;
	buf += ',left=' + left;
	if (attr != null) buf += "," + attr;
	var win = window.open(url, name, buf);
	try {
		if (parseInt(navigator.appVersion) >= 4) win.window.focus();
		return win;
	} catch(e) {}
}


function comma(x) {
    var txtNumber = '' + x;
    if (isNaN(txtNumber) || txtNumber == "") {
	    alert("¼ýÀÚ¸¸ ÀÔ·Â ÇÏ¼¼¿ä");
    } 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 form start

function checkForm(form, fields) {
    var lah = new FormChecker(form);
    if (fields) lah.setCheckFields(fields);
    var wmf = lah.go();
    if (wmf == false) {
		alert(lah.getErrorMessage());
	}
    return wmf;
}


FormChecker = function(form) {
    this.FUNC_MAP = {
        url     : "this.func_url",
		email     : "this.func_email",
		email1    : "this.func_email1",
		email2    : "this.func_email2",
        han        : "this.func_han",
        engonly   : "this.func_engonly",
        num       : "this.func_num",
        residentno: "this.func_residentno",
        jumin     : "this.func_jumin",
        foreignerno:"this.func_foreignerno",
        bizno     : "this.func_bizno",
        phone     : "this.func_phone",
        homephone : "this.func_homephone",
        handphone : "this.func_handphone",
        userid    : "this.func_userid"
    }
    this.ERR_MSG = {
        system   : "FormChecker Error: ",
		required : "ÇÊ¼ö »çÇ× ÀÔ´Ï´Ù.",
        requirenum:"ÀÌ Ç×¸ñµé Áß¿¡ {requirenum}°³ ÀÌ»óÀÇ Ç×¸ñÀÌ ÀÔ·ÂµÇ¾î¾ß ÇÕ´Ï´Ù.",
        notequal : "ÀÔ·ÂµÈ ³»¿ëÀÌ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.",
        invalid  : "ÀÔ·ÂµÈ ³»¿ëÀÌ Çü½Ä¿¡ ¾î±ß³³´Ï´Ù.",
        eqbyte  : "ÀÔ·ÂµÈ ³»¿ëÀÇ ±æÀÌ°¡ {eqbyte}Byte ÀÌ¾î¾ß ÇÕ´Ï´Ù.",
        minbyte  : "ÀÔ·ÂµÈ ³»¿ëÀÇ ±æÀÌ°¡ {minbyte}Byte ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù.",
        maxbyte  : "ÀÔ·ÂµÈ ³»¿ëÀÇ ±æÀÌ°¡ {maxbyte}Byte¸¦ ÃÊ°úÇÒ ¼ö ¾ø½À´Ï´Ù.",
        mincheck : "{mincheck}°³ÀÇ Ç×¸ñÀÌ»óÀ¸·Î ¼±ÅÃÇÏ¼¼¿ä.",
        maxcheck : "{maxcheck}°³ÀÇ Ç×¸ñÀÌÇÏ·Î ¼±ÅÃÇÏ¼¼¿ä.",
        minselect: "{minselect}°³ÀÇ Ç×¸ñÀÌ»óÀ¸·Î ¼±ÅÃÇÏ¼¼¿ä.",
        maxselect: "{maxselect}°³ÀÇ Ç×¸ñÀÌÇÏ·Î ¼±ÅÃÇÏ¼¼¿ä.",
        imageonly: "ÀÌ¹ÌÁö ÆÄÀÏ¸¸ Ã·ºÎÇÒ ¼ö ÀÖ½À´Ï´Ù."
    }
    this.ERR_DO = {
        text   : "select focus",
        select : "focus",
        check  : "focus",
        radio  : "focus",
        file   : "focus",
        hidden : ""
    }
    this.ERR_SYS = '_SYSERR_';
    this.fields = form.elements;
    this.form = form;
    this.errMsg = "";
}

FormChecker.prototype.setForm = function(form) {
    this.form = form;
}

FormChecker.prototype.setFunc = function(map, func) {
    if (typeof(this.FUNC_MAP[map]) == "string") return;
    this.FUNC_MAP[map] = func;
}

FormChecker.prototype.setCheckFields = function(fields) {
    this.fields = [];
    if(typeof(fields) == 'string')
        this.fields = [this.form.elements[fields]];
    else
        for(var i=0, s=fields.length; i<s; i++)
            this.fields[this.fields.length] = this.form.elements[fields[i]];
}

FormChecker.prototype.setUnCheckFields = function(fields) {
    this.fields = [];
    var _isUnCheckEl;

    if(typeof(fields) == 'string')
        fields = [fields];
    for (var i=0, s=this.form.elements.length; i<s; i++) {
        _isUnCheckEl = false;
        for (var j=0, t=fields.length; j<t; j++) {
            if (this.form.elements[i] == this.form.elements[fields[j]]) {
                _isUnCheckEl = true;
                break;
            }
        }
        if (!_isUnCheckEl) this.fields[this.fields.length] = this.form.elements[i];
    }
}

FormChecker.prototype.setParam = function(el, name, value) {
    el.setAttribute(name, value);
}

FormChecker.prototype.delParam = function(el, name) {
    el.removeAttribute(name);
}

FormChecker.prototype.go = function() {
    for (var i=0,s=this.fields.length; i<s; i++) {
        var el = this.fields[i];
        if (!this.isValidElement(el)) continue;

        var elType = this.getType(el);
        var trim = el.getAttribute("TRIM");
        var required = el.getAttribute("REQUIRED");
        var requirenum = el.getAttribute("REQUIRENUM");
        var eqbyte = parseInt(el.getAttribute("EQBYTE"),10);
        var minbyte = parseInt(el.getAttribute("MINBYTE"),10);
        var maxbyte = parseInt(el.getAttribute("MAXBYTE"),10);
        var mincheck = parseInt(el.getAttribute("MINCHECK"),10);
        var maxcheck = parseInt(el.getAttribute("MAXCHECK"),10);
        var minselect = parseInt(el.getAttribute("MINSELECT"),10);
        var maxselect = parseInt(el.getAttribute("MAXSELECT"),10);
        var option = el.getAttribute("OPTION");
        var match = el.getAttribute("MATCH");
        var span = el.getAttribute("SPAN");
        var glue = el.getAttribute("GLUE");
        var pattern = el.getAttribute("PATTERN");
        var imageonly = el.getAttribute("IMAGEONLY");

        if (trim != null && (elType == "text" || elType == "hidden" )) {
            switch (trim) {
            case "trim":
                el.value = el.value.replace(/^\s+/, "").replace(/\s+$/, "");
                break;
            case "compress":
                el.value = el.value.replace(/\s+/, "");
                break;
            case "ltrim":
                el.value = el.value.replace(/^\s+/, "");
                break;
            case "rtrim":
                el.value = el.value.replace(/\s+$/, "");
                break;
            }
        }

        var elEmpty = this.isEmpty(el, elType);

        if (required != null) {
            if (required == "required") {
                if (elEmpty) return this.raiseError(el, "required");
            } else {
                requirenum = parseInt(requirenum, 10);
                var _num = 0;
                var _name = [];
                if (requirenum > 0) {
                    for (var j=0; j<this.form.elements.length; j++) {
                        var _el = this.form.elements[j];
                        if (required == _el.getAttribute("REQUIRED")) {
                            if(!this.isEmpty(_el, this.getType(_el))) _num++;
                            _name[_name.length] = this.getName(_el);
                        }
                    }
                    if(_num < requirenum)
                        return this.raiseError(el, "requirenum", _name.join(", "));
                }
            }
        }
        if ((minbyte > 0 || maxbyte > 0) && (elType == "text" || elType == "hidden") && (required == "required" || el.value.length > 0)) {
            var _tmp = el.value;
            var _len = el.value.length;
            for (j=0; j<_tmp.length; j++) {
                if (_tmp.charCodeAt(j) > 128) _len++;
            }
            if (minbyte > 0 && _len < minbyte) return this.raiseError(el, "minbyte");
            if (maxbyte > 0 && _len > maxbyte) return this.raiseError(el, "maxbyte");
        }
        if (eqbyte > 0 && (elType == "text" || elType == "hidden") && (required == "required" || el.value.length > 0)) {
            var _tmp = el.value;
            var _len = el.value.length;
            for (j=0; j<_tmp.length; j++) {
                if (_tmp.charCodeAt(j) > 128) _len++;
            }
            if (eqbyte != _len) return this.raiseError(el, "eqbyte");
        }
        if (match != null && elType != "file") {
            if (typeof this.form.elements[match] == "undefined")
                return this.raiseError(this.ERR_SYS, "Element '"+ match +"' is not found. 1");
            else if (el.value != this.form.elements[match].value)
                return this.raiseError(el, "notequal");
        }
        if (option != null && !elEmpty && elType != "file") {
            var _options = option.split(" ");

			for (var j=0; j<_options.length; j++) {

                var _func = eval(this.FUNC_MAP[_options[j]]);

                if (span != null) {
                    var _value = [];
                    for (var k=0; k<parseInt(span,10); k++) {
                        try {
                            _value[k] = this.fields[i+k].value;
                        } catch (e) {
                            return this.raiseError(this.ERR_SYS,  (i+k) +"th Element is not found.");
                        }
                    }
                    try {
                        var _result = _func(el, _value.join(glue == null ? "" : glue));
                    } catch (e) {
                        return this.raiseError(this.ERR_SYS,  "function map '" + _options[j] +"' is not exist.");
                    }
                    if (_result !== true) return this.raiseError(el, _result);
                } else {
                    try {
                        var _result = _func(el);
                    } catch (e) {
                        return this.raiseError(this.ERR_SYS,  "function map '" + _options[j] +"' is not exist.");
                    }
                    if (_result !== true) return this.raiseError(el, _result);
                }
            }
        }
        if (pattern != null && !elEmpty && elType != "file") {
            try {
                pattern = new RegExp(pattern);
            } catch (e) {
                return this.raiseError(this.ERR_SYS, "Invalid Regular Expression '"+ pattern +"'");
            }
            if (!pattern.test(el.value)) return this.raiseError(el, "invalid");
        }
        if ((mincheck > 0 || maxcheck > 0) && elType == "check") {
            var _checks = this.form.elements[el.name];
            var _num = 0;
            if (typeof _checks.length != "undefined") {
                for (var j=0; j<_checks.length; j++) {
                    if (_checks[j].checked) _num++;
                }
            } else {
                if (_checks.checked) _num++;
            }
            if (mincheck > 0 && _num < mincheck) return this.raiseError(el, "mincheck");
            if (maxcheck > 0 && _num > maxcheck) return this.raiseError(el, "maxcheck");
        }
        if ((minselect > 0 || maxselect > 0) && elType == "multiselect") {
            var _num = 0;
            for (var j=0; j<el.options.length; j++) {
                if (el.options[j].selected) _num++;
            }
            if (minselect > 0 && _num < minselect) return this.raiseError(el, "minselect");
            if (maxselect > 0 && _num > maxselect) return this.raiseError(el, "maxselect");
        }
        if (imageonly != null && elType == "file") {
            var fn = el.value;
            if (fn != "") {
                var dotIndex = fn.lastIndexOf(".");
                var ext = fn.substring(dotIndex+1).toLowerCase();
                if(ext != "jpg" && ext != "jpeg" && ext != "gif" && ext != "png")
                    return this.raiseError(el, "imageonly");
            }
        }
    }
    return true;
}

FormChecker.prototype.isValidElement = function(el) {
    return el.name && el.tagName.match(/^input|select|textarea$/i) && !el.disabled;
}

FormChecker.prototype.isEmpty = function(el, type) {
    switch (type) {
    case "file": case "text": case "hidden":
        if (el.value == null || el.value == "") return true;
        break;
    case "select": case "multiselect":
        if (el.selectedIndex == -1 || el[el.selectedIndex].value == null ||
                el[el.selectedIndex].value == "")
            return true;
        break;
    case "check": case "radio":
        var elCheck = this.form.elements[el.name];
        var elChecked = false;
        if (typeof elCheck.length != "undefined") {
            for (var j=0; j<elCheck.length; j++) {
                if (elCheck[j].checked == true) elChecked = true;
            }
        } else {
            if (elCheck.checked == true) elChecked = true;
        }
        if (elChecked == false) return true;
        break;
    }
    return false;
}

FormChecker.prototype.getType = function(el) {
    switch (el.tagName.toLowerCase()) {
    case "select":
        return el.multiple == true ? "multiselect" : "select";
    case "textarea": return "text";
    case "input":
        switch (el.type.toLowerCase()) {
        case "radio": return "radio";
        case "checkbox": return "check";
        case "file": return "file";
        case "text": case "password": return "text";
        case "hidden": return "hidden";
        }
        break;
    }
}

FormChecker.prototype.raiseError = function(el, type, elName) {
    if (el == this.ERR_SYS) {
        this.errMsg = this.ERR_MSG["system"] + type;
        return false;
    }
    var pattern = /\{([a-zA-Z0-9_]+)\}/i;
    var msg = this.ERR_MSG[type] ? this.ERR_MSG[type] : type;
    var elType = this.getType(el);
    var elName = elName ? elName : this.getName(el);
    var errDo = el.getAttribute("ERRDO") ? el.getAttribute("ERRDO") : this.ERR_DO[elType];
    var _errDos = errDo ? errDo.split(" ") : [];

    if (el.getAttribute("ERRMSG") != null) msg = el.getAttribute("ERRMSG");
    if (pattern.test(msg) == true) {
        while (pattern.exec(msg)) msg = msg.replace(pattern, el.getAttribute(RegExp.$1));
    }
    for (var i in _errDos) {
    	try {
	        switch (_errDos[i]) {
	        case "delete": el.value = ""; break;
	        case "select": el.select(); break;
	        case "focus":  el.focus(); break;
	        }
		} catch (e) {}
    }
    this.errMsg = "\'"+ elName +"\'Àº(´Â) "+ msg +"\n";
    return false;
}

FormChecker.prototype.getErrorMessage = function() {
    return this.errMsg;
}

FormChecker.prototype.getName = function(el) {
    return el.getAttribute("HNAME") == null || el.getAttribute("HNAME") == ""
        ? el.name : el.getAttribute("HNAME");
}
/**
* validate functions
*/
FormChecker.prototype.func_url = function(el,value) {
    var value = value ? value : el.value;
    var pattern = /^[\.°¡-ÆRa-zA-Z0-9-]+\.[a-zA-Z]+$/;
    return pattern.test(value) ? true : "invalid";
}

FormChecker.prototype.func_email = function(el,value) {
    var value = value ? value : el.value;
    var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
    return pattern.test(value) ? true : "invalid";
}

FormChecker.prototype.func_email1 = function(el,value) {
    var value = value ? value : el.value;
    var pattern = /^[_a-zA-Z0-9-\.]+$/;
    return pattern.test(value) ? true : "invalid";
}

FormChecker.prototype.func_email2 = function(el,value) {
    var value = value ? value : el.value;
    var pattern = /^[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;
    return pattern.test(value) ? true : "invalid";
}

FormChecker.prototype.func_han = function(el) {
    var pattern = /[°¡-Èþ]/;
    return pattern.test(el.value) ? true : "¹Ýµå½Ã ÇÑ±ÛÀ» Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù";
}

FormChecker.prototype.func_engonly = function(el) {
    var pattern = /^[a-zA-Z]+$/;
    return pattern.test(el.value) ? true : "invalid";
}

FormChecker.prototype.func_num = function(el) {
    var pattern = /^[0-9]+$/;
    return pattern.test(el.value) ? true : "¹Ýµå½Ã ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù";
}

FormChecker.prototype.func_residentno = function(el,value) {
    var pattern = /^(\d{6})-?(\d{5}(\d{1})\d{1})$/;
    var num = value ? value : el.value;
    if (!pattern.test(num)) return "invalid";
    num = RegExp.$1 + RegExp.$2;
    if (RegExp.$3 == 7 || RegExp.$3 == 8 || RegExp.$4 == 9)
        if ((num[7]*10 + num[8]) %2) return "invalid";

    var sum = 0;
    var last = num.charCodeAt(12) - 0x30;
    var bases = "234567892345";
    for (var i=0; i<12; i++) {
        if (isNaN(num.substring(i,i+1))) return "invalid";
        sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
    }
    var mod = sum % 11;
    if(RegExp.$3 == 7 || RegExp.$3 == 8 || RegExp.$4 == 9)
        return (11 - mod + 2) % 10 == last ? true : "invalid";
    else
        return (11 - mod) % 10 == last ? true : "invalid";
}

FormChecker.prototype.func_jumin = function(el,value) {
    var pattern = /^([0-9]{6})-?([0-9]{7})$/;
    var num = value ? value : el.value;
    if (!pattern.test(num)) return "invalid";
    num = RegExp.$1 + RegExp.$2;

    var sum = 0;
    var last = num.charCodeAt(12) - 0x30;
    var bases = "234567892345";
    for (var i=0; i<12; i++) {
        if (isNaN(num.substring(i,i+1))) return "invalid";
        sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
    }
    var mod = sum % 11;
    return (11 - mod) % 10 == last ? true : "invalid";
}

FormChecker.prototype.func_foreignerno = function(el,value) {
    var pattern = /^(\d{6})-?(\d{5}[7-9]\d{1})$/;
    var num = value ? value : el.value;
    if (!pattern.test(num)) return "invalid";
    num = RegExp.$1 + RegExp.$2;
    if ((num[7]*10 + num[8]) %2) return "invalid";

    var sum = 0;
    var last = num.charCodeAt(12) - 0x30;
    var bases = "234567892345";
    for (var i=0; i<12; i++) {
        if (isNaN(num.substring(i,i+1))) return "invalid";
        sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
    }
    var mod = sum % 11;
    return (11 - mod + 2) % 10 == last ? true : "invalid";
}

FormChecker.prototype.func_bizno = function(el,value) {
    var pattern = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/;
    var num = value ? value : el.value;
    if (!pattern.test(num)) return "invalid";
    num = RegExp.$1 + RegExp.$2 + RegExp.$3;
    var cVal = 0;
    for (var i=0; i<8; i++) {
        var cKeyNum = parseInt(((_tmp = i % 3) == 0) ? 1 : ( _tmp  == 1 ) ? 3 : 7);
        cVal += (parseFloat(num.substring(i,i+1)) * cKeyNum) % 10;
    }
    var li_temp = parseFloat(num.substring(i,i+1)) * 5 + "0";
    cVal += parseFloat(li_temp.substring(0,1)) + parseFloat(li_temp.substring(1,2));
    return parseInt(num.substring(9,10)) == 10-(cVal % 10)%10 ? true : "invalid";
}

FormChecker.prototype.func_phone = function(el,value) {
    var pattern = /^(0[2-8][0-5]?|01[01346-9])-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
    var pattern15xx = /^(1544|1566|1577|1588|1644|1688)-?([0-9]{4})$/;
    var num = value ? value : el.value;
    return pattern.exec(num) || pattern15xx.exec(num) ? true : "invalid";
}

FormChecker.prototype.func_homephone = function(el,value) {
    var pattern = /^(0[2-8][0-5]?)-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
    var pattern15xx = /^(1544|1566|1577|1588|1644|1688)-?([0-9]{4})$/;
    var num = value ? value : el.value;
    return pattern.exec(num) || pattern15xx.exec(num) ? true : "invalid";
}

FormChecker.prototype.func_handphone = function(el,value) {
    var pattern = /^(01[01346-9])-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
    var num = value ? value : el.value;
    return pattern.exec(num) ? true : "invalid";
}

FormChecker.prototype.func_userid = function(el,value) {
    var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9_]{3,19}$/;
    return pattern.test(el.value) ? true : "4ÀÚÀÌ»ó 12ÀÚ ¹Ì¸¸À¸·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.\n   - ¿µ¹®, ¼ýÀÚ, _ ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù";
}

// ---- check form end
// ----------------------------



function checkDefaultIn(obj) {
	if (obj.value == obj.defaultValue) obj.value = '';
}

function checkDefaultOut(obj) {
	if (obj.value == '') obj.value = obj.defaultValue;
}


function getCenterPosition(nw, nh) {
	px = (screen.availWidth- nw) / 2;
	py = (screen.availHeight - nh) / 2;
	str = "width=" + nw + ",height=" + nh + ",top=" + py + ",left=" + px + ",status=no,dependent=no,scrollbars=vertical,resizable=no";
	return str;
}
