<!--

//
//  ===============================================================================================
//  Function Name : gf_onlyNumeric(myEvent)
//  Description   : ÀÔ·Â ÇÊµå¿¡ ¼ýÀÚ¸¸ Çã¿ë
//  myEvent		  : myEvent °´Ã¼ (ÇÔ¼ö È£ÃâÇÒ ¶§ event·Î ÁöÁ¤ÇÑ´Ù.)
//	return 		  : { true | false }
//  »ç¿ë¿¹        : <input type=text ... onKeyPress="return gf_onlyNumeric(event)">
//  ===============================================================================================
function gf_onlyNumeric(myEvent) {
    var _key = (document.layers) ? myEvent.which : myEvent.keyCode;  //netscape or not
    if (((_key >= 48) && (_key <= 57)) || _key==13) return true; 
    else return false;
} 

//
//  ===============================================================================================
//  Function Name : gf_onlyNumericDot(myEvent)
//  Description   : ÀÔ·Â ÇÊµå¿¡ ¼ýÀÚ ¹× +-., ¸¸ Çã¿ë
//  myEvent		  : myEvent °´Ã¼ (ÇÔ¼ö È£ÃâÇÒ ¶§ event·Î ÁöÁ¤ÇÑ´Ù.)
//	return 		  : { true | false }
//  »ç¿ë¿¹        : <input type=text ... onKeyPress="return gf_onlyNumericDot(event)">
//  ===============================================================================================
function gf_onlyNumericDot(myEvent) { 
    var _key = (document.layers) ? myEvent.which : myEvent.keyCode;  //netscape or not
    if (((_key >= 48) && (_key <= 57)) || _key==13 || ((_key >= 43) && (_key <= 46))) return true; 
    else return false;
} 

//
//  ===============================================================================================
//  Function Name : gf_getDigit(str)
//  Description   : ¹®ÀÚ¿­¿¡¼­ ¼ýÀÚ¸¸ °¡Á®¿À±â 
//  str           : ÀÔ·Â¹®ÀÚ¿­
//	return 		  : { ¼ýÀÚ¸¸ÀÖ´Â ¹®ÀÚ¿­ }
//  »ç¿ë¿¹        : gf_getDigit("1,234,567")
//  ===============================================================================================
function gf_getDigit(str) {
	var _str = "";
	for (var i=0 ; i<str.length ; i++) {
		if ( (str.charAt(i) >= "0") && (str.charAt(i) <= "9") ) _str += str.charAt(i);
	}
	return _str;
}

//
//  ===============================================================================================
//  Function Name : gf_getCommaStr(str,digit)
//  Description   : ÄÞ¸¶¸¦ »ðÀÔÇÏ¿© Currey¹®ÀÚ¿­ ¸¸µé¾î ÁØ´Ù.
//  str           : ¼ýÀÚ¹®ÀÚ¿­
//  digit         : ÄÞ¸¶¸¦ »ðÀÔÇÒ ÀÚ¸®¼ö (»ý·«ÇÏ¸é 3)
//	return        : { ÄÞ¸¶°¡ »ðÀÔµÈ ¹®ÀÚ¿­ }
//  »ç¿ë¿¹        : gf_getCommaStr("1234567")
//  ===============================================================================================
function gf_getCommaStr(str,digit) {
	if (digit+"" == "undefined") digit = 3;
	var count = 0;
	var _str = "";
	for (var i=(str.length-1) ; i>=0 ; i--) {
		if (count == digit) {
			_str = "," + _str;
			count = 0;
		}
		_str = str.charAt(i) + _str;
		count = count + 1;
	}
	return _str;
}

//
//  ===============================================================================================
//  Function Name : gf_getMaskedStr(str,mask)
//  Description   : ¹®ÀÚ¿­À» ¸¶½ºÅ©·Î Æ÷¸ËÇÏ¿© ¸¸µé¾î ÁØ´Ù.
//  str           : ÀÔ·Â¹®ÀÚ¿­
//  mask          : ¸¶½ºÅ© Æ÷¸Ë (¸¶½ºÅ©´Â #, Æ¯¼ö¹®ÀÚ´Â ±×´ë·Î)
//	return        : { ¸¶½ºÅ©·Î Æ÷¸ËµÈ ¹®ÀÚ¿­ }
//  »ç¿ë¿¹        : gf_getMaskedStr("0626532879","062)653-2879")
//  ===============================================================================================
function gf_getMaskedStr(str, mask) {
	var sIndex = str.length - 1;
	var mIndex = mask.length - 1;
	var _str = "";

	while (mIndex >= 0 && sIndex >= 0) {
		if (mask.charAt(mIndex) == '#') {
			_str = str.charAt(sIndex) + _str;
			sIndex --;
			mIndex --;
		} else {
			_str = mask.charAt(mIndex) + _str;
			mIndex --;
		}
	}
	return _str;
}

