﻿// JScript 파일


/*-------------------------------------------------------------
input type=file 값 초기화
delInputFile()
최진수 2010.07.16
-------------------------------------------------------------*/
function delInputFile() {
    var fileList = document.getElementsByTagName("input");
    for (var i = 0; i < fileList.length; i++) {
        if (fileList[i].type == "file") {
            fileList[i].select();
            document.selection.clear();
        }
    }
}

/*************************************
*** Param
checkId : 체크 ID
rptId   : 리피터 ID ( 전체 아이디명 )
itemId  : 리피터의 아이템 아이디명 ( 개체에 대한 아이디명 )
tNum    : 총 리피터 아이템수
**************************************/
function RepeaterAll(checkId, rptId, itemId, tNum) {
    var chk = document.getElementById(checkId);
    var num = "";
    var makeId = "";

    if (chk.checked) {
        RepeaterCheckBoxStatus(rptId, itemId, tNum, true);
    }
    else {
        RepeaterCheckBoxStatus(rptId, itemId, tNum, false);
    }
}

/*************************************
*** Param
rptId   : 리피터 ID ( 전체 아이디명 )
itemId  : 리피터의 아이템 아이디명 ( 개체에 대한 아이디명 )
tNum    : 총 리피터 아이템수
b       : CheckBox의 true / false
**************************************/
function RepeaterCheckBoxStatus(rptId, itemId, tNum, b) {
    var makeId = "";
    var num = "";

    for (var i = 0; i < tNum; i++) {
        makeId = "";
        if (i < 10)
            num = "0" + i;
        else
            num = i;

        makeId = rptId;
        makeId = makeId + "_ctl" + num + "_" + itemId;

        document.getElementById(makeId).checked = b;
    }
}

/*************************************
*** Param
rptId   : 리피터 ID ( 전체 아이디명 )
itemId  : 리피터의 아이템 아이디명 ( 개체에 대한 아이디명 )
arrNum  : 몇번째인지
**************************************
*** Return
makeId  : 전체 아이템 아이디 리턴
***************************************/
function EachRepeaterItemId(rptId, itemId, arrNum) {
    var makeId = "";

    if (arrNum < 10)
        arrNum = "0" + arrNum;

    makeId = rptId;
    makeId = makeId + "_ctl" + arrNum + "_" + itemId;

    return makeId;
}


//trim()함수 추가
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/gi, "");
}

//## 숫자인가 아닌가 해서 이씨! 해주는거
function checkQty(obj) {
    var value = obj.value;
    var flag = 1;

    if (isNaN(value)) {
        alert("숫자만 입력하십시오");
        flag = 0;
    }

    if (!checkByte(obj, 0, "구매수량을 "))
    { flag = 0; }

    return flag;
}


//########## 체크 관련 스크립트 ###########################
function allcheck(theform) {
    for (i = 0; i < theform.length; i++) { theform[i].checked = true; }
    return;
}


//그 반대
function discheck(theform) {
    for (i = 0; i < theform.length; i++) { theform[i].checked = false; } return;
}

function reverse_check(form) {
    for (var i = 0; i < form.elements.length; i++) {
        var ele = form.elements[i];
        if (ele.name == 'item_chk[]')
            ele.checked = !ele.checked;
    }
}


function isCheckedForm(obj, msg, length) {
    var value = 0;

    for (i = 0; i < length; i++) {
        if (obj[i].checked) value++;
    }

    if (value == 0) {
        obj[0].focus();
        alert(msg);
        return false;
    } else {
        return true;
    }
}


function isCheck(obj, msg) {

    var flag = false
    for (i = 0; i < obj.length; i++) {
        if (obj[i].checked) {
            flag = true;
        }
    }

    if (!flag) {
        alert(msg);
    }

    return flag;

}
//###############################################################################################################


//### 소수점 함수 #########################################

function returnFloat(value, pointLength) {
    var passVal = value.toString();
    var tmp;
    var returnVal;

    passVal = passVal.split(".");
    tmp = passVal[1].split("");


    returnVal = passVal[0] + "."; //정수부분 

    for (i = 0; i < pointLength; i++) {
        returnVal += tmp[i];        //실수부
    }

    return returnVal;
}
//#########################################################


function handelEnterAddObject(event, obj, type) {
    var keyCode = event.keyCode ? event.keyCode :
                  event.which ? event.which : event.charCode;
    if (keyCode == 13) {
        if (type == 1) // focus
        {
            obj.focus();

        } else { //select

            obj.select();
        }

        return false;
    } else {
        return true;
    }
}

function handleEnter(field, event, type) {
    var keyCode = event.keyCode ? event.keyCode :
                event.which ? event.which : event.charCode;

    if (keyCode == 13) {
        var i;
        for (i = 0; i < field.form.elements.length; i++)
            if (field == field.form.elements[i])
            break;

        i = (i + 1) % field.form.elements.length;

        if (type == 1) // focus
        {
            field.form.elements[i].focus();

        } else { //select

            field.form.elements[i].select();
        }

        return false;
    }
    else
        return true;
}

//엔터키 먹게하기


function field_move(obj, leng, target_obj) {
    var gil = parseInt(leng);
    if (obj.value.length == gil) target_obj.select();

}

function fieldMoveNotEmpty(obj, leng, target_obj) {
    var gil = parseInt(leng);
    if (obj.value.length == gil) target_obj.focus();
}


//타겟이동 function OKOK!!


function findadd(z1, z2, a1, a2, formName) {
    t_arg = "z1=" + z1 + "&z2=" + z2 + "&a1=" + a1 + "&a2=" + a2 + "&formName=" + formName;
    t_url = "/lib/find_zipcode_form.php?" + t_arg;

    window.open(t_url, "autoaddress", "location=0,toolbar=no,directories=no,status=no,scrollbars=yes,resizable=yes,menubar=no,width=560,height=220,left=0,top=0");
}


function noSplitAndNumberOnly(ob) {
    var txtNumber = '' + ob.value;
    if (isNaN(txtNumber) || txtNumber.indexOf('.') != -1)   // 소수점 사용 불가 추가
    {
        ob.value = ob.value.substring(0, ob.value.length - 1);
        ob.focus();
        return ob.value;
    }
    else
        return ob.value;
}


//------------------------------
//
//-----------------------------

function commaSplitAndNumberOnly(ob) {
    var txtNumber = '' + ob.value;

    if (isNaN(txtNumber) || txtNumber.indexOf('.') != -1)   // 소수점 사용 불가 추가
    {
        ob.value = ob.value.substring(0, ob.value.length - 1);
        ob.value = commaSplitAndNumberOnly(ob);
        ob.focus();
        return ob.value;
    }
    else {
        var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
        var arrNumber = txtNumber.split('.');

        arrNumber[0] += '.';
        do {
            arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
        }
        while (rxSplit.test(arrNumber[0]));

        if (arrNumber.length > 1) {
            return arrNumber.join('');
        }
        else {
            return arrNumber[0].split('.')[0];
        }
    }
}


//값만 return 
function commaSplitAndNumberOnly3(objVal) {
    var txtNumber = '' + objVal;

    if (isNaN(txtNumber) || txtNumber.indexOf('.') != -1)   // 소수점 사용 불가 추가
    {
        //txtNumber = objVal.substring(0, objVal.length - 1); 
        return txtNumber;
    }
    else {
        var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
        var arrNumber = txtNumber.split('.');

        arrNumber[0] += '.';
        do {
            arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
        }
        while (rxSplit.test(arrNumber[0]));

        if (arrNumber.length > 1) {
            return arrNumber.join('');
        }
        else {
            return arrNumber[0].split('.')[0];
        }
    }
}
///////  돈에 , 를 넣어주데 포커스를 주지 않는다 /////////////////////////////////////////////////////////////////


