/* vow script 0904 */

/* hidden : HREF link address*/
function hidestatus(){
window.status='http://www.vowpal.com'
return true
}
if (document.layers)
document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT | Event.MOUSEUP | Event.MOUSEDOWN)
document.onmouseover=hidestatus
document.onmouseout=hidestatus
document.onmouseup=hidestatus
document.onmousedown=hidestatus


/* begin Page */

var artEventHelper = {
  'bind' : function (obj, evt, fn) {
    if (obj.addEventListener)
      obj.addEventListener(evt, fn, false);
    else if (obj.attachEvent)
      obj.attachEvent('on' + evt, fn);
    else
      obj['on' + evt] = fn;
  }
};

var artLoadEvent = (function() {
  var userAgent = navigator.userAgent.toLowerCase();
  var browser = {
    version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
    safari: /webkit/.test(userAgent),
    opera: /opera/.test(userAgent),
    msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
    mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
  };

  var list = [];

  var done = false;
  var ready = function () {
    if (done) return;
    done = true;
    for (var i = 0; i < list.length; i++)
      list[i]();
  };
  
  if (document.addEventListener && !browser.opera)
    document.addEventListener('DOMContentLoaded', ready, false);
  
  if (browser.msie && window == top) {
    (function () {
      try {
        document.documentElement.doScroll('left');
      } catch (e) {
        setTimeout(arguments.callee, 10);
        return;
      }
      ready();
    })();
  }
  
  if (browser.opera) {
    document.addEventListener('DOMContentLoaded', function () {
      for (var i = 0; i < document.styleSheets.length; i++) {
        if (document.styleSheets[i].disabled) {
          setTimeout(arguments.callee, 10);
          return;
        }
      }
      ready();
    }, false);
  }
  
  if (browser.safari) {
    var numStyles;
    (function(){
      if (document.readyState != 'loaded' && document.readyState != 'complete') {
        setTimeout(arguments.callee, 10);
        return;
      }
      if ('undefined' == typeof numStyles) {
        numStyles = document.getElementsByTagName('style').length;
        var links = document.getElementsByTagName('link');
        for (var i = 0; i < links.length; i++) {
          numStyles += (links[i].getAttribute('rel') == 'stylesheet') ? 1 : 0;
        }
        if (document.styleSheets.length != numStyles) {
          setTimeout(arguments.callee, 0);
          return;
        }
      }
      ready();
    })();
  }

  artEventHelper.bind(window, 'load', ready);

  return ({
    add: function(f) {
      list.push(f);
    }
  })
})();

(function () {
  // fix ie blinking
  var m = document.uniqueID && document.compatMode && !window.XMLHttpRequest && document.execCommand;
  try{ if(!!m) { m("BackgroundImageCache", false, true); } }
  catch(oh){};
})();

function xGetElementsByClassName(clsName, parentEle, tagName) {
  var elements = null;
  var found = [];
  var slash = String.fromCharCode(92);
  var re = new RegExp(slash + "b" + clsName + slash + "b");
  if (!parentEle) parentEle = document;
  if (!tagName) tagName = '*';
  elements = parentEle.getElementsByTagName(tagName);
  if (elements) {
    for (var i = 0; i < elements.length; ++i) {
      if (elements[i].className.search(re) != -1) {
        found[found.length] = elements[i];
      }
    }
  }
  return found;
}

var styleUrlCached = null;
function GetStyleUrl() {
  if (null == styleUrlCached) {
    var ns;
    styleUrlCached = '';
    ns = document.getElementsByTagName('link');
    for (var i = 0; i < ns.length; i++) {
      var l = ns[i];
      if (l.href && /style\.css$/.test(l.href))
        return styleUrlCached = l.href.replace('style.css','');
    }
	ns = document.getElementsByTagName('style');
	for (var i = 0; i < ns.length; i++) {
      var matches = new RegExp('import\\s+"([^"]+\\/)style\\.css"').exec(ns[i].innerHTML);
      if (matches.length > 0)
        return styleUrlCached = matches[1];
    }
  }
  return styleUrlCached;
}




/* begin Menu */

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/* end Menu */


/*--------------------------------------------------
  기능   : Check Number RETURN T/F ( 소수점"."은 Number로 취급안함 )
  INPUT  : toCheck  -> check data
  RETURN : true  -> number ( "."이 포함안됨 )
           false -> not number
----------------------------------------------------*/
function jsCheckNumber(toCheck)
{
     var chkstr = toCheck+"" ;
     var isNum = true ;
     if ( jsCheckNull(toCheck) )
          return false;
     for (j = 0 ; isNum && (j < toCheck.length) ; j++)
     {
          if ((toCheck.substring(j,j+1) < "0") || (toCheck.substring(j,j+1) > "9"))
          {
             if ( toCheck.substring(j,j+1) == "-" || toCheck.substring(j,j+1) == "+")
             {
                if ( j != 0 )
                {
                   isNum = false;
                }
             }
             else
       isNum = false;
     }
     }
     if (chkstr == "+" || chkstr == "-") isNum = false;
     return isNum;
}

