/**
 * Copyright (c) 2004 by SITNET Inc
 * All rights reserved.
 * 
 * ÀÚ¹Ù½ºÅ©¸³Æ® °øÅëÇÔ¼ö
 *
 * @version 1.0, 2004/03/01 */


/* ------------------------------------------------------------------------------------------------
 * ÇÊ¼ö ÀÔ·Â Ç×¸ñ Ã³¸®
 * ------------------------------------------------------------------------------------------------ */
function chkObj(obj, sTitle)
{
	if (typeof obj != "object") return;

	if(sTitle == null || sTitle == "") sTitle = obj.title;

	if (Trim(obj.value) == "") 
	{
		return setObjFocus(obj, sTitle + "À»(¸¦) ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
	}
	return chkMax(obj, sTitle, false);
}

/* ------------------------------------------------------------------------------------------------
 * ÀÔ·ÂÇ×¸ñÀÇ ÃÖ´ë ±æÀÌ ÃÊ°ú ¿©ºÎ È®ÀÎ
 * maxChk : ÀÔ·ÂÇ×¸ñÀÌ ÀüÃ¼ ±æÀÌ¸¦ Ã¤¿ü´ÂÁö ¿©ºÎ È®ÀÎ
 * ------------------------------------------------------------------------------------------------ */
function chkMax(obj, sTitle)
{
	if (typeof obj != "object")
		return setObjFocus(obj, "[¿¡·¯] Á¸ÀçÇÏÁö ¾Ê´Â ÀÔ·Â ÄÁÆ®·ÑÀÇ ±æÀÌ¸¦ È®ÀÎÇÕ´Ï´Ù.");
  	
	if(sTitle == null || sTitle == "") sTitle = obj.title;
	
	if(getByteLength(obj) > obj.maxLength)
	{
		return setObjFocus(obj, sTitle + "Àº(´Â) ÇÑ±Û "+(obj.maxLength/2)+"ÀÚ(¿µ¹® "+obj.maxLength+"ÀÚ) ÀÌ»ó ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
	}
	else if(getByteLength(obj) < obj.minLength)
	{
		return setObjFocus(obj, sTitle + "¿¡´Â ÃÖ¼Ò ÇÑ±Û"+(obj.minLength/2)+"ÀÚ(¿µ¹® "+obj.minLength+"ÀÚ)¸¦ ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù.");  
	}
  return true;
}

/* ------------------------------------------------------------------------------------------------
 * Æ÷Ä¿½º¸¦ ÀÌµ¿ÇÏ°í ¼±ÅÃÇÏ´Â Ã³¸®
 * ------------------------------------------------------------------------------------------------ */
function setObjFocus(obj, msg)
{
	if (msg != "") alert(msg);
	
	if (typeof obj == "object") {
		obj.focus();
		obj.select();
	}
}

/* ------------------------------------------------------------------------------------------------
 * ÀÔ·Â°ªÀÇ ¹ÙÀÌÆ® ±æÀÌ¸¦ ¸®ÅÏ
 * ex) if (getByteLength(form.title) &gt; 100) {
 *  	   alert("Á¦¸ñÀº ÇÑ±Û 50ÀÚ(¿µ¹® 100ÀÚ) ÀÌ»ó ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
 *     }
 * ------------------------------------------------------------------------------------------------ */
function getByteLength(obj)
{
	var byteLength = 0;
	for (var inx = 0; inx < obj.value.length; inx++) {
		var oneChar = escape(obj.value.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;
}

/* ------------------------------------------------------------------------------------------------
 * textarea ±ÛÀÚ Á¦ÇÑ
 * maxlimit : ÀÔ·ÂÇ×¸ñ Á¦ÇÑ ±æÀÌ
 * ------------------------------------------------------------------------------------------------ */
function textMax(obj, maxlimit)
{
	if(getByteLength(obj) > maxlimit){
		alert("ÇÑ±Û "+(maxlimit/2)+"ÀÚ(¿µ¹® "+maxlimit+"ÀÚ) ÀÌ»ó ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
		obj.value = Trim( obj.value.substring(0, obj.value.length-2) );
	}
}

/* ------------------------------------------------------------------------------------------------
 * ÀÔ·Â°ª °ø¹é Á¦°Å
 * ------------------------------------------------------------------------------------------------ */
function Trim(str)
{
	return(LTrim(RTrim(str)));
}

function LTrim(str)
{
	var i = 0;
	while (str.substring(i,i+1) == ' ') {
		i++;
	}
	return str.substring(i);
}

function RTrim(str)
{
 	var i = str.length - 1;
 	while (i >= 0 && str.substring(i,i+1) == ' ') {
   	i--;
 	}
 	return str.substring(0,i+1);
}

/* ------------------------------------------------------------------------------------------------
 * ¿øÇÏ´Â ¹®ÀÚ¿­ Á¦°Å
 * ------------------------------------------------------------------------------------------------ */
function remove(str, token)
{
	i = str.indexOf(token);
	r = "";
	if (i == -1) return str;
	r += str.substring(0,i) + remove(str.substring(i + token.length), token);
	return r;
}

/* ------------------------------------------------------------------------------------------------
 * ¿£ÅÍÅ°¸¦ ´©¸¦¶§ ´ÙÀ½ ÇÊµå·Î Æ÷Ä¿½º ÀÌµ¿
 * ex) return Enter(this, event);
 * ------------------------------------------------------------------------------------------------ */
function Enter(field, event) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
    var i;
    for (i = 0; i < field.form.elements.length; i++)
    	if (field == field.form.elements[i]) break;
    	i = (i + 1) % field.form.elements.length;
    	field.form.elements[i].focus();
    	return false;
	} 
	else return true;
}

/* ------------------------------------------------------------------------------------------------
 * ÀÔ·Â°ªÀÇ ¼ýÀÚ¸¦ ±Ý¾×Ã³¸® ÇÏ±â À§ÇØ ÄÞ¸¶Ã³¸®
 * ------------------------------------------------------------------------------------------------ */
function Comma(srcNumber) {
	var txtNumber = '' + srcNumber;
	if (isNaN(txtNumber)) {
		alert("¼ýÀÚ¸¸ ÀÔ·Â ÇÏ¼¼¿ä");
		return '';
	}
	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];
		}
	}
}





