
    var blnTextBoxFirstClick = false;
    var blnCheckedAll        = false;
    var gniMaxAttachFile     = 1;
    var gniCountAttachFile   = 1;

    function checkTextBoxFirstClick( objTextbox, strDefaultText )
    {
        if ( objTextbox.value == strDefaultText ) {
            objTextbox.value = "";
        }
        blnTextBoxFirstClick = true;
    }


    function checkedAllFollow( objFollow, objArrayName )
    {
        var objTarget = document.getElementsByName(objArrayName);
        blnCheckedAll = objFollow.checked;;

        for ( cnt=0; cnt<objTarget.length; cnt++ ) {
            objTarget[cnt].checked = blnCheckedAll;
        }
    }
    function checkedAll( objArrayName )
    {
        var objTarget = document.getElementsByName(objArrayName);
        blnCheckedAll = !blnCheckedAll;

        for ( cnt=0; cnt<objTarget.length; cnt++ ) {
            objTarget[cnt].checked = blnCheckedAll;
        }
    }

    function checkedAllFollowValue( objArrayName, value )
    {
        var objTarget = document.getElementsByName(objArrayName);

        for ( cnt=0; cnt<objTarget.length; cnt++ ) {
            objTarget[cnt].checked = value;
        }
    }

    function getCheckedCount( objArrayName )
    {
        var objTarget = document.getElementsByName(objArrayName);
        var returnValue = 0;

        for ( cnt=0; cnt<objTarget.length; cnt++ ) {
            if ( objTarget[cnt].checked )    returnValue++;
        }

        return returnValue;
    }

    function gniLogout( )
    {
        top.document.location = "/member/logout.asp";
    }

    function gniBranchLogout( )
    {
        top.document.location = "/admin_branch/proc_gni_ADMIN_LOGOUT.asp";
    }

    function gniAdminLogout( )
    {
        top.document.location = "/admin/proc_gni_ADMIN_LOGOUT.asp";
    }

    function replaceAll(inputString, targetString, replacement){
        var v_ret = null;
        var v_regExp = new RegExp(targetString, "g");
        v_ret = inputString.replace(v_regExp, replacement);
        return v_ret;
    }

    function addComma(val){
        var reg = /(^[+-]?\d+)(\d{3})/;
        val = removeComma(val);
        val += '';
        while (reg.test(val)) {
            val = val.replace(reg, '$1' + ',' + '$2');
        }
        return val;
    }

    function removeComma(val){
        return replaceAll(val, ",", "");
    }


    //copyURL 함수
    function copyURLtoClipboard()
    {
        var url = document.URL;
        if ( window.clipboardData.setData("Text",url) ) {
            alert('주소가 복사되었습니다.');
        }
    }

    function copyURLtoClipboardCustom( txtLink, txtImg )
    {
        if ( window.clipboardData.setData("Text","<a href='"+txtLink+"' target='_blank'><img src='"+txtImg+"' border=0></a>") ) {
            alert('소스가 복사되었습니다.');
        }
    }

    //특정부분 프린트 함수
    function printWindow(p_service){
        //alert("함수OK");
        window.open("/common/printWindow.html","","directories=0,location=0,menubar=0,scrollbars=0,toolbar=0,width=680,height=700, left=0, top=0;");
    }

    //function 팝업 오픈 함수
    function openPopup( url , popname, width , height ) {
        window.open(url,popname,'width='+width+',height='+height+',top=0,left=0');
    }

    function goAddAttachFileTbl( tblObjectName )
    {
        if( document.getElementById(tblObjectName) == null ) return false;

        var elTr         = null;
        var elTd         = null;
        var elTdConfig   = null;
        var configDetail = null;
        var i,j;
        var addString    = "";

        if ( gniCountAttachFile < gniMaxAttachFile ) {
            var newDate = new Date();

            elTr         = document.getElementById(tblObjectName).insertRow(-1);
            elTr.id      = tblObjectName+"_"+newDate.getTime();

            addString  = "<input type=file name='"+strAttachFileObjectName+"' id='"+strAttachFileObjectName+"' class='writeInput' style='"+strAttachFileObjectStyle+"'>\n";
            addString += "<img src='"+strAttachFileDeleteURL+"' alt='"+strAttachFileDeleteObjectALT+"' style='cursor:pointer' align='absmiddle' onClick=\"javascript:goDeleteAttachFileTbl('"+tblObjectName + "', '" + elTr.id + "');\" />\n";
            gniCountAttachFile++;

            elTd = elTr.insertCell( -1 );
            elTd.innerHTML = addString;
        }
        else {
            alert( "최대 "+gniMaxAttachFile+"개 까지 추가가 가능합니다." );
        }
    }
    function goAddAttachFileTbl2( tblObjectName, fileObjectName )
    {
        if( document.getElementById(tblObjectName) == null ) return false;

        var elTr         = null;
        var elTd         = null;
        var elTdConfig   = null;
        var configDetail = null;
        var i,j;
        var addString    = "";

        if ( gniCountAttachFile < gniMaxAttachFile ) {
            var newDate = new Date();

            elTr         = document.getElementById(tblObjectName).insertRow(-1);
            elTr.id      = tblObjectName+"_"+newDate.getTime();

            addString  = "<input type=file name='"+fileObjectName+"' id='"+fileObjectName+"' class='writeInput' style='"+strAttachFileObjectStyle+"'>\n";
            addString += "<img src='"+strAttachFileDeleteURL+"' alt='"+strAttachFileDeleteObjectALT+"' style='cursor:pointer' align='absmiddle' onClick=\"javascript:goDeleteAttachFileTbl('"+tblObjectName + "', '" + elTr.id + "');\" />\n";
            gniCountAttachFile++;

            elTd = elTr.insertCell( -1 );
            elTd.innerHTML = addString;
        }
        else {
            alert( "최대 "+gniMaxAttachFile+"개 까지 추가가 가능합니다." );
        }
    }
    function goDeleteAttachFileTbl( tblObjectName, rowID )
    {
        if ( document.getElementById(tblObjectName).length<1 )    return false;

        for ( cnt=0; cnt<document.getElementById(tblObjectName).rows.length; cnt++ ) {
            if ( document.getElementById(tblObjectName).rows[cnt].id == rowID ) {
                document.getElementById(tblObjectName).deleteRow(cnt);
                gniCountAttachFile--;
                break;
            }
        }
        return true;
    }


