function	scrollTop()	{
    var scrollTop = document.scrollTop ? document.scrollTop : document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
    return scrollTop;
}
function	quickSlide(elId,speed,topPosition,botPosition)	{
    var quickId = document.getElementById(elId);
    var topPosition = topPosition;
    var botPosition = botPosition;
    var wrapperHeight = document.getElementById("conWrap").offsetHeight;

    quickId.style.top = parseInt(topPosition) + "px";

    var speedPlus = 0;

    var quickSlide = setInterval(function()	{
        if (parseInt(quickId.style.top) < parseInt(scrollTop()) + parseInt(topPosition) && parseInt(quickId.style.top) < parseInt(wrapperHeight) - parseInt(quickId.offsetHeight) - parseInt(botPosition))
        {
            quickId.style.top = parseInt(quickId.style.top) + speedPlus + "px";
            speedPlus = speedPlus + 1;
            if (parseInt(quickId.style.top) >= parseInt(scrollTop()) + parseInt(topPosition))
            {
                quickId.style.top = parseInt(scrollTop()) + parseInt(topPosition) + "px";
                speedPlus = 0;
                if (parseInt(quickId.style.top) >= parseInt(wrapperHeight) - parseInt(quickId.offsetHeight) - parseInt(botPosition))
                {
                    quickId.style.top = parseInt(wrapperHeight) - parseInt(quickId.offsetHeight) - parseInt(botPosition) + "px";
                }
            }
        }

        if (parseInt(quickId.style.top) > parseInt(scrollTop()) + parseInt(topPosition))
        {
            quickId.style.top = parseInt(quickId.style.top) - speedPlus + "px";
            speedPlus = speedPlus + 1;
            if (parseInt(quickId.style.top) <= parseInt(scrollTop()) + parseInt(topPosition))
            {
                quickId.style.top = parseInt(scrollTop()) + parseInt(topPosition) + "px";
                speedPlus = 0;
            }
        }
    },speed);
}

//Page에 설정된 경제용어 팝업
$(document).ready(function() {
    $(".word").click(function() {
        popup1('http://www.bokeducation.or.kr/common/popup/ecoDictionaryView.do?isLink=Y&keyWord=' + encodeURIComponent($(this).text()), '690', '600', 'N');
    });
});

function setPng24(obj) { /* IE6 24bit png 이미지 처리 */
    if($.browser.msie && $.browser.version < 7){
        obj.width=obj.height=1;
        obj.className=obj.className.replace(/\bpng24\b/i,'');
        obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');"
        obj.src='';
        return '';
    }
}