/*--------------------------------------------------
  기능   : 영문 과 숫자로만 이루어 졌는지  체크를 해준다.
  INPUT  :
  RETURN :
----------------------------------------------------*/
function jsAlphaNum(input) {
    var chars = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}


function isAlphaNumCheck(arg_v)
{
 var alpha_num_Str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

 for(var i = 0; i < arg_v.length; i++) {
  var substr = arg_v.substring(i, i + 1);
  if(alpha_num_Str.indexOf(substr) < 0) return false;
 }
 return true;
} 

/*--------------------------------------------------
  기능   :  SELECT OPTION BOX의 값을 RETURN 한다.
  INPUT  : sb = selectBoxName
  RETURN :
----------------------------------------------------*/
function jsCheckSelectBox ( sb )
{
    var temp = sb.options[sb.selectedIndex].value ;
    return ( temp );
}
function jsCheckSelectBoxNm ( sb )
{
    var temp = sb.options[sb.selectedIndex].text ;
    return ( temp );
}

/*--------------------------------------------------
  기능   : text 입력시 숫자이외의 키를 눌렀을때 무효화시킨다.
  INPUT  : 없음
  RETURN : 이벤트 무효화
  주의!  : onKeypress 이벤트만 사용할것
          예) <input type="text" onKeypress="jsOnlyNumberKey();">
		  ex) onKeyPress="return numbersonly(event, false)"

/*----------------------------------------------------*/
function jshandlerNum( obj ) {
//숫자만 입력 받게끔 하는 함수.
  e = window.event; //윈도우의 event를 잡는것입니다.
//  alert(e.keyCode);

   //입력 허용 키
  if( ( e.keyCode >=  48 && e.keyCode <=  57 ) ||   //숫자열 0 ~ 9 : 48 ~ 57
( e.keyCode >= 96 && e.keyCode <= 105 ) || //키패드 0 ~ 9 : 96 ~ 105
        e.keyCode ==   8 ||    //BackSpace
        e.keyCode ==  46 ||    //Delete
        e.keyCode == 110 ||    //소수점(.) : 문자키배열
        e.keyCode == 190 ||    //소수점(.) : 키패드
        e.keyCode ==  37 ||    //좌 화살표
        e.keyCode ==  39 ||    //우 화살표
        e.keyCode ==  35 ||    //End 키
        e.keyCode ==  36 ||    //Home 키
        e.keyCode ==   9       //Tab 키
    ) {
  
    if(e.keyCode == 48 || e.keyCode == 96) { //0을 눌렀을경우
      if ( obj.value == "" || obj.value == '0' ) //아무것도 없거나 현재 값이 0일 경우에서 0을 눌렀을경우
        e.returnValue=false; //-->입력되지않는다.
      else //다른숫자뒤에오는 0은
        return; //-->입력시킨다.
      }
      
    else if ( e.keyCode == 110 || e.keyCode == 190 ) { //소수점을 눌렀을 경우
      if ( obj.value == "" ) {  //아무것도 없는 상태에서 소수점을 입력했을경우 "0."으로 표기
        obj.value = "0";
        return;
      }
      
      if ( obj.value.indexOf(".") != -1 ) {  //기존에 소수점이 들어있다면
        e.returnValue=false;                 //입력시키지 않는다.
      }
    }
    else //0이 아닌숫자
      return; //-->입력시킨다.
    }
    else //숫자가 아니면 넣을수 없다.
  e.returnValue=false;
}





function handlerNum( obj ) {
//숫자만 입력 받게끔 하는 함수.
  e = window.event; //윈도우의 event를 잡는것입니다.
//  alert(e.keyCode);

   //입력 허용 키
  if( ( e.keyCode >=  48 && e.keyCode <=  57 ) ||   //숫자열 0 ~ 9 : 48 ~ 57
	( e.keyCode >= 96 && e.keyCode <= 105 ) || //키패드 0 ~ 9 : 96 ~ 105
        e.keyCode ==   8 ||    //BackSpace
        e.keyCode ==  46 ||    //Delete
        e.keyCode ==  37 ||    //좌 화살표
        e.keyCode ==  39 ||    //우 화살표
        e.keyCode ==  35 ||    //End 키
        e.keyCode ==  36 ||    //Home 키
        e.keyCode ==   9       //Tab 키
    ) {
  
    if(e.keyCode == 48 || e.keyCode == 96) { //0을 눌렀을경우
      if ( obj.value == "" || obj.value == '0' ) //아무것도 없거나 현재 값이 0일 경우에서 0을 눌렀을경우
        e.returnValue=false; //-->입력되지않는다.
      else //다른숫자뒤에오는 0은
        return; //-->입력시킨다.
      }
      
      
    }
    else //숫자가 아니면 넣을수 없다.
  e.returnValue=false;
}