//
//  ===============================================================================================
//  Function Name : gf_setComma(myObj,myEvent,digit)
//  Description   : ÀÔ·Â°ª¿¡ ÄÞ¸¶¸¦ »ðÀÔÇÏ¿© Currey¹®ÀÚ¿­·Î ¸¸µé¾î ÁØ´Ù.
//  myObj    	  : input °´Ã¼ (ÇÔ¼ö È£ÃâÇÒ ¶§ this ·Î ÁöÁ¤ÇÑ´Ù.)
//  myEvent		  : event °´Ã¼ (ÇÔ¼ö È£ÃâÇÒ ¶§ event·Î ÁöÁ¤ÇÑ´Ù.)
//  digit         : ÄÞ¸¶¸¦ »ðÀÔÇÒ ÀÚ¸®¼ö (»ý·«ÇÏ¸é 3)
//	return        : void
//  »ç¿ë¿¹        : gf_getCommaStr("1234567")
//  »ç¿ë¿¹        : <input type=text ... onKeyUp="gf_setComma(this,event)">
//  ===============================================================================================
function gf_setComma(myObj,myEvent,digit) {
	myObj.value = gf_getCommaStr(gf_getDigit(myObj.value),digit);
	if (window.event.keyCode != 13) myObj.focus();
}

//
//  ===============================================================================================
//  Function Name : gf_setMasked(myObj,myEvent,mask)
//  Description   : ÀÔ·Â ¼ýÀÚ¿­À» ¸¶½ºÅ©·Î Æ÷¸ËÇÏ¿© ¸¸µé¾î ÁØ´Ù.
//  myObj    	  : input °´Ã¼ (ÇÔ¼ö È£ÃâÇÒ ¶§ this ·Î ÁöÁ¤ÇÑ´Ù.)
//  myEvent		  : event °´Ã¼ (ÇÔ¼ö È£ÃâÇÒ ¶§ event·Î ÁöÁ¤ÇÑ´Ù.)
//  mask          : ¸¶½ºÅ© Æ÷¸Ë (¼ýÀÚ¸¶½ºÅ©´Â #, Æ¯¼ö¹®ÀÚ´Â ±×´ë·Î)
//	return        : void
//  »ç¿ë¿¹        : <input type=text ... onKeyUp="gf_setMasked(this,event,'###-####')">
//  ===============================================================================================
function gf_setMasked(myObj,myEvent,mask) {
	var _str = "";
	if (mask.length >= myObj.value.length) {
		_str = gf_getMaskedStr(gf_getDigit(myObj.value),mask);
		if (myEvent.keyCode != 13)	myObj.focus();
	} else {
		for(var i=0 ; i<mask.length ; i++) _str += myObj.value.charAt(i);
	}
	myObj.value = _str;
}

//
//  ===============================================================================================
//  Function Name : gf_autoTab(myObj,myEvent,len) 
//  Description   : myObj ÇÊµåÀÇ ÀÚµ¿ ÅÇ ÀÌµ¿
//  myObj    	  : input °´Ã¼ (ÇÔ¼ö È£ÃâÇÒ ¶§ this ·Î ÁöÁ¤ÇÑ´Ù.)
//  myEvent		  : event °´Ã¼ (ÇÔ¼ö È£ÃâÇÒ ¶§ event·Î ÁöÁ¤ÇÑ´Ù.)
//  len			  : ÀÚµ¿ ÅÇÀ» Ã³¸®ÇÒ ÀÔ·Â°ªÀÇ ±æÀÌ (»ý·«ÇÏ¸é maxLength °ªÀ¸·Î ÀÎ½Ä)
//	return 		  : true
//  »ç¿ë¿¹        : <input type=text ... onKeyUp="gf_autoTab(this,event)">
//  ===============================================================================================
function gf_autoTab(myObj,myEvent,len) { 
    var _key = (document.layers) ? myEvent.which : myEvent.keyCode;  //netscape or not
	var _filter  = (document.layers) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];  //netscape or not
	if (len+""=="undefined") len = myObj.maxLength;
	if (myObj.value.length >= len && !containsElement(_filter,_key)) { 
		myObj.value = myObj.value.slice(0, len); 
		myObj.form[getNextIndex(myObj)].focus(); 
	} 
	function containsElement(filter, keyCode) { 
		var found = false, index = 0; 
		while (!found && index < filter.length) {
			if (filter[index] == keyCode) found = true; 
			else index++; 
		}
		return found; 	
	} 
	function getNextIndex(myObj) {
		var index = getIndex(myObj); 
		for (++index ; index<myObj.form.length ; index++) {
			if ( (myObj.form[index].type != "hidden") && !(myObj.form[index].readOnly) && !(myObj.form[index].disabled) ) {
				break;
			}
		}
		return index % myObj.form.length;
	}
	function getIndex(myObj) { 
		var index = -1, i = 0, found = false; 
		while (i < myObj.form.length && index == -1) {
			if (myObj.form[i] == myObj) index = i; 
			else i++; 
		}
		return index;
	} 
	return true; 
} 

//-->