/* ------------------------------------------------------------------------------------------------
 * ÀÔ·Â°ªÀÌ NULLÀÎÁö Ã¼Å©
 * ------------------------------------------------------------------------------------------------ */
function isNull(input) {
	if (input.value == null || input.value == "") {
		return true;
	}
	return false;
}

/* ------------------------------------------------------------------------------------------------
 * ½ºÆäÀÌ½º ÀÌ¿ÜÀÇ ÀÇ¹ÌÀÖ´Â °ªÀÌ ÀÖ´ÂÁö Ã¼Å©
 * ex) return isEmpty(this, "°Ë»ö¾î¸¦ ÀÔ·ÂÇÏ¼¼¿ä!");
 * ------------------------------------------------------------------------------------------------ */
 function isEmpty(input, msg) {
	if (input.value == null || input.value.replace(/ /gi,"") == "") {
		alert(msg);
		input.value='';
		input.select();
		return false;
	}
	return true;
}

/* ------------------------------------------------------------------------------------------------
 * ÀÔ·Â°ªÀÌ »ç¿ëÀÚ°¡ Á¤ÀÇÇÑ Æ÷¸Ë Çü½ÄÀÎÁö Ã¼Å©
 * ÀÚ¼¼ÇÑ format Çü½ÄÀº ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ''regular expression''À» ÂüÁ¶
 * ------------------------------------------------------------------------------------------------ */
function isValidFormat(input,format) {
	if (input.value.search(format) != -1) {
		return true;
	}
	return false;
}

/* ------------------------------------------------------------------------------------------------
 * ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀÎÁö Ã¼Å©
 * ------------------------------------------------------------------------------------------------ */
