/******************************************************** 
   파일명 : lib.number.js
   설  명 : 숫자처리 관련 공통 함수 모음
   작성자 : 김현배 
   작성일 : 2008.08.18 
   수정일 : 2008.08.18 
*********************************************************/ 

/**
	함수명 : 
	설  명 : String class에 trim함수 추가
	인  자 : 
	리  턴 : 
	사용법 : 내부 사용용도
 */
String.prototype.trim = function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

/**
	함수명 : del_comma
	설  명 : 숫자열의 ',' 문자를 제거하는 함수
	인  자 : object
	리  턴 : ','가 제거된 문자열
	사용법 : 
		var amt = del_comma(form.amt);
 */
function del_comma(obj) {
	var str =  String(obj.value);
	if (str.length < 1) {
		return "0";
	} else {
		var st = "";
		var sp = ",";
		for (var i = 0; i < str.length; i++) {
			if (sp.indexOf(str.substring(i, i + 1)) == -1) {
				st += str.substring(i, i + 1);
			}
		}
		return st;
	}
}

function addComma(str) {
	var str =  String(str);
    var x = 0;
    if (str.length < 1) {
        return "";
    } else {
        var tm = "";
        var ck = "";
        if (str.substring(0, 1) == "-") {
            tm = str.substring(1, str.length);
            ck = "Y";
        } else {
            tm = str;
            ck = "N";
        }
        var st = "";
        var cm = ",";
        for (var i = tm.length, j = 0; i > 0; i--, j++) {
            if ((j % 3) == 2) {
                if (tm.length == j + 1) st = tm.substring(i - 1, i) + st;
                else st = cm + tm.substring(i - 1, i) + st;
            } else {
                st = tm.substring(i - 1, i) + st;
            }
        }
        if (ck == "Y") st = "-" + st;
        return st;
    }
}

/**
	함수명 : add_comma
	설  명 : 금액을 나타내는 숫자열에 3자리 단위로 ','를 삽입하는 함수
	인  자 : object
	리  턴 : ','가 포함된 문자열
	사용법 : 
		var amt = add_comma(form.amt);
 */
function add_comma(obj) {
	var str =  String(obj.value);
    var x = 0;
    if (str.length < 1) {
        return "";
    } else {
        var tm = "";
        var ck = "";
        if (str.substring(0, 1) == "-") {
            tm = str.substring(1, str.length);
            ck = "Y";
        } else {
            tm = str;
            ck = "N";
        }
        var st = "";
        var cm = ",";
        for (var i = tm.length, j = 0; i > 0; i--, j++) {
            if ((j % 3) == 2) {
                if (tm.length == j + 1) st = tm.substring(i - 1, i) + st;
                else st = cm + tm.substring(i - 1, i) + st;
            } else {
                st = tm.substring(i - 1, i) + st;
            }
        }
        if (ck == "Y") st = "-" + st;
        return st;
    }
}

/**
	함수명 : chk_unit
	설  명 : 금액의 단위를 체크하는 함수
	인  자 : obj : 대상, unit : 금액의 단위, objNm : 대상의 이름
	리  턴 : 단위가 올바른지 여부
	사용법 : 
		if(!chk_unit(form.amt, 100, "보험료")){
			return;
		}
 */
function chk_unit(obj, unit, objNm){
	var nAmt = 0;

	if(obj.value == "") obj.value = "0";

	nAmt = parseInt(del_comma(obj), 10);

	if(is_digit(obj)){
		nAmt = eval(nAmt % unit);

		if (nAmt > 0){
			alert(objNm+" 가입금액은 "+unit+"만원 단위입니다.")
			obj.value="0";
			obj.focus()
			return false;
		}
	}
	return true;
}


/**
	함수명 : getInt
	설  명 : 컨트롤의 value를 Parsing해 int값을 리턴한다.
	         ,를 제거 하고 값이 숫자형태가 아니라면 0을 리턴한다.
	인  자 : obj : 대상
	리  턴 : 컨트롤의 value를 Parsing해 int값을 리턴
	사용법 : 
		var iValue = getInt(form.amt);
 */
function getInt(ctl){
	return isNaN(del_comma(ctl))?0:parseInt(del_comma(ctl), 10) ;
}

/**
	함수명 : AgeSelect
	설  명 : 숫자 셀렉트 박스를 만듬(나이 1~100)
	인  자 : 셀렉트박스 이름 : age
	리  턴 : 
	사용법 : 
		AgeSelect("age"); //셀렉트 박스 이름을 인자로 주고 function선언
		<div id="age"></div> //인자값과 동일한 div나 span을 만들어야함
 */
function AgeSelect(age) {

	var now = new Date();		
	
	var str = "<select name='"+age+"'>";	
    str += "<option value=''>선택</option>";
	
	for (var i=1 ; i <= 100; i++) {
		var selectStr = "";
		str += "<option value="+i+" "+selectStr+">"+i+"</option>";
	}
	str +="</select>";
	document.getElementById(age).innerHTML = str;	//인자값과 같은 id이름의 div나 span에 
													//innerHTML으로 만들어진 selectbox를 그려줌
}