

//°èÁÂ¹øÈ£format
function acctFormat(obj)
{
    unformat(obj);
    var str = obj.value;
    if( ( Number(obj.value) + "" ) == 'NaN' ){
        alert("¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØÁÖ¼¼¿ä.");
        obj.focus();
        return;
    }
    var leng = str.length;
    if(leng > 0) {
	    var result = str.substr(0, 3) + "-" + str.substr(3,2) + "-" + str.substr(5, str.length);
	    obj.value = result;
	}
    return;
}

// ¼ýÀÚ¸¸ ³²±â°í ´Ù Áö¿ò
function unformat(obj) {
    var temp = "";
    var n = String(obj.value);
    var len = n.length;
    var pos = 0;
    var ch = '';

    while (pos < len) {
        ch = n.charAt(pos);
        if ((ch >= '0') && (ch <= '9')) temp = temp + ch;
        pos = pos + 1;
    }
    obj.value = temp;
    return obj.value;
}

// ¼ýÀÚ¸¸ ³²±â°í ´Ù Áö¿ò
function unformatval(val) {
    var temp = "";
    var n = String(val);
    if( n.length == 0 ) return 0;
    var len = n.length;
    var pos = 0;
    var ch = '';

    while (pos < len) {
        ch = n.charAt(pos);
        if ((ch >= '0') && (ch <= '9')) temp = temp + ch;
        pos = pos + 1;
    }
    val = temp;
    return val;
}

// ¼ýÀÚ¸¸ ³²±â°í ´Ù Áö¿ò : number typeÀ¸·Î º¯È¯ÇÑ´Ù. //20040830 ¾î¿µ¼ö Ãß°¡
// ¿¹ : 00123 ==> 123
function unformatNum(val) {
    var temp = "";
    var n = String(val);
    if( n.length == 0 ) return 0;
    var len = n.length;
    var pos = 0;
    var ch = '';

    while (pos < len) {
        ch = n.charAt(pos);
        if ((ch >= '0') && (ch <= '9')) temp = temp + ch;
        pos = pos + 1;
    }
    val = Number(temp);
    return val;
}

String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

function removeTag(s) {
    switch ( typeof s ) {
        case "string": return s.replace(/<[^<>]+>/g, "");
        case "number": return s;
    }
}

function removeFlag(s) {
    switch ( typeof s ) {
        case "string": return s.replace(/[¡è¡ã¡é¡å]/g, "");
        case "number": return s;
    }
}

function tagToNumber(tag) {
    return Number(removeTag(tag).replace(/,/g, ""));
}
function removeComma(s) {
    return s.replace(/[, ]/g, "")
}
function comma(s) {
    var numstr;
    switch ( typeof s ) {
        case "string":  numstr = removeComma(s); break;
        case "number" : numstr = String(s); break;
        default: numstr = String(s);
    }
    return number_format( numstr, 3);
}

function number_format(s) {

  var numstr;
  switch ( typeof s ) {
        case "string":  numstr = removeTag(s); break;
        default: numstr = String(s);
  }
  var re0 = /(\d+)(\d{3})($|\..*)/;
  if (re0.test(numstr))
    return numstr.replace(
      re0,
      function(str,p1,p2,p3) { return number_format(p1) + "," + p2 + p3; }
    );
  else
    return numstr;
}
// ¿©±â¼­ºÎÅÍ´Â Å×½ºÆ®¿ë...
//document.write( number_format(132,3) );
//document.write("<br>");
//document.write( number_format(25.37,3) );
//document.write("<br>");
//document.write( number_format(3276851,3) );
//document.write("<br>");
//document.write( number_format(2768135.3765,3) );
//document.write("<br>");
//document.write( number_format("132",3) );
//document.write("<br>");
//document.write( number_format("25.37",3) );
//document.write("<br>");
//document.write( number_format("3276851",3) );
//document.write("<br>");
//document.write( number_format("2768135.3765",3) );
//document.write("<br>");

// ÄÄ¸¶¸¦ ºÙ¿©¼­ ³Ñ°ÜÁØ´Ù. s ÀÇ type Àº ¹Ýµå½Ã string ¶Ç´Â number
function comma2(s) {
    if( !s ) return;
    var number;
    switch ( typeof s ) {
        case "string":  number = Number(s); break;
        case "number":  number = s; break;
        default: return "";
    }

    if ( isNaN(number) ) return s;// number == NaN À¸·Î´Â Ã¼Å© ºÒ°¡

    var isMinus = number < 0;
    var numStr = String(Math.abs(number));
    var dotPos = numStr.indexOf(".");
    var result;
    var sPos;
    if ( dotPos < 0 ) {
        result = "";
        sPos = numStr.length - 1;
    } else {
        result = numStr.substring(dotPos);
        sPos = dotPos - 1;
    }

    var cnt = 1;
    var chkPos = sPos;
    while ( chkPos >= 0 ) {
        var numChar = numStr.charAt(chkPos);
        result = (cnt % 3 == 1 && chkPos != sPos ? (numChar + ","):numChar) + result;
        chkPos--;
        cnt++;
    }
    return isMinus ? "-"+result:result;
}

