/**
 * <pre>
 * NumberCheck
 * ºó°ø°£À» Çã¿ëÇÑ´Ù.
 * </pre>
 * @param field form.element
 * @param error_msg ¿¡·¯ message
 * @return boolean
 */
function isNumber(field, error_msg){
	var val = field.value;

	if(checkDigitOnly(val, false) ) {
		return true;
	} else {
		if(error_msg.length > 0) {
			alert(error_msg);
			field.focus();
			field.select();
		}
		return false;
	}
}

/**
 * <pre>
 * ¼ýÀÚÀÎÁö ¾Æ´ÑÁö  °Ë»çÇÑ´Ù.
 * °Ë»çÇÒ °ªÀÌ "" ÀÏ °æ¿ì true¸¦ ¸®ÅÏÇÏ°í ½ÍÀ¸¸é, spaceÀÎ¼ö¿¡ true¸¦ ³ÖÀ¸¸é µÈ´Ù.
 * </pre>
 * @param digitChar °Ë»çÇÒ string
 * @param space ""ÀÏ ¶§ Çã¿ë¿©ºÎ(true||false)
 * @return boolean
 */
function checkDigitOnly( digitChar, space ) {
	if(!space){
		if ( digitChar == null || digitChar=='' ){
    		return false ;
    	}
	}

	for(var i=0;i<digitChar.length;i++){
    	var c=digitChar.charCodeAt(i);
       	if( !(  0x30 <= c && c <= 0x39 ) ) {
       		return false ;
       	}
     }

    return true ;
}

/**
 * <pre>
 * ¼ýÀÚ³ª ¹®ÀÚ¿­À» ÅëÈ­(Money) Çü½ÄÀ¸·Î ¸¸µç´Ù.( ½°Ç¥(,) Âï´Â´Ù´Â ¼Ò¸®.. )
 * &lt;input type="text" name="test" value="" onkeyup="this.value=toCurrency(this.value);"&gt;
 * or
 * var num = toCurrency(document.form[0].text.value);
 * </pre>
 * @param	amount	"1234567"
 * @return	currencyString "1,234,567"
 */
function toCurrency(amount){
var data = amount.split('.');
	var sign = "";

	var firstChar = data[0].substr(0,1);
	if(firstChar == "-"){
		sign = firstChar;
		data[0] = data[0].substring(1, data[0].length);
	}

	data[0] = data[0].replace(/\D/g,"");
	if(data.length > 1){
		data[1] = data[1].replace(/\D/g,"");
	}

	firstChar = data[0].substr(0,1);

	//0À¸·Î ½ÃÀÛÇÏ´Â ¼ýÀÚµé Ã³¸®
	if(firstChar == "0"){
		if(data.length == 1){
			return sign + parseFloat(data[0]);
		}
	}

	var comma = new RegExp('([0-9])([0-9][0-9][0-9][,.])');

	data[0] += '.';
	do {
		data[0] = data[0].replace(comma, '$1,$2');
	} while (comma.test(data[0]));

	if (data.length > 1) {
		return sign + data.join('');
	} else {
		return sign + data[0].split('.')[0];
	}
}

/**
 * ÁÖ¾îÁø °ª(val)À» ¼Ò¼öÁ¡ÀÌÇÏ numÀÚ¸®¼ö¿¡¼­ ¹Ý¿Ã¸²ÇÑ°ªÀ» ¸®ÅÏÇÑ´Ù.
 *
 * @param val ¹Ý¿Ã¸²ÇÒ °ª
 * @param num ¹Ý¿Ã¸²ÇÒ ÀÚ¸®¼ö
 * @return number
 */
function round(val, num){
	val = val * Math.pow(10, num - 1);
	val = Math.round(val);
	val = val / Math.pow(10, num - 1);
	return val;
}

/**
 * ,ÀÌ ÀÖ´Â ¼ýÀÚ¸¦ ¼ø¼öÇÑ ¼ýÀÚ·Î ¹Ù²ãÁØ´Ù. (+), (-) Çã¿ë
 *
 * @param num
 * @return number
 */
function toNormalNum( num ) {
    num = num.replace(/,/g, '');
    var args = Number(num);
	return args;
}

/**
 * ¼ýÀÚ°¡ ÇØ´ç ¹üÀ§¸¦ ¹þ¾î³ª´ÂÁö °Ë»ç
 * ¹þ¾î³ª¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ º¸¿©ÁÖ°í true¸¦ ¸®ÅÏÇÑ´Ù.
 *
 * @param field form.element
 * @param min int ÃÖ¼Ò°ª
 * @param max int ÃÖ´ë°ª
 * @param error_msg string ¿¡·¯ ¸Þ¼¼Áö
 * @return boolean
 */
function isOutOfNumericRange(field, min, max, error_msg) {
	if(field.value < min || field.value > max) {
		alert(error_msg);
		field.focus();
		field.select();
		return true;
	}
	return false;
}
