// body onload event ¿¡¼­ È£ÃâÇÔ
function InitPage()
{
  setButtonAuth();
  //document.body.oncontextmenu = function () { return false; };
  LoadPage();
}

// trim string
function trim(str) {
  if ( str == null || typeof str != "string" ) return str;
  return str.replace(/^\s*|\s*$/g, ""); // ¹®ÀåÀÇ ¾Õ°ú µÚÀÇ °ø¹é Á¦°Å
}

// get bytes length
function getByteLength(s)
{
  var blen = 0;
  for ( var n = 0; n < s.length; n++ )
  {
    blen += s.charCodeAt(n) > 0x00ff ? 2 : 1;
  }
  return blen;
}

// ibsheet savename À» | ·Î ¹­´Â´Ù.
function concatSaveName(sheet, delim, exceptSaveNames)
{
  var exceptSaveNameArr = exceptSaveNames ? exceptSaveNames.split(",") : [];
  if ( delim == null ) delim = "|";
  var savename;
  var savenames = "";
  for ( var n = 0; n <= sheet.LastCol; n++ )
  {
    savename = sheet.ReadDataProperty(0, n, dpSaveName);
    if ( savename.substr(0, 7) != "COLHEAD" )
    {
      savenames += (isinarr(savename, exceptSaveNameArr) ? " " : savename) + delim;
    }
  }
  return savenames;
}

// str À» cnt ¸¸Å­ ¹Ýº¹ÇÑ´Ù.
function repeatStr(str, cnt)
{
  var rslt = "";
  for ( var n = 0; n < cnt; n++ )
  {
    rslt += str;
  }
  return rslt;
}

// sheet ¿¡¼­ Ã¼Å©µÈ row µ¥ÀÌÅ¸¸¦ ±¸¼ºÇÏ¿© ¹è¿­·Î ¸¸µé¾î return ÇÑ´Ù. grid ¸¦ ±¸¼ºÇÑ´Ù.
function sheet_getData(sheet, chkSvnm)
{
  var grid = {};

  // set column name
  var arrColName = [];
  var mapColName = {};
  for ( var col = 0; col <= sheet.LastCol; col++ )
  {
    arrColName[arrColName.length] = sheet.ColSaveName(col);
    mapColName[sheet.ColSaveName(col)] = col;
  }
  grid.arrColName = arrColName;
  grid.mapColName = mapColName;

  // set data
  var arrData = [];
  for ( var row = sheet.HeaderRows, rcnt = 0; rcnt < sheet.RowCount; row++, rcnt++ )
  {
    if ( chkSvnm == null || (typeof(chkSvnm) == "function" && chkSvnm(sheet, row)) || sheet.CellValue(row, chkSvnm) == "1" )
    {
      var colData = [];
      for ( var col = 0; col <= sheet.LastCol; col++ )
      {
        colData[colData.length] = sheet.CellValue(row, col);
      }
      arrData[arrData.length] = colData;
    }
  }
  grid.arrData = arrData;
  // set interface
  grid.RowCount = arrData.length;
  grid.ColCount = grid.arrColName.length;

  return grid;
}

// grid ÀÇ cell value ¸¦ °¡Á®ÇÑ´Ù.
function grid_CellValue(grid, row, colNm)
{
  var col = ( typeof colNm == "number" ) ? colNm : array_indexOf(grid.arrColName, colNm);
  //var col = ( typeof colNm == "number" ) ? colNm : grid.mapColName[colNm];
  return grid.arrData[row][col];
}

// grid ÀÇ column name À» °¡Á®ÇÑ´Ù.
function grid_ColName(grid, col)
{
  return grid.arrColName[col];
}

// ¹è¿­¿¡¼­ val ¿¡ ÇØ´çÇÏ´Â index ¸¦ Ã£´Â´Ù.
function array_indexOf(array, val)
{
  for ( var n = 0; n < array.length; n++ )
  {
    if ( array[n] == val )
    {
      return n;
    }
  }
  return -1;
}
// Æûµ¥ÀÌÅ¸¸¦ key Çü½ÄÀ¸·Î ±¸¼ºÇÏ¿© return
function form_getData(form)
{
  var element;
  var elearray;
  var formdata = {};

  for ( var n = 0; n < form.elements.length; n++ )
  {
    element = form.elements[n];
    if ( element.name )
    {
      elearray = formdata[element.name] == null ? formdata[element.name] = new Array : formdata[element.name];

      switch ( element.tagName )
      {
        case "SELECT":
        {
          if ( element.multiple )
          {
            for ( var m = 0; m < element.options.length; m++ )
            {
              if ( element.options[m].selected )
              {
                elearray[elearray.length] = element.value;
              }
            }
          }
          else
          {
            elearray[elearray.length] = element.value;
          }
        }
        break;
        case "INPUT":
        {
          switch ( element.type )
          {
            case "checkbox":
            case "radio":
            {
              if ( element.checked )
              {
                elearray[elearray.length] = element.value;
              }
            }
            break;
            default:
            {
              elearray[elearray.length] = element.value;
            }
            break;
          }
          break;
        }
        break;
        default:
        {
          elearray[elearray.length] = element.value;
        }
        break;
      }
    }
  }

  return formdata;
}
// radio ¹öÆ° Áß check µÈ °ªÀ» return;
function getCheckedValue(radio) {
  var size = radio.length;
  if ( ! size ) {
    return radio.checked ? radio.value : null;
  }
  for ( var n = 0; n < size; n++ ) {
    if ( radio[n].checked ) {
      return radio[n].value;
    }
  }
  return null;
}

// val ¿¡ ÇØ´çÇÏ´Â ¶óµð¿À ¹öÆ°À» check ÇÑ´Ù.
function checkRadio(radio, val, bClick)
{
  var len = radio.length;
  if ( len )
  {
    for ( var n = 0; n < len; n++ )
    {
      if ( radio[n].value == val )
      {
        radio[n].checked = true;
        if ( bClick ) radio[n].onclick();
        return n;
      }
      else
      {
        radio[n].checked = false;
      }
    }
  }
  else
  {
    if ( radio.value == val )
    {
      radio.checked = true;
      if ( bClick ) radio.onclick();
      return 0;
    }
    else
    {
      radio.checked = false;
    }
  }
  return -1;
}

// ¶óµð¿À ¹öÆ°À» ¸ðµÎ uncheck ÇÑ´Ù.
function uncheckRadioAll(radio)
{
  var len = radio.length;
  if ( len )
  {
    for ( var n = 0; n < len; n++ )
    {
      radio[n].checked = false;
    }
  }
  else
  {
    radio.checked = false;
  }
}

// ¹öÆ°ÀÌ³ª Æû¿¤¸®¸ÕÆ®¸¦ È°¼º ºñÈ°¼ºÈ­ ÇÑ´Ù.
function enableInput(input, b, convertCombo, objSize)
{
  b = b ? true : false;
  switch (input.tagName)
  {
    case "INPUT":
    {
      switch ( input.type )
      {
        //case "hidden":
        case "text":
        case "password":
        {
          input.readOnly = (!b);
          input.style.backgroundColor = b ? "":"#eeeeee";
        }
        break;
        case "image":
        case "button":
        {
          input.disabled = (!b);
          input.style.filter = b ? "":"gray";
          input.style.cursor = b ? "hand":"arrow";
        }
        break;
        case "checkbox":
        case "radio":
        case "file":
        case "reset":
        case "submit":
        {
          input.disabled = (!b);
        }
        break;
      }
    }
    break;
    case "SELECT":
    {
      input.disabled = (!b);
      if ( convertCombo == true) convertCombo2Text(input, !!b, objSize);
    }
    break;
    case "TEXTAREA":
    {
      input.readOnly = (!b);
      input.style.backgroundColor = b ? "":"#eeeeee";
    }
    break;
    case "IMG":
    {
      input.disabled = (!b);
      input.style.filter = b ? "":"gray";
      input.style.cursor = b ? "hand":"arrow";
    }
    break;
  }
}

function enableInputButtonAll(tf)
{
  $A(document.getElementsByTagName("INPUT")).select(function (e)
  {
    return e.type == "button";
  }).each(function(e)
  {
    enableInput(e, tf);
  });
}

// string ÀÌ null ÀÏ °æ¿ì ºó ¹®ÀÚ¿­À» ¸®ÅÏÇÑ´Ù.
function null2empty(s)
{
  return s == null ? "" : s;
}

// string ÀÌ null ¶Ç´Â ºó¹®ÀÚ¿­ÀÏ °æ¿ì µðÆúÆ® ¹®ÀÚ¿­À» ¸®ÅÏÇÑ´Ù.
function nvl(s, d)
{
  return s == null || s == "" ? (d == null ? "" : d) : s;
}

// YMD Çü½ÄÀÇ ³¯Â¥¸¦ Æ÷¸Ë Çü½ÄÀ¸·Î Æ÷¸ÅÆÃÇÑ´Ù. µðÆúÆ® Æ÷¸ËÀº y.m.d
function ymd2fmt(ymd, fmt)
{
  var y = ymd.substr(0, 4);
  var m = ymd.substr(4, 2);
  var d = ymd.substr(6, 2);
  if ( fmt == null ) fmt = "y.m.d";
  var result = "";
  for ( var n = 0; n < fmt.length; n++ )
  {
    switch ( fmt.charAt(n) )
    {
      case "y":
      {
        result += y;
      }
      break;
      case "m":
      {
        result += m;
      }
      break;
      case "d":
      {
        result += d;
      }
      break;
      default:
      {
        result += fmt.charAt(n);
      }
      break;
    }
  }
  return result;
}