function isValidEmail(input) {
	// var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
	var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
	if(! isValidFormat(input,format)) {
		return setObjFocus(input, "¿Ã¹Ù¸¥ E-mailÀ» ±âÀÔÇØ ÁÖ¼¼¿ä");
	}
	return true;
}

/* ------------------------------------------------------------------------------------------------
 * ÀÔ·Â°ªÀÌ Æ¯Á¤ ¹®ÀÚ(chars)¸¸À¸·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
 * Æ¯Á¤ ¹®ÀÚ¸¸ Çã¿ëÇÏ·Á ÇÒ ¶§ »ç¿ë
 * ex) if (!containsCharsOnly(form.blood,"ABO")) {
 * 		   alert("Ç÷¾×Çü ÇÊµå¿¡´Â A,B,O ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.");
 * 		 }
 * ------------------------------------------------------------------------------------------------ */
function containsCharsOnly(input,chars) {
	if(input.value == null || input.value.replace(/ /gi,"") == "") return false;
	
	for (var inx = 0; inx < input.value.length; inx++) {
		if (chars.indexOf(input.value.charAt(inx)) == -1)
			return false;
	}
	return true;
}

/* ------------------------------------------------------------------------------------------------
 * ÀÔ·Â°ª¿¡ ¼ýÀÚ¸¸ ÀÖ´ÂÁö Ã¼Å©
 * ------------------------------------------------------------------------------------------------ */
function isNumber(input) {
	var chars = "0123456789";
	return containsCharsOnly(input,chars);
}





/* ------------------------------------------------------------------------------------------------
 * (checkbox¿¡¼­ »ç¿ë)
 * ------------------------------------------------------------------------------------------------ */
// Ã¼Å©¹Ú½º¿¡ Ã¼Å©°¡ Á¸ÀçÇÏ´Â Áö ¿©ºÎ¸¦ È®ÀÎ
function isCheck(chkObj)
{
	for( var i = 0 ; i < chkObj.length ; i++ )
	{
		if(chkObj[i].checked)
		{
			return true;
		}
	}
	alert("Ã¼Å©ÇÑ Ç×¸ñÀÌ ¾ø½À´Ï´Ù. È®ÀÎÇÏ½Ê½Ã¿ä.");
	return false;
}

// Ã¼Å©¹Ú½ºÀÇ Ã¼Å©¸¦ ¹ÝÀü
function reverseCheck(chkObj)
{
	for( var i = 0 ; i < chkObj.length ; i++ )
	{
		chkObj[i].checked = !chkObj[i].checked;
	}
	return;
}

// Ã¼Å©¹Ú½ºÀÇ Ã¼Å©¸¦ ¸ðµÎ ÇØÁ¦
function clearCheck(chkObj)
{
	if(chkObj.length == null) {
		chkObj.checked = false;
	}
	else {
		for( var i = 0 ; i < chkObj.length ; i++ )
		{
			chkObj[i].checked = false;
		}
	}
}





/* ------------------------------------------------------------------------------------------------
 * ÄíÅ°ÀúÀå, ÄíÅ° °¡Á®¿À±â
 * ------------------------------------------------------------------------------------------------ */
function setCookie(name, value, day) {
 	var expdate = new Date();
	expdate.setTime(expdate.getTime() + 1000 * 60 * 60 * 24 * day); // 1900ÀÌ»ó µÇ¾î¾ß ÄíÅ° »ý¼ºµÊ
	var cookieStr = name + "=" + escape(value) + ((expdate == null)?"":("; path=/; expires=" + expdate.toGMTString()));
 	document.cookie = cookieStr;
}

function getCookie(name) {
	var first;
	var str = name + "=";
	if(document.cookie.length > 0) {
		find = document.cookie.indexOf(str)
		if(find == -1)
			return null;
		first = find + str.length;
		end = document.cookie.indexOf(";", first) ;
		
		if(end == -1)
			end = document.cookie.length ;
	
		return unescape(document.cookie.substring(first, end)) ;
	}
}