/**
 * 문자열 유틸리티
 * @param
 * @return
 * @since 2009-01-30
 */
var ns_string = {

    /**
     * 콤마(,) 표시
     * @param string
     * @return string
     * @since 2009-01-30
     */
    toMoney: function(paramString, paramInteger) {
        if (typeof paramString != 'string') {
            paramString = paramString.toString();
        }
        var strPositiveNumber = this.trim(paramString).replace(/,/g,"");
        if (paramInteger == '0' || paramInteger) {
            var tmp = strPositiveNumber.split('.');
            if (tmp.length > 1) {
                if (Number(paramInteger) == 0) {
                    strPositiveNumber = tmp[0];
                } else {
                    strPositiveNumber = tmp[0] + '.' + tmp[1].substring(0, paramInteger);
                }
            }
        }
        while ((/(-?[0-9]+)([0-9]{3})/).test(strPositiveNumber)) {
            strPositiveNumber = strPositiveNumber.replace((/(-?[0-9]+)([0-9]{3})/), "$1,$2");
        }
        if (!strPositiveNumber) {
            strPositiveNumber = '0';
        }

        return strPositiveNumber;
    },

    /**
     * Control에 콤마(,) 표시
     * @param string
     * @return string
     * @since 2009-12-02
     */
    setMoney: function(paramObject) {
        if (typeof paramObject == 'undefined' || !paramObject) {
            return;
        }
        var strPositiveNumber = this.trim(paramObject.value);
        strPositiveNumber     = strPositiveNumber.replace(/,/g,"");
        while ((/(-?[0-9]+)([0-9]{3})/).test(strPositiveNumber)) {
            strPositiveNumber = strPositiveNumber.replace((/(-?[0-9]+)([0-9]{3})/), "$1,$2");
        }
        paramObject.value = strPositiveNumber;
    },

    /**
     * 콤마(,) 삭제
     * @param string
     * @return string
     * @since 2009-12-02
     */
    removeComma: function(paramString) {
        if (typeof paramString != 'string') {
            paramString = paramString.toString();
        }
        return paramString.replace(/,/g, '');
    },
/*
function setComma(obj) {
    var tmp, result;
    tmp = obj.value.split('.');

    if (tmp.length == 1) { 
        result = Number(String(tmp[0]).replace(/\..*|[^\d]/g,'')).toLocaleString().slice(0,-3);
    } else {
        result = Number(String(tmp[0]).replace(/\..*|[^\d]/g,'')).toLocaleString().slice(0,-3) + "." + tmp[1]  ;
    }
 
    obj.value = result;
}
*/

    /**
     * 양쪽 공백제거
     * @param string
     * @return string
     * @since 2009-01-30
     */
    trim: function(paramString) {
        var result = '';
        if (paramString != null && paramString.length > 0) {
            result = paramString.replace(/(^\s*)|(\s*$)/g, "");
        } else {
            result = "";
        }
        return result;
    },

    /**
     * 문자열 자르기
     * @param string, int
     * @return string
     * @since 2009-02-09
     */
    cutString: function(paramString, paramInteger) {
        var result = paramString;
        var j = 0;
        for (var i=0; i < result.length; i++) {
            j += (result.charCodeAt(i) > 128) ? 2 : 1;
            if (j > paramInteger) return result.substring(0,i) + '...';
        }
        return result;
    },

    /**
     * 전자우편 주소 체크
     * @param string, int
     * @return string
     * @since 2009-02-09
     */
    emailValid: function(paramString) {
        var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
        var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
        
        return (!r1.test(paramString) && r2.test(paramString));
    },

    /**
     * 문자열 바꾸기
     * @param string, int
     * @return string
     * @since 2009-02-09
     */
    replaceSlash: function(paramString) {
        if (paramString) {
            paramString = paramString.replace(/\\/g, '');
        }
        
        return paramString;
    }
}