// ÄÞº¸¹Ú½º¸¦ ¼±ÅÃÇÑ´Ù.
function setSelect(sel, v)
{
  for ( var n = 0; n < sel.options.length; n++ )
  {
    if ( v == sel.options[n].value )
    {
      sel.options[n].selected = true;
      return true;
    }
  }

  return false;
}

// id ·Î HTML °´Ã¼¸¦ °¡Á®¿Â´Ù.
function tid(id)
{
  return document.getElementById(id);
}

// ¸ð´ÞÆË¾÷À» ¶ç¿î´Ù. »ç¿ë±ÝÁö ´ë½Å¿¡ popmodal2
function popmodal(url, args, resizable)
{
  if ( args == null ) args = {};
  return showModalDialog(url, args, "help:no; status:no; resizable:"+(resizable?"yes":"no")+"; ");
}

// ¸ð´ÞÆË¾÷À» ¶ç¿î´Ù2.
function popmodal2(args, option)
{
  option = Object.extend({help: "no", status: "no", resizable: "no"}, option);

  var optionStr = $H(option).inject("", function(str, kv) {
    str += kv.key+": "+kv.value+"; "
    return str;
  });
  //alert(optionStr);

  var args = args || {};

  // ±ÇÇÑ...¼¼ÆÃ start
  var param = args.param || args.parameters || {};
  if ( window.Page )
  {
    param.X_PROFILE_ID = param.X_PROFILE_ID || Page.PROFILE_ID;
    param.X_MODULE_ID = param.X_MODULE_ID || Page.MODULE_ID;
    param.X_EMP_SCH_AUTH = param.X_EMP_SCH_AUTH || Page.EMP_SCH_AUTH;
    param.X_BTN_AUTH = param.X_BTN_AUTH || Page.BTN_AUTH;
    param.X_MENU_NM = param.X_MENU_NM || "";
  }
  args.param = param;// ¹Ýµå½Ã ÇØ¾ßÇÔ...
//alert($H(args.param).inspect());
  // ±ÇÇÑ...¼¼ÆÃ end

  return showModalDialog("/common/jsp/m.html", args, optionStr);
}

// ¸ð´Þ¸®½ºÆË¾÷À» ¶ç¿î´Ù.
function popmodeless(url, args, resizable)
{
  if ( args == null ) args = {};
  return showModelessDialog(url, args, "help:no; status:no; resizable:"+(resizable?"yes":"no")+"; ");
}

// À©µµ¿ìÆË¾÷À» ¶ç¿î´Ù.
function popopen(url, name, resizable, scrollbars)
{
  var newWin = window.open(url, name, "top="+((window.screen.height - 100)/2)+", left="+((window.screen.width - 100)/2)+", width=100, height=100, directories=no, location=no, menubar=no, scrollbars="+(scrollbars?"yes":"no")+", status=no, titlebar=no, toolbar=no, resizable="+(resizable?"yes":"no")+" ");
  try { newWin.focus(); } catch(e) {}
  return newWin;
}

// À©µµ¿ìÆË¾÷À» ¶ç¿î´Ù.
function popopen2(option)
{
  var w = 200, h = 150;
  var features = Object.extend({
    top: ((window.screen.height - h)/2),
    left: ((window.screen.width - w)/2),
    width: w,
    height: h,
    directories: "no",
    location: "no",
    menubar: "no",
    scrollbars: "no",
    status: "no",
    titlebar: "no",
    toolbar: "no",
    resizable: "no"
  }, option.features || {});

  var sFeatures = $H(features).inject("", function (r, x)
  {
    return r + (r?",":"") + x.key+"="+x.value;
  });

  var newWin = window.open("/common/jsp/popup_wait.html", option.name, sFeatures);
  try { newWin.focus(); } catch(e) {}

  // ±ÇÇÑ...¼¼ÆÃ start
  var param = option.param || option.parameters || {};
  if ( window.Page )
  {
    param.X_PROFILE_ID = param.X_PROFILE_ID || Page.PROFILE_ID;
    param.X_MODULE_ID = param.X_MODULE_ID || Page.MODULE_ID;
    param.X_EMP_SCH_AUTH = param.X_EMP_SCH_AUTH || Page.EMP_SCH_AUTH;
    param.X_BTN_AUTH = param.X_BTN_AUTH || Page.BTN_AUTH;
    param.X_MENU_NM = param.X_MENU_NM || "";
  }
  // ±ÇÇÑ...¼¼ÆÃ end

  submit2({target: option.name, action: option.url}, param);
  return newWin;
}

// ¸ð´ÞÆË¾÷ÀÇ »çÀÌÁî¸¦ º¯°æÇÑ´Ù.
function sizeDialog(w, h)
{ 
  top.dialogWidth = w + "px";
  //top.dialogHeight = h + "px";
  top.dialogHeight = h + "px";//(h+55) + "px";// for ie7.0
  //top.dialogWidth = document.body.scrollWidth + 65 + "px";

  top.dialogTop = (window.screen.height - Number(top.dialogHeight.replace(/\D/g, "")))/2;
  top.dialogLeft = (window.screen.width - Number(top.dialogWidth.replace(/\D/g, "")))/2;
}

// À©µµ¿ìÆË¾÷ÀÇ »çÀÌÁî¸¦ º¯°æÇÑ´Ù.
function sizeWindow(w, h)
{
  top.resizeTo(w, h);
  var wtop = (window.screen.height - h)/2;
  var wleft = (window.screen.width - w)/2;
  top.moveTo(wleft, wtop);
}

// °ªÀÌ Æ÷ÇÔµÇ´ÂÁö °Ë»çÇÑ´Ù.
function isin(o)
{
  for ( var n = 1; n < arguments.length; n++ )
  {
    if ( o == arguments[n] )
    {
      return true;
    }
  }
  return false;
}

// °ªÀÌ ¹è¿­¿¡ Æ÷ÇÔµÇ´ÂÁö °Ë»çÇÑ´Ù.
function isinarr(o, arr)
{
  for ( var n = 0; n < arr.length; n++ )
  {
    if ( o == arr[n] )
    {
      return true;
    }
  }
  return false;
}

// °ªÀÌ ±¸°£¿¡ Æ÷ÇÔµÇ´ÂÁö °Ë»çÇÑ´Ù.
function between(o, from, to)
{
  return o >= from && o <= to;
}

// url À» È£ÃâÇÏ¿© ÀÀ´äÀ» °¡Á®¿Â´Ù.
function openHttpRequest(url, returnType)
{
  // returnType 0:text, 1:xdom
  if ( returnType == null )
  {
    returnType = 0;
  }

  var xmlhttp = null;
  if ( window.XMLHttpRequest )
  {
    xmlhttp = new XMLHttpRequest();
  }
  else if ( window.ActiveXObject )
  {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");//MSXML2.XMLHTTP
  }
  else
  {
    alert("Can not create HttpRequest !!!");
    return null;
  }
  //var xmlhttp = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");

  xmlhttp.open("GET", url, false);
  xmlhttp.send();

  if ( xmlhttp.status != 200 )
  {
    alert(xmlhttp.statusText);
    return null;
  }

  if ( returnType == 0 ) return xmlhttp.responseText;

  //alert(xmlhttp.responseText);

  //return xmlhttp.responseXML;

  return makeXSheetWithXmlText(xmlhttp.responseText, returnType);

}