/* 모래시계 보이게 하기 */
function jsVisible( str ){
 if( str == '1' )
  document.body.style.cursor='wait'
 else
  document.body.style.cursor='auto' 
} 

/* 15초후에 jsRefresh()라는 function을 호출 */
var timeId   = null ;
function jsRunAfterTime() {
 //15초 후에 Refresh
 timeId = setTimeout( "jsRefresh()", 15000 ) ;
}


/* text의 좌우 공백을 제거해서 리턴*/
function trim(text) {
 if (text == "") {
  return text;
 }
 var len = text.length;
 var st = 0;
 while ((st < len) && (text.charAt(st) <= ' ')) {
  st++;
 }
 while ((st < len) && (text.charAt(len - 1) <= ' ')) {
  len--;
 }
 return ((st > 0) || (len < text.length)) ? text.substring(st, len) : text;
}

/* text의 좌측의 공백을 제거해서 리턴*/
function ltrim(text) {
 if (text == "") {
  return text;
 }
 var len = text.length;
 var st = 0;
 while ((st < len) && (text.charAt(st) <= ' ')) {
  st++;
 }
 return (st > 0) ? text.substring(st, len) : text;
}

/* text의 우측의 공백을 제거해서 리턴*/
function rtrim(text) {
 if (text == "") {
  return text;
 }
 var len = text.length;
 var st = 0;
 while ((st < len) && (text.charAt(len - 1) <= ' ')) {
  len--;
 }
 return (len < text.length) ? text.substring(st, len) : text;
}
/*--------------------------------------------------
  기능   : select box 를 CLEAR 시킨다.
  INPUT  : varObjFullNm : select box 객체
           varDeleteCnt : 첫번째 아이템 삭제 여부 결정
  RETURN : NONE
----------------------------------------------------*/
function cmInitSelectBox( varObjFullNm, varDeleteCnt ) {
 varObj = eval( varObjFullNm ) ;
 varObj.length = varDeleteCnt ;
}

/*--------------------------------------------------
  기능   :  select box 를 만든다.
  INPUT  : varObjFullNm :  select box 객체
           varText      : 
           varValue     :  
  RETURN : NONE
----------------------------------------------------*/
function cmMakeSelectBox( varObjFullNm, varText, varValue ) {
 varObj = eval( varObjFullNm ) ;
 
 var empOption = null ;
 empOption = document.createElement("OPTION");
 empOption.text = varText ;
 empOption.value = varValue ;
 varObj.options.add(empOption);
}


/*------------------------------------------------------------------
' Function    : fc_chk_byte(aro_name)
' Description : 입력한 글자수를 체크
' Argument    : Object Name(글자수를 제한할 컨트롤)
' exam : onkeyup="fc_chk_byte(this,255);" onkeyup="fc_chk2()" onkeypress="fc_chk2()"
' -----------------------------------------------------------------*/

function fc_chk_byte(aro_name,ari_max)
{

   var ls_str     = aro_name.value; // 이벤트가 일어난 컨트롤의 value 값
   var li_str_len = ls_str.length;  // 전체길이

   // 변수초기화
   var li_max      = ari_max; // 제한할 글자수 크기
   var i           = 0;  // for문에 사용
   var li_byte     = 0;  // 한글일경우는 2 그밗에는 1을 더함
   var li_len      = 0;  // substring하기 위해서 사용
   var ls_one_char = ""; // 한글자씩 검사한다
   var ls_str2     = ""; // 글자수를 초과하면 제한할수 글자전까지만 보여준다.

   for(i=0; i< li_str_len; i++)
   {
      // 한글자추출
      ls_one_char = ls_str.charAt(i);

      // 한글이면 2를 더한다.
      if (escape(ls_one_char).length > 4)
      {
         li_byte = li_byte+2;
      }
      // 그외의 경우는 1을 더한다.
      else
      {
         li_byte++;
      }

      // 전체 크기가 li_max를 넘지않으면
      if(li_byte <= li_max)
      {
         li_len = i + 1;
      }
   }
   
   // 전체길이를 초과하면
   if(li_byte > li_max)
   {
      alert( " Maximum characters are " + li_max );
      ls_str2 = ls_str.substr(0, li_len);
      aro_name.value = ls_str2;
      
   }
   aro_name.focus();   
}


/*------------------------------------------------------------------
' Function    : fc_chk2()
' Description : Enter키를 못치게한다.
' Argument    : 
' Return      : 
' ------------------------------------------------------------------
function fc_chk2()
{
   if(event.keyCode == 13)
      event.returnValue=false;
}

*/


/* end Page */