function flashActiveX1(name, w, h){
    document.write('<object id="elementid" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+w+'" height="'+h+'">');
    document.write('<Param name=movie value="'+name+'">');
    document.write('<Param name=quality value=high>');
    document.write('<param name=menu value=false>');
    document.write('<Param name=wmode value=transparent>');
    document.write('<embed src="'+name+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed>');
    document.write('</object>');
}

function flashActiveX2(name1, name2, w, h){
    document.write('<object id="elementid" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+w+'" height="'+h+'">');
    document.write('<Param name=movie value="'+name1+'">');
    document.write('<Param name=quality value=high>');
    document.write('<param name=menu value=false>');
    document.write('<Param name=wmode value=transparent>');
    document.write('<embed src="'+name2+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed>');
    document.write('</object>');
}

function editorActiveX(name){
    document.write('<object id="'+name+'" classid="clsid:2D360201-FFF5-11d1-8D03-00A0C959BC0A" style="width:100%;height:100%" onFocus="hide_upload()"></object>');
}

function generalActiveX(text){
    document.write(text);
}




/**
 * onLoad 이벤트를 추가한다.
 * ex) addOnLoad(test);
 *     function test(){
 *     }
 *
 * @param funcName 함수명
 */
function addOnLoad(funcName){
    if (window.addEventListener)	{/* Dom Standard */
        window.addEventListener( 'load' , funcName, false );
    }else{
        window.attachEvent('onload', funcName);
    }
}

/**
 *	사업장 등록 번호 체크
 */
function chkWorkNumb(strNumb) {
    strNumb = Replace(strNumb,"-");
    if (strNumb.length != 10) {
        alert("사업자등록번호가 잘못되었습니다.");
        return false;
    }

    sumMod = 0;
    sumMod += parseInt(strNumb.substring(0,1));
    sumMod += parseInt(strNumb.substring(1,2)) * 3 % 10;
    sumMod += parseInt(strNumb.substring(2,3)) * 7 % 10;
    sumMod += parseInt(strNumb.substring(3,4)) * 1 % 10;
    sumMod += parseInt(strNumb.substring(4,5)) * 3 % 10;
    sumMod += parseInt(strNumb.substring(5,6)) * 7 % 10;
    sumMod += parseInt(strNumb.substring(6,7)) * 1 % 10;
    sumMod += parseInt(strNumb.substring(7,8)) * 3 % 10;
    sumMod += Math.floor(parseInt(strNumb.substring(8,9)) * 5 / 10);
    sumMod += parseInt(strNumb.substring(8,9)) * 5 % 10;
    sumMod += parseInt(strNumb.substring(9,10));

    if (sumMod % 10 != 0) {
        alert("사업자등록번호가 잘못되었습니다.");
        return false;
    }
    return true;
}

function chckNumKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode;
    if (charCode > 31 && (charCode < 48 || (charCode > 57 && charCode < 96) || (charCode > 105) )) {
        return false;
    }
    return true;
}

/**
 *	파일 다운로드
 */
function DownFile(flName)
{
    document.location.href = "/common/DownFile.jsp?file=" + flName;
}


// 공통 페이지프린트 함수
// 방법 : 인쇄하고자 하는 영역을 <print> </print>로 감싸줌
// 호출방법 : <a href="javascript:printPage('<html:env name='pageURL'/>', 800, 600)">
function printPage(url, w, h){
    popup("/print.do?url="+escape(url), w, h, 1);
}
// 자바스크립트만으로 인쇄하는 기능
function ps_page_print(){
    popup('/common/print.jsp', 710, 520, 1);
}

function showMediaPlayer(url, w, h){
    var s = '<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="Player" '+
    ' width="'+w+'" height="'+h+'"> '+
    '<param name="Filename" value="'+url+'"> '+
    '<param name="AutoStart" value="1"> '+
    '<param name="Enabled" value="1"> '+
    '<param name="EnableContextMenu" value="0"> '+
    '<param name="EnableTracker" value="0"> '+
    '<param name="ShowCaptioning" value="0"> '+
    '<param name="ShowControls" value="1"> '+
    '<param name="ShowAudioControls" value="1"> '+
    '<param name="ShowDisplay" value="0"> '+
    '<param name="ShowGotoBar" value="0"> '+
    '<param name="ShowPositionControls" value="1"> '+
    '<param name="ShowStatusBar" value="0"> '+
    '<param name="ShowTracker" value="1"> '+
    '<param name="Volume" value="80"> '+
    '</object> ';
    document.write(s);

}
function showMediaPlayer2(url, w, h){
    var s = '<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="Player" '+
    ' width="'+w+'" height="'+h+'"> '+
    '<param name="Filename" value="'+url+'"> '+
    '<param name="AutoStart" value="1"> '+
    '<param name="Enabled" value="1"> '+
    '<param name="EnableContextMenu" value="0"> '+
    '<param name="EnableTracker" value="0"> '+
    '<param name="ShowCaptioning" value="0"> '+
    '<param name="ShowControls" value="1"> '+
    '<param name="ShowAudioControls" value="0"> '+
    '<param name="ShowDisplay" value="0"> '+
    '<param name="ShowGotoBar" value="0"> '+
    '<param name="ShowPositionControls" value="1"> '+
    '<param name="ShowStatusBar" value="0"> '+
    '<param name="ShowTracker" value="0"> '+
    '<param name="Volume" value="80"> '+
    '</object> ';
    document.write(s);

}


/////////////////////////////////////////////////////////
// onLoad 이벤트를 추가한다.
// ex) addOnLoad(test);
//     function test(){
//     }
//
// @funcName 함수명
function addOnLoad(funcName){
    if(window.attachEvent){
        window.attachEvent('onload', funcName);
    }
}


///////////////////////////////////////////////////////////
// 팝업 기능관련
// @url URL
// @w 폭
// @h 너비
// @s 스크롤바 여부 1, 'Y'이면 보여줌, 0, '', 'N'이면 숨김
function popup1(url,w,h,s){
    if (navigator.userAgent.indexOf('Chrome') > 0) {
        if (typeof(w) == 'string') w = parseInt(w)
        if (typeof(h) == 'string') h = parseInt(h)
        h = h + 2
        w = w + 1
    }
    var l, t, objPopup
    l = (screen.width-w)/2;
    t = (screen.height-h)/2;
    if(s==1 || s=="Y")
        objPopup  = window.open(url,'','width='+w+',height='+h+',left='+l+',top='+t+',resizable=0,scrollbars=1');
    else if (s=="" || s==0 || s=="N" || !s || s=="0" )
        objPopup = window.open(url,'','width='+w+',height='+h+',left='+l+',top='+t+',resizable=0,scrollbars=0,status=0');
    else
        objPopup = window.open(url,'','width='+w+',height='+h+',left='+l+',top='+t+',resizable=1,menubar=1,toolbar=1,scrollbars=1,status=1');
    if (objPopup == null) {
        alert("차단된 팝업창을 허용해 주십시오.");
    }
    return objPopup;
}
function popup(url,w,h,s,target){

    var l, t, objPopup
    if(target == 'undefined' || target=='' || target==null) {
        var target='win1';
    }
    l = (screen.width-w)/2;
    t = (screen.height-h)/2;
    if(s==1 || s=="Y")
        objPopup  = window.open(url,target,'width='+w+',height='+h+',left='+l+',top='+t+',resizable=0,scrollbars=1');
    else if (s=="" || s==0 || s=="N" || !s || s=="0" )
        objPopup = window.open(url,target,'width='+w+',height='+h+',left='+l+',top='+t+',resizable=0,scrollbars=0,status=0');
    else
        objPopup = window.open(url,target,'width='+w+',height='+h+',left='+l+',top='+t+',resizable=1,menubar=1,toolbar=1,scrollbars=1,status=1');
    if (objPopup == null) {
        alert("차단된 팝업창을 허용해 주십시오.");
    }
    return objPopup;
}

function popupEx(url,w,h,s,n){

    var objPopup;

    if (n == null)	{
        n = "";
    }
    if(s==1 || s=="Y")
        objPopup  = window.open(url,n,'width='+w+',height='+h+',resizable=0,scrollbars=1');
    else if (s=="" || s==0 || s=="N" || !s)
        objPopup = window.open(url,n,'width='+w+',height='+h+',resizable=0,scrollbars=0,status=0');
    else
        objPopup = window.open(url,n,'width='+w+',height='+h+',resizable=1,menubar=1,toolbar=1,scrollbars=1,status=1');
    if (objPopup == null) {
        alert("차단된 팝업창을 허용해 주십시오.");
    }
    return objPopup;

}

function popupEx1(url,w,h,s,l,t){
    var objPopup;

    if(s==1 || s=="Y")
        objPopup  = window.open(url,'','width='+w+',height='+h+',left='+l+',top='+t+',resizable=0,scrollbars=1');
    else if (s=="" || s==0 || s=="N" || !s)
        objPopup = window.open(url,'','width='+w+',height='+h+',left='+l+',top='+t+',resizable=0,scrollbars=0,status=0');
    else
        objPopup = window.open(url,'','width='+w+',height='+h+',left='+l+',top='+t+',resizable=1,menubar=1,toolbar=1,scrollbars=1,status=1');
    if (objPopup == null) {
        alert("차단된 팝업창을 허용해 주십시오.");
    }
    return objPopup;

}

function openWin(url,w,h){
    window.open(url,"",'width='+w+',height='+h+',resizable=0,scrollbars=0,status=0');
}
function openSite(url,target){
    window.open(url,target,"width=960,height=768,resizable=1,scrollbars=1,status=0,menubar=0,toolbar=1");
}

function openSiteBc(url,target){
    window.open(url,target,"width=960,height=768,resizable=1,scrollbars=1,status=0,menubar=0,toolbar=1,alwaysRaised");
}

///////////////////////////////////////////////////////////
// 특정 url로 이동
function goSite(url){
    if(url != ''){
        if(url.indexOf("http")<0)
            url = "http://"+url;
        popup(url,1024,768,9);
    }else
        alert('url이 없습니다.');
}


///////////////////////////////////////////////////////////
// 0으로 체우기

function getZeroFill(n,str) {
         var ret="";
         i=0;
         len=0;
         if(str == ""){
             ret = "0";
             len = 1;
         }else{
             ret = str;
             len = str.length;
         }

         if(len < n){
             for(i=0;i<n-len;i++){
                 ret = "0" + ret;
             }
         }
    return ret;
}


///////////////////////////////////////////////////////////
// 페이지 위치 변경 처리
function goUrl(url,target){
    if(!target) target = window;
    target.location.href=url;
}


///////////////////////////////////////////////////////////
// 쿠키셋팅
function setCookie( name, value, expiredays )
{
    if(typeof(expiredays) == 'undefined'){
        document.cookie = name + "=" + escape( value ) + "; path=/;";
    }else{
        var todayDate = new Date();
        todayDate.setDate( todayDate.getDate() + expiredays );

        document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";";
    }
}


function getCookie( name )
{
    var nameOfCookie = name + "=";
    var x = 0;
    while ( x <= document.cookie.length )
    {
        var y = (x+nameOfCookie.length);
        if ( document.cookie.substring( x, y ) == nameOfCookie ) {
            if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
                endOfCookie = document.cookie.length;
            return unescape( document.cookie.substring( y, endOfCookie ) );
        }
        x = document.cookie.indexOf( " ", x ) + 1;
        if ( x == 0 )
        break;
    }
    return "";
}

///////////////////////////////////////////////////////////
// String 문자열 처리
function LTrim(strValue){
    while (strValue.length>0){
       if(strValue.charAt(0)==' '){
           strValue=strValue.substring(1,strValue.length);
   }
       else
          return strValue;
    }
return strValue;
}


function RTrim(strValue){
    while (strValue.length>0){
       if(strValue.charAt(strValue.length-1)==' '){
           strValue=strValue.substring(0,strValue.length-1);
   }
       else
           return strValue;
   }
   return strValue;
}

function Trim(str) {
    var search = 0
    while ( str.charAt(search) == " ") search = search + 1
    str = str.substring(search, (str.length))
    search = str.length - 1
    while (str.charAt(search) ==" ") search = search - 1
    return str.substring(0, search + 1)
}

function Trim2(str){
    var reg = /\s+/g;
    return str.replace(reg,'');
}

//문자열 변환
function Replace(strString, strChar) {
    var strTmp = "";
    for (i = 0; i< strString.length; i++) {
        if (strString.charAt(i) != strChar) {
            strTmp = strTmp + strString.charAt(i);
        }
    }
    return strTmp;
}

//문자열 변환
function strReplace(szFind, szReplace, szAll) {
    var i;
    var length;

    length = szReplace.length - szFind.length;

    for (i=0; i < szAll.length; i++) {
        if (szAll.substr(i,szFind.length) == szFind) {
            if ( i > 0 ) {
                if (szFind == "\n") {
                    szAll = szAll.substr(0, i-1) + szReplace + szAll.substr(i+szFind.length,szAll.length - (i+szFind.length));
                } else {
                    szAll = szAll.substr(0, i) + szReplace + szAll.substr(i+szFind.length,szAll.length - (i+szFind.length));
                }
            } else {
                szAll = szReplace + szAll.substr(i+szFind.length,szAll.length - (i+szFind.length));
            }
            i = i + length;
        }
    }
    return szAll;
}
// 대문자로 변경
function toUpperCase(val){
    return val.toUpperCase();
}




/***************************
 onkeyup="this.value=numFormat(this)"
 123,456 형 숫자로 리턴
**************************/
function numFormat(obj) {
  var num = obj.value;
  var num_str = (num.toString()).replace(/[\(\)\.\,\ ]/g, '');
  var result = '';

  for(var i=0; i<num_str.length; i++) {
   var tmp = num_str.length-(i+1);
   if(i%3==0 && i!=0) result = ',' + result;
    result = num_str.charAt(tmp) + result;
  }
  obj.value = result;
 }





//***************************
// *** 123,456 형 숫자로 리턴
// **************************
function numberFormat(num)
{
    var str=''+num;
    var len=str.length;
    var no =len/3;
    var remain=len%3;
    var rv='';
    var str1='';
    var blank=0;
    var Bstr='                                   ';

    for (var i=1;i<=no;i++)
    {
        rv=str.substring(len-i*3,len-(i*3)+3)+rv;
        if (i!=no ) rv=','+rv;
    }
    if (remain) rv=str.substring(0,remain)+rv;

    if (navigator.appName=="Microsoft Internet Explorer")
    {
        rv=Bstr.substring(0,14-rv.length)+rv;
    }
    else
    {
        rv=Bstr.substring(0,14-rv.length)+rv;
    }
    return rv;
}

//*******************************
// *** 셀렉트박스 선택 되었는지
// ******************************
function isSelect(sel) {
    if(sel.selectedIndex==0){
        return false;
    }else{
        return true;
    }
}

//*******************************
// *** 라디오버튼 체크 되었는지
// ******************************
function isRadio(sel) {
    var n=0;
    if(sel.length==undefined){
        if(sel.value) n++;
    }else{
        for(i=0; i<sel.length; i++){
            if(sel[i].checked){
                n++;
            }
        }
    }
    if(n==0){
        return false;
    }else{
        return true;
    }
}

//*******************************
// *** 히든폼에 값이 있는지
// ******************************
function isHidden(sel) {
    if(!sel.value){
        return false;
    }else{
        return true;
    }
}

//***************************
// *** 입력이 되었는지 체크
// **************************
function isInput(obj)
{

    if(obj.type=="select-one"){
        if(!isSelect(obj))
        return false;
    }else if(obj.type=="radio" || obj.type==undefined){

        if(!isRadio(obj))
        return false;
    }else if(obj.type=="hidden"){
        if(!isHidden(obj))
        return false;
    }else{
        var val = Trim(obj.value);
        if(val.length==0 || val=="")
        return false;
    }
    return true;
}

//*******************************************
//*** 값이 같은지 체크 (pwd1/pwd2)
//*******************************************
function isEqual(obj1,obj2)
{
    if(obj1.value != obj2.value) return false;
    return true;
}

//************************************
//*** 입력된 문자의 길이가 같은지 체크
//************************************
function isChkLen(obj,len)
{
    if(obj.value.length != len)  return false;
    return true
}

//***********************************
// *** 입력된 문자의 길이 범위를 체크
//***********************************
function isBtnLen(obj,len1,len2)
{
    if(obj.value.length <len1 && obj.value.length > len2) return false;
    return true ;
}

//***********************************
// *** 입력된 문자의 길이 범위를 err체크
//***********************************
function isBtnLens(obj,len1,len2)
{
    if(obj.value.length <len1 || obj.value.length > len2) return false;
    return true ;

}


//*****************************//
//*** 숫자만 입력 가능
//*****************************//
function isNum(obj)
{
    if(obj.value.search(/\D/) != -1 ) return false;
    return true ;
}

//*****************************//
//***특수문자 제어 기능 (영문과 숫자만)
//*****************************//
function isOnlyEng(obj) {
    var inText = obj.value;
    var ret;
    for (var i = 0; i < inText.length; i++) {
        ret = inText.charCodeAt(i);
        if ((ret > 122) || (ret < 48) || (ret > 57 && ret < 65) || (ret > 90 && ret < 97)) {
            return false;
        }
    }
    return true;
}



//****************************************
//*** 입력된 문자열이 주민등록번호인지 체크
//****************************************


function isJuminNum(aNum1, aNum2)
{
    var tot=0, result=0, re=0, se_arg=0;
    var chk_num="";
    var aNum = aNum1 + aNum2;

    if (aNum.length != 13)
    {
        return false;
    }
    else
    {
        for (var i=0; i <12; i++)
        {
            if (isNaN(aNum.substr(i, 1)))
            return false;
            se_arg = i;

            //외국인 인 경우
            if(i==6) {
                if (aNum.substr(i, 1) == 7 || aNum.substr(i, 1) == 8 || aNum.substr(i, 1) == 5 || aNum.substr(i, 1) == 6)
                return true
            }

            if (i >= 8)
            se_arg = i - 8;
            tot = tot + Number(aNum.substr(i, 1)) * (se_arg + 2)
        }

        if (chk_num != "err")
        {
            re = tot % 11;
            result = 11 - re;
            if (result >= 10) result = result - 10;
            if (result != Number(aNum.substr(12, 1))) return false;
            if ((Number(aNum.substr(6, 1)) < 1) || (Number(aNum.substr(6, 1)) > 4)) return false;
        }
    }
    return true;
}


//*****************************//
//***이메일이 올바른지 체크 ***//
//*****************************//
function emailCheck (emailStr) {
    // Email check 함수
    var emailPat=/^(.+)@(.+)$/
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
    var validChars="\[^\\s" + specialChars + "\]"
    var firstChars=validChars
    var quotedUser="(\"[^\"]*\")"
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
    var atom="(" + firstChars + validChars + "*" + ")"
    var word="(" + atom + "|" + quotedUser + ")"
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


    var matchArray=emailStr.match(emailPat)
    if (matchArray==null) {
        alert("e-mail 주소가 정확하지 않습니다.\n @ 와 . 을 확인하십시오")
        return false
    }
    var user=matchArray[1]
    var domain=matchArray[2]

    if (user.match(userPat)==null) {
        alert("메일 아이디가 정확한 것 같지 않습니다.")
        return false
    }

    var IPArray=domain.match(ipDomainPat)
    if (IPArray!=null) {
        for (var i=1;i<=4;i++) {
        if (IPArray[i]>255) {
        alert("IP가 정확하지 않습니다.")
        return false
    }
    }
    return true
    }

    var domainArray=domain.match(domainPat)

    if (domainArray==null) {
        alert("도메인 이름이 정확한 것 같지 않습니다.")
        return false
    }
    var atomPat=new RegExp(atom,"g")
    var domArr=domain.match(atomPat)
    var len=domArr.length

    if (domArr[domArr.length-1].length<2 ||
        domArr[domArr.length-1].length>3) {
        alert("도메인명의 국가코드는 2자보다 크고 3자보다 작아야 합니다.")
        return false
    }

    if (domArr[domArr.length-1].length==2 && len<3) {
        var errStr="This address ends in two characters, which is a country"
        errStr+=" code. Country codes must be preceded by "
        errStr+="a hostname and category (like com, co, pub, pu, etc.)"
        //alert(errStr)
        alert("유효한 이메일값이 아닙니다. 정확히 입력해 주시길 바랍니다.")
        return false
    }

    if (domArr[domArr.length-1].length==3 && len<2) {
        var errStr="이 주소는 호스트명이 일치하지 않습니다."
        alert(errStr)
        return false
    }
    return true;
}




/*
2005.08.12 추가
*/

///////////////////////////////////////////////////////////
// 한글인지 체크
function isHangul (obj)
{
    if (obj.type == object) {
        var str = obj.value;
        var retCode=0;
        for(i=0; i<str.length; i++)
        {
                var code = str.charCodeAt(i)
                var ch = str.substr(i,1).toUpperCase()
                code = parseInt(code)

                if((ch<"0" || ch>"9") && (ch<"A" || ch>"Z") && ((code>255) || (code<0)))
                {
                        return true;
                }
        }
        return false;

    } else {
        return isHangul2(obj);
    }
}

// 한글인지 아닌지 구별
function isHangul2(s)
{
     var len;

     len = s.length;

     for (var i = 0; i < len; i++)  {
         if (s.charCodeAt(i) != 32 && (s.charCodeAt(i) < 44032 || s.charCodeAt(i) > 55203))
             return false;
     }
     return true;
}

///////////////////////////////////////////////////////////
// 공백체크
function isEmpty( str ) {
   for ( var i = 0 ; i < str.length ; i++ )    {
      if ( str.substring( i, i+1 ) == " " )
         return true;
   }
   return false;
}

///////////////////////////////////////////////////////////
// 폼 항목들 입력값 체크
function chkInput(obj, msg){
    if(!isInput(obj)){
        alert(msg);
        if(obj.type !="radio" && obj.type != undefined && obj.type != "hidden"){
            obj.value="";
            obj.focus();
        }
        return false;
    }
    return true;
}

///////////////////////////////////////////////////////////
// 폼 항목의 숫자 체크
function chkNum(obj,msg)
{
    if(!chkInput(obj,msg)) return false;
    if(!isNum(obj)){
        alert(msg);
        obj.value="";
        obj.focus();
        return false;
    }
    return true;
}

///////////////////////////////////////////////////////////
// 폼 항목 영문/수자 체크
function chkOnlyEng(obj, msg){
    if(!isInput(obj) || !isOnlyEng(obj)){
        alert(msg);
        obj.value="";
        obj.focus();
        return false;
    }
    return true;
}

function chkBtnLen(obj,len1,len2,msg){
    if(!isBtnLen(obj,len1,len)){
        alert(msg);
        obj.value="";
        obj.focus();
    }
}




//////////////////////////////////////////////////////////////
// 멀티 체크박스
/**
 * 특정이름의 멀티체크박스를 체크 또는 체크해제한다.
 * ex) <input type=checkbox name=IDS value='...'>
 *     <script language='javascript'>
 *		toggleMultiChk(this.checked, 'IDS')
 *	   </script>
 *
 * @param bCheck    true|false(체크할 상태)
 * @param itemName  체크대상 체크박스이름
 */
function toggleMultiChk(bCheck, itemName){
    var obj = document.getElementsByName(itemName);
    if(typeof(obj) == 'undefined'){
        return;
    }

    for(var i=0; i<obj.length; i++){
        obj[i].checked = bCheck;
    }
}
/**
 * 체크된 개수
 * @param itemName 체크박스명
 */
function getMultiCheckedNum(itemName){
    var obj = document.getElementsByName(itemName);
    if(typeof(obj) == 'undefined'){
        return 0;
    }
    var chkedCnt=0;

    for(var i=0; i<obj.length; i++){
        if(obj[i].checked)
            chkedCnt++;
    }
    return chkedCnt;
}
/**
 * 체크된 항목들 값을 취합해서 리턴
 * @param itemName 체크박스명
 * @param delim    구분자
 */
function getMultiCheckedString(itemName, delim){
    var obj = document.getElementsByName(itemName);
    var div = delim;
    if(div=="")
        div="|";
    var chkCnt=0;
    if(typeof(obj) == 'undefined'){
        return "";
    }
    var s="";
    var n=0;
    for(var i=0; i<obj.length; i++){
        if(obj[i].checked){
            if(n>0)
                s += div;
            s += obj[i].value;
            n++;
        }
    }
    return s;
}


/**
 * 체크된 항목들 값을 취합해서 리턴
 * @param itemName 체크박스명
 * @param delim    구분자
 */
function checkedToString(obj, delim){
    var div = delim;
    if(div=="")
        div="|";
    var chkCnt=0;
    if(typeof(obj) == 'undefined'){
        return "";
    }
    if(obj.length == undefined){
        return (obj.checked) ? obj.value : "";
    }
    var s="";
    var n=0;
    for(var i=0; i<obj.length; i++){
        if(obj[i].checked){
            if(n>0)
                s += div;
            s += obj[i].value;
            n++;
        }
    }
    return s;
}

///////////////////////////////////////////////////////////
// 포커스이동
// onkeyup="moveFocus(this,this.form.jumin2,6)"
function moveFocus(obj1,obj2,movLen){
    movLen = (!movLen) ? 6 : movLen; //  = 6 //포커스이동   ;
    if(obj1.value.length == movLen ) obj2.focus();
}
//대문자로 변경
function upperCase(str) {
    if (str.length = 0 ) return "";
    else return str.toUpperCase();
}
//소문자로 변경
function lowerCase(str) {
    if (str.length = 0 ) return "";
    else return str.toLowerCase();
}

/**
숫자만 입력
onkeyup=number(this)
*/
function number(obj) {
    if(!isNumber(obj))obj.value='';
}
/**
 숫자인지 체크
*/
function isNumber(elem) {
    var str = elem.value;
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString( );
    if (!str.match(re)) {
        alert("숫자만 입력가능합니다.");
        return false;
    }
    return true;
}

function numberAndDot(obj) {
    if(!isNumberAndDot(obj))obj.value='';
}
/**
 숫자와 , 인지 체크
*/
function isNumberAndDot(elem) {
    var str = elem.value;
    var re = (/^[0-9,\,]+$/);
    str = str.toString( );
    if (!str.match(re)) {
        alert("숫자만 입력가능합니다.");
        return false;
    }
    return true;
}


// 숫자만 입력하게 한다.
// onkeydown="return onlyNumber();"
function onlyNumber() {
     if ((window.event.keyCode == 8) || (window.event.keyCode == 9) || (window.event.keyCode == 46)) { //백스페이스키와  tab, del키는 먹게한다.
      window.event.returnValue=true;
     } else if ((window.event.keyCode >= 96) && (window.event.keyCode <= 105)) { //숫자패드는 먹게 한다.
             window.event.returnValue=true;
   } else if( (window.event.keyCode<48) || (window.event.keyCode>57) ) {
      window.event.returnValue=false;
  }
}





// 숫자 및 '.' 만 입력
function onlyNumberAndDot() {
     if ((window.event.keyCode == 8) || (window.event.keyCode == 190) || (window.event.keyCode == 9) || (window.event.keyCode == 46)) { //백스페이스키와  '.', tab, del키는 먹게한다.
      window.event.returnValue=true;
     } else if (((window.event.keyCode >= 96) && (window.event.keyCode <= 105)) || (window.event.keyCode == 110)) { //숫자패드는 먹게 한다.
             window.event.returnValue=true;
   } else if( (window.event.keyCode<48) || (window.event.keyCode>57) ) {
      window.event.returnValue=false;
  }
}
// 이미지 파일 여부
function isImageFile(fn) {
    var ext = fn.value;
    ext = ext.substring(ext.length-3,ext.length);
    ext = ext.toLowerCase();
    if(ext == "jpg" || ext == "jpeg" || ext == "gif" || ext == "bmp") {
        return true;
    } else {
        alert("이미지 파일(jpg, gif, bmp)만 업로드 할 수 있습니다.");
        return false;
    }
}
// 팝업창
// arg1 : url
// arg2 : window name
// arg3 : width
// arg4 : height
// arg5 : 창 중앙 위치 여부
// arg6 : top
// arg7 : left
function showPopup()
{
    var url, name, w, h, loca, top, left, status, scroll, resize;
    var menubar, toolbar, locat, fullscreen;
    var winprops, win;
    url = arguments[0];
    name = arguments[1];
    if (arguments[2] == "" || arguments[2] == null)
    w = 300;
    else w = arguments[2];
    if (arguments[3] == "" || arguments[3] == null)
    h = 200;
    else h = arguments[3];
    if ( arguments[4] == "" || arguments[4] == null || arguments[4] == "1" || arguments[4] == "yes")
    {
    top = (screen.height - h) / 2;
    left = (screen.width - w) / 2;
    loca = 'top='+top+'; left='+left+';' ;
    }
    else if(arguments[4] == "0" || arguments[4] == "no")
    {
    if (arguments[5] == "" || arguments[5] == null)
    top = 0;
    else top = arguments[5];
    if (arguments[6] == "" || arguments[6] == null)
    left = 0;
    else left = arguments[6];
    loca = 'top='+top+'; left='+left+';' ;
    }
    else loca = '';
    if (arguments[7] == "" || arguments[7] == null)
    status = '1';
    else status = arguments[7];
    if (arguments[8] == "" || arguments[8] == null)
    scroll = '0';
    else scroll = arguments[8];
    if (arguments[9] == "" || arguments[9] == null)
    resize = '0';
    else resize = arguments[9];
    if (arguments[10] == "" || arguments[10] == null)
    menubar = '0';
    else menubar = arguments[10];
    if (arguments[11] == "" || arguments[11] == null)
    toolbar = '0';
    else toolbar = arguments[11];
    if (arguments[12] == "" || arguments[12] == null)
    locat = '0';
    else locat = arguments[12];
    if (arguments[13] == "" || arguments[13] == null)
    fullscreen = '0';
    else fullscreen = arguments[13];
    winprops = 'width='+w+'; height='+h+'; '+loca+' status='
    +status+'; scrollbars='+scroll+'; resizable='+resize+'; menubar='
    +menubar+'; toolbar='+toolbar+'; location='+locat+'; fullscreen='+fullscreen;
    win = window.open(url,name,winprops);
    return win ;
}
function closeWindow()
{
    window.close();
    return false;
}

// 주민등록번호 체크
function checkNationalId(nationalId1, nationalId2)
    {

    if(isNaN(nationalId1) || isNaN(nationalId2))
    {
        return 'N';
    }

    var nationalId = nationalId1 + nationalId2;

    var nationalIdStr = nationalId.toString();
    a = nationalIdStr.substring(0, 1);
    b = nationalIdStr.substring(1, 2);
    c = nationalIdStr.substring(2, 3);
    d = nationalIdStr.substring(3, 4);
    e = nationalIdStr.substring(4, 5);
    f = nationalIdStr.substring(5, 6);
    g = nationalIdStr.substring(6, 7);
    h = nationalIdStr.substring(7, 8);
    i = nationalIdStr.substring(8, 9);
    j = nationalIdStr.substring(9, 10);
    k = nationalIdStr.substring(10, 11);
    l = nationalIdStr.substring(11, 12);
    m = nationalIdStr.substring(12, 13);

    month = nationalIdStr.substring(2,4);
    day = nationalIdStr.substring(4,6);

    if(month <= 0 || month > 12) return 'N';
    if(day <= 0 || day > 31) return 'N';



    // 주민등록뒷자리 첫번째 번호 유효성 체크 (1,2,3,4) are only valid
    if(g > 4 || g == 0) return 'N';

    temp=a*2+b*3+c*4+d*5+e*6+f*7+g*8+h*9+i*2+j*3+k*4+l*5;
    temp=temp%11;
    temp=11-temp;
    temp=temp%10;

    if(temp == m)
        return 'Y';
    else
        return 'N';

}


// 공백이 있는지 체크
function checkSpace( str )
{
    return (str.search(/\s/) != -1);
}


// 14세 이상이면 true아니면 false;
function is14AgeOver(v_year, v_month, v_day)
{
     var today = new Date();
     var d_year = v_year*1 + 14;
     var d_month = v_month*1;
     var d_day = v_day*1;

     /* 과거 날짜여야 함. */
     if( d_year > today.getFullYear() ){
         return false;
     }else if( d_year == today.getFullYear() && d_month > (today.getMonth()*1+1)){
         return false;
     }else if( d_year == today.getFullYear() && d_month == (today.getMonth()*1+1) && d_day > today.getDate()){
         return false;
     }


     /* 달별 일 check */
     if( d_month == 1 || d_month == 3 || d_month == 5 || d_month == 7 || d_month == 8 || d_month == 10 || d_month == 12){
         if( d_day > 31 || d_day < 1) {
             return false;
         }
     }
     else if(d_month == 4 || d_month == 6 || d_month == 9 || d_month == 11 ){
         if( d_day > 30 || d_day < 1 ) {
             return false;
         }
     }
     else if( d_month == 2 )
     {
     /*
          if( ((d_year%400) == 0 || ((d_year%100) != 0 && (d_year%4) == 0) ){
              if( d_day > 29 || d_day < 1 ) {
                  return false;
              }
          }
          else {
              if( d_day > 28 || d_day < 1 ) {
                  return false;
              }
          }
     */
     }

     return true;
}

    // 특수문자 체크
function Check_nonChar(id_text)
{
        //var nonchar = '~`!@#$%^&*()-_=+\|<>?,./;:"';
        var nonchar = '`@#$%&\|<>;"';

        var i ;
        for ( i=0; i < id_text.length; i++ )  {
            if( nonchar.indexOf(id_text.substring(i,i+1)) > 0) {
                break ;
            }
        }
        if ( i != id_text.length ) {
            return false ;
        }
        else{
            return true ;
        }

        return false;
}

//문자열 개수
function LengthCheck(message) {
    var nbytes = 0;

    for (i=0; i<message.length; i++) {
        var ch = message.charAt(i);
        if (escape(ch).length > 4) {
            nbytes += 2;
        } else if (ch != '\r') {
            nbytes++;
        }
    }

    return nbytes;
}

function strCutByte(message, maximum){
    var inc = 0;
    var nbytes = 0;
    var msg = "";
    var msglen = message.length;

    for (i=0; i<msglen; i++) {
        var ch = message.charAt(i);
        if (escape(ch).length > 4) {
            inc = 2;
        } else if (ch != '\r') {
            inc = 1;
        }
        if ((nbytes + inc) > maximum) {
            break;
        }
        nbytes += inc;
        msg += ch;
    }

    return msg;
}


function chkEmail(obj1,obj2){
    if(!chkInput(obj1,"e-mail을 입력하세요.")) return false;
    if(obj2){
        if(!chkInput(obj2,"e-mail을 입력하세요.")) return false;
        if(!emailCheck(obj1.value+"@"+obj2.value)){ obj1.focus(); return false; }
    }else{
        if(!emailCheck(obj1.value)){ obj1.focus(); return false; }
    }
    return true;
}




function doResize(){
    container.height = myframe.document.body.scrollHeight;
    container.width = myframe.document.body.scrollWidth;
}


///////////////////////////////////////////////////////////////
// 이미지 resize
function imageResize(img, maxWidth, maxHeight)
{
    var width, height;

    width	= parseInt(img.width);
    if(width == 0) {
        return false;
    }

    height	= parseInt(img.height);
    if(height > maxHeight) {
        img.style.width		= Math.ceil(width * maxHeight / height);
        img.style.height	= maxHeight;
    }
    if(width > maxWidth) {
        img.style.height	= Math.ceil(height * maxWidth / width);
        img.style.width		= maxWidth;
    }

    return true;
}

///////////////////////////////////////////////////////////////
// 년월 yyyyMM형태로 리턴
function mergeToYM(year, month){
    var yymm = year;
    if(month.length < 2){
        yymm += "0"+month;
    }else{
        yymm += month;
    }
    return yymm;
}

///////////////////////////////////////////////////////////////
/**
 * 입력박스의 입력되는 글자byte수를 체크하고 제한한다.
 * @param item   입력박스 이름
 * @param viewId 현재 입력된 글자수를 보여줄 span태그 아이디
 * ex)
 *         현재 <span id='cmntlen' style=''>0</span>byte
 *         <textarea onKeyUp='inputCheckLen(this, "cmntLen", 100)'></textarea>
 */
function inputCheckLen(item, viewId, limit){
    var len = LengthCheck(item.value);
    if(len>limit){
        alert(limit+'byte를 초과할 수 없습니다.');
        item.value = strCutByte(item.value, limit);
    }
    len = LengthCheck(item.value);
    var obj = document.getElementById(viewId);
    obj.innerHTML = len;
}

/**
 * Ajax call
 */
function getHttprequest(URL) {
    var xmlhttp = null;
    if(window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open('GET', URL,false);
    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState==4 && xmlhttp.status == 200 && xmlhttp.statusText=='OK') {
            responseText = xmlhttp.responseText;
        }
    }
    xmlhttp.send('');

    return responseText = xmlhttp.responseText;
}

/**
 * 선택박스 값을 디폴트 서택
 */
function setSelBoxSelectedByValue(tbox, val){
    for(var i=0; i<tbox.options.length; i++){
        if(tbox.options[i].value == val){
            tbox.selectedIndex = i;
            return;
        }
    }
}
function setSelBoxSelectedByText(tbox, val){
    for(var i=0; i<tbox.options.length; i++){
        if(tbox.options[i].text == val){
            tbox.selectedIndex = i;
            return;
        }
    }
}

/**
 * 0에서 N까지의 랜덤값 반환
 */
function ps_random(i){
    return Math.floor(Math.random()*(i+1));
}

/**
멀티셀렉트 박스의 값을 String으로 변환시킨다.
A00|A01...
ex) editForm.kcd5CodeArr.value = selectToString(editForm.kcd5Code);
*/
function selectToString(sbox){
    var i=0,j=0;
    var idArray="";
    for(i=0; i<sbox.options.length; i++){
        if (i > 0) {
            idArray += "|";
        }
        idArray += sbox.options[i].value;
    }
    return idArray;
}

/**
멀티셀렉트 박스의 값을 String으로 변환시킨다.
A00|A01...
ex) editForm.kcd5CodeArr.value = selectToString(editForm.kcd5Code);
*/
function selectTextToString(sbox){
    var i=0,j=0;
    var idArray = '';
    for(i=0; i<sbox.options.length; i++){
        if (i > 0) {
            idArray += "|";
        }
        idArray += sbox.options[i].text;
    }
    return idArray;
}

//*******************************
// *** 라디오버튼 체크 시킨다.
// ******************************
function checkedRadio(obj, val) {
    var n=0;
    if(obj.length==undefined){
        if(obj.value == val ) obj.checked=true;
    }else{
        for(i=0; i<obj.length; i++){
            if(obj[i].value == val){
                obj[i].checked=true;
                break;
            }
        }
    }
}


function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.val().length; inx++) {
       if (chars.indexOf(input.val().charAt(inx)) == -1)
           return false;
    }
    return true;
}