function makeXSheetWithXmlText(xmlText, mode)
{
  xmlText = trim(xmlText);
  mode = nvl(mode, "xml");
  if ( mode == "xml")
  {
    var xdom = Try.these(
      function() {return new ActiveXObject("Microsoft.XMLDOM")},
      //function() {return new ActiveXObject('Msxml2.DOMDocument50')},
      function() {return new ActiveXObject("Msxml2.DOMDocument")}
    );

    if ( xdom == null )
    {
      alert("XML Parser »ý¼º¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù.");
      return null;
    }

    xdom.async = false;
    xdom.loadXML(xmlText);

    if ( xdom.parseError.errorCode != 0 )
    {
      var parseErrMsg = "";
      parseErrMsg += "ErrorCode: "+xdom.parseError.errorCode+"\n";
      parseErrMsg += "Reason: "+xdom.parseError.reason+"\n";
      parseErrMsg += "Line: "+xdom.parseError.line+"\n";
      alert("Xml Parsing ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+parseErrMsg);
      return null;
    }

    var xsheet = new XmlSheet(xdom);
    var msg = xsheet.getMessage();
    if ( msg )
    {
      if ( doCheckMsg(msg) )
      {
        alert("ÀÛ¾÷ Áß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+msg);
      }
      return null;
    }

    xsheet.responseText = xmlText;
    return xsheet;
  }
  else if ( mode == "script" )
  {
    var so;
    try
    {
      eval("so = "+xmlText);
    }
    catch(e)
    {
      alert("script error: "+e);
      return null;
    }
    var x = new ScriptSheet(so);
    var msg = x.getMessage();
    if ( msg )
    {
      if ( doCheckMsg(msg) )
      {
        alert("ÀÛ¾÷ Áß ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+msg);
      }
      return null;
    }

    x.responseText = xmlText;
    return x;

  }
}

if ( window.Class )
{
  // XSheet °´Ã¼
  var XmlSheet = Class.create();
  Object.extend(XmlSheet.prototype, {
    initialize: function(xdom)
    {
      this.xdom = xdom;
      this.data_key = "default";
      this.currRowIdx = -1;
      this.meta = {};
      this.createMetaData();
    },
    createMetaData: function()
    {
      var dataNodes = this.xdom.selectNodes("/SHEET/DATA");
      var ColNameMap, NameColMap, columnName, filter, data_key, trNodes;
      for ( var n = 0, nlen = dataNodes.length; n < nlen; n++ )
      {
        data_key = dataNodes[n].selectSingleNode("@KEY").text;
        filter = "@KEY='"+data_key+"'", ColNameMap = {}, NameColMap = {};

        var htrNode = dataNodes[n].selectSingleNode("HTR");
        for ( var c = 0, clen = htrNode.childNodes.length; c < clen; c++ )
        {
          columnName = htrNode.childNodes[c].text;

          ColNameMap[c] = columnName;
          NameColMap[columnName] = c;
        }

        trNodes = dataNodes[n].selectNodes("TR");

        this.meta[data_key] = {
          RowCount: trNodes.length,
          ColumnCount: htrNode.childNodes.length,
          ColNameMap: ColNameMap,
          NameColMap: NameColMap,
          trNodes: trNodes
        };
      }
    },
    next: function(data_key)
    {
      var next = this.RowCount(data_key) > this.currRowIdx + 1;
      if ( next ) this.currRowIdx++;
      return next;
    },
    setDataKey: function(data_key)
    {
      data_key = nvl(data_key, "default");
      this.data_key = data_key;
    },
    EtcData: function(key)
    {
      try
      {
        return this.xdom.selectSingleNode("/SHEET/ETC-DATA/ETC[@KEY='"+key+"']").text;
      }
      catch(e)
      {
        return "";
        /*
        alert("Error at xsheet.EtcData !!!");
        throw e;
        */
      }
    },
    getMessage: function()
    {
      return this.xdom.selectSingleNode("/SHEET/MESSAGE").text;
    },
    RowCount: function(data_key)
    {
      return this.meta[data_key || this.data_key].RowCount;
    },
    ColCount: function(data_key)
    {
      return this.meta[data_key || this.data_key].ColumnCount;
    },
    ColName: function(col, data_key)
    {
      return this.meta[data_key || this.data_key].ColNameMap[col];
    },
    CellIndex: function(colnm, data_key)
    {
      return this.meta[data_key || this.data_key].NameColMap[colnm];
    },
    CellValue: function(row, col, data_key)
    {
      try
      {
        row = (row == null ? this.currRowIdx : row);
        var colNum = col.constructor == Number ? col : this.meta[data_key || this.data_key].NameColMap[col];
        return this.meta[data_key || this.data_key].trNodes[row].selectSingleNode("TD["+colNum+"]").text;
      }
      catch (e)
      {
        alert("Error at xs.CellValue("+[row, col, data_key]+") !!!");
        throw e;
      }
    },
    exists: function(data_key)
    {
      return this.meta[data_key || this.data_key] != null;
    },
    FindRow: function(col, val, row, data_key)
    {
      var xs = this;
      for ( var r = nvl(row, 0), rcnt = xs.RowCount(data_key); r < rcnt; r++ )
      {
        if ( xs.CellValue(r, col, data_key) == val ) return r;
      }
      return -1;
    },
    FindRowWithFunction: function(fFind, reverse, startRow, data_key)
    {
      var findRow = -1;
      this.eachRow(function(row, xs, returnObject)
      {
        if ( fFind(xs, row) )
        {
          findRow = row;
          throw $break;
        }
      }, reverse, startRow, data_key);
      return findRow;
    },
    eachRow: function(f, reverse, startRow, data_key)
    {
      var xs = this;
      reverse = !!reverse;
      var returnObject = {};
      try
      {
        if ( reverse )
          for ( var row = nvl(startRow, xs.RowCount(data_key)-1), firstDataRow = 0; row >= firstDataRow; row-- )
            f(row, xs, returnObject);
        else
          for ( var row = nvl(startRow, 0), RowCount = xs.RowCount(data_key); row < RowCount; row++)
            f(row, xs, returnObject);
      }
      catch(e)
      {
        if (e == $break) return returnObject.value;
        else throw e;
      }

    }
  });

  // ScriptSheet °´Ã¼
  var ScriptSheet = Class.create();
  Object.extend(ScriptSheet.prototype, XmlSheet.prototype);
  Object.extend(ScriptSheet.prototype, {
    initialize: function(so)
    {
      this.so = so;
      this.etcData = so.etcData;
      this.listData = so.listData;
      this.message = so.message;
      this.data_key = "default";
      this.currRowIdx = -1;
      this.meta = {};
      this.createMetaData();
    },
    createMetaData: function()
    {
      var ColNameMap, NameColMap, columnName;
      for ( var data_key in this.listData)
      {
        ColumnCount = this.listData[data_key].columnNames.length;
        ColNameMap = {}, NameColMap = {};

        for ( var c = 0, clen = ColumnCount; c < clen; c++ )
        {
          columnName = this.listData[data_key].columnNames[c];

          ColNameMap[c] = columnName;
          NameColMap[columnName] = c;
        }

        this.meta[data_key] = {
          RowCount: this.listData[data_key].data.length,
          ColumnCount: ColumnCount,
          ColNameMap: ColNameMap,
          NameColMap: NameColMap
        };

      }

    },
    EtcData: function(key)
    {
      return nvl(this.etcData[key]);
    },
    getMessage: function()
    {
      return this.message;
    },
    CellValue: function(row, col, data_key)
    {
      try
      {
        row = (row == null ? this.currRowIdx : row);
        var colNum = col.constructor == Number ? col : this.meta[data_key || this.data_key].NameColMap[col];
        return this.listData[data_key || this.data_key].data[row][colNum];
      }
      catch (e)
      {
        alert("Error at xs.CellValue("+[row, col, data_key]+") !!!");
        throw e;
      }
    }
  });

}

// ie patch ·Î ÀÎÇÑ object ºñÈ°¼ºÈ­ ÇØ°á
function docwrite(s)
{
  document.write(s);
}

// xsheet ¸¦ ÀÌ¿ëÇÏ¿© select box ±¸¼ºÇÑ´Ù.
function makeSelectXS(sel, xsheet, data_key)
{
  if ( xsheet == null ) return;

  for ( var row = 0, rcnt = xsheet.RowCount(data_key); row < rcnt; row++ )
  {
    sel.options.add(new Option(xsheet.CellValue(row, 0, data_key), xsheet.CellValue(row, 1, data_key)));
  }
}

// xsheet ¿¡¼­ Æ¯Á¤ ÄÃ·³ÀÇ °ªÀ» ¹è¿­·Î ¸®ÅÏÇÑ´Ù.
function getCellValuesXS(xsheet, col, data_key)
{
  var arr = [];
  for ( var row = 0, rcnt = xsheet.RowCount(data_key); row < rcnt; row++ )
  {
    arr[arr.length] = xsheet.CellValue(row, col, data_key);
  }
  return arr;
}

// make sheet combo value
function makeSCV(xsheet, data_key)
{
  return xsheet ? getCellValuesXS(xsheet, 1, data_key).join("|") : "";
}

// make sheet combo text
function makeSCT(xsheet, data_key)
{
  return xsheet ? getCellValuesXS(xsheet, 0, data_key).join("|") : "";
}

// write ibsheet
function writeIBSheet(skin_path, id, width, height, classid, codebase, ConfigXml, Visible)
{
  var id = nvl(id, "sheet1");
  var classid = nvl(classid, "CLSID:C838E9DA-1625-4E14-8B37-C6706B43C423");
  var codebase = nvl(codebase, "/resource/file/IBSheet.CAB#version=2,6,0,0");
  var ConfigXml = nvl(ConfigXml, skin_path+"/style/IBSheet_design.xml");
  var Visible = nvl(Visible, "false");
  var html = "";
  html += "<object id='"+ id +"' \n";
  html += "  classid='"+ classid +"' \n";
  html += "  codebase='"+ codebase +"' width='"+nvl(width, "100%")+"' height='"+nvl(height, "100%")+"' style=margin:0; >\n";
  html += "  <param name=ConfigXml value='"+ ConfigXml +"' >\n";
  html += "  <param name=Visible value='"+ Visible +"' >\n";
  html += "  <param name=AutoSizeMode value='true' >\n";
  html += "</object>\n";
  document.write(html);
}

function sheetSpeedDown2Excel(sheet)
{
  sheet.SpeedDown2Excel(-1, false, false, "", "/common/jsp/ibsheet_excel_design.jsp?S_HEADER_ROWS="+sheet1.HeaderRows, false, true, "", false);
}

// write ibchart
function writeIBChart(obj)
{
  obj = Object.extend({classid: "clsid:9cd77d36-9a9f-4cf8-86c5-18ae5b8ca118", codebase: "/resource/file/ibchart.cab#version=1,0,0,13"}, obj);
  //writeObjectTag(obj);

  var html = "";
  html += "<object id='"+ obj.id +"' \n";
  html += "  classid='"+ obj.classid +"' \n";
  html += "  codebase='"+ obj.codebase +"' width='"+nvl(obj.width, "100%")+"' height='"+nvl(obj.height, "100%")+"' style=margin:0; >\n";
  html += "</object>\n";
  document.write(html);

}

// class, method ·Î xsheet °´Ã¼¸¦ °¡Á®¿Â´Ù.
function getXSheet(S_DSCLASS, S_DSMETHOD, params)
{
  var param = "";
  param += "&S_FORWARD=xsheetResultXML";
  param += "&S_DSCLASS="+S_DSCLASS;
  param += "&S_DSMETHOD="+S_DSMETHOD;
  param += nvl(params, "");
  return openHttpRequest("/commonAction.do?x=x"+param, 2);
}

function checkLogout()
{
  if ( top.opener || top.dialogArguments )
  {
    alert("¸ÞÀÎ À©µµ¿ì¿¡¼­ ·Î±×¾Æ¿ô ÇÏ½Ã±â¹Ù¶ø´Ï´Ù.");
    top.close();
  }
  else
  {
    window.open("/main/jsp/logout.jsp", "_top");
  }

}

// ½ÃÆ® ¸Þ½ÃÁö¸¦ Ã¼Å©ÇÑ´Ù. ÁÖ·Î ·Î±×ÀÎ¿©ºÎ¸¦ Ã¼Å©ÇÒ ¿¹Á¤.
function doCheckMsg(msg)
{
  msg = nvl(msg);
  if ( msg == "SESSION_TIMEOUT" )
  {
    if ( confirm("Àå½Ã°£ »ç¿ëÇÏÁö ¾Ê¾Æ ÀÚµ¿À¸·Î ·Î±×¾Æ¿ô µÇ¾ú½À´Ï´Ù.\n\n´Ù½Ã ·Î±×ÀÎ ÇÏ½Ã°Ú½À´Ï±î?") )
    {
      checkLogout();
    }
  }
  else if ( msg == "LOGIN FAIL" )
  {
    if ( confirm("·Î±×¾Æ¿ô(¶Ç´Â ¼­¹öÀÛ¾÷) »óÅÂÀÔ´Ï´Ù.\n\n´Ù½Ã ·Î±×ÀÎ ÇÏ½Ã°Ú½À´Ï±î?") )
    {
      checkLogout();
    }
    return false;
  }
  else
  {
    return true;
  }
}

// °øÅë ½ÃÆ® ÇàÃß°¡, È¸»ç¿¡ ¸Â°Ô ¸¶Áö¸·Çà, ÇöÀçÇà, Ã¹Çà¿¡ Ãß°¡
function sheetDataInsert(sheet)
{
  return sheet.DataInsert(-1);
}

// Ã¹¹øÂ° text box ¿¡ focus ÇÑ´Ù.
function focusFirstTextBox()
{
  var elements = document.getElementsByTagName("INPUT");
  for ( var n = 0; n < elements.length; n++ )
  {
    try
    {
      if ( elements[n].type == "text" && elements[n].style.display != "none")
      {
        try { elements[n].focus(); } catch(ex) {}
        break;
      }
    }
    catch(e)
    {
    }
  }
}

// ¿£ÅÍ°¡ ´­·ÁÁ³´ÂÁö °Ë»çÇÑ´Ù.
function enterKeyDown()
{
  return event.keyCode == 13;
}

// xsheet ¸¦ ÀÌ¿ëÇÏ¿© ½ÃÆ®ÄÞº¸ ¶Ç´Â ÄÞº¸¹Ú½º¸¦ ±¸¼ºÇÑ´Ù.
function makeComboXS(xsheet, data_key, obj, saveName, optionASN, arrPair, sheetRow)
{
  if ( xsheet == null ) return;

  if ( obj.tagName == "OBJECT" )
  {
    var textH = "";
    var valueH = "";
    switch ( optionASN )
    {
      case "A":
      {
        textH = "ÀüÃ¼|";
        valueH = "%|";
      }
      break;
      case "S":
      {
        textH = "¼±ÅÃ|";
        valueH = " |";
      }
      break;
      case "N":
      {
        textH = "| |";
        valueH = "||";
      }
      break;
      case "U":
      {
        var arrText = [];
        var arrVal = [];
        for ( var n = 0; n < arrPair.length; n++ )
        {
          arrText[arrText.length] = arrPair[n][0];
          arrVal[arrVal.length] = arrPair[n][1];
        }
        textH = arrPair.length == 0 ? "" : arrText.join("|")+"|";
        valueH = arrPair.length == 0 ? "" : arrVal.join("|")+"|";
      }
      break;
    }
    if ( sheetRow == null )
    {
      obj.InitDataCombo(0, saveName, textH + makeSCT(xsheet, data_key), valueH + makeSCV(xsheet, data_key), "", "");
    }
    else
    {
      obj.CellComboItem(sheetRow, saveName, textH + makeSCT(xsheet, data_key), valueH + makeSCV(xsheet, data_key));
    }
  }
  else if ( obj.tagName == "SELECT" )
  {
    switch ( optionASN )
    {
      case "A":
      {
        obj.options.add(new Option("-ÀüÃ¼-", ""));
      }
      break;
      case "S":
      {
        obj.options.add(new Option("-¼±ÅÃ-", ""));
      }
      break;
      case "N":
      {
        obj.options.add(new Option("", ""));
      }
      break;
    }

    makeSelectXS(obj, xsheet, data_key);
  }
}

function makeComboTextXS(xs, data_key, delCol, delRow)
{
  delCol = delCol || "¡à";
  delRow = delRow || "¡á";
  var tmpArr = [];
  for ( var r = 0, RowCount = xs.RowCount(data_key); r < RowCount; r++ )
  {
    tmpArr.push([xs.CellValue(r, 0, data_key), xs.CellValue(r, 1, data_key)]);
  }

//alert(tmpArr);
  var comboText = tmpArr.inject([], function(result, v)
  {
    result.push(v.join(delCol));
    return result;
  }).join(delRow);
  //alert(comboText);
  return comboText;

}

// ½ÃÆ® Á¤ÀÇ¸¦ ¼Õ½±°Ô
function InitSheetColumn(sheet, arrC, header0)
{
  // make header text
  var colCnt = arrC.length;
  var tmpArr = [];
  for ( var n = 0; n < colCnt; n++ )
  {
    tmpArr[tmpArr.length] = arrC[n][0];
  }
  var headerText = tmpArr.join("|");

  if ( location.hostname ) sheet.InitHostInfo(location.hostname, location.port, "");

  sheet.SheetWidth = sheet.parentElement.clientWidth;// ÃÖÃÊ width ¼¼ÆÃ
  sheet.MergeSheet = msHeaderOnly;// msNone, msAll, msPrevColumnMerge, msHeaderOnly ¸ÓÁö ¼³Á¤
  sheet.Editable = true;// false ¼öÁ¤°¡´É¿©ºÎ¼³Á¤
  sheet.SumFontBold = true;//

  /*
  sheet.InitRowInfo(header0 ? 2 : 1, 1, 10);
  if ( header0 ) sheet.InitHeadRow(0, header0, true);
  sheet.InitHeadRow(header0 ? 1 : 0, headerText, true);
  */
  if ( header0 )
  {
    if ( typeof header0 == "string" )
    {
      sheet.InitRowInfo(2, 1, 10);
      sheet.InitColumnInfo(colCnt, 1, 0, true);// °íÁ¤ÄÃ·³Àº FrozenCols ¼Ó¼ºÀ¸·Î µû·Î ¼³Á¤
      sheet.InitHeadRow(0, header0, true);
      sheet.InitHeadRow(1, headerText, true);
    }
    else if ( typeof header0 == "object" )
    {
      sheet.InitRowInfo(header0.length + 1, 1, 10);
      sheet.InitColumnInfo(colCnt, 1, 0, true);// °íÁ¤ÄÃ·³Àº FrozenCols ¼Ó¼ºÀ¸·Î µû·Î ¼³Á¤
      var n = 0;
      for ( n = 0; n < header0.length; n++ )
      {
        sheet.InitHeadRow(n, header0[n], true);
      }
      sheet.InitHeadRow(n, headerText, true);
    }
    else
    {
      alert("Warnig : parameter header0 must be type of string or object(array)...");
    }
  }
  else
  {
    sheet.InitRowInfo(1, 1, 10);
    sheet.InitColumnInfo(colCnt, 1, 0, true);// °íÁ¤ÄÃ·³Àº FrozenCols ¼Ó¼ºÀ¸·Î µû·Î ¼³Á¤
    sheet.InitHeadRow(0, headerText, true);
  }

  for ( var n = 0; n < colCnt; n++ )
  {
    sheet.InitDataProperty2(0, n, arrC[n][1], arrC[n][2]);
  }

  sheet.ClipPasteMode = 1;
  sheet.InitComboNoMatchText(true);
  sheet.WordWrap = false;
}

// °øÅëÄÚµå, °´Ã¼¿¡¼­ ÄÞº¸µ¥ÀÌÅÍ¸¦ °¡Á®¿Â´Ù.
function getComboXS(type, idx_cd, etcParam)
{
  var param = "";
  param += "&S_TYPE="+nvl(type, "");
  //
  param += "&S_IDX_CD="+nvl(idx_cd, "");
  //param += "&S_USE_YN="+nvl(use_yn, "");
  //
  param += "&S_OBJ_TYPE="+nvl(idx_cd, "");
  //param += "&S_YMD="+nvl(use_yn, "");

  param += nvl(etcParam, "");
  return getXSheet("biz.com.ComboDS", "searchCombo01", param);
}

// document °¡ ready µÇ¸é IMG, INPUT, BUTTON tag ¿¡ ¹öÆ° ±ÇÇÑÀ» Àû¿ëÇÑ´Ù.
function setButtonAuth()
{
  if ( window.Page == null ) return;

  var canRead = Page.readOk();
  var canWrite = Page.writeOk();
  var canPrint = Page.printOk();
  var imgTags = document.getElementsByTagName("IMG");
  var inputTags = document.getElementsByTagName("INPUT");
  var aTags = document.getElementsByTagName("A");
  var buttonTags = document.getElementsByTagName("BUTTON");
  var spanTags = document.getElementsByTagName("SPAN");
  var divTags = document.getElementsByTagName("DIV");
  $A(imgTags).concat($A(inputTags)).concat($A(aTags)).concat($A(buttonTags)).concat($A(spanTags)).concat($A(divTags)).each(function (e)
  {
    switch ( e.BA_TYPE )
    {
      //case "READ": if ( ! canRead ) e.style.display = "none"; break;
      case "WRITE": if ( ! canWrite ) e.style.display = "none"; break;
      case "PRINT": if ( ! canPrint ) e.style.display = "none"; break;
    }
  });
}

function setBtnAuth()
{
}

// ymd ÀÇ year, month, date ¸¦ inc ¸¸Å­ Áõ°¡½ÃÄÑ ¹ÝÈ¯
function addYmd(ymd, gbn, inc)
{
  var dt = new Date(Number(ymd.substr(0, 4)), Number(ymd.substr(4, 2))-1, Number(ymd.substr(6, 2)));
  switch ( gbn )
  {
    case "Y": dt.setFullYear(dt.getFullYear() + inc); break;
    case "M": dt.setMonth(dt.getMonth() + inc); break;
    case "D": dt.setDate(dt.getDate() + inc); break;
    // last day of month
    case "LOM":
    {
      dt.setDate(1);
      dt.setMonth(dt.getMonth() + 1);
      dt.setDate(dt.getDate() - 1);
    }
    break;
  }
  return npad(String(dt.getFullYear()), 4) + npad(String(dt.getMonth() + 1), 2) + npad(dt.getDate(), 2);
}

// left or right padding
function padLR(str, size, padc, LR)
{
  if ( ! padc ) padc = " ";
  if ( size < str.length ) return str;
  var padcs = "";
  for ( var psize = size - str.length; psize > 0; psize-- )
    padcs += padc;
  return LR == "L" ? padcs + str : str + padcs;
}

// left padding
function lpad(str, size, padc)
{
  return padLR(str, size, padc, "L");
}

// right padding
function rpad(str, size, padc) {
  return padLR(str, size, padc, "R");
}

// number padding
function npad(str, size) {
  return lpad(String(str), size, "0");
}

// ÅÇÀ» toggle ÇÑ´Ù.
function switchTab(tab, on)
{
  var idx = tab.className.indexOf("_");
  var onoff = tab.className.substr(idx+1);
  var tabSize = tab.className.substr(0, idx);
  if ( on == null )
  {
    tab.className = tabSize+"_"+(onoff == "on" ? "off" : "on");
  }
  else
  {
    tab.className = tabSize+"_"+(on ? "on" : "off");
  }
}

// ÁöÁ¤ÇÑ ÅÇÀ» on ÇÏ°í ³ª¸ÓÁö ÅÇÀ» off ÇÑ´Ù.
function switchTabAll(tab)
{
  var tabs = tab.form[tab.name];
  var idx = null;
  for ( var n = 0; n < tabs.length; n++ )
  {
    if ( tabs[n] == tab ) idx = n;
    switchTab(tabs[n], tabs[n] == tab);
  }
  return idx;
}

// ½ºÆ®¸µ ¹è¿­(arr)ÀÇ °¢ ¿ä¼Ò(arr[n])¸¦ ½ÃÀÛÃ·ÀÚ(s), ¸¶Áö¸·Ã·ÀÚ(e)¸¦ ºÙÀÎÈÄ ±¸ºÐÀÚ(delim)·Î ¿¬°áÇÑ´Ù.
function joinStr(arr, delim, s, e)
{
  delim = nvl(delim, ",");
  s = nvl(s);
  e = nvl(e);
  var arrTemp = new Array();
  for ( var n = 0; n < arr.length; n++ )
  {
    arrTemp[arrTemp.length] = s + arr[n] + e;
  }
  return arrTemp.join(delim);
}

// ½ÃÆ®ÀÇ MAX °ª Ã£±â ¿¹) sheet_getMax(sheet1, "GRP2_NO", "CellValue(row, 'GRP1_NO') == "+sheet1.CellValue(row, "GRP1_NO")+"") + 1;
function sheet_getMax(sheet, savename, check_eval_txt)
{
  if ( ! check_eval_txt ) check_eval_txt = "true";
  with ( sheet )
  {
    var max = 0;
    var val;
    for ( var row = HeaderRows, rcnt = 0; rcnt < RowCount; row++, rcnt++ )
    {
      tfCheck = eval(check_eval_txt);

      if ( tfCheck )
      {
        val = Number(CellValue(row, savename));
        if ( val > max ) max = val;
      }
    }
    return max;
  }
}


function sheet_rowData(sheet, row)
{
  var arr = [];
  sheetEachCol(sheet, function(c, svNm, sheet)
  {
    arr.push(sheet.CellValue(row, c));
  });
  return arr;
}

function getObjPropStr(obj)
{
  var s = "";
  for ( var p in obj )
  {
    s += p+"=["+obj[p]+"]\n";
  }
  return s;
}

function UrlEncoding(str)
{
  var rtnStr = "";
  for ( var n = 0; n < str.length; n++ )
  {
    charAt = str.charAt(n);
    encChar = charAt == "?" ? "%3F" :
              charAt == "&" ? "%26" :
              charAt == "=" ? "%3D" :
              charAt == " " ? "+" :
              charAt == "+" ? "%2B" :
              charAt == "%" ? "%25" : charAt;
    rtnStr += encChar;
  }
  return rtnStr;
}

function getSelectedText(sel, defaultText)
{
  if ( defaultText == null ) defaultText = "";
  return sel.selectedIndex >= 0 ? sel.options[sel.selectedIndex].text : defaultText;
}

function getTermDayCnt(ymdFr, ymdTo)
{
  var dtFr = new Date(Number(ymdFr.substr(0, 4)), Number(ymdFr.substr(4, 2))-1, Number(ymdFr.substr(6, 2)));
  var dtTo = new Date(Number(ymdTo.substr(0, 4)), Number(ymdTo.substr(4, 2))-1, Number(ymdTo.substr(6, 2)));
  return (dtTo.getTime() - dtFr.getTime()) / (1000 * 60 * 60 * 24);
}

// substr À» byte ´ÜÀ§·Î
function substrb(str, bsidx, bsize) {
	if ( bsidx < 0 ) bsidx = 0;
	var bsidxc = 0;// ºñ±³´ë»ó
	var idx = 0;// char index
	while ( true ) {
		if        ( bsidxc  > bsidx ) {   excess = true;  break;
		} else if ( bsidxc == bsidx ) {   excess = false; break;
		}
		if ( idx >= str.length )  return "";
		bsidxc += str.charCodeAt(idx++) > 0x00ff ? 2:1;
	}
	var bsizec = excess ? 1 : 0 ;
	var sidx = idx;
	var remain = false;//
	var size=0;
	while ( true ) {
		if        ( bsizec  > bsize ) { remain = true;  break;
		} else if ( bsizec == bsize ) { break;
		}
		if ( idx >= str.length ) return excess ? " "+ str.substr(sidx) : str.substr(sidx);
		bsizec += str.charCodeAt(idx++) > 0x00ff ? 2:1;
		size++;
	}
	return  (  excess &&   remain) ? " "+ str.substr(sidx, size-1) +" " :
					(  excess && ! remain) ? " "+ str.substr(sidx, size  )      :
					(! excess &&   remain) ?      str.substr(sidx, size-1) +" " :
																				str.substr(sidx, size  );
}





//³ªÁß¿¡ Á¦°ÅÇÒ °Å
/********************************************************************
   (pyk6598@empal.com) 2005-08-04
********************************************************************/
// combodata -> 001|°í·¡#002|¿ÀÂ¡¾î#
// combodata ¸¦ code¸¸ ¶Ç´Â name¸¸ array·Î °¡Á®¿Â´Ù.
function getComboArray(s, idx, rowIdx)
{
  if ( rowIdx == null ) rowIdx = 0;
  var rslt = "";
  var arrcdnm = s.split("#");// °¢ [ÄÚµå|¸í]À» ºÐ¸®
  var arrtmp = [];

  for ( var n = rowIdx; n < arrcdnm.length; n++ )
  {
    if ( arrcdnm[n] )
    {
      arrtmp[arrtmp.length] = arrcdnm[n].split("@@")[idx];
    }
  }
  return arrtmp;
}
// combodata¸¦ name¸¸ array·Î °¡Á®¿Â´Ù. sheet ¿¡¼­ combo ÀÛ¼º½Ã »ç¿ë
function getComboText(s, rowIdx)
{
  if ( rowIdx == null ) rowIdx = 0;
  return getComboArray(s, 1, rowIdx).join("|");
}
// combodata¸¦ code¸¸ array·Î °¡Á®¿Â´Ù. sheet ¿¡¼­ combo ÀÛ¼º½Ã »ç¿ë
function getComboCode(s, rowIdx)
{
  if ( rowIdx == null ) rowIdx = 0;
  return getComboArray(s, 0, rowIdx).join("|");
}
// combodata·Î select box ¿¡ append ½ÃÅ²´Ù.
function makeSelect2(selectObj, text, arr_except)
{
  var arr = text.split("#");

  var cd, nm, cdnm;
  for ( var n = 0; n < arr.length; n++ )
  {
    cdnm = arr[n].split("@@");
    cd = trim(cdnm[0]);
    nm = trim(cdnm[1]);

    if ( arr[n] )
    {
      // Á¦¿Ü Á¶°Ç
      if ( arr_except != null && array_indexOf(arr_except, cd) >= 0 )
      {
        continue;
      }

      selectObj.options[selectObj.options.length] = new Option(nm, cd);
    }
  }
}

function makeSelect3(sel, grid)
{
  for ( var n = 0; n < grid.RowCount; n++ )
  {
    sel.options[sel.options.length] = new Option(trim(grid_CellValue(grid, n, 1)), trim(grid_CellValue(grid, n, 0)));
  }
}

// write object tag like flash, activex
function writeObjectTag(obj)
{
  var object = document.createElement("object");

  // object attribute setting
  for ( var attr in obj )
  {
    var typeof_obj_attr = typeof obj[attr];
    if ( typeof_obj_attr == "string" || typeof_obj_attr == "number" )
    {
      object[attr] = obj[attr];
    }
  }

  var param;
  for ( var attr in obj.parameters )
  {
    param = document.createElement("param");
    param.name = attr;
    param.value = obj.parameters[attr];
    object.appendChild(param);
  }
//alert(object.outerHTML);
  document.write(object.outerHTML);
  object = null;
}

function submit2(property, parameters)
{
  var form = $E("form", property);
  form["method"] = property["method"] || "post";// default method is post

  var input, value;
  for ( var name in parameters )
  {
    value = parameters[name];
    if ( ["string", "number"].include(typeof value) )
    {
      input = $E("input", {name: name, type: "hidden", value: value});
      form.appendChild(input);
    }
    else if ( value && value.length )
    {
      $A(value).each(function(v)
      {
        input = $E("input", {name: name, type: "hidden", value: v});
        form.appendChild(input);
      });
    }
    else
    {
      input = $E("input", {name: name, type: "hidden", value: value == null ? "" : value});
      form.appendChild(input);
    }
  }
//alert(form.outerHTML);
  document.body.appendChild(form);
  form.submit();
  document.body.removeChild(form);
  form = null;
}

function ajaxRequestXS(dsClass, dsMethod, otherParams, onSuccessXS, onComplete)
{

  var parameters = Object.extend({S_DSCLASS: dsClass, S_DSMETHOD: dsMethod, S_FORWARD: "xsheetResultXML"}
  , $H(typeof otherParams == 'string' ? otherParams.toQueryParams() : otherParams));

  new Ajax.Request("/commonAction.do", {
    parameters: parameters
    , requestHeaders: { ajax: 'true' }
    , onSuccess: function (transport, json)
      {
        var xsheet = makeXSheetWithXmlText(transport.responseText);

        if ( xsheet == null ) return;

        onSuccessXS(xsheet);
      }
    , onFailure: function (transport, json)
      {
        alert("ÀÀ´ä ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+transport.statusText);
      }
    , onException: function (transport, exception)
      {
        alert("½ºÅ©¸³Æ® ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+getObjPropStr(exception));
      }
    , onComplete: onComplete
  });

}

// Progress ÀÚµ¿ Æ÷ÇÔ
function ajaxRequestXSProg(dsClass, dsMethod, otherParams, onSuccessXS, onComplete)
{
  Progress.start();
  var parameters = Object.extend({S_DSCLASS: dsClass, S_DSMETHOD: dsMethod, S_FORWARD: "xsheetResultXML"}
  , $H(typeof otherParams == 'string' ? otherParams.toQueryParams() : otherParams));

  new Ajax.Request("/commonAction.do", {
    parameters: parameters
    , requestHeaders: { ajax: 'true' }
    , onSuccess: function (transport, json)
      {
        var xsheet = makeXSheetWithXmlText(transport.responseText);

        if ( xsheet == null ) return;

        onSuccessXS(xsheet);
      }
    , onFailure: function (transport, json)
      {
        alert("ÀÀ´ä ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+transport.statusText);
      }
    , onException: function (transport, exception)
      {
        alert("½ºÅ©¸³Æ® ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+getObjPropStr(exception));
      }
    , onComplete: function(transport, param){ Progress.stop(); onComplete && onComplete(transport, param); }
  });

}

function ajaxSyncRequestXS(dsClass, dsMethod, otherParams, onSuccessXS, onComplete)
{

  var parameters = Object.extend({S_DSCLASS: dsClass, S_DSMETHOD: dsMethod, S_FORWARD: "xsheetResultXML"}
  , $H(typeof otherParams == 'string' ? otherParams.toQueryParams() : otherParams));

  new Ajax.Request("/commonAction.do", {
    asynchronous: false
    , parameters: parameters
    , requestHeaders: { ajax: 'true' }
    , onSuccess: function (transport, json)
      {
        var xsheet = makeXSheetWithXmlText(transport.responseText);

        if ( xsheet == null ) return;

        onSuccessXS(xsheet);
      }
    , onFailure: function (transport, json)
      {
        alert("ÀÀ´ä ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+transport.statusText);
      }
    , onException: function (transport, exception)
      {
        alert("½ºÅ©¸³Æ® ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.\n\n"+getObjPropStr(exception));
      }
    , onComplete: onComplete
  });

}

function setCombo(data, comboObj, saveName, option, arrPair, sheetRow)
{
  data = [XmlSheet, ScriptSheet].include(data.constructor) ? makeComboTextXS(data) : data;

  if ( comboObj.tagName == "OBJECT" )
  {
    var arrText = [], arrCode = [], arrTemp;
    //¡à¡á
    var rowStrings = data.split("¡á");
    rowStrings.each(function (value, index)
    {
      arrTemp = value.split("¡à");
      arrText.push(arrTemp[0]);
      arrCode.push(arrTemp[1]);
    });

    var textH = "";
    var codeH = "";

    switch ( option )
    {
      case "A":
      {
        textH = "|ÀüÃ¼|";
        codeH = "|%|";
      }
      break;
      case "S":
      {
        textH = "|¼±ÅÃ|";
        codeH = "||";
      }
      break;
      case "N":
      {
        textH = "| |";
        codeH = "||";
      }
      break;
      case "U":
      {
        var tmpArrText = [];
        var tmpArrCode = [];
        for ( var n = 0; n < arrPair.length; n++ )
        {
          tmpArrText.push(arrPair[n][0]);
          tmpArrCode.push(arrPair[n][1]);
        }
        textH = arrPair.length == 0 ? "" : tmpArrText.join("|")+"|";
        codeH = arrPair.length == 0 ? "" : tmpArrCode.join("|")+"|";
      }
      break;
    }
    if ( sheetRow == null )
    {
      comboObj.InitDataCombo(0, saveName, textH + arrText.join("|"), codeH + arrCode.join("|"));
    }
    else
    {
      //obj.CellComboItem(sheetRow, saveName, textH + arrText.join("|"), codeH + arrCode.join("|"));
      comboObj.CellComboItem(sheetRow, saveName, textH + arrText.join("|"), codeH + arrCode.join("|"));
    }


  }
  else if ( comboObj.tagName == "SELECT" )
  {
    if      ( option == "A" ) comboObj.options.add(new Option("-ÀüÃ¼-", ""));
    else if ( option == "S" ) comboObj.options.add(new Option("-¼±ÅÃ-", ""));
    else if ( option == "N" ) comboObj.options.add(new Option("", ""));
    else if ( option == "U" )
    {
      for ( var n = 0; n < arrPair.length; n++ )
        comboObj.options.add(new Option(arrPair[n][0], arrPair[n][1]));
    }

    var arrTemp;
    if ( data )
    {
      var rowStrings = data.split("¡á");
      rowStrings.each(function (value, index)
      {
        arrTemp = value.split("¡à");
        comboObj.options.add(new Option(arrTemp[0], arrTemp[1]));
      });
    }
  }
  else
  {
    alert("Wrong...");
  }
}
document.getElementsByTagNames = function()
{
  return $A(arguments).inject([], function(arr, tagName)
  {
    return arr.concat($A(document.getElementsByTagName(tagName)));
  });
}

Progress = {
  count: 0,
  isMade: false,
  layerCover: null,
  layerProgress: null,
  //wels: [],//window elements to be hidden
  start: function()
  {
    if ( ! this.isMade )
    {
      var cssText = "margin: "+document.body.currentStyle.margin+"; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ";//
      //alert(document.body.currentStyle.margin);

      var divCover = document.createElement("div");
      divCover.style.cssText = cssText+"background-color: #EEEEEE; filter: alpha(opacity=10); ";
      divCover.innerHTML = "<table  border=0 cellpadding=0 cellspacing=0 width='100%' height='100%' ><tr><td align='center' valign='middle' ></td></tr></table>";

      var divProgress = document.createElement("div");
      divProgress.style.cssText = cssText;
      divProgress.innerHTML = "<table border=0 cellpadding=0 cellspacing=0 width='100%' height='100%' ><tr><td align='center' valign='middle' ><iframe width=180 height=110 frameborder='0' marginwidth=0 src='/common/jsp/progress.html' SCROLLING=no style='background-color: #EEEEEE; filter: alpha(opacity=60); ' ></iframe></td></tr></table>";

      document.body.appendChild(divCover);
      document.body.appendChild(divProgress);
      this.layerCover = divCover;
      this.layerProgress = divProgress;
      this.isMade = true;
    }
    this.count++;
    if ( this.count == 1 )
    {
      /*
      document.getElementsByTagNames("SELECT", "OBJECT").select(function(e)
      {
        return e.style.display != "none" && e.style.visibility != "hidden";
      }).each(function(e)
      {
        e.style._orgVisibility = e.style.visibility;
        e.style.visibility = "hidden";
        this.wels.push(e);
      }.bind(this));
      */
      Element.show(this.layerCover);
      Element.show(this.layerProgress);
    }
  },
  stop: function()
  {
    this.count--;
    if ( this.count == 0 )
    {
      /*
      this.wels.each(function(e)
      {
        e.style.visibility = e.style._orgVisibility;
      });
      this.wels = [];
      */
      this.layerCover && Element.hide(this.layerCover);
      this.layerProgress && Element.hide(this.layerProgress);
    }
  }
};

ProgressA = {
  count: 0,
  isMade: false,
  layer: null,
  start: function()
  {
    if ( ! this.isMade )
    {
      var o = document.createElement("div");
      var cssText = "margin: "+document.body.currentStyle.margin+"; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #EEEEEE; filter: alpha(opacity=10); ";//
      o.style.cssText = cssText;
      document.body.appendChild(o);
      this.layer = o;
      this.isMade = true;
    }
    this.count++;
    if ( this.count == 1 ) Element.show(this.layer);
  },
  stop: function()
  {
    this.count--;
    if ( this.count == 0 ) this.layer && Element.hide(this.layer);
  }
};

Alert = {
  isMade: false,
  layerCover: null,
  layerShow: null,
  frame: null,
  alert: function(msg)
  {
    if ( ! this.isMade )
    {
      this.layerCover = $E("div", {style: {cssText:
        "margin: "+document.body.currentStyle.margin+"; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #EEEEEE; filter: alpha(opacity=50); z-index: 998; "}});
      this.layerShow = $E("div",
        {innerHTML: "<table border=0 cellpadding=0 cellspacing=0 width='100%' height='100%' ><tr><td align='center' valign='middle' ><iframe width=310 height=110 frameborder='0' marginwidth=0 src='/common/jsp/alert.html' SCROLLING=no ></iframe></td></tr></table>", style: {cssText: "margin: "+document.body.currentStyle.margin+"; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ; z-index: 999; "}});
      document.body.appendChild(this.layerCover);
      document.body.appendChild(this.layerShow);
      this.frame = frames[frames.length - 1];

      new Ajax.Request("/common/jsp/alert.html", {
        asynchronous: false,
        onSuccess: function (transport, json)
        {
          this.frame.document.write(transport.responseText);
        }
      });

      this.isMade = true;
    }

    try
    {
      this.frame.document.getElementById("msg").innerText = msg;
    }
    catch(x)
    {
      setTimeout(function (){this.frame.document.getElementById("msg").innerText = msg;}.bind(this), 500);
    }

    Element.show(this.layerCover);
    Element.show(this.layerShow);
  },
  close: function()
  {
    this.layerCover && Element.hide(this.layerCover);
    this.layerShow && Element.hide(this.layerShow);
  }

};


Calendar = {
  iframe: null,
  frameName: "_calendarFrame",
  show: function(input)
  {
    var ymd = getNormalValue(input);
    if ( ! this.iframe )
    {
      var iframe = $E("iframe", {id: this.frameName,
        name: this.frameName,
        frameBorder: 0, src: "/common/jsp/calendar1.jsp?S_SKIN_PATH="+Page.SKIN_PATH+"&S_INPUT_NAME="+input.name+"&S_YMD="+getNormalValue(input),
        style: {
          position: "absolute",
          display: "none",
          width: 200,
          height: 200
        }});
      document.body.appendChild(this.iframe = iframe);
    }

    //alert(topLeft);
    var topLeft = Position.cumulativeOffset(event.srcElement);
    this.iframe.style.left = topLeft[0] + 10;
    this.iframe.style.top = topLeft[1] + 10;

    if ( this.iframe ) this.onShow.bind(this, input, ymd)();
    else setTimeout(this.onShow.bind(this, input, ymd), 500);
  },
  hide: function()
  {
    this.iframe && Element.hide(this.iframe);
  },
  onShow: function(input, ymd)
  {
    frames[this.frameName].calendar && frames[this.frameName].calendar.setInput(input);
    frames[this.frameName].calendar && frames[this.frameName].calendar.setYmd(ymd);
    Element.show(this.iframe);
  }
}

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 "";
}

function setCookie( name, value, expiredays )
{
  var todayDate = new Date();
  todayDate.setDate( todayDate.getDate() + expiredays );
  document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

function downloadFile(target, S_FILE_PATH, S_ORG_FILE_NM)
{
  popopen2({url: "/common/jsp/download.jsp", name: "downloadWindow", param: {
    S_FILE_PATH: S_FILE_PATH, S_ORG_FILE_NM: S_ORG_FILE_NM
  }});
  /*
  var newWin = window.open("/common/jsp/download.jsp", "downloadWindow",
    "top="+((window.screen.height - 100)/2)+", left="+((window.screen.width - 100)/2)+", width=100, height=100, directories=no, location=no, menubar=no, scrollbars=no, status=no, titlebar=no, toolbar=no, resizable=no");
  submit2({action: "/FD", target: "downloadWindow"}, {S_FILE_PATH: S_FILE_PATH, S_ORG_FILE_NM: nvl(S_ORG_FILE_NM)});
  */
  //popopen2({name: "_blank", param: {S_FILE_PATH: S_FILE_PATH, S_ORG_FILE_NM: nvl(S_ORG_FILE_NM)}, url: "/FD"});
}

function ajaxSearchEmp(emp_nm, fn)
{
  ajaxRequestXSProg("biz.sy.Sy181_c01DS", "searchEmp01", {S_EMP_NM: emp_nm}, function(xs)
  {
    var RowCount = xs.RowCount();
    if ( RowCount == 0 )
    {
      alert("°Ë»öµÈ »ç¿øÀÌ ¾ø½À´Ï´Ù.("+emp_nm+")");
      fn({});
    }
    else if ( RowCount > 1 )
    {
      var args;
      var rv = popmodal2(args = {url: "/sy/jsp/sy150_p01.jsp", parameters: {S_SELMODE: "S", S_EMP_NM: emp_nm, X_EMP_SCH_AUTH: Page.EMP_SCH_AUTH}});
      if ( rv == "1" )
      {
        var grid = args.output.grid;
        var RowCount = grid.RowCount;
        var ColCount = grid.ColCount;

        var emp = {};
        for ( var r = 0; r < RowCount; r++ )
        {
          for ( var col = 0; col < ColCount; col++ )
          {
            emp[grid_ColName(grid, col)] = grid_CellValue(grid, r, col);
          }
          fn(emp);
          break;// get only one
        }
      }
      else
      {
        fn({});
      }
    }
    else if ( RowCount == 1 )
    {
      // °Ë»öµÈ »ç¿øÀÌ ÇÑ¸íÀÌ¸é
      var EMP_ID = xs.CellValue(0, "EMP_ID");
      ajaxGetEmp(EMP_ID, fn);
    }
  });

}

function ajaxGetEmp(emp_id, fn)
{
  ajaxRequestXSProg("biz.sy.Sy181_c01DS", "getEmp01", {S_EMP_ID: emp_id}, function(xs)
  {
    if ( xs.RowCount() == 0 )
    {
      alert("°Ë»öµÈ »ç¿øÀÌ ¾ø½À´Ï´Ù.("+emp_id+")");
      fn({});
    }
    else
    {
      var emp = {};
      var ColCount = xs.ColCount();
      for ( var col = 0; col < ColCount; col++ )
      {
        emp[xs.ColName(col)] = xs.CellValue(0, col);
      }
      fn(emp);
    }
  });

}

Object.extend2 = function(destination, source) {
  for (var property in source) {
    if ( source[property] == null || source[property].constructor != Object )
      destination[property] = source[property];
    else
      Object.extend2(destination[property], source[property]);
  }
  return destination;
}

$E = function (tagName, props)
{
  var e = document.createElement(tagName);
  Object.extend2(e, props || {});
  return e;
}

function decode()
{
  var x = arguments[0];
  for ( var n = 1, argsLen = arguments.length; n < argsLen; n+=2 )
  {
    if ( x == arguments[n] )
    {
      return arguments[n+1];
    }
    else
    {
      if ( argsLen <= n+2 ) return null;
      else if ( argsLen == n+3 ) return arguments[n+2];
    }
  }
}

function findElement(element, eAttrName, attrName, attrValue, index)
{
  index = index || 0;

  var currIndex = 0;
  while ( element = element[eAttrName] )
  {
    if ( element[attrName] == attrValue )
    {
      if ( currIndex == index )
        return element;
      else
        currIndex++;
    }
  }
  return null;
}

// xsheet ¸¦ ÀÌ¿ëÇÏ¿© ImageList ±¸¼ºÇÑ´Ù.
function makeImgXS(sheet, xsheet, data_key)
{
  if ( xsheet == null ) return;
  var arrCd = [];
  var intCnt = -1;

  for ( var row = 0, rcnt = xsheet.RowCount(data_key); row < rcnt; row++ )
  {
    if(xsheet.CellValue(row, 0, data_key) != "")
    {
      intCnt++;

      sheet.ImageList(intCnt) = "/images/icon/"+xsheet.CellValue(row, 0, data_key);
      arrCd[intCnt] = xsheet.CellValue(row, 1, data_key);
    }

  }

  return arrCd;
}

function makeImgApply(sheet, arr, Row, Col, Value)
{
  for ( var row = 0; row < arr.length ; row++ )
  {
    if(arr[row] == Value)
    sheet.CellImage(Row, Col) = row;
  }

}

Math.round2 = function(number, pointCount)
{
  pointCount = pointCount == null ? 0 : pointCount;
  return Math.round(number * Math.pow(10, pointCount)) / Math.pow(10, pointCount);
}

Math.floor2 = function(number, pointCount)
{
  pointCount = pointCount == null ? 0 : pointCount;
  return Math.floor(number * Math.pow(10, pointCount)) / Math.pow(10, pointCount);
}

String.prototype.startsWith = function(p)
{
  var s = this;
  return p == s.substr(0, p.length);
}
// sheet ÀÇ each data row
function sheetEachRow(sheet, f, reverse, startRow)
{
  reverse = !!reverse;
  var returnObject = {};
  try
  {
    if ( reverse )
      for ( var row = nvl(startRow, sheet.LastRow), firstDataRow = sheet.HeaderRows; row >= firstDataRow; row-- )
        f(row, sheet, returnObject);
    else
      for ( var row = nvl(startRow, sheet.HeaderRows), rcnt = 0; rcnt < sheet.RowCount; row++, rcnt++ )
        f(row, sheet, returnObject);
  }
  catch(e)
  {
    if (e == $break) return returnObject.value;
    else throw e;
  }
}
// sheet ÀÇ each col
function sheetEachCol(sheet, f, reverse, startCol)
{
  reverse = !!reverse;
  var returnObject = {};
  try
  {
    if ( reverse )
      for ( var c = nvl(startCol, sheet.LastCol); c >= 0; c-- )
        f(c, sheet.ReadDataProperty(0, c, dpSaveName), sheet, returnObject);
    else
      for ( var c = nvl(startCol, 0), lastC = sheet.LastCol; c <= lastC; c++ )
        f(c, sheet.ReadDataProperty(0, c, dpSaveName), sheet, returnObject);
  }
  catch(e)
  {
    if (e == $break) return returnObject.value;
    else throw e;
  }
}
// ÆÄÀÏ ¾÷·Îµå...
function uploadFile(option)
{
  //Progress.start();
  var f = nvl(option.form, document.forms[0]);

  // ÀÓ½ÃÀúÀå
  var f_encoding = f.encoding;
  var f_method = f.method;
  var f_target = f.target;
  var f_action = f.action;
  // submit
  f.encoding = "multipart/form-data";
  f.method = "post";
  f.target = nvl(option.target, frames[0].name);
  f.action =
    "/commonAction.do?S_FORWARD=iframeResultXML&S_DSCLASS="+option.S_DSCLASS+"&S_DSMETHOD="+option.S_DSMETHOD+
    "&S_ID="+nvl(option.ID, "")+"&S_FUNCTION="+nvl(option.OnResult, "OnResult");
  f.submit();
  // ¿øº¹
  f.encoding = f_encoding;
  f.method = f_method;
  f.target = f_target;
  f.action = f_action;

}
// get ÆÄ¶ó¹ÌÅÍ ¸¸µé±â
function makeParam(obj)
{
  return $H(obj).inject([], function(arr, v)
  {
    arr.push(v.key +"="+ UrlEncoding(v.value));
    return arr;
  }).join("&");
}
// report designer object
function writeRdviewr(option)
{
  var html = "";

  if ( ! window.__teechart )
  {
    html += "<object id=teechart ";
    html += "  classid='clsid:FAB9B41C-87D6-474D-AB7E-F07D78F2422E' ";
    html += "  codebase='/resource/file/teechart7.cab#version=7,0,0,5' ";
    html += "  width=0% height=0% style=margin:0; >";
    html += "</object>";
    window.__teechart = true;
  }

  option = nvl(option, {});
  html += "<object id='"+ nvl(option.id, "rdv1") +"' ";
  html += "  classid='clsid:5A7B56B3-603D-4953-9909-1247D41967F8' ";
  html += "  codebase='/resource/file/rdviewer50u.cab#version=5,0,0,167' ";
  html += "  width='"+nvl(option.width, "100%")+"' height='"+nvl(option.height, "100%")+"' style=margin:0; >";
  html += "</object>";

  document.write(html);

}

RdUtil =
{
  RD_WEBROOT: location.protocol + "//" + location.host,
  RD_DB_PARAM: "/ruseurlmoniker 0 /rcontype [RDAGENT] /rf ["+location.protocol + "//" + location.host+"/RDServer/rdagent.jsp] /rsn [EHR]"
}

function replaceMap(str, map, reg)
{
  var result = str, exec;
  reg = nvl(reg, /\$\{([^}]+)\}/);
  while (exec = reg.exec(result))
  {
    result = result.replace("${"+exec[1]+"}", nvl(map[exec[1]]));
  }
  return result;
}

PageUtil = {
  isPopup: top.location.pathname != "/"
};

// combo ÀÇ disabled ¿¡ µû¶ó input text ·Î º¯°æ...
function convertCombo2Text(combo, enable, objSize)
{
  if ( enable )
  {
    Element.show(combo);
    if ( combo.nextSibling && combo.nextSibling.combotextyn == "Y" )
      Element.hide(combo.nextSibling);
  }
  else
  {
    Element.hide(combo);
    if ( combo.nextSibling && combo.nextSibling.combotextyn == "Y" )
    {
      combo.nextSibling.value = getSelectedText(combo);
      Element.show(combo.nextSibling);
    }
    else
    {
      objSize = (typeof objSize == 'undefined') ? "15" : objSize; // 20100331 ÀüÁ¤¼÷ Ãß°¡ 
      //alert('objSize='+objSize);      
      combo.insertAdjacentHTML("afterEnd", "<input type=text value='"+getSelectedText(combo)+"' class=readonly01 readonly size="+objSize+" combotextyn=Y >");
    }  
  }
}

// sheet ¿¡¼­ row °Ë»ö
function sheetFindRow(sheet, fFind, reverse, startRow)
{
  var findRow = -1;
  sheetEachRow(sheet, function(row, sheet)
  {
    if ( fFind(sheet, row) )
    {
      findRow = row;
      throw $break;
    }
  }, reverse, startRow);
  return findRow;
}

if ( window.Form )
{
  // prototype.js ¿À¹ö¶óÀÌµå
  Form.serializeElements = function(elements, getHash) {
      var data = elements.inject({}, function(result, element) {
        if ( element.name) {
          var key = element.name, value = $(element).getValue();
          if (value != undefined) {
            if (result[key]) {
              if (result[key].constructor != Array) result[key] = [result[key]];
              result[key].push(value);
            }
            else result[key] = value;
          }
        }
        return result;
      });

      return getHash ? data : Hash.toQueryString(data);
    };
}


function alertHtml(message, mode)
{
  var w = 200;
  var h = 100;

  var dialogWidth = w + "px";
  var dialogHeight = (h+55) + "px";// for ie7.0

  var dialogTop = (window.screen.height - Number(dialogHeight.replace(/\D/g, "")))/2+"px";
  var dialogLeft = (window.screen.width - Number(dialogWidth.replace(/\D/g, "")))/2+"px";

  var args = {message: message, mode: mode||"warn"};
  return window.showModalDialog("/common/jsp/alertHtml.html", args,
    "help: no; status: no; resizable: no; dialogWidth: "+dialogWidth+"; dialogHeight: "+dialogHeight+"; dialogTop: "+dialogTop+"; dialogLeft: "+dialogLeft+"; ");
}
function confirmHtml(message)
{
  return alertHtml(message, "confirm");
}

/*
2007-09-20 »ùÇ¥¿¡¼­ »ç¿ëÇÏ±â À§ÇØ ¸¸µé¾úÀ½
ess¿Í ass´Â Á÷±ÞÄÃ·³ º¸¿©Áö¸é ¾ÈµÈ´Ù°í ÇÔ.
¹«Á¶°Ç ¾Èº¸ÀÌ°Ô ¸·À½.
*/
function hiddenEmpGradeCd(profileId, empSearchAuth){
	//if( ["30"].include(empSearchAuth) ) return;

	if(sheet = tid("sheet1")){
		sheet.ColHidden("EMP_GRADE_CD") = true; 
		sheet.ColHidden("EMP_GRADE_NM") = true;
		sheet.ColHidden("APP_EMP_GRADE_CD") = true; 
		sheet.ColHidden("APP_EMP_GRADE_NM") = true;
	}
	if(sheet = tid("sheet2")){
		sheet.ColHidden("EMP_GRADE_CD") = true; 
		sheet.ColHidden("EMP_GRADE_NM") = true;
		sheet.ColHidden("APP_EMP_GRADE_CD") = true; 
		sheet.ColHidden("APP_EMP_GRADE_NM") = true;
	}
	if(sheet = tid("sheet3")){
		sheet.ColHidden("EMP_GRADE_CD") = true; 
		sheet.ColHidden("EMP_GRADE_NM") = true;
		sheet.ColHidden("APP_EMP_GRADE_CD") = true; 
		sheet.ColHidden("APP_EMP_GRADE_NM") = true;
	}
}



/*

2007-07-02 
ÀÓÀ¯°æ
xsheetResultXML.jsp ·Î xsµ¥ÀÌÅÍ »ý¼º ÈÄ Æ¯Á¤ Å°·Î ·Î¹øÈ£¸¦ Ã£À» ¶§ »ç¿ë
»ç¿ë¿¹)
var xs = xsSEARCH_ITEM_CD;
var xRow = findRowFromXs(xs, "SEARCH_ITEM_CD", "001");
var SEARCH_ITEM_TYPE = xs.CellValue(xRow, "SEARCH_ITEM_TYPE");
*/
function findRowFromXs(xs, keyStr, iStr)
{
  var xs = xs;
  for ( var r = 0, rcnt = xs.RowCount(); r < rcnt; r++ )
  {
    if ( xs.CellValue(r, keyStr) == iStr )
      return r;
  }
  return -1;
}