function addZero(number) {
	var numStr = number + "";
	return ( number < 10 ) ? ("0" + numStr): numStr;
}

function getMonth( edate, prevnext ) {
    var endDate = (edate != "") ? new Date(edate.substr(0,4), edate.substr(4,2)-1,edate.substr(6,2)) : new Date();
    if (isNaN(edate)) { endDate=new Date(); }
    endDate.setMonth(endDate.getMonth() + prevnext );

    var cMonth = endDate.getMonth() + 1;
    var cDay   = endDate.getDate() - 1;
    return endDate.getYear() + addZero(cMonth) + addZero( cDay);
}

function getDate(){
    var date = new Date();
    return formatDate2(date, 'YMd');
}

function formatDate2(d, format) {
    var r = "";
    for ( var n = 0, cnt = format.length; n < cnt; n++ ) {
        var c = format.charAt(n);
        switch ( c ) {
            case "Y": r += String(d.getFullYear()).npad(4); break;
            case "M": r += String(d.getMonth()+1).npad(2); break;
            case "d": r += String(d.getDate()   ).npad(2); break;
            case "H": r += String(d.getHours()  ).npad(2); break;
            case "m": r += String(d.getMinutes()).npad(2); break;
            case "s": r += String(d.getSeconds()).npad(2); break;
            default : r += c;
        }
    }
    return r;
}

function formatDate(d, format) {
    var r = "";
    for ( var n = 0, cnt = format.length, i=0; n < cnt; n++ ) {
        var c = format.charAt(n);
        switch ( c ) {
            case "Y":
            case "y":
            case "M":
            case "D":
            case "d":
            case "H":
            case "h":
            case "m":
            case "S":
            case "s": r += d.charAt(i); i++; break;
            case "r": i++; break;
            default : r += c;
        }
    }
    return r;
}

function dateFormat(dateStr) {
	if (dateStr)  return dateStr.length >= 8 ? (dateStr.substr(0, 4)+"/"+dateStr.substr(4, 2)+"/"+dateStr.substr(6, 2)):dateStr;
	else return "//";
}
function timeFormat(timeStr) {
    try{
        if ( !isNaN(timeStr) )
         return timeStr.length >= 6 ? (timeStr.substr(0, 2)+":"+timeStr.substr(2, 2)+":"+timeStr.substr(4, 2)):(timeStr.substr(0, 2)+":"+timeStr.substr(2, 2));
        else{
         if( timeStr.indexOf('%u') == -1 )
            return (timeStr.substr(0, 1)+":"+timeStr.substr(1, 1)+":"+timeStr.substr(2, 1));
         else
            return timeStr.length >= 6 ? (timeStr.substr(0, 2)+":"+timeStr.substr(2, 2)+":"+timeStr.substr(4, 2)):(timeStr.substr(0, 2)+":"+timeStr.substr(2, 2));
        }
    }catch(e){
        return "::";
    }
}


//Grid ¸¦ À§ÇÑ Over Out ¼³Á¤////////////////////////////////////////////////////////////////////////

function overTR(tr) {
	if ( tr == null ) tr = this;
	if ( tr.selected ) return;

	tr.style.backgroundColor = "#F8F8F9";
}
function outTR(tr) {
	if ( tr == null ) tr = this;
	if ( tr.selected )
		return;
	tr.style.backgroundColor = "";
}

function clickTR(tr) {
	if ( tr == null ) tr = this;
	tr.selected = ! tr.selected;
	if ( tr.selected )
		tr.style.backgroundColor = "#F4F2EA";
	else
		tr.style.backgroundColor = "";
}

function clickTROne(tr) {
	if ( tr == null ) tr = this;
	if ( tr.parentElement.selectedChild ) {
		var prev = tr.parentElement.selectedChild;
		prev.selected = false;
		prev.style.backgroundColor = "";
	}
	tr.selected = true;
	tr.style.backgroundColor = "#F4F2EA";
	tr.parentElement.selectedChild = tr;
}
function declickTR(tr) {
	if ( tr == null ) tr = this;
	tr.style.backgroundColor = "";
	tr.selected = false;
}

function setOverOutClick(tab, block_cnt, func) {

	for ( var r = 0, rlen = tab.rows.length; r < rlen; r++ ) {
		var row = tab.rows[r];
		if ( row.className == "displayNone" )
			break;

		declickTR(row);
		if ( r < block_cnt ) {
		    row.style.cursor = "hand";
			row.onclick = clickTROne;
			row.onmouseover = overTR;
			row.onmouseout = outTR;
			if (func) row.onmousedown = func;
		} else {
		    row.style.cursor = "";
			row.onclick = "";
			row.onmouseover = "";
			row.onmouseout = "";
			row.onmousedown = "";
		}
	}
}