/**
오브젝트를 받아서 값이 숫자인지 체크하여 true, fals 반환한다.
*/
function isNumber(input) {
    var chars = "0123456789";

    return containsCharsOnly(input,chars);
}

/**
오브젝트를 받아서 byte를 반환한다.
*/
function getByteLength(str) {
    var byteLength = 0;
    for (var inx = 0; inx < str.val().length; inx++) {
        var oneChar = escape(str.val().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;
}

/**
E-Mail 형식 체크 true, false 반환
*/
function isValidEmail(str) {
//  var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    var format = /^[\w_-]+(\.[\w_-]+)*@[\w_-]+(\.[\w_-]+)*\.\w{2,3}$/;
    return isValidFormat(str,format);
}

function isValidFormat(input,format) {
    if (input.search(format) != -1) {
        return true;
    }
    return false;
}
//String str 을 입력받아 Byte cutLen이상이면 'xxxx...' 형태로 반환
function cutByteAddStr(str, cutLen){

    var byteLength = 0;
    var newStr = "";

    for (var inx = 0; inx < str.length; inx++) {
        var oneChar = escape(str.charAt(inx));

        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
        if(byteLength < cutLen){
            newStr += oneChar;
        }else{
            for(var i=0; i<3; i++){
                newStr += ".";
            }
            break;
        }
    }
    return unescape(newStr);
}

//제목 레이어 보이기
function showBalloon(index){
    $("#balloonDiv_"+index+"").css("display", "block");
}

//제목 레이어 숨기기
function hideBalloon(index){
    $("#balloonDiv_"+index+"").css("display", "none");
}

//로그인  페이지로 이동
function goLogin(url){
    alert("로그인 해 주세요.");
//	window.location.href = url;
}