function commaSplitAndNumberOnlyNotFocus(ob) {
    var txtNumber = '' + ob.value;
    if (isNaN(txtNumber))   // 소수점 사용 가능
    {
        ob.value = ob.value.substring(0, ob.value.length - 1);
        //alert('숫자 혹은 \'.\' 만 입력하십시오.');
        return ob.value;
    }
    else {
        var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
        var arrNumber = txtNumber.split('.');
        arrNumber[0] += '.';
        do {
            arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
        }
        while (rxSplit.test(arrNumber[0]));

        if (arrNumber.length > 1) {
            return arrNumber.join('');
        }
        else {
            return arrNumber[0].split('.')[0];
        }
    }
}

// 포커스까지 이동하는것 (주로 온키다운 업에 이용)

function commaSplitAndAllowDot(ob) {
    var txtNumber = '' + ob.value;
    if (isNaN(txtNumber))   // 소수점 사용 가능
    {
        ob.value = ob.value.substring(0, ob.value.length - 1);
        //alert('숫자 혹은 \'.\' 만 입력하십시오.');
        ob.focus();
        return ob.value;
    }
    else {
        var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
        var arrNumber = txtNumber.split('.');
        arrNumber[0] += '.';
        do {
            arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
        }
        while (rxSplit.test(arrNumber[0]));

        if (arrNumber.length > 1) {
            return arrNumber.join('');
        }
        else {
            return arrNumber[0].split('.')[0];
        }
    }
}


function f_is_num(obj, lbl) {
    var nLen = obj.value.length;
    for (i = 0; i < nLen; i++) {
        temp = obj.value.substring(i, i + 1);

        //			alert(temp);

        if (temp < '0' || temp > '9') {
            //				if ( temp == '.' )
            //				{
            alert(lbl + ' 숫자만 입력할 수 있습니다.');
            obj.focus();
            return true;
            //				}
        }
    }
    return false;
}


////////////////////////////////////////////////////////////////////////////////////////////
///숫자만 입력되게
function handlerNum(obj) {
    e = window.event;
    if (e.keyCode == 9) return;  //탭은 허용
    if (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 8 || e.keyCode == 46) {
        if (e.keyCode == 48 || e.keyCode == 96) {
            if (obj.value == "")
                e.returnValue = false;
            else
                return;
        }
        else
            return;
    }
    else
        e.returnValue = false;
}

////////////////////////////////////////////////////////////////////////////////////////////
///돈,콤마찍어서
// 콤마 찍기
function commify(n) {
    var reg = /(^[+-]?\d+)(\d{3})/;   // 정규식
    n += '';                          // 숫자를 문자열로 변환

    while (reg.test(n))
        n = n.replace(reg, '$1' + ',' + '$2');

    return n;
}
// 콤마 없애기
function unComma(str) {
    return str.replace(/,/g, "");
}

function checkOnlyNumber()  // 숫자만 입력했는지 검사
{
    var ob = event.srcElement;
    ob.value = filterNum(ob.value);
    ob.value = commaSplitAndNumberOnly(ob);
    return false;
}


////////////////////////////////////////////////////////////////////////////////////////////
///돈,콤마찍어서 OnKeyup 이벤트에서 바로 걸때
function checkOnlyNumber2(ob)  // 숫자만 입력했는지 검사
{
    ob.value = filterNum(ob.value);
    ob.value = commaSplitAndNumberOnly(ob);
    return false;
}
 

/// 돈2 ///////////////////////////////////////////////////////////////////////////////////////

function checkComma(ob)  // 숫자만 입력했는지 검사
{
    ob.value = commaSplitAndNumberOnlyNotFocus(ob);
    return;
}

//////////////////////////////////////////////////////////////////////////////////////////////


///맹숫자만
function checkOnlyNumberNotComma() {
    var ob = event.srcElement;
    ob.value = noSplitAndNumberOnly(ob);
    return false;
}

////이자율을 입력할 때 사용한다.
function checkAllowDot()  // 숫자와 dot 만을 입력했는지 검사
{
    var ob = event.srcElement;
    ob.value = filterNum(ob.value);

    spnumber = ob.value.split('.');
    if (spnumber[0].length >= 3) {
        alert('정수 두자리, 소수점 둘째자리까지 입력 가능합니다.');
        ob.value = spnumber[0].substring(0, 2);
        ob.focus();
        return false;
    }

    ob.value = commaSplitAndAllowDot(ob);
    return false;
}


function checkCombo(ob, msg) {
    if (ob.selectedIndex == 0) {
        alert(msg + ' 선택하지 않았습니다. ');
        ob.focus();
        return false;
    }
    return true;
}


function checkByte(ob, bnum, msg) {
    if (bnum == 0) {
        if (ob.value.length == 0) {
            alert(msg);
            ob.focus();
            return false;
        }
    }

    else if (ob.value.length < bnum) {
        //bnum_half = bnum / 2;
        alert(msg);
        ob.focus();
        return false;
    }

    return true;
}

// 두개의 Variable이 같은지 체크
function checkVar(ob, ob2, msg) {
    if (ob.value != ob2.value) {
        alert(msg + ' 틀립니다.');
        ob2.focus();
        ob2.value = "";
        return false;
    }

    return true;
}

function checkBytePrecisely(ob, bnum, msg) // 정확하게 몇 자를 입력하도록 요구
{
    if (ob.value.length != bnum) {
        alert(msg + ' ' + bnum + ' 자로 입력해야합니다.');
        ob.focus();
        return false;
    }

    return true;
}

function checkInputLimit(ob, min, max, msg) // 입력값이 min 이상 max 이하가 되는지 체크
{
    if (ob.value < min || ob.value > max) {
        alert(msg + ' ' + min + ' 이상 ' + max + ' 이하의 값을 입력해야 합니다.');
        ob.focus();
        return false;
    }

    return true;
}



function filterNum(str)    // $ 와 콤마 제거 함수
{
    re = /^\$|,/g;
    // "$" and "," 입력 제거
    return str.replace(re, "");
}

function filterNumOb(ob) {
    ob.value = filterNum(ob.value);
}


//###### 소수점 관련 

function filterNumDollor(str)    //$ 안제거 하구 , 제거 함수
{
    re = /^|,/g;
    return str.replace(re, "");
}


function commaSplitDotOk(obj) {
    var passVal = obj.value;
    var tmp;
    var returnVal;
    var kk = '';
    var count = 0;
    var firstSplit = '';

    passVal = filterNumDollor(obj.value);

    if (passVal.indexOf("\$") == 0) {
        firstSplit = passVal.split("\$");
        passVal = firstSplit[1];
        firstSplit = "\$";
    }

    passVal = passVal.split(".");
    tmp = passVal[0].split("");

    for (var i = tmp.length - 1; i > -1; i--) {
        if (count == 3) {
            kk += ",";
            count = 0;
        }
        kk += tmp[i]
        count++;
    }

    kk = reverseString(kk);

    if (!isNaN(passVal[1]))
    { kk += '.' + passVal[1] }
    obj.value = firstSplit + kk;

}

function reverseString(value) {
    var temp = value.split("");
    var re_count = temp.length;
    var returnVal = '';

    for (var j = re_count - 1; j > -1; j--) {
        // alert(j); 
        returnVal += temp[j];
    }

    return returnVal;
}


// 사업자 등록 번호 체크 


function BizCheck(obj1, obj2, obj3) {
    biz_value = new Array(10);

    if (isBizInteger(obj1.value, 3) == false) {
        obj1.focus();
        obj1.select();
        return false;
    }

    if (isBizInteger(obj2.value, 2) == false) {
        obj2.focus();
        obj2.select();
        return false;
    }

    if (isBizInteger(obj3.value, 5) == false) {
        obj3.focus();
        obj3.select();
        return false;
    }

    var objstring = obj1.value + "-" + obj2.value + "-" + obj3.value;
    var li_temp, li_lastid;

    if (objstring.length == 12) {
        biz_value[0] = (parseFloat(objstring.substring(0, 1)) * 1) % 10;
        biz_value[1] = (parseFloat(objstring.substring(1, 2)) * 3) % 10;
        biz_value[2] = (parseFloat(objstring.substring(2, 3)) * 7) % 10;
        biz_value[3] = (parseFloat(objstring.substring(4, 5)) * 1) % 10;
        biz_value[4] = (parseFloat(objstring.substring(5, 6)) * 3) % 10;
        biz_value[5] = (parseFloat(objstring.substring(7, 8)) * 7) % 10;
        biz_value[6] = (parseFloat(objstring.substring(8, 9)) * 1) % 10;
        biz_value[7] = (parseFloat(objstring.substring(9, 10)) * 3) % 10;
        li_temp = parseFloat(objstring.substring(10, 11)) * 5 + "0";
        biz_value[8] = parseFloat(li_temp.substring(0, 1)) + parseFloat(li_temp.substring(1, 2));
        biz_value[9] = parseFloat(objstring.substring(11, 12));
        li_lastid = (10 - ((biz_value[0] + biz_value[1] + biz_value[2] + biz_value[3] + biz_value[4] + biz_value[5] + biz_value[6] + biz_value[7] + biz_value[8]) % 10)) % 10;
        if (biz_value[9] != li_lastid) {
            obj1.focus();
            obj1.select();
            return false;
        }
        else
            return true;
    }
    else {
        obj1.focus();
        obj1.select();
        return false;
    }
}

// 주민 번호 체크 
function ssnCheck(obj1, obj2) {
    total = 0;
    temp = new Array(13);

    for (i = 1; i <= 6; i++)
        temp[i] = obj1.value.charAt(i - 1);
    for (i = 7; i <= 13; i++)
        temp[i] = obj2.value.charAt(i - 7);

    for (i = 1; i <= 12; i++) {
        k = i + 1;
        if (k >= 10)
            k = k % 10 + 2;
        total = total + temp[i] * k;
    }
    mm = temp[3] + temp[4];
    dd = temp[5] + temp[6];

    totalmod = total % 11;
    chd = 11 - totalmod;
    if (chd == temp[13] && mm < 13 && dd < 32 && (temp[7] == 1 || temp[7] == 2)) {
        return true;
    } else {
        alert("유효하지 않은 주민번호 입니다");
        obj1.value = '';
        obj2.value = '';
        obj1.focus();
        return false;
    }
}


// 이메일 체크 함수 
function scheck(obj) {
    fieldData = new String(obj.value)
    regPattern = /`|~|!|@|#|\$|%|\^|&|\*|\(|\)|\\|\||'|"|;|:|<|>|\/|\?|\[|\]|\{|\}/g
    matchResult = ""
    matchResult = fieldData.match(regPattern)
    return (matchResult)
}

//-----------------------------------------------------------------------------------
function checkAlphaNum(obj, msg) {
    // 영문, 숫자만 입력
    re = /[^A-Za-z0-9]/
    if (re.test(obj.value)) {
        alert(msg + '는 영문,숫자만 입력 가능 합니다');
        obj.value = "";
        obj.focus();
        return false;
    }

    return true;
}

function postcheck(text) {
    // ###-### 이렇게 우편번호 형식의 숫자만이 입력되어야 true를 반환한다.
    re = /^\d{3}-\d{3}$/
    if (re.exec(text) != null) return true
    else return false
}
//------------------------- 신규 추가 


function raiseEnterAction(btn) {
    if (event.keyCode == 13) {
        self.focus();
        document.all[btn].click();
        return false;
    }
    return true;
}

// 팝업고정
function openWindow(url, height, width) {
    var popobj = window.open(url, 'eventPOP', 'resizable=no, left=0, top=0, toolbar=no,scrollbars=auto,directories=no,menubar=no,width=' + width + ',height=' + height)
    popobj.focus();
}

// 팝업이름
function openWindow2(url, PopName, height, width) {

    var popobj = window.open(url, PopName, 'resizable=no,toolbar=no,scrollbars=no,directories=no,menubar=no,width=' + width + ',height=' + height)
    popobj.focus();
}

// 위치를 마음데로
function openWindow3(url, PopName, height, width, left, top) {
    var popobj = window.open(url, PopName, 'resizable=no,toolbar=no,left=' + left + ',top=' + top + ',scrollbars=no,directories=no,menubar=no,width=' + width + ',height=' + height)
    popobj.focus();
}

// 스크롤바 사용
function openWindow4(url, PopName, height, width, left, top) {
    var popobj = window.open(url, PopName, 'resizable=no,toolbar=no,left=' + left + ',top=' + top + ',scrollbars=yes,directories=no,menubar=no,width=' + width + ',height=' + height)
    popobj.focus();
}


function btnPermissionCheck(str) {
    alert("해당메뉴의" + str + " 권한이 없습니다.");
    return false;
}


function createCalendar() {
    document.write("<div id='calDIV' style='z-index:+999;position:absolute;visibility:hidden;top:0;left:0'>");
    document.write("<iframe align='center' valign='middle' name='frmCal' id='frmCal' frameborder='0' width='210' height='190' src='/Common/Calendar/blank.html'></iframe>")
    document.write("</div>");

}

function printDates(sObj, eObj) {
    var pSObjName = "document.all['" + sObj.id + "']";
    var pEObjName = "document.all['" + eObj.id + "']";

    var strScript = "";
    strScript = "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,0)\">"
               + "<img src='/Common/Calendar/images/2.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-1)\">"
               + "<img src='/Common/Calendar/images/1.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-3)\">"
               + "<img src='/Common/Calendar/images/btn_s_3d.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-7)\">"
               + "<img src='/Common/Calendar/images/btn_s_7d.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0, new Date().getDate()*-1+1)\">"
               + "<img src='/Common/Calendar/images/btn_s_thism.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-1,0)\">"
               + "<img src='/Common/Calendar/images/btn_s_1m.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-3,0)\">"
               + "<img src='/Common/Calendar/images/btn_s_3m.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-6,0)\">"
               + "<img src='/Common/Calendar/images/btn_s_6m.jpg' align='absmiddle' border='0'></a>&nbsp;"

    document.write(strScript);
}


function printDatesNonToDay(sObj, eObj) {
    var pSObjName = "document.all['" + sObj.id + "']";
    var pEObjName = "document.all['" + eObj.id + "']";

    var strScript = "";
    strScript = "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-1)\">"
               + "<img src='/Common/Calendar/images/1.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-3)\">"
               + "<img src='/Common/Calendar/images/btn_s_3d.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0,-7)\">"
               + "<img src='/Common/Calendar/images/btn_s_7d.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,0, new Date().getDate()*-1+1)\">"
               + "<img src='/Common/Calendar/images/btn_s_thism.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-1,0)\">"
               + "<img src='/Common/Calendar/images/btn_s_1m.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-3,0)\">"
               + "<img src='/Common/Calendar/images/btn_s_3m.gif' align='absmiddle' border='0'></a>&nbsp;"
               + "<a href=\"javascript:moveDates(" + pEObjName + "," + pSObjName + ",0,-6,0)\">"
               + "<img src='/Common/Calendar/images/btn_s_6m.jpg' align='absmiddle' border='0'></a>&nbsp;"

    document.write(strScript);
}


function moveDates(sObj, eObj, year, month, day) {
    var nowDate = new Date();

    var now_year = nowDate.getFullYear();
    var now_month = nowDate.getMonth();
    var now_day = nowDate.getDate();

    var newDate = new Date(now_year + year, now_month + month, now_day + day);

    var procYear = newDate.getFullYear();
    var procMonth = newDate.getMonth() + 1;
    var procDay = newDate.getDate();

    now_month += 1;
    if (("" + now_month).length == 1) { now_month = "0" + now_month; }
    if (("" + now_day).length == 1) { now_day = "0" + now_day; }

    if (("" + procMonth).length == 1) { procMonth = "0" + procMonth; }
    if (("" + procDay).length == 1) { procDay = "0" + procDay; }

    sObj.value = now_year + "-" + now_month + "-" + now_day;
    eObj.value = procYear + "-" + procMonth + "-" + procDay;
}


var objPrev; // 현재 보여주는 obj 

function popUpCalendar(ob, ob2, types, formats) {
    var posTop, posLeft, leftPos, topPos;
    var aTag;

    posTop = 0;
    posLeft = 0;
    leftPos = 0;
    topPos = 0;

    aTag = ob;
    var posTop, posLeft;

    do {
        aTag = aTag.offsetParent;
        leftPos += aTag.offsetLeft;
        topPos += aTag.offsetTop;
    } while (aTag.tagName != "HTML" && aTag.tagName != "BODY");

    posTop = ob.offsetTop + 20 + topPos;
    posLeft = ob.offsetLeft + leftPos;

    calDIV.style.top = posTop + "px";
    calDIV.style.left = posLeft + "px";


    calDIV.style.visibility = "visible";
    frmCal.window.callCalandar(ob, ob2, types, formats);

    objPrev = ob;
}

// 스프레드용 달력
function popUpCalendarSpread(sparedid, ob, ob2, types, formats) {
    var posTop, posLeft, leftPos, topPos;
    var aTag;
    var spread = document.getElementById(sparedid + "_view");

    posTop = 0;
    posLeft = 0;
    leftPos = 0;
    topPos = 0;

    aTag = ob;
    var posTop, posLeft;

    do {
        aTag = aTag.offsetParent;
        leftPos += aTag.offsetLeft;
        topPos += aTag.offsetTop;
    } while (aTag.tagName != "HTML" && aTag.tagName != "BODY");

    posTop = (ob.offsetTop - spread.scrollTop) + 20 + topPos;
    posLeft = (ob.offsetLeft - spread.scrollLeft) + leftPos;

    calDIV.style.top = posTop + "px";
    calDIV.style.left = posLeft + "px";

    calDIV.style.visibility = "visible";
    frmCal.window.callCalandar(ob, ob2, types, formats);

    objPrev = ob;
}

function hideCalLayer(ob) {
    if (objPrev == ob) {
        if (calDIV.style.visibility == "visible" || calDIV.style.visibility == "") {
            calDIV.style.visibility = "hidden";
        }
    }

    objPrev = null;
}

function commaSpread(Spread, row, col) {
    Spread.SetValue(row, col, commaSplit(Spread.GetValue(row, col)), true);
}

function commaSplit(srcNumber) {
    var txtNumber = '' + srcNumber;
    var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
    var arrNumber = txtNumber.split('.');
    arrNumber[0] += '.';

    do {
        arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
    } while (rxSplit.test(arrNumber[0]));

    if (arrNumber.length > 1) {
        return arrNumber.join('');
    } else {
        return arrNumber[0].split('.')[0];
    }
}

// 문자열 공백 없애기
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/gi, "");
}

//숫자여부 확인
//숫자가 아니면 true 리턴
function ChkNum(str) {
    var flag = false;
    if (str.length > 0) {
        for (i = 0; i < str.length; i++) {
            if (str.charAt(i) < '0' || str.charAt(i) > '9') {
                flag = true;
            }
        }
    }
    return flag;
}

function viewFlash(filepath, width, height) {
    var objHTML = "";

    objHTML += "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,47,0' width='" + width + "' height='" + height + "'>";
    objHTML += "<param name='movie' value='" + filepath + "'>";
    objHTML += "<param name='quality' value='high'>";
    objHTML += "<param name='wmode' value='transparent'>";
    objHTML += "<embed src='" + filepath + "' quality='high' pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width='" + width + "' height='" + height + "'>";
    objHTML += "</embed> ";
    objHTML += "</object>";

    document.write(objHTML);
}

function emailcheck(obj) {
    if (obj.value.trim() == "")
        return true;

    re = /([\w|\-]+)@([\w|\-]+)\.(\w+)/

    if (!re.test(obj.value)) {
        alert("잘못된 이메일 형식 입니다.");
        return false;
    }

    if (obj.value.indexOf("daum.net") != -1 || obj.value.indexOf("hanmail.net") != -1) {
        alert("한메일의 사용을 피해주십시오.");
        return false;
    }

    return true;
}
// 값으로 체크
function emailcheckval(val) {
    if (val.trim() == "")
        return true;

    re = /([\w|\-]+)@([\w|\-]+)\.(\w+)/

    if (!re.test(val)) {
        alert("잘못된 이메일 형식 입니다.");
        return false;
    }

    if (val.indexOf("daum.net") != -1 || val.indexOf("hanmail.net") != -1) {
        alert("한메일의 사용을 피해주십시오.");
        return false;
    }
    return true;
}



//------------------------------------------------------------------
//아래 기타 함수들 추가
//2008-02-10
//윤성인
//주의: 아래의 모든 메소드는 입력폼의 필드이름(myform.myfield)을
//      파라미터로 받는다. 필드의 값(myform.myfield.value)이 아님을
//      유념할 것.
//------------------------------------------------------------------
/*예

if (isEmptyAlert(f.SSN[0], "주민번호 앞자리를 입력해주십시요.") == true ) {
_cmdfocus(f.SSN[0]); return; 	}
if (isNumberAlert(f.SSN[0]) == false){
_cmdfocus(f.SSN[0]); return; }
if (getByteLength(f.SSN[0]) < 6) {
alert("주민번호 앞자리는 6자리입니다.\n\n다시 입력하세요.");
_cmdfocus(f.SSN[0]); return;}
if (JuminChk(f.SSN[0], f.SSN[1]) == false) {
alert("주민등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
_cmdfocus(f.SSN[0]); return;	};
*/

/** Focus 맞춤 */
function _cmdfocus(formobj) {
    formobj.select();
    formobj.focus();
}


// 용 도 : 입력 값이 NULL인지 체크
// return : boolean  
//          NULL이면 true, 아니면 false가 돌아간다.
function isNull(input) {
    if (input.value == null || input.value == "") return true;
    return false;
}

// 용 도 : 입력 값이 NULL인지 확인하여 NULL이면 msg를 출력한다.
// return : boolean  
//          NULL이면 true, 아니면 false가 돌아간다.
function isNullAlert(input, msg) {
    var ret = isNull(input);
    if (ret) alert(msg);
    return ret;
}

// 용 도 : 입력 값에 Space 이외의 의미있는 값이 있는지 체크
// return : boolean  
//          있으면 true, 아니면 false가 돌아간다.
function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi, "") == "") return true;
    return false;
}

// 용 도 : 입력 값에 Space 이외의 의미밌는 값이 없으면 msg를 출력한다.
// return : boolean  
//           space 이외의 의미있는 값이 없으면 true, 아니면 false가 돌아간다.
function isEmptyAlert(input, msg) {
    var ret = isEmpty(input);
    if (ret) alert(msg);
    return ret;
}

// 용 도 : 입력 값에 특정 문자(chars)가 있는지 체크한다. 특정 문자를 허용하지 않으려 할 때 사용
// return : boolean
//          있으면 true, 없으면 false 
// 사 용 예 : if(containsChars(form.name,"!,*&^%$#@~;")) {
//               alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
//           }
function containsChars(input, chars) {
    for (var inx = 0; inx < input.value.length; inx++)
        if (chars.indexOf(input.value.charAt(inx)) != -1)
        return true;
    return false;
}

// 용 도 : 입력 값이 특정 문자 (chars)만으로 되어있는지 체크한다. 특정 문자만 허용하려 할 때 사용
// return : boolean
//          확인하려는 대상 문자만 있으면 true, 아니면 false
// 사 용 예 : if(!containsCharsOnly(form.blood,"ABO")) {
//               alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");  
//           }
function containsCharsOnly(input, chars) {
    for (var inx = 0; inx < input.value.length; inx++)
        if (chars.indexOf(input.value.charAt(inx)) == -1)
        return false;
    return true;
}

// 용 도 : 입력 값이 알파벳인지 체크한다. 
//        아래 isAlphabet() 부터 isNumComma()까지의 메소드가 자주 쓰이는 경우에는 var chars 변수를 global 변수로 선언하고 사용하도록 한다.
// return : boolean, A에서 Z 까지의 문자만으로 되어있으면 true, 아니면 false
// 사 용 예 : ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//               var lowercase = "abcdefghijklmnopqrstuvwxyz"; 
//               var number = "0123456789";
//               function isAlphaNum(input) {
//                   var chars = uppercase + lowercase + number;
//                   return containsCharsOnly(input,chars);
//               }
function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    //alert(input);
    return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳인지 확인하여 알파벳 이외의 문자가 있으면 "영문자만 입력가능 합니다." 메시지를 보여주고 결과를 돌려준다.
// return : boolean, A에서 Z 까지의 문자만으로 되어있으면 true, 아니면 false
function isAlphabetAlert(input) {
    var ret = isAlphabet(input);
    if (!ret) alert("영문자만 입력가능 합니다.");
    return ret;
}

// 용 도 : 입력 값이 알파벳 대문자인지 체크
// return : boolean, 대문자만이면 true, 아니면 false  
function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳 대문자인지 확인하여 대문자 이외의 문자가 있으면 "알파벳 대문자만 입력하실 수 있습니다."라는 메시지를 보여주고 돌려준다.
// return : boolean, 대문자만이면 true, 아니면 false  
function isUpperCaseAlert(input) {
    var ret = isUpperCase(input);
    if (!ret) alert("알파벳 대문자만 입력하실 수 있습니다.");
    return ret;
}

// 용 도 : 입력 값이 알파벳 소문자인지 체크
// return : boolean 소문자만이면 true, 아니면 false
function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳 소문자인지 확인하여 소문자 이외의 문자가 있으면  "알파벳 소문자만 입력하실 수 있습니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean  소문자만이면 true, 아니면 false
function isLowerCaseAlert(input) {
    var ret = isLowerCase(input);
    if (!ret) alert("알파벳 소문자만 입력하실 수 있습니다.");
    return ret;
}

// 용 도 : 입력 값에 숫자만 있는지 체크
// return : boolean 숫자만 있으면 true, 아니면 false 
function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값에 숫자만 있는지 확인하여 숫자 이외의 문자가 있으면 "숫자만 입력 가능합니다"라는 메시지를 보여주고 돌려준다.
// return :  boolean 숫자만 있으면 true, 아니면 false   
function isNumberAlert(input) {
    var ret = isNumber(input);
    if (!ret) alert("숫자만 입력 가능합니다");
    return ret;
}

// 용 도 : 입력 값이 알파벳, 숫자로 되어있는지 체크
// return : boolean 알파벳과 숫자만이면 true, 아니면 false  
function isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 알파벳, 숫자로 되어있는지 확인하여 알파벳과 숫자 이외의 문자가 있으면 "영문자와 숫자 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return : boolean 알파벳과 숫자만이면 true, 아니면 false
function isAlphaNumAlert(input) {
    var ret = isAlphaNum(input);
    if (!ret) alert("영문자와 숫자 입력만 가능합니다.");
    return ret;
}

// 용 도 : 입력 값이 숫자,대시(-)로 되어있는지 체크
// return : boolean 숫자와 대시(-)로 되어 있으면 true, 아니면 false  
function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 숫자,대시(-)로 되어있는지 확인하여 숫자와 대시(-) 이외의 문자가 있으면 체크 "숫자와 '-' 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean 숫자와 대시(-)로 되어 있으면 true, 아니면 false
function isNumDashAlert(input) {
    var ret = isNumDash(input);
    if (!ret) alert(" 숫자와 '-' 입력만 가능합니다.");
    return ret;
}

// 용 도 : 입력 값이 숫자,콤마(,)로 되어있는지 체크
// return : boolean 숫자와 콤마(,)로 되어 있으면 true 아니면 false 
function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input, chars);
}

// 용 도 : 입력 값이 숫자,콤마(,)로 되어있는지 확인하여 숫자와 콤마(,) 이외의 문자가 있으면 체크 " 숫자와 ',' 입력만 가능합니다."라는 메시지를 보여주고 돌려준다.
// return :  boolean  숫자와 콤마(,)로 되어 있으면 true, 아니면 false
function isNumCommaAlert(input) {
    var ret = isNumComma(input);
    if (!ret) alert("숫자와 ',' 입력만 가능합니다.");
    return ret;
}

// 용 도 : 입력 값에서 콤마를 없앤다.
// return : string, 입력값에서 콤마를 없앤 값 
function removeComma(input) {
    return input.value.replace(/,/gi, "");
}

// 용 도 : 입력 값이 사용자가 정의한 포맷 형식인지 체크한다. 자세한 format 형식은 자바스크립트의 'regular expression'을 참조
// return : boolean 올바른 포맷이면 true, 아니면 false 
function isValidFormat(input, format) {
    if (input.value.search(format) != -1) return true; //올바른 포맷 형식
    return false;
}

// 용 도 : 입력 값이 사용자가 정의한 포맷 형식인지 확인하여 올바르지 않은 형식이면 "올바른 입력형식이 아닙니다." 메시지를 보여주고 돌려준다.
// return : boolean 올바른 포맷이면 true, 아니면 false
function isValidFormatAlert(input, format) {
    var ret = isValidFormat(input, format);
    if (!ret) alert("올바른 입력형식이 아닙니다.");
    return ret;
}

//용 도 : 입력 값이 이메일 형식인지 체크
// return : boolean 이메일 형식이면 true, 아니면 false
function isValidEmail(input) {
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input, format);
}

//용 도 : 입력 값이 이메일 형식인지 확인하여 올바르지 않으면 "이메일 입력형식이 잘못되었습니다. \n 확인후 다시 입력해 주세요."라는 메시지를 보여주고 돌려준다.
// return :  boolean 이메일 형식이면 true, 아니면 false
function isValidEmailAlert(input) {
    var ret = isValidEmail(input);
    if (!ret) alert("이메일 입력형식이 잘못되었습니다. \n 확인후 다시 입력해 주세요.");
    return ret;
}

// 용 도 : 입력 값이 전화번호 형식(숫자-숫자-숫자)인지 체크
// return : boolean 전화번호 형식이면 true, 아니면 false 
function isValidPhone(input) {
    if (input.value.trim() == "") {
        return true;
    }
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input, format);
}

// 용 도 : 입력 값이 전화번호 형식(숫자-숫자-숫자)인지 확인하여 전화번호 형식이 아니면 "전화번호 입력이 잘못되었습니다. \n 확인후 다시 입력해 주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 전화번호 형식이면 true, 아니면 false
function isValidPhoneAlert(input) {
    if (input.value.trim() == "") {
        return true;
    }
    var ret = isValidPhone(input);
    if (!ret) alert("전화번호 입력이 잘못되었습니다. \n 확인후 다시 입력해 주세요.");
    return ret;
}

// 용 도 : 선택된 라디오버튼이 있는지 체크
// return : boolean 있으면 true, 없으면 false
function hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++)
            if (input[inx].checked) return true;
    } else {
        if (input.checked)
            return true;
    }
    return false;
}

// 용 도 : 선택된 라디오 버튼이 있는지 확인하여 없으면 "선택항목을 적어도 한개는 선택해주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 있으면 true, 없으면 false
function hasCheckedRadioAlert(input) {
    var ret = hasCheckedRadio(input);
    if (!ret) alert("선택항목을 적어도 한개는 선택해주세요.");
    return ret;
}

// 용 도 : 선택된 체크 박스가 있는지 체크
// return : boolean 있으면 true, 없으면 false
function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}

// 용 도 : 선택된 체크박스가 있는지 확인하여 없으면 "선택항목을 적어도 한개는 선택해주세요."라는 메시지를 보여주고 돌려준다.
// return : boolean 있으면 true, 없으면 false
function hasCheckedBoxAlert(input) {
    var ret = hasCheckedRadio(input);
    if (!ret) alert("선택항목을 적어도 한개는 선택해주세요.");
    return ret;
}

// 용 도 : 입력 값의 바이트 길이를 리턴
// return : int, 입력값의 길이 
function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if (oneChar.length == 1) {
            byteLength++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length / 3;
        }
    }
    return byteLength;
}

// 용 도 : 공백을 제거하는 함수
// return : string, 공백을 제거한 문자열 
function IsTrimStr(checkStr) {
    var str = "";
    for (var i = 0; i < checkStr.length; i++) {
        ch = checkStr.charAt(i);
        if (ch != " ") str += ch;
    }
    return str;
}

// 용 도 : 주민번호 체크 
// 형 식 : xxxxxx-yyyyyyy
// return :  boolean 
function newJumin(value) {
    this.value = value;
}

function common_Jumin_Check(jumin1, jumin2) {
    var ok = true;
    var Str1 = "" + jumin1 + jumin2;
    var Str = new newJumin(Str1);
    return jumin_Check(Str);
}

// 용 도 : 주민번호 체크
// 형 식 : xxxxxxyyyyyyy
// return :  boolean 
// 매개변수 : 주민등록번호 13자리
// 사 용 예 : jumin_Check(xxxxxxyyyyyyy); 
// 참고사항 : 주민등록번호가 잘못되었다면 주민등록번호가 잘못되었다는 메세지를 출력하고 boolean 을 return 한다.
function jumin_Check(juminnum) {
    if (!jumin_Check_Confirm(juminnum))
        alert("주민등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
}

// 용 도 : 주민번호 체크
// 형 식 : xxxxxxyyyyyyy
// return :  boolean 
// 매개변수 : 주민등록번호 13자리
// 사 용 예 : jumin_Check_Confirm(xxxxxxyyyyyyy); 
// 참고사항 : 주민등록번호가 잘못되어도 메세지를 출력하지 않고 boolean 만 return 한다.
function jumin_Check_Confirm(juminnum) {
    var ok = true;
    var Str = "" + juminnum.value;
    var sum = 0;
    sum = Str.charAt(0) * 2 + Str.charAt(1) * 3 + Str.charAt(2) * 4 + Str.charAt(3) * 5 +
		  Str.charAt(4) * 6 + Str.charAt(5) * 7 + Str.charAt(6) * 8 + Str.charAt(7) * 9 +
		  Str.charAt(8) * 2 + Str.charAt(9) * 3 + Str.charAt(10) * 4 + Str.charAt(11) * 5;
    if (sum == "0")
        return false;
    else {
        sum = sum % 11;
        sum = 11 - sum;
        if (sum > 9) sum = sum - 10;

        if (sum == Str.charAt(12)) {
            return true;
        } else {
            juminnum.focus();
            return false;
        }
    }
}

function JuminChk(juminnum1, juminnum2) {
    var Str = "" + juminnum1.value + juminnum2.value;
    var sum = 0;
    sum = Str.charAt(0) * 2 + Str.charAt(1) * 3 + Str.charAt(2) * 4 + Str.charAt(3) * 5 +
		  Str.charAt(4) * 6 + Str.charAt(5) * 7 + Str.charAt(6) * 8 + Str.charAt(7) * 9 +
		  Str.charAt(8) * 2 + Str.charAt(9) * 3 + Str.charAt(10) * 4 + Str.charAt(11) * 5;
    if (sum == "0")
        return false;
    else {
        sum = sum % 11;
        sum = 11 - sum;
        if (sum > 9) sum = sum - 10;

        if (sum == Str.charAt(12)) {
            return true;
        } else {
            return false;
        }
    }
}

// 용 도 : 사업자등록번호를 확인 
// 형 식 : XXXXXXXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNoCheck(membNo) {
    if (membNo.length == 10) {
        a = membNo.charAt(0);
        b = membNo.charAt(1);
        c = membNo.charAt(2);
        d = membNo.charAt(3);
        e = membNo.charAt(4);
        f = membNo.charAt(5);
        g = membNo.charAt(6);
        h = membNo.charAt(7);
        i = membNo.charAt(8);
        Osub = membNo.charAt(9);

        suma = a * 1 + b * 3 + c * 7 + d * 1 + e * 3 + f * 7 + g * 1 + h * 3;
        sumb = (i * 5) % 10;
        sumc = parseInt((i * 5) / 10, 10);
        sumd = sumb + sumc;
        sume = suma + sumd;
        sumf = a + b + c + d + e + f + g + h + i
        k = sume % 10;
        Modvalue = 10 - k;
        LastVal = Modvalue % 10;

        if (sumf == 0) return false;
    } else return false;

    if (Osub == LastVal) return true;
    else return false;
}

// 용 도 : 사업자등록번호를 확인하여 비정상적이면 "사업자 등록번호가 잘못되었습니다. \n확인후 다시 입력해 주십시오"라는 메시지를 보여주고 돌려준다.
// 형 식 : XXXXXXXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNO_check(membNo) {
    var bRet = RegNoCheck(membNo);
    if (!bRet) alert("사업자 등록번호가 잘못 되었습니다.\n확인후 다시 입력해 주십시오");
    return bRet;
}

// 용 도 : 사업자등록번호를 확인하여 비정상적이면 "사업자 등록번호가 잘못되었습니다. \n확인후 다시 입력해 주십시오"라는 메시지를 보여주고 돌려준다.
// 형 식 : XXX-XX-XXXXX
// return : boolean 맞으면 true, 아니면 false
function RegNO_check_formatted(membNo) {
    var str = "";
    var ar = membNo.split("-");
    for (var i = 0; i < ar.length; i++) str += ar[i];
    return RegNO_check(str);
}

// 용 도 : 임의의 HTML 테그 내용을 변경
// 매개변수 : obj - 구성할 HTML Tag Object html - Tag 이름
// return :	void
function makeTags(obj, html) {
    var tmp = obj.outerHTML;
    var idx = 0;
    if (IsTrimStr(obj.innerHTML).length <= 0)
        idx = tmp.indexOf("</" + obj.tagName + ">");
    else
        idx = tmp.indexOf(obj.innerHTML);
    tmp = tmp.substring(0, idx);
    tmp += html;
    tmp += "</" + obj.tagName + ">";
    obj.outerHTML = tmp;
}

// 용 도 : ComboCreater.getComboOption()의 결과를 기초로 
//        콤보의 항목을 변경
// 매개변수 : obj - 구성할 콤보 Object
//	         option - ComboCreater.getComboOption()의 결과
// return  : void
function makeCombo(obj, option) {
    makeTags(obj, option);
    obj.selectedIndex = 0;
}

// 용 도 : 모달 대화상자 활성화
// param : url : 호출할 URL
//         title : dialog title 명
//         x : 대화상자 x 좌표( 0보다 작으면 Center );
//         y : 대화상자 y 좌표( 0보다 작으면 Center );
//         w : 대화상자 폭
//         h : 대화상자 높이
//return : ret : URL에서 반환활 결과 Object
function showDlg(url, title, x, y, w, h) {
    var bModal = true;
    if (showDlg.arguments.length == 7) {
        bModal = showDlg.arguments[6];
    }
    if (w <= 0 || h <= 0) {
        alert("대화상자 크기를 확인하세요");
        return null;
    }

    var ar = new Array();
    ar[0] = window;
    ar[1] = url;
    ar[2] = title;

    var opt = "status:no;scroll:no;help:no;";
    if (x >= 0) opt += "dialogLeft:" + x + "px;";
    if (y >= 0) opt += "dialogTop:" + y + "px;";

    opt += "dialogWidth:" + w + "px;";
    opt += "dialogHeight:" + h + "px;";

    if (bModal)
        return window.showModalDialog("/common/modalDlg.htm", ar, opt);
    else
        return window.showModelessDialog("/common/modalDlg.htm", ar, opt);
}


//2009-07-09 윤성인 추가
function txtddlCheck(input, msg) {
    if (isEmptyAlert(input, msg + "을(를) 선택해 주십시요.") == true) {
        input.focus(); return false;
    }
    return true;
}

function txtStrCheck(input, msg) {
    if (isEmptyAlert(input, msg + "을(를) 입력해 주십시요.") == true) {
        _cmdfocus(input); return false;
    }
    if (getByteLength(input) < 2) {
        alert(msg + "은(는) 2글자 이상입니다.\n\n다시 입력하세요."); _cmdfocus(input); return false;
    }
    return true;
}

function txtNumCheck(input, cnt, msg) {
    if (isEmptyAlert(input, msg + "을(를) 입력해 주십시요.") == true) {
        _cmdfocus(input); return false;
    }
    if (isNumberAlert(input) == false) {
        _cmdfocus(input); return false;
    }
    if (getByteLength(input) < cnt) {
        alert(msg + "은(는) " + cnt + "자리(이상) 입니다.\n\n다시 입력하세요."); _cmdfocus(input); return false;
    }
    return true;
}

function txtMailCkeck(input, msg) {
    if (isEmptyAlert(input, msg + "이메일을(를) 입력해 주십시요.") == true) {
        _cmdfocus(input); return false;
    }
    if (isValidEmailAlert(input) == false) {
        _cmdfocus(input); return false;
    }
    return true;
}

function GetRadioSelectedValue(input) {
    var Rbl = document.getElementById(input);
    var radio = Rbl.getElementsByTagName("input");

    for (var i = 0; i < radio.length; i++) {
        var el = radio[i];
        if (el.type == "radio" && el.checked) {
            return el.value;
        }
    }
}


/*
* 팝업 자동 리사이징
*  - 윈도 환경에 따라 사이즈가 다를 수 있습니다.
*  - 팝업페이지의 스크립트 최하단에서 실행하십시오.
*
* (ex.) window.onload = function(){popupAutoResize();}
*/
function popupAutoResize() {
    var thisX = parseInt(document.body.scrollWidth);
    var thisY = parseInt(document.body.scrollHeight);
    var maxThisX = screen.width - 50;
    var maxThisY = screen.height - 50;
    var marginY = 0;
    //alert(thisX + "===" + thisY);
    //alert("임시 브라우저 확인 : " + navigator.userAgent);
    // 브라우저별 높이 조절. (표준 창 하에서 조절해 주십시오.)
    if (navigator.userAgent.indexOf("MSIE 6") > 0) marginY = 45;        // IE 6.x
    else if (navigator.userAgent.indexOf("MSIE 7") > 0) marginY = 75;    // IE 7.x
    else if (navigator.userAgent.indexOf("Firefox") > 0) marginY = 50;   // FF
    else if (navigator.userAgent.indexOf("Opera") > 0) marginY = 30;     // Opera
    else if (navigator.userAgent.indexOf("Netscape") > 0) marginY = -2;  // Netscape

    if (thisX > maxThisX) {
        window.document.body.scroll = "yes";
        thisX = maxThisX;
    }
    if (thisY > maxThisY - marginY) {
        window.document.body.scroll = "yes";
        thisX += 19;
        thisY = maxThisY - marginY;
    }
    window.resizeTo(thisX + 10, thisY + marginY);

    // 센터 정렬
    // var windowX = (screen.width - (thisX+10))/2;
    // var windowY = (screen.height - (thisY+marginY))/2 - 20;
    // window.moveTo(windowX,windowY);
}


// 컨트롤 찾기
function FindControl(tagName, name) {
    var controls = new Array();
    var tags = document.getElementsByTagName(tagName)
    var count = 0;

    for (var i = 0; i < tags.length; i++) {
        if (tags[i].name.indexOf(name) >= 0) {
            controls[count] = document.getElementById(tags[i].id);
            count++;
        }
    }
    return controls;
}


/*-------------------------------------------------------------
입력 문자열 길이 체크(SMS발송 문자 길이)
chkMsgLength()
최진수 2007.06.17
사용예 : 
var str = chkMsgLength("80", txtContent, currentMsgLen);
<textarea name="txtContent" style="width:320px;height:70px" onkeyup="chkMsgLength(80,txtContent,currentMsgLen);"></textarea>
<span id=currentMsgLen>0</span>바이트/80바이트
--------------------------------------------------------------*/
function chkMsgLength(intMax, objMsg, st) {
    var length = lengthMsg(objMsg.value);
    st.innerHTML = length;
    if (length > intMax) {
        alert("최대 " + intMax + "byte이므로 초과된 글자수는 자동으로 삭제됩니다.\n");
        objMsg.value = objMsg.value.replace(/\r\n$/, "");
        objMsg.value = assertMsg(intMax, objMsg.value, st);
    }
}

function assertMsg(intMax, objMsg, st) {
    var inc = 0;
    var nbytes = 0;
    var msg = "";
    var msglen = objMsg.length;
    for (i = 0; i < msglen; i++) {
        var ch = objMsg.charAt(i);
        if (escape(ch).length > 4) {
            inc = 2;
        }
        else if (ch == '\n') {
            if (objMsg.charAt(i - 1) != '\r') {
                inc = 1;
            }
        }
        else if (ch == '<' || ch == '>') {
            inc = 4;
        }
        else {
            inc = 1;
        }
        if ((nbytes + inc) > intMax) {
            break;
        }
        nbytes += inc;
        msg += ch;
    }
    st.innerHTML = nbytes;
    return msg;
}

function lengthMsg(objMsg) {
    var nbytes = 0;
    for (i = 0; i < objMsg.length; i++) {
        var ch = objMsg.charAt(i);
        if (escape(ch).length > 4) {
            nbytes += 2;
        }
        else if (ch == '\n') {
            if (objMsg.charAt(i - 1) != '\r') {
                nbytes += 1;
            }
        }
        else if (ch == '<' || ch == '>') {
            nbytes += 4;
        }
        else {
            nbytes += 1;
        }
    }
    return nbytes;
}

//2009-08-10 김지원 추가
function CheckHangul(name) {
    strarr = new Array(name.value.length);
    schar = new Array('/', '.', '>', '<', ',', '?', '}', '{', ' ', '\\', '|', '(', ')', '+', '=');

    for (i = 0; i < name.value.length; i++) {
        for (j = 0; j < schar.length; j++) {
            if (schar[j] == name.value.charAt(i)) {
                alert("한글입력만 가능합니다.");
                return false;
            }
            else
                continue;
        }

        strarr[i] = name.value.charAt(i)
        if ((strarr[i] >= 0) && (strarr[i] <= 9)) {
            alert("숫자가 포함되어 있습니다. 한글입력만 가능합니다.");
            return false;
        }
        else if ((strarr[i] >= 'a') && (strarr[i] <= 'z')) {
            alert("알파벳이 포함되어 있습니다. 한글입력만 가능합니다.");
            return false;
        }
        else if ((strarr[i] >= 'A') && (strarr[i] <= 'Z')) {
            alert("알파벳이 포함되어 있습니다. 한글입력만 가능합니다.");
            return false;
        }
        else if ((escape(strarr[i]) > '%60') && (escape(strarr[i]) < '%80')) {
            alert("특수문자가 포함되어 있습니다. 한글입력만 가능합니다.");
            return false;
        }
        else {
            continue;
        }
    }
    return true;
}

function CheckHanja(name) {
    strarr = new Array(name.value.length);
    schar = new Array('/', '.', '>', '<', ',', '?', '}', '{', ' ', '\\', '|', '(', ')', '+', '=');

    for (i = 0; i < name.value.length; i++) {
        for (j = 0; j < schar.length; j++) {
            if (schar[j] == name.value.charAt(i)) {
                alert("한자입력만 가능합니다.");
                return false;
            }
            else
                continue;
        }

        strarr[i] = name.value.charAt(i)
        if ((strarr[i] >= 0) && (strarr[i] <= 9)) {
            alert("숫자가 포함되어 있습니다. 한자입력만 가능합니다.");
            return false;
        }
        else if ((strarr[i] >= 'a') && (strarr[i] <= 'z')) {
            alert("알파벳이 포함되어 있습니다. 한자입력만 가능합니다.");
            return false;
        }
        else if ((strarr[i] >= 'A') && (strarr[i] <= 'Z')) {
            alert("알파벳이 포함되어 있습니다. 한자입력만 가능합니다.");
            return false;
        }
        else if ((escape(strarr[i]) > '%60') && (escape(strarr[i]) < '%80')) {
            alert("특수문자가 포함되어 있습니다. 한자입력만 가능합니다.");
            return false;
        }
        else {
            continue;
        }
    }
    return true;
}

/*-------------------------------------------------------------
입력 문자열 길이 체크(SMS발송 문자 길이)
chkMsgLength()
최진수 2007.06.17
사용예 : 
var str = chkMsgLength("80", txtContent, currentMsgLen);
<textarea name="txtContent" style="width:320px;height:70px" onkeyup="chkMsgLength(80,txtContent,currentMsgLen);"></textarea>
<span id=currentMsgLen>0</span>바이트/80바이트
--------------------------------------------------------------*/
function chkMsgLength(intMax, objMsg, st) {
    var length = lengthMsg(objMsg.value);
    st.innerHTML = length;
    if (length > intMax) {
        alert("최대 " + intMax + "byte이므로 초과된 글자수는 자동으로 삭제됩니다.\n");
        objMsg.value = objMsg.value.replace(/\r\n$/, "");
        objMsg.value = assertMsg(intMax, objMsg.value, st);
    }
}

function assertMsg(intMax, objMsg, st) {
    var inc = 0;
    var nbytes = 0;
    var msg = "";
    var msglen = objMsg.length;
    for (i = 0; i < msglen; i++) {
        var ch = objMsg.charAt(i);
        if (escape(ch).length > 4) {
            inc = 2;
        }
        else if (ch == '\n') {
            if (objMsg.charAt(i - 1) != '\r') {
                inc = 1;
            }
        }
        else if (ch == '<' || ch == '>') {
            inc = 4;
        }
        else {
            inc = 1;
        }
        if ((nbytes + inc) > intMax) {
            break;
        }
        nbytes += inc;
        msg += ch;
    }
    st.innerHTML = nbytes;
    return msg;
}

function lengthMsg(objMsg) {
    var nbytes = 0;
    for (i = 0; i < objMsg.length; i++) {
        var ch = objMsg.charAt(i);
        if (escape(ch).length > 4) {
            nbytes += 2;
        }
        else if (ch == '\n') {
            if (objMsg.charAt(i - 1) != '\r') {
                nbytes += 1;
            }
        }
        else if (ch == '<' || ch == '>') {
            nbytes += 4;
        }
        else {
            nbytes += 1;
        }
    }
    return nbytes;
}

function goToWish() {
    document.location.href = "/My/WishList.aspx";
}

/*-------------------------------------------------------------
브라우저 버전 체크 하여 특정 페이지 이동
--------------------------------------------------------------*/
/*
mvsNavigatorName = "" + navigator.appName
//if (mvsNavigatorName == "Netscape") {
//    alert(navigator.appName + " " + parseFloat(navigator.appVersion))
//}
//else 
if (navigator.appName == "Microsoft Internet Explorer") {
    if (parseInt(navigator.appVersion) < 4) {
        alert("브라우저 버젼이 구버젼이라 일부 스트립트가 동작하지 않을 수 있습니다.");
        //document.location.href = "/BrowserInfo.Html";
    }
    else {
        temp = navigator.appVersion
        mvsVer = parseFloat(temp.substring(21))
        //if (mvsVer < 7.0) {
            //alert("브라우저 버젼이 낮아서 일부 스트립트가 동작하지 않을 수 있습니다.");
            //document.location.href = "/";				//BrowserInfo.Html
        //}
        //        else
//            alert(navigator.appName + " " + mvsVer)                        
    }
}
//else {
//    alert(navigator.appName + " " + navigator.appVersion)
//}
*/
