/**
  readonly input box ÀÏ°ü »ö º¯È¯
  body.onload = setInputReadOnly;

*/

function setInputColor(form, required){

  var el = form.elements;

  if(el == null)
    return;

  for(var eln=0; eln < el.length; eln++){

    if(el[eln].getAttribute == undefined)
      continue;

    if(el[eln].getAttribute("DISABLED") != null && el[eln].disabled == true)
      el[eln].style.backgroundColor = "#F1F3F3";
    else if(el[eln].getAttribute("READONLY"))
      el[eln].style.backgroundColor = "#FFFFE6";


    if(required == true && el[eln].getAttribute("REQUIRED") != null){

      var in_TD = el[eln].parentNode;
      var in_TDS = in_TD.parentNode.childNodes;

      for(var n=0; n < in_TDS.length; n++){

        if(in_TDS[n] == in_TD && in_TDS[n-1].innerHTML.indexOf("<FONT color=red>*</FONT>") < 0){

          in_TDS[n-1].innerHTML = "<FONT color='red'>*</FONT> "+ in_TDS[n-1].innerHTML;
          break;
        }
      }
    }
  }
}

function bluring(){

  if(event.srcElement.tagName=="A" || event.srcElement.tagName=="IMG")
      document.body.focus();
}
//document.onfocusin=bluring;

//document ¾È¿¡¼­ ÀÌ¸§À¸·Î object ¸¦ Ã£´Â´Ù
//Ã£À¸·Á´Â objectÀÇ ÀÌ¸§À» ÀÎÀÚ·Î ³Ñ±ä´Ù
function jsGetAll(name, doc)
{

  if(doc != null)
    return doc.all[name];

  return document.all[name];
}

//document ¾È¿¡¼­ ÀÌ¸§À¸·Î FormÀ» Ã£´Â´Ù
//Ã£À¸·Á´Â Form ÀÇ ÀÌ¸§À» ÀÎÀÚ·Î ³Ñ±ä´Ù
function jsFindFrm(name, rdoc)
{
  var docu = document;

  if(rdoc != null && rdoc != undefined)
    docu = rdoc;
  return docu.forms[name];
}

//¸Å°³ º¯¼ö·Î ³Ñ¾î¿Â Æû ¾È¿¡¼­ ÇÏÀ§ °´Ã¼¸¦ ÀÌ¸§À¸·Î Ã£´Â´Ù.
function jsFindItem(frm, aname)
{
  return frm.getAttribute(aname)
}

//document ¾È¿¡¼­ id°¡ ºÎ¿©µÈ Å×±×³ª °´Ã¼¸¦ id·Î Ã£´Â´Ù
function jsFindId(id, rdoc)
{
  var docu = document;

  if(rdoc != null && rdoc != undefined)
    docu = rdoc

  return docu.getElementById(id);
}


//form ¾È¿¡¼­ ÀÚ½ÅÀÇ ÀüÈÄ object¸¦ Ã£´Â´Ù
//È£ÃâÇÏ´Â objectÀÚ½Å°ú ÀüÈÄ ÀÌµ¿ÇÒ °ªÀ» ¼ýÀÚ·Î ÀÔ·Â ¹Ù·ÎÀü °´Ã¼¸¦ Ã£À»¶§´Â -1 ¹Ù·Î´ÙÀ½ °´Ã¼´Â 1 À» ÀÔ·Â
function jsFindObj(obj,nop)
{
  var frm = obj.form

  if(obj.form == null || obj.form == undefined)
    return null;

  for(ct=0; ct < frm.elements.length; ct++)
  {
    if(frm.elements[ct] == obj && (ct + nop) < frm.elements.length)
      return frm.elements[ct+nop]
  }

  return null
}


//form ¿¡¼­ ÀÚ½ÅÀÇ index¸¦ ±¸ÇÒ¶§ »ç¿ë
function jsFindIndex(obj)
{
  var frm = obj.form

  for(var ct=0; ct < frm.elements.length; ct++)
  {
    if(frm.elements[ct] == obj)
      return ct;
  }

  return -1
}

//document ¿¡¼­ ÀÚ½ÅÀÇ index¸¦ ±¸ÇÒ¶§ »ç¿ë
function jsAllFindIndex(obj,pos)
{

  for(var ct=0; ct < document.all.length; ct++)
  {
    if(document.all[ct] == obj)
      return ct
  }

  return -1
}

var jsDateSelect = new Array();
var jsTimeSelect = new Array();

//½ÇÁ¦·Î select¸¦ ±¸ÇöÇÒ¶§ ¾²ÀÌ´Â ÇÔ¼öÀÌ´Ù

//Ã³À½¿¡ ³â,¿ù,ÀÏ select ¸¦ »ý¼º  ÀÎÀÚ°ªÀº ³âÀÇ ÀÌ¸§, ´ÞÀÇ ÀÌ¸§, ÀÏÀÇ ÀÌ¸§, ÇÕÃÄÁú hidden °ªÀÇ ÀÌ¸§À» ¹Þ´Â´Ù
//ndate´Â ³â¿ùÀÏ½Ã°£À» ÇÕÃÄ¼­ ´ÙÀ½ ÆäÀÌÁö·Î ³Ñ±æ¶§ »ç¿ëÇÒ ÆûÀÌ¸§ÀÌ´Ù
//nyear, nmonth´Â ¹Ýµå½Ã ÀÎÀÚ°ªÀ¸·Î ³Ñ°ÜÁÖ¾î¾ß ÇÑ¸ç, nday ´Â ¼±ÅÃÀÌ´Ù
//size ¿¡´Â ÇØ´çÇÏ´Â font-size¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
// ex) jsMakeDates("nyear","nmonht","nday","ndate","12px","2003","11","03")
//		jsMakeDates("nyear","nmonht","nday","ndate","12px","2003-11-03")

function jsMakeDates(nyear,nmonth,nday,ndate,size,dyear,dmonth,dday)
{

  if(jsIsNS(dyear) && jsIsNS(dmonth))
  {
    dyear = jsGetToday("year");
    dmonth = jsGetToday("month");
    dday = jsGetToday("day");
  }
  else{

    var pattern = /([0-9]{4})[\/-]?([0-9]{2})[\/-]?([0-9]{2})/;
    pattern.exec(dyear);

    dyear = RegExp.$1;
    dmonth = RegExp.$2;
    dday = RegExp.$3;
  }

  new jsMakeDateBase(nyear,nmonth,nday,ndate,size,dyear,dmonth,dday);
}

function jsMakeDateBase(nyear,nmonth,nday,ndate,size,dyear,dmonth,dday)
{
  var len = jsDateSelect.length;

  jsDateSelect[len] = this;

  if(jsIsNS(nyear) || jsIsNS(nmonth) )//|| jsIsNS(nday))
  {
    document.write("¼³Á¤ÀÌ Àß¸øµÇ¾î ³¯Â¥ Select ±×·ìÀÌ »ý¼º µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
    return;
  }

  if(jsIsNS(size))
    size="12px";

  document.write("<font style='font-size:"+size+";'>");

  document.write("<select id='"+nyear+"' name='"+nyear+"' onchange='jsOnChangeDate("+len+");window.focus();' style='font:"+ size +";'></select>³â ");
  this.year = jsFindId(nyear);


  if(nmonth != null){

    document.write("<select id='"+nmonth+"' name='"+nmonth+"' onchange='jsOnChangeDate("+len+");window.focus();' style='font:"+ size +";'></select>¿ù ");
    this.month = jsFindId(nmonth);
  }

  if(nday != null){

    document.write("<select id='"+nday+"' name='"+nday+"' onchange='jsOnChangeDate("+len+");window.focus();' style='font:"+ size +";'></select>ÀÏ");
    this.day = jsFindId(nday);
  }

  if(ndate != null){

    document.write("<input type=hidden id='"+ndate+"' index='" + len + "' name='"+ndate+"'>");
    this.date = jsFindId(ndate);
    this.date.form.onreset = Function("","jsMkDay(jsDateSelect["+ len +"].day,"+ dyear +","+ dmonth +","+ dday +",true)");
  }

  jsSetDatesDefault(len, dyear, dmonth, dday);

  document.write("</font>");
}

function jsSetDatesDefault(date_idx, sdyear, sdmonth, sdday)
{
  var dateAry = new Array();

  if(jsIsNS(sdyear))
  {
    sdyear = jsGetToday("year");
    sdmonth = jsGetToday("month");
    sdday = jsGetToday("day");
  }
  else if(!jsIsNS(sdyear) && jsIsNS(sdmonth)){

    var pattern = /([0-9]{4})[\/-]?([0-9]{2})[\/-]?([0-9]{2})/;
    pattern.exec(sdyear);

    sdyear = RegExp.$1;
    sdmonth = RegExp.$2;
    sdday = RegExp.$3;
  }
  if(jsDateSelect[date_idx].year != undefined)
    jsMakeOption(jsDateSelect[date_idx].year,1900,2100,sdyear, true);

  if(jsDateSelect[date_idx].month != undefined)
    jsMakeOption(jsDateSelect[date_idx].month,1,12,sdmonth, true);

  if(jsDateSelect[date_idx].day != undefined)
    jsMkDay(jsDateSelect[date_idx].day, sdyear, sdmonth, sdday, true);

  if(jsDateSelect[date_idx].date != undefined){

    jsDateSelect[date_idx].date.defaultValue = sdyear +""+ sdmonth +""+ sdday;
    jsDateSelect[date_idx].date.value = sdyear +""+ sdmonth +""+ sdday;
  }

}

//»ý¼ºµÈ ³¯Â¥µéÀÇ ±âº» °ªÀ» ¼³Á¤ÇÑ´Ù.
//ndate´Â date¸¦ ¼³Á¤ÇÑ hidden dateÀÇ ÀÌ¸§, valÀº 2000-11-01 Çü½ÄÀÇ ³¯Â¥ °ªÀ» ÀÔ·Â
function jsSetDefDate(ndate, val)
{

  for(var idx=0; idx < jsDateSelect.length; idx++)
  {
    if(jsDateSelect[idx].date.name == ndate)
    {
      d_idx = idx;
      break;
    }
  }

  jsSetDatesDefault(d_idx, val);
}
/**
  jsMakeDates()¸¦ »ç¿ëÇÏ¿© »ý¼ºµÈ ³¯Â¥ ±×·ìÀ» disabled ¼³Á¤ÇÑ´Ù.
  year : »ý¼ºµÈ hidden dateÀÇ ÀÌ¸§
  flag : disabledÀÇ °ª
 */
function jsDateDisabled(year, flag)
{
  for(var n=0; n < jsDateSelect.length; n++)
  {
    if(jsDateSelect[n].year.name != year)
      continue;

    jsDateSelect[n].year.disabled = flag;
    jsDateSelect[n].month.disabled = flag;

    if(jsDateSelect[n].day != undefined)
      jsDateSelect[n].day.disabled = flag;

    if(jsDateSelect[n].date != undefined)
      jsDateSelect[n].date.disabled = flag;
  }
}

//½ÇÁ¦·Î select¸¦ ±¸ÇöÇÒ¶§ ¾²ÀÌ´Â ÇÔ¼öÀÌ´Ù

//Ã³À½¿¡ ½Ã, ºÐ select ¸¦ »ý¼º  ÀÎÀÚ°ªÀº ½Ã°£ÀÇ ÀÌ¸§, ºÐÀÇ ÀÌ¸§ ÇÕÃÄÁú hidden °ªÀÇ ÀÌ¸§À» ¹Þ´Â´Ù
//nTimes´Â ½ÃºÐÀ» ÇÕÃÄÁø ³»¿ëÀÌ ÀÖ´Ù.
//nTime, nMinute´Â ¹Ýµå½Ã ÀÎÀÚ°ªÀ¸·Î ³Ñ°ÜÁÖ¾î¾ß ÇÑ´Ù.
//size ¿¡´Â ÇØ´çÇÏ´Â font-size¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
// ex) jsMakeTimes("nTime","nMinute","nTimes","12px", "01", "22")
//		jsMakeTimes("nTime","nMinute","nTimes","12px", "01:22")

function jsMakeTimes(nTime,nMinute,nTimes,size, dtime, dminute)
{
  new jsMakeTimeBase(nTime,nMinute,nTimes,size,dtime,dminute);
}

function jsMakeTimeBase(nclock,nminute,ntime,size,dclock,dminute)
{
  var len = jsTimeSelect.length;

  jsTimeSelect[len] = this;

  if(nclock == null || nminute == null || nclock == "" || nminute == "")
  {
    document.write("¼³Á¤ÀÌ Àß¸øµÇ¾î ½Ã°£ Select ±×·ìÀÌ »ý¼º µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
    return;
  }

  if(size==null || size=="")
    size="12px"
  document.write("<font style='font-size:"+size+"'>");
  document.write("<select id='"+nclock+"' name='"+nclock+"' onchange='jsOnChangeTime("+len+");window.focus();' style='font:"+ size +";'></select>½Ã ");
  document.write("<select id='"+nminute+"' name='"+nminute+"' onchange='jsOnChangeTime("+len+");window.focus();' style='font:"+ size +";'></select>ºÐ ");
  document.write("<input type=hidden id='"+ntime+"' name='"+ntime+"'>");
  document.write("</font>");

  this.clock = jsFindId(nclock);
  this.minute = jsFindId(nminute);
  this.time = jsFindId(ntime);

  jsSetTimesDefault(len, dclock, dminute);
}

function jsSetTimesDefault(time_idx, clock, minute)
{
  var timeAry = new Array();

  if(clock == undefined || clock == null || jsTrim(clock.toString()).length == 0)
  {
    clock = "00";
    minute = "00";
  }
  else if(clock.toString().indexOf(":") > 0)
  {
    timeAry = clock.toString().jsSplit(":");
    clock = timeAry[0];
    minute = timeAry[1];
  }

  jsMakeOption(jsTimeSelect[time_idx].clock,0,23,clock, true);
  jsMakeOption(jsTimeSelect[time_idx].minute,0,59,minute, true);

  jsTimeSelect[time_idx].time.defaultValue = clock +":"+ minute;
  jsTimeSelect[time_idx].time.value = clock +":"+ minute;
}

//½Ã°£º¯°æ  selectÀÇ °ªÀÌ ¹Ù²î¾úÀ»¶§ ±×´Þ¿¡ ÇØ´çÇÏ´Â ³¯Â¥¸¦ ¸¶Ãß¾îÁØ´Ù
function jsOnChangeDate(idx)
{
  if( jsDateSelect[idx] == undefined || jsDateSelect[idx] == null)
    return;

  var oyear = jsDateSelect[idx].year;
  var omonth = jsDateSelect[idx].month;
  var oday = jsDateSelect[idx].day;

  if(jsDateSelect[idx].day != undefined)
    jsMkDay(oday,oyear.value,omonth.value,oday.value);

  if(jsDateSelect[idx].date != undefined)
    jsDateSelect[idx].date.value = oyear.value +""+ omonth.value +""+ oday.value;
}

//³â°ú ¿ùÀÇ  selectÀÇ °ªÀÌ ¹Ù²î¾úÀ»¶§ ±×´Þ¿¡ ÇØ´çÇÏ´Â ³¯Â¥¸¦ ¸¶Ãß¾îÁØ´Ù
function jsOnChangeTime(idx)
{
  if(jsTimeSelect[idx] == null || jsTimeSelect[idx] == null)
    return;

  var oclock = jsTimeSelect[idx].clock;
  var ominute = jsTimeSelect[idx].minute;

  jsTimeSelect[idx].time.value = oclock.value +":"+ ominute.value;
}

//À±´Þ°ú ¸Å¿ù ´Þ¶óÁö´Â ³¯Â¥¸¦ makeoption À» È£ÃâÇØ¼­ »ý¼ºÇÑ´Ù.
function jsMkDay(obj,year,month,day,def)
{
  jsClearSelect(obj)

  month = parseInt(month,10)
  year = parseInt(year,10)

  if(day == null || day == "")
    day = jsGetToday("day")

  jsMakeOption(obj,1,jsLastDay(year,month),day, def)
}


//¿À´Ã ³¯Â¥¸¦ ±¸ÇÑ´Ù ÀÎÀÚ°ªÀº ±¸ÇÏ´Â°ªÀÌ '³â'ÀÎÁö, '¿ù'ÀÎÁö, 'ÀÏ'ÀÎÁö¸¦ ÀÎÀÚ·Î ³Ñ±ä´Ù
//"y"´Â ³âµµ, "m"´Â ¿ù,  "d"´Â ÀÏ,  "a"´Â ÀüÃ¼°ªÀ» ¸®ÅÏ¹Þ´Â´Ù
var weekShort = new Array("ÀÏ", "¿ù", "È­", "¼ö", "¸ñ", "±Ý", "Åä");
var weekLong = new Array("ÀÏ¿äÀÏ", "¿ù¿äÀÏ", "È­¿äÀÏ", "¼ö¿äÀÏ", "¸ñ¿äÀÏ", "±Ý¿äÀÏ", "Åä¿äÀÏ");

function jsGetToday(type){
  var today = new Date()
  var year = today.getFullYear()
  var month = today.getMonth()+1
  var day = today.getDate()

  month = jsAddZero(month,2)

  day = jsAddZero(day,2)

  switch(type)
  {
    case "year":
      return year
    case "month":
      return month
    case "day":
      return day
    case "all":
      return year+"-"+month+"-"+day
    case "ALL":
      return year+"³â "+month+"¿ù "+day+"ÀÏ"
    case "w":
      return weekShort[today.getDay()];
    case "week":
      return weekLong[today.getDay()];
  }
}

//³¯Â¥¿¡ ´ëÇÏ¿© ¿¬»êÀ» ÇÑ´Ù.
//date´Â ¿ø·¡°ª, typeÀº ¿¬»ê ÇÏ´Â °ÍÀÌ ³â(y),´Þ(m),ÀÏ(d),ÀüÃ¼(date)ÀÎÁö, value´Â °¡°¨ÇÏ´Â °ªÀÌ´Ù.
function jsAddDate(date, type, value)
{
  var year = parseInt(date.substring(0,4),10);
  var month = parseInt(date.substring(5,7),10);
  var day = parseInt(date.substring(8,10),10);

  var dt = new Array();
  dt[0] = 0;
  dt[1] = 0;
  dt[2] = 0;


  var cnt = 0;

  switch(type)
  {
    case "y":
      type = 0;
      dt[0] = value;
      cnt = 1;
    break;

    case "m":
      type = 1;
      dt[1] = value;
      cnt = 2;
    break;

    case "d":
      type = 2;
      dt[2] = value;
      cnt = 3;
    break;

    case "date":
      type = 3;
      dt[0] = parseInt(value.substring(0,4),10);
      dt[1] = parseInt(value.substring(5,7),10);
      dt[2] = parseInt(value.substring(8,10),10);
      cnt = 4;
    break;
  }

  var end = 0;
  var tmp = 0;

  for(var n=0; n < cnt; n++)
  {

    switch(n)
    {
      case 0:
        year += dt[0];
      break;

      case 1:
        tmp = month + dt[1];

        if(tmp == 0)
        {
          month = 12;
          year -= 1;
        }
        else if(tmp == 12)
        {
          month = tmp;
        }
        else
        {
          month = tmp % 12;

          year += tmp / 12;

          year = parseInt(year,10);

          if(month < 0)
            month = 12 + month;
        }

      break;

      case 2:
        tmp = (day + dt[2]);

        while(true)
        {
          end = jsLastDay(year,month);

          if(tmp > end)
          {
            if(month != 12)
            {
              month += 1;

              tmp -= end;
            }
            else
            {
              year += 1;
              month =  1;

              tmp -= end;
            }
          }
          else if(tmp <= 0)
          {
            if(month != 1)
            {
              month -= 1;
              end = jsLastDay(year,month);

              tmp += end;
            }
            else
            {
              year -= 1;
              month = 12;
              end = jsLastDay(year,month);

              tmp += end;
            }
          }
          else
          {
            break;
          }
        }
        day = tmp;
      break;
    }
  }
  month = jsAddZero(month,2);
  day = jsAddZero(day,2);

  return year + "-" + month + "-" + day;
}

//ÇØ´çÇÏ´Â ³â,´ÞÀÇ ¸¶Áö¸· ³¯À» ±¸ÇÑ´Ù.
function jsLastDay(year,month)
{
  switch(month)
  {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
      return 31;
    break;

    case 4:
    case 6:
    case 9:
    case 11:
      return 30;
    break;

    case 2:
      if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
      {
        return 29;
      }
      else
      {
        return 28;
      }
    break;
  }
}


//selectÀÇ optionÀ» »ý¼ºÇÑ´Ù. ´Ü, ¼ýÀÚµé·Î ÀÌ·ç¾îÁø ¸®½ºÆ® ¿©¾ß ÇÑ´Ù.
//ÀÎÀÚ·Î´Â È£ÃâÇÏ´Â select , ½ÃÀÛ°ª, ³¡³ª´Â°ª, Ã³À½ ¼±ÅÃµÉ °ªÀ» ³Ñ°ÜÁØ´Ù.
function jsMakeOption(obj,begin, end, def_val, def)
{
  var end = parseInt(end, 10);
  var begin = parseInt(begin, 10);
  var endct = end - begin;
  var option = obj.options;

  for(var ct=0; ct <= endct; ct++)
  {
    option[ct] = new Option(jsAddZero(ct+begin, 2), jsAddZero(ct+begin, 2));

    if(def_val != null && def_val != undefined && parseInt(def_val,10) == parseInt(ct+begin,10))
    {
      if(def != null && def == true)
        option[ct].defaultSelected = true;

      option[ct].selected = true;
    }
  }
}

//selectÀÇ optionÀ» º¯°æÇÑ´Ù. option Å¸ÀÔÀÇ array·Î º¯°æÀ» ÇÑ´Ù.
//obj º¯°æµÉ select object, option_array º¯°æµÉ option array, def º¯°æµÈÈÄ ±âº»À¸·Î ¼³Á¤µÉ value
//def_idx º¯°æµÈ ÈÄ ±âº»À» ¼³Á¤µÉ selectÀÇ index
function jsMakeOptions(obj, option_array, def, def_idx)
{

  if(obj != null)
  {
    var option = obj.options;

    if(option == null)
      return;

    if(option_array == null || option_array.length == null){

      jsClearSelect(obj);
      option[0] = new Option("","");
      return;
    }

    var new_len = option_array.length;

    jsClearSelect(obj);

    for(var ct=0; ct < new_len; ct++)
    {
      option[ct] = option_array[ct];
    }

    if(!jsIsNS(def))
    {
      def = jsTrim(def);

      for(var ct=0; ct < new_len; ct++)
      {
        if(option[ct].value == def)
        {
          option[ct].defaultSelected = true;
          option[ct].selected = true;
        }
      }
    }
    else if(!jsIsNS(def_idx) && def_idx < new_len && def_idx >= 0)
    {
      option[def_idx].defaultSelected = true;
      option[def_idx].selected = true;
    }
    else
    {
      option[0].defaultSelected = true;
      option[0].selected = true;
    }
  }
}

//selectÀÇ optionÀ» Á÷Á¢ write ÇÑ´Ù. ´Ü, ¼ýÀÚµé·Î ÀÌ·ç¾îÁø ¸®½ºÆ® ¿©¾ß ÇÑ´Ù.
//ÀÎÀÚ·Î´Â ½ÃÀÛ°ª, ³¡³ª´Â°ª, Ã³À½ ¼±ÅÃµÉ °ªÀ» ³Ñ°ÜÁØ´Ù.
function jsWriteOption(begin,end,def)
{
  var end = parseInt(end, 10);
  var begin = parseInt(begin, 10);
  var endct = end - begin;

  var tmp = "";

  for(var ct=0; ct <= endct; ct++)
  {
    tmp += "<option value=\""+ jsAddZero(ct+begin, 2) +"\"";

    if(def != null && def != undefined && parseInt(def,10) == parseInt(ct+begin,10))
      tmp += " selected defaultSelected";

    tmp += ">"+ jsAddZero(ct+begin, 2) + "</option>\n";
  }

  document.write(tmp);
}

//select object¿Í °ªÀ» ¹Þ¾Æ select objectÀÇ ÃÊ±â°ªÀ» ¼ÂÆÃÇÑ´Ù.
//selectÀÇ °ªÀ» ¼³Á¤Àº ÇÏ°í form.reset()À» ÇßÀ»¶© ´Ù¸¥ °ªÀ¸·Î
//¼³Á¤ÀÌ µÇ°Ô ÇÒ¶§´Â def ¿¡ false¸¦ ÀÔ·ÂÇÏ¿©¾ß ÇÑ´Ù.
//±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â ÀÔ·Â¹ÞÀº °ªÀÌ default°ªÀ¸·Î ¼³Á¤µÈ´Ù.
function jsSetSelect(obj, val, def, index)
{
  if(def == null)
    def = true;

  if(jsIsNull(obj))
    return;

  var option = obj.options;

  if(jsIsNull(option) || jsIsNull(option.length))
    return;

  if(index != null){

    if(def)
      option[index].defaultSelected = true;
    option[index].selected = true;

    return;
  }


  for(ct=0; ct < option.length;ct++)
  {
    option[ct].selected = false;

    if(option[ct].value == val )
    {
      if(def)
        option[ct].defaultSelected = true;
      option[ct].selected = true;
    }
    else if(!isNaN(option[ct].value) && parseInt(option[ct].value,10) == parseInt(val))
    {
      if(def)
        option[ct].defaultSelected = true;
      option[ct].selected = true;
    }
  }
}

//radio group ÀÇ ÃÊ±â°ªÀ» ¹Þ¾Æ radio groupÀÇ ÃÊ±â°ªÀ» ¼ÂÆÃÇÑ´Ù.
function jsSetRadio(obj, val, index, def)
{
  if(jsIsNull(obj))
    return;

  obj = jsToArray(obj);

  if(def == null)
    def = true;

  if(index != null){

    if(def)
      obj[index].defaultChecked = true;
    obj[index].checked = true;

    return;
  }

  var isChecked = false;
  for(ct=0; ct < obj.length;ct++)
  {
    obj[ct].checked = false;

    if(obj[ct].value == val)
    {
      if(def)
        obj[ct].defaultChecked = true;
      obj[ct].checked = true;

      isChecked = true;
    }
    else if(!isNaN(obj[ct].value) && parseInt(obj[ct].value,10) == parseInt(val))
    {
      if(def)
        obj[ct].defaultChecked = true;
      obj[ct].checked = true;

      isChecked = true;
    }
    else{
      if(def)
        obj[ct].defaultChecked = false;
      obj[ct].checked = false;
    }
  }

  if(!isChecked)
    obj[0].checked = true;
}

//select¹®ÀÇ ³»¿ëÀ» ÃÊ±âÈ­ ÇÑ´Ù
function jsClearSelect(obj)
{
  var sel_len = obj.options.length;

  if(sel_len == null)
    return;

  for(var i = 0 ; i < sel_len; i++)
     obj.remove(0);

}

//ÇÑÀÚ¸® ¼ýÀÚÀÇ °æ¿ì ¾Õ¿¡ '0'À» ºÙ¿©¾ß ÇÒ°æ¿ì¿¡ »ç¿ë
//azvalÀº ÀÔ·Â°ª,  azlenÀº '0'À» ºÙÀÎ ¹®ÀÚ¿­ÀÇ ÃÑ±æÀÌ
function jsAddZero(azval,azlen)
{

  var addzero = ""
  azval = azval.toString()

  if(azlen == null)
    azlen = 1

//	alert("azlen = "+ azlen +"\nazval.length = " + azval.length)
  for(var az=0; az < (azlen - azval.length); az++)
  {
    addzero += "0".toString()
  }

  azval = addzero.toString() + azval.toString()

  return azval.toString()
}

//¹¶ÃÄ¼­ µé¾î¿Â ³¯Â¥¸¦ div·Î µé¾î¿Â ¹®ÀÚ¿­·Î ±¸ºÐÇÏ¿© ÁØ´Ù.
//ex)jsMakeDate(20051122,"-") = 2005-11-22
function jsMakeDate(date,div)
{
  var len = date.length

  if(len == 6)
  {
    date = date.substring(0,2)+ div + date.substring(2,4)+ div + date.substring(4)
  }
  else if(len == 8)
  {
    date = date.substring(0,4)+ div + date.substring(4,6)+ div + date.substring(6)
  }
  return date
}

//³Ñ¾î¿Â Object°¡ null ÀÌ°Å³ª undefined ¶Ç´Â °ø¹é, null ¹®ÀÚ¶ó¸é true¸¦ ¾Æ´Ï¸é false¸¦ ¸®ÅÏÇÑ´Ù.
function jsIsNS(obj)
{
  if(jsIsNull(obj))
    return true;

  if(jsIsSpace(obj))
    return true;

  return false;
}

//³Ñ¾î¿Â Object°¡ null ÀÌ°Å³ª undefined ¸é true¸¦ ¾Æ´Ï¸é false¸¦ ¸®ÅÏÇÑ´Ù.
function jsIsNull(obj)
{
  if(obj == null )
    return true;

  if(obj == undefined)
    return true;

  return false;
}

//°ø¹é ¹®ÀÚ¸¸ ÀÖ´ÂÁö °Ë»çÇÑ´Ù.
//val·Î ³Ñ¾î¿Â °ªÀÌ String object°¡ ¾Æ´Ï°Å³ª, ¾Æ¹«°Íµµ ¾ø°Å³ª, °ø¹é¹®ÀÚ¸¸ ÀÖÀ¸¸é true ¸¦ ¸®ÅÏ
function jsIsSpace(val){
  /*
  var re = /^\s*$/g

  if(val.replace == undefined)
    return true;

  var reval = val.replace(re, "")

  if(reval.length == 0)
    return true*/

  return /^\s*$/.test(val);
}

//³Ñ¾î¿Â ¹®ÀÚ¿­ÀÌ ÇÑ±Û ÀÎÁö ¾Æ´ÑÁö °Ë»ç
//ÇÑ±ÛÀÌ ¾Æ´Ï¸é ¹®ÀÚ°¡ ÀÖÀ¸¸é false¸¦ ¸®ÅÏ
function jsIsKor(str)
{
  str = str.replace(/[°¡-ÆR]/g, "");

  if(str.length > 0)
    return false;

  return true;
}
//³Ñ¾î¿Â ¹®ÀÚ¿­ÀÌ ÇÑ±ÛÀÌ³ª ¿µ¹®ÀÌ ¾Æ´Ï¸é false¸¦ ¸®ÅÏ
function jsIsKorE(val)
{
    return false;

  return true;
}

//¹®ÀÚ¿­¿¡ ¿µ¹®ÀÌ ¾Æ´Ñ ¹®ÀÚ°¡ ÀÖ´ÂÁö °Ë»çÇÑ´Ù.
//val·Î ³Ñ¾î¿Â °ª¿¡ ¿µ¹®ÀÌ ¾Æ´Ñ °ªÀÌ ÀÖÀ¸¸é false ¸¦ ¸®ÅÏ
function jsIsAlpha(val)
{
  var re = /[a-z]/gi
  var str = val.replace(re,"")

  if(str.length == 0)
    return true

  return false
}

//¹®ÀÚ¿­¿¡ ¿µ¹®°ú ¼ýÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ°¡ ÀÖ´ÂÁö °Ë»çÇÑ´Ù.
//val·Î ³Ñ¾î¿Â °ª¿¡ ¿µ¹®ÀÚ³ª ¼ýÀÚ°¡ ¾Æ´Ï¸é false ¸¦ ¸®ÅÏ
function jsIsNumAlpha(val)
{
  var re = /\w/gi
  var str = val.replace(re,"")

  if(str.length == 0)
    return true

  return false
}

//¹®ÀÚ¿­¿¡ ¼ýÀÚ¿Í "-" °¡ ¾Æ´Ñ ¹®ÀÚ°¡ ÀÖ´ÂÁö °Ë»çÇÑ´Ù. (ÀüÈ­¹øÈ£³ª ±âÅ¸ ÀÏ·Ä¹øÈ£ °Ë»ç¿¡ »ç¿ë)
//val·Î ³Ñ¾î¿Â °ª¿¡ ¼ýÀÚ¿Í "-" °¡ ¾Æ´Ñ ¹®ÀÚ°¡ ¾Æ´Ï¸é false ¸¦ ¸®ÅÏ
function jsIsBarNum(val)
{
  var re = /[0-9-]/g
  var str = val.replace(re,"")

  if(str.length == 0)
    return true

  return false
}

//ÁÖ¹Î¹øÈ£¸¦ °Ë»çÇÑ´Ù.
//val1 Àº ÁÖ¹Î¹øÈ£ ¾ÕÀÚ¸®  val2´Â ÁÖ¹Î¹øÈ£ µÞÀÚ¸® Æ²¸° ÁÖ¹Î¹øÈ£°¡ µé¾î¿À¸é false ¸®ÅÏ
//¶Ç´Â val1 ÇÏ³ª¿¡ ¸ðµÎ ³Ö°í val2´Â null »óÅÂ·Î µÎ¾îµµ µÈ´Ù.
function jsCheckRegNum(val1, val2)
{
  var tmp = ""

  var reg_num = val1

  if(val2 != null)
  {
    reg_num += val2.toString()
  }

  if(reg_num.length < 13)
    return false

  var digit = 0
  var digset = 2

  for(var n=0; n < (reg_num.length - 1); n++)
  {
    if(digset > 9)
      digset -= 8

    digit += reg_num.charAt(n) * digset

    digset++
  }

  digit = digit % 11
  digit = 11 - digit
  digit = digit % 10

  if(digit != reg_num.charAt(12))
    return false

  return true
}


//ÄíÅ°¸¦ ¼³Á¤ÇÑ´Ù.
//ÀÌ¸§, °ª, expire´Â ±âÇÑ ¼³Á¤°ªÀ¸·Î Date Å¸ÀÔÀ¸·Î ³Ñ°ÜÁØ´Ù.

//ex) jsSetCookie("test", "13", new Date(2003,11,2), "/tset/test.html")
function jsSetCookie(name, value, expire, path, domain, secure)
{
  expire = expire == null ? "" : "EXPIRES=" + expire.toGMTString() + ";";
  path = path == null ? "" : "PATH=" + path + ";";
  domain = domain == null ? "" : "DOMAIN=" + domain + ";";
  secure = secure == null ? "" : "SECURE=" + secure + ";";

  document.cookie = name + "=" + escape (value) + ";" + expire + path + domain + secure;
}

//ÀúÁ¤µÈ ÄíÅ°¸¦ ÀÌ¸§À¸·Î Ã£´Â´Ù.
//Ã£´Â ÀÌ¸§ÀÌ ¾øÀ¸¸é false°¡ ¸®ÅÏµÈ´Ù.
function jsGetCookie(name)
{
  var cookie = document.cookie
  name += "="
  var begin = cookie.indexOf(name)

  if(begin == -1)
    return false

  begin += name.length
  var end = cookie.indexOf(";",begin)

  if(end == -1)
    end = cookie.length

  return unescape(cookie.substring(begin, end))
}


//ÀÔ·ÂµÈ ObjectÀÇ À§Ä¡¸¦ È­¸éÀÇ Áß¾Ó¿¡ ¿À°Ô ÇÑ´Ù.
function jsSetCenter(obj){

  var h = obj.height;
  var w = obj.width;

  if(!h && obj.style){

    h = obj.style.height;

    if(h.indexOf("px") > -1){

      h = h.substring(0, h.indexOf("px"));
    }
  }

  if(!w && obj.style){
    w = obj.style.width;

    if(w.indexOf("px") > -1){

      w = w.substring(0, w.indexOf("px"));
    }
  }

  if(!h || !w || isNaN(h) || isNaN(w))
    return;

  if(obj.style){

    obj.style.top = parseInt((screen.height - parseInt(h, 10)) / 3 , 10);
    obj.style.left = parseInt((screen.width - parseInt(w, 10)) / 2 , 10);
  }
  else{

    obj.top = parseInt((screen.height - parseInt(h, 10)) / 3 , 10);
    obj.left = parseInt((screen.width - parseInt(w, 10)) / 2 , 10);
  }
}

//»õÃ¢À¸·Î ¿­ ÁÖ¼Ò¿Í »õÃ¢ÀÇ Å©±â ½ºÅ©·Ñ ¿©ºÎ¸¦ ÆÄ¶ó¹ÌÅÍ·Î ³Ñ±ä´Ù.
function jsPopUp(url,title,w,h,scroll,t,l,menu,tool,stat){

  var ww =""
  var hh = ""
  var scr = ""
  var tt = ""
  var ll = ""
  var mb = ""
  var tb = ""
  var st = ""

  if(w != null && w != "")
    ww = ",width=" + w

  if(h != null && h != "")
    hh = ",height=" + h

  if(t != null && t != "" && t != "center" )
    tt = ",top=" + t

  if(l != null && l != "")
    ll = ",left=" + l

  if(t == "center"){

    tt = ",top=" + parseInt((screen.height - h) / 3 , 10);
    ll = ",left=" + parseInt((screen.width - w) / 2 , 10);
  }

  if(scroll != null && scroll != "")
    scr = ",scrollbars=" + scroll

  if(menu != null && menu != "")
    mb = ",menubar=" + menu

  if(tool != null && tool != "")
    tb = ",toolbar=" + tool

  if(stat != null && stat != "")
    st = ",status=" + stat

  var prop = mb + tb + st + ww + hh + scr + tt + ll

  return window.open(url,jsReplaceAll(title," ","_"),prop)

}

/*
* url:ÆÄÀÏ, w:Æø, h:³ôÀÌ, scr: ½ºÅ©·ÑÀ¯¹«, l:left, t:top
*/
function jsModal(url,w,h,scr,t,l){

  var ww ="";
  var hh = "";
  var tt = "";
  var ll = "";
  var sc = "";

  if(url == null && jsIsSpace(url))
    url = "about:blank";

  if(scr != null && scr != "")
    st = "scroll:"+ scr + ";";

  if(w != null && w != "")
    ww = "dialogWidth:" + w +"px;";

  if(h != null && h != "")
    hh = "dialogHeight:" + h +"px;";

  if(l != null && l != "")
    ll = "dialogLeft:" + l +"px;";

  if(t == "center"){

    tt = ",dialogTop=" + parseInt((screen.height - h) / 3 , 10) + "px";
    ll = ",dialogLeft=" + parseInt((screen.width - w) / 2 , 10) + "px";
  }
  else if(t != null && t != "")
    tt = "dialogTop:" + t +"px;";

  var prop = sc + ww + hh + ll + tt;

  return window.showModalDialog(url,window, prop);
}

/*
* url:ÆÄÀÏ, w:Æø, h:³ôÀÌ, scr: ½ºÅ©·ÑÀ¯¹«, l:left, t:top
*/
function jsModeless(url,w,h,scr,l,t){

  var ww ="";
  var hh = "";
  var tt = "";
  var ll = "";
  var sc = "";

  if(url == null && jsIsSpace(url))
    url = "about:blank";

  if(scr != null && scr != "")
    st = "scroll:"+ scr + ";";

  if(w != null && w != "")
    ww = "dialogWidth:" + w +"px;";

  if(h != null && h != "")
    hh = "dialogHeight:" + h +"px;";

  if(l != null && l != "")
    ll = "dialogLeft:" + l +"px;";

  if(t == "center"){

    tt = ",dialogTop=" + parseInt((screen.height - h) / 3 , 10) + "px";
    ll = ",dialogLeft=" + parseInt((screen.width - w) / 2 , 10) + "px";
  }
  else if(t != null && t != "")
    tt = "dialogTop:" + t +"px;";

  var prop = sc + ww + hh + ll + tt;

  return window.showModelessDialog(url,window, prop);
}

function move(url){
  window.location = url
}

//¹®ÀÚ¿­ÀÇ ÀüÃ¼ °ø¹éÀ» Á¦°Å
function jsTrim(src)
{
  return src.replace(/\s/g, "")
}

//¹®ÀÚ¿­ÀÇ ¿ÜÂÊ¿¡ ÀÖ´Â °ø¹éÀ» Á¦°Å
function jsLTrim(src)
{
  return src.replace(/^\s+/, "");
}

//¹®ÀÚ¿­ÀÇ ¿À¸¥ÂÊ¿¡ ÀÖ´Â °ø¹éÀ» Á¦°Å
function jsRTrim(src)
{
  return src.replace(/\s+$/, "");
}

//µé¾î¿Â °ª¿¡ µÚ¿¡¼­ 3¹øÂ° ºÎÅÍ 3¹øÂ°¸¶´Ù "," ¸¦ Âï´Â´Ù
function jsComma(val)
{

  if(val == null || val == undefined)
    return val

  var src = val.toString()
  var len = src.length

  if(len < 4)
    return src

  var start = len % 3

  var res = ""

  res += src.substring(0,start)

  for(var ct = start; ct < len-3; ct++)
  {
    res +=  ","+ src.substring(ct,ct+3)
    ct+=2
  }

  res += ","+ src.substring(len-3, len);

  if(res.charAt(0) == ',')
    res = res.substring(1);

  return res
}

//µé¾î¿Â °ªÀÇ , ¸¦ Á¦°ÅÇÏ¿© ¸®ÅÏ
function jsRmComma(val)
{
  return jsReplaceAll(val,",","");

}

//src ¿øº»ÀÇ target ·Î µé¾î¿Â °ªÀ¸·Î Àß¶ó¼­ ¹è¿­·Î µ¹·ÁÁØ´Ù.
//lenÀ¸·Î µé¾î¿Â ±æÀÌ º¸´Ù Àû´Ù¸é °ø¹éÀ» Ãß°¡ÇÏ¿© ±æÀÌ ¸¸Å­ÀÇ
//¹®ÀÚ¿­ ¹è¿­À» ¸®ÅÏ.
function jsSplit(src, target, len)
{
  var ret = new Array();

  if(src == undefined || jsIsSpace(src)){

    if(len != undefined){

      for(var n = 0; n < len ; n++){
        ret[n] = "";
      }
      return ret;
    }
    else{
      return src;
    }
  }

  if(src.indexOf(target) < 0){

    ret[0] = src;

    for(var n = 1; n < len ; n++){
      ret[n] = "";
    }
    return ret;
  }

  ret = src.split(target);

  for(var n = ret.length; len != null &&  n < len ; n++){
    ret[n] = "";
  }

  return ret;
}


//src ¿øº»ÀÇ target ·Î µé¾î¿Â °ª¿¡ ÇØ´çÇÏ´Â ¹®ÀÚµéÀº replace·Î µé¾î¿Â ¹®ÀÚ·Î ´ëÃ¼µÈ´Ù
function jsReplaceAll(src, target, replace)
{
  var pos = 0;
  var idx = 0;
  var t_len = target.length;
  var s_len = src.length;

  var ret = "";

  while(true)
  {
    idx = src.indexOf(target, pos);

    if(idx < 0)
      break;

    ret += src.substring(pos, idx);
    ret += replace;

    pos = idx + t_len;
  }

  if(pos < s_len)
    ret += src.substring(pos, s_len);

  return ret;
}

//src ¿øº»ÀÇ target ·Î µé¾î¿Â °ª¿¡ ÇØ´çÇÏ´Â ¹®ÀÚÁß Ã¹¹øÂ°°Í¸¸ replace·Î µé¾î¿Â ¹®ÀÚ·Î ´ëÃ¼µÈ´Ù
function jsReplaceFirst(src, target, replace)
{
  var idx = 0;
  var warp = target.length;

  idx = src.indexOf(target);

  src = src.substring(0, idx) + replace + src.substring(idx+warp);

  return src;
}

/* ÀÔ·ÂµÈ object¸¦ ArrayÇüÀ¸·Î º¯È¯ ÇÏ¿© ¹ÝÈ¯ ÀÔ·ÂµÈ object°¡ ArrayÀÏ ¶§´Â ±×³É ¹ÝÈ¯ */
function jsToArray(obj){

  if(!jsIsNull(obj) && obj.length == undefined){

    var ret = new Array();
    ret[0] = obj;
    return ret;
  }
  else
    return obj;
}

/*ÀüÃ¼ checkboxÀÇ checked °ªÀ» ¹Þ´Â´Ù , ones´Â ºÎ¼Ó checkbox */
function jsAllCheck(ones,val){

  ones = jsToArray(ones);

  for(var n=0; n < ones.length; n++)
    ones[n].checked = val;
}

/* allÀº ÀüÃ¼¼±ÅÃ checkbox, oneÀº ºÎ¼Ó checkbox */
function jsOneCheck(all, one)
{
  var flag = true;
  one = jsToArray(one);

  for(var n=0; n < one.length; n++){

    flag = one[n].checked;

    if(!flag)
      break;
  }

  all.checked = flag
}


/**
 * ÀÔ·ÂµÈ p_node ÀÇ ÇÏÀ§ Object·Î ÀÔ·ÂµÈ tag¿¡ ÇØ´çÇÏ´Â element°¡ »ý¼ºµÈ´Ù
 * ex) fs_CreateEL(document.body, '<input type="text" value="&quot;ddd&quot;ddd&quot;ddd&quot;">');
 */
function fs_CreateEL(p_node, tag, i_node){

  var el = document.createElement(tag);

  if(i_node != null)
    p_node.insertBefore(el, i_node);
  else
    p_node.insertBefore(el);

  return el;
}

/**
 * ÀÔ·ÂÇÑ object¸¦ »ç¿ëÁßÁö ½ÃÅ²´Ù.
 */
function jsObjOff(obj){

  if(obj == null || obj.style == null)
    return;

  obj.style.display = "none";
  obj.disabled = true;
}

/**
 * ÀÔ·ÂÇÑ object¸¦ »ç¿ëÁßÁö¸¦ ÇØÁ¦ÇÑ´Ù
 */
function jsObjOn(obj){

  if(obj == null || obj.style == null)
    return;

  obj.style.display = "";
  obj.disabled = false;
}

// ÀÔ·ÂÇÑ ÆûÀÇ ÇÏÀ§ elements¸¦ »èÁ¦
function jsFormClear(form){

  form.innerHTML = "";
}

// ÀÔ·ÂÇÑ ÆûÀÇ ÇÏÀ§ elements¸¦ Ãß°¡ (select, textarea µî°ú °°ÀÌ INPUT tag°¡ ¾Æ´Ñ °ÍÀº Á¦¿Ü)
function jsFormAddAttribute(form, type, name, value){

  if(jsIsNS(type))
    type = "hidden";

  form.innerHTML += "<input type='"+ type +"' name='"+ name +"'>";

  var el = form.elements;
  el[(el.length - 1)].value = value;
}

//form °´Ã¼¸¦ »ý¼ºÇÏ°í hidden °´Ã¼ÀÇ »ý¼º ¼ýÀÚ¸¦ ³Ñ°ÜÁØ´Ù
function jsInitForm(cnt,name)
{
  if(name == null)
  {
    name="gogogogogogogo"
  }

  if(cnt < 2)
    cnt = 2

  document.write("<form name='"+name+"'>")

  for(ct=0; ct< cnt;ct++)
  {
    document.write("<input type='hidden' disabled>")
  }

  document.write("</form>")
}

//ÀÌµ¿ÇÒ url°ú , ÆÄ¶ó¹ÌÅÍ¸¦ ÀÔ·Â
//paramÀº "x=2,y=3,z=5" °°ÀÌ ÀÔ·Â ÇÏ¿©¾ßÇÑ´Ù.
function jsFormSubmit(url,param,target,fname)
{
  var frm = null

  if(fname != null && fname != "")
    frm = jsFindFrm(fname)
  else
    frm = document.gogogogogogogo

  frm.method="post"
  frm.action = url

  if(target != null && target != "")
    frm.target = target

  for(var ct=0; ct < frm.length; ct++)
  {
    frm.elements[ct].disabled = true
  }

  if(!jsIsNS(param))
  {
    params = param.split(",")

    if(params.length > frm.length)
    {
      alert("°¡»ó form ÆÄ¶ó¹ÌÅÍ ¼ö ¼³Á¤ÀÌ Àß¸ø µÇ¾ú½À´Ï´Ù.");
      return;
    }

    for(ct=0; ct < params.length; ct++)
    {
      pm = params[ct].split("=")

      frm.elements[ct].disabled = false
      frm.elements[ct].name = pm[0]
      frm.elements[ct].value = pm[1]
    }
  }

  frm.submit()
}

/*
  ÁöÁ¤ÇÑ formÀÇ value¸¦ ¸ðµÎ Áö¿î´Ù.
*/
function jsFormReset(form){

  var el = form.elements;

  for(var n=0; n < el.length; n++){

    if(el[n].tagName == "INPUT" && (el[n].type.toLowerCase() == "hidden" ||
                                    el[n].type.toLowerCase() == "text" ||
                                    el[n].type.toLowerCase() == "password" ))
      el[n].value = "";

    if(el[n].tagName == "SELECT")
      jsSetSelect(el[n],"", null, 0);

    if(el[n].tagName == "INPUT" && (el[n].type.toLowerCase() == "checkbox"))
      el[n].checked = false;

    if(el[n].tagName == "INPUT" && (el[n].type.toLowerCase() == "radio"))
      jsSetRadio(el[el[n].name], "", 0);

    if(el[n].tagName == "TEXTAREA")
      el[n].value = "";

  }
}

/*
  ÁöÁ¤ÇÑ formÀÇ elements¸¦ disabled ½ÃÅ²´Ù.
*/
function jsFormOff(form){

  var el = form.elements;

  for(var n=0; n < el.length; n++)
      el[n].disabled = true;

  form.disabled = true;
}

/*
  ÁöÁ¤ÇÑ formÀÇ elements¸¦ enable ½ÃÅ²´Ù.
*/
function jsFormOn(form){

  var el = form.elements;

  for(var n=0; n < el.length; n++)
      el[n].disabled = false;

  form.disabled = false;
}

/**
 * Æ¯Á¤ ÀÌº¥Æ®¿¡ ´ÙÀ½ element·Î ÀÌµ¿ ÇÒ¶§ »ç¿ë
 * c_obj´Â ÀÌº¥Æ® ¹ß»ý element
 * point´Â ÀÌµ¿ÇÒ count
 */
function jsFormNextFocus(c_obj, point)
{
  if(event.keyCode != 9){

    return true;
  }
  var revers = false;

  if(event.shiftKey){

    revers = true;
  }

  if(c_obj == null || c_obj == false)
    return false;

  if(!revers && point){

    c_obj = jsFindObj(c_obj, point);
  }

  var idx = jsNextObjIndex(c_obj, revers);

  if(idx < 0)
    return false;

  var el = c_obj.form.elements;

  while(idx > -1 && idx < el.length){

    try{

      el[idx].focus();
      break;
    }
    catch(e){

      idx = jsNextObjIndex(el[idx], revers);
    }
  }

  return false;
}

/** ¿¬°èµÈ ÅØ½ºÆ® ¹Ú½º¿¡ »ç¿ë.
  text¿¡ µé¾î¿Â ObjectÀÇ °ªÀÇ ±æÀÌ°¡ lenÀÇ ±æÀÌ¿Í °°´Ù¸é ´ÙÀ½ ÅØ½ºÆ® ¹Ú½º·Î Æ÷Ä¿½º ÀÌµ¿
  onkeyup='jsFocusRelay(this,1)
**/
function jsFocusRelay(text, len)
{
  if(text == null)
    return;
  if(len == null || len == "" || len < 1)
    return;

  if(text.value.length == len)
    jsFormNextFocus(text);

}

/** form ÀÇ textbox¿¡¼­ enter key¿¡ µû¶ó functionÀ» ½ÇÇàÇÏ±â
  ex) <FORM NAME="FormMain" METHOD="post" ACTION="/CommonServlet" onSubmit="return false;" onKeyDown="return jsOnEnter(event, fs_Search);">
*/
function jsOnEnter(event, func){

  if(event.keyCode == 13){

    if(event.srcElement.tagName.indexOf("TEXTAREA") > -1)
      return true;

    if(func != null)
      func();

    return false;
  }
  else if(event.keyCode == 9){

    var c_obj = event.srcElement;
    jsFormNextFocus(c_obj);
    return false;
  }
  return true;
}

/** ³Ñ±ä object°¡ focus¸¦ ÁÙ¼ö ÀÖ´ÂÁö ¿©ºÎ¸¦ ¹ÝÈ¯ **/
function isLive(n_obj){

  if(n_obj == null
      || n_obj.getAttribute("disabled")
      || n_obj.getAttribute("readonly")
      || n_obj.type == 'hidden'
      || (n_obj.style && n_obj.style.display.toLowerCase() == "none")
      || (n_obj.onfocus != null && n_obj.onfocus.toString().indexOf("blur()") > -1)){

    return false;
  }
  else{

    return true;
  }
}

/** ³Ñ±ä Object°¡ ÇØ´ç formÀÇ elements Áß focus¸¦ ÁÙ ¼ö ÀÖ´Â
 * ¸¶Áö¸· ObjectÀÎÁö ¿©ºÎ¸¦ È®ÀÎÇÏ¿© ¸¶Áö¸· ÀÎ°æ¿ì -1 ¸¦ ¹ÝÈ¯ ±×·¸Áö ¾Ê´Ù¸é ´ÙÀ½ ObjectÀÇ form index °ªÀ» ¹ÝÈ¯ÇÑ´Ù.
 */
function jsIsEndLiveObj(obj, revers, isAll){

  var el = isAll ? document.all : obj.form.elements;
  var nxt = false;

  if(revers){

    for(var n = el.length-1; n > -1; n--){

      if(!nxt){

        if(el[n] == obj){

          nxt = true;
        }
        continue;
      }

      if(isLive(el[n])){

        return n;
      }
    }
  }
  else{

    for(var n=0; n < el.length; n++){

      if(!nxt){

        if(el[n] == obj){

          nxt = true;
        }
        continue;
      }

      if(isLive(el[n])){

        return n;
      }
    }
  }

  return -1;
}

/** ³Ñ±ä Object°¡ ¼ÓÇÑ formÀÇ elements Áß
 *  ³Ñ±ä Object ´ÙÀ½¿¡ À§Ä¡ÇÑ element°¡ focus¸¦ ÁÙ ¼ö ÀÖ´Â °æ¿ì¿¡´Â ´ÙÀ½ ObjectÀÇ form Index¸¦
 *  ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â form elements Áß focus¸¦ ÁÙ ¼ö ÀÖ´Â Ã³À½ ObjectÀÇ form Index¸¦ ¹ÝÈ¯
 */
function jsNextObjIndex(obj, revers, isAll){

  var idx = jsIsEndLiveObj(obj, revers);

  if(idx > -1)
    return idx;

  var el = isAll ? document.all : obj.form.elements;

  if(revers){

    for(var n = el.length-1; n > -1; n--){

      if(isLive(el[n])){

        return n;
      }
    }
  }
  else{

    for(var n=0; n < el.length; n++){

      if(isLive(el[n])){

        return n;
      }
    }
  }

  return -1;
}

/**ÀÔ·Â °¡´ÉÇÑ ObjectÀÎÁö ¿©ºÎ¸¦ ¹ÝÈ¯ **/
function isIObj(n_obj){

  if(n_obj == null || n_obj.tagName == null)
    return false;

  var tg = n_obj.tagName;

  switch(tg){

    case "INPUT":
    case "SELECT":
    case "TEXTAREA":
      return true;
  }

  return false;
}
/** ¼±¾ðµÈ º¯¼ö ÀÎÁö È®ÀÎ **/
function isDefined(obj){

  if(typeof(obj) == "undefined")
    return false;
  else
    return true;
}

/** Æ¯Á¤ ÀÌº¥Æ®¿¡ ´ÙÀ½ element·Î ÀÌµ¿ ÇÒ¶§ »ç¿ë
  c_obj´Â ÀÌº¥Æ® ¹ß»ý element, point´Â ÀÌµ¿ÇÒ count
**/
function jsAllNextFocus(c_obj, point)
{
  if(event.keyCode != 9){

    return true;
  }

  if(c_obj == null || c_obj == false)
    return false;

  var revers = false;

  if(event.shiftKey){

    revers = true;
  }

  if(!revers && point){

    c_obj = document.all[jsAllFindIndex(c_obj, point)];
  }

  var idx = jsNextObjIndex(c_obj, revers, true);

  if(idx < 0)
    return false;

  var el = c_obj.form.elements;

  while(idx > -1 && idx < el.length){

    try{

      el[idx].focus();
      break;
    }
    catch(e){

      idx = jsNextObjIndex(el[idx], revers, true);
    }
  }

  return false;
}

/** º¸°í ÀÖ´Â ºê¶ó¿ìÀú°¡ MSIE ÀÎÁö ¾Æ´ÑÁö¸¦ ¸®ÅÏ */
function jsIsMSIE(){

  if(navigator.appVersion.indexOf("MSIE") < -1)
    return false;
  else
    return true;
}

//±ôºýÀÌ text
/* »ç¿ë ¿¹
<scrit>
  function blink()
  {
    cols = new Array();

    cols[0] = "red";
    cols[1] = "blue";

    blink_init('tbl', cols, 1000); (³¡ÀÇ 1000Àº ±ôºýÇÏ´Â °£°ÝÀ» ¼³Á¤ ´ÜÀ§´Â /ms)

  }
</script>
<BODY onload="blink();">
<font id="tbl"> xxxx</font>
*/

var b_property = new Array();

function blink_property()
{
  this.id="";
  this.color = new Array();
  this.c_idx = 0;

  this.object = null;
}

function startBlink(idx)
{
  var prt = b_property[idx];

  var objBlink = prt.object;


  if(objBlink.style.visibility == "hidden")
  {
    objBlink.style.visibility = "";

    if(prt.color.length > 0)
    {
      objBlink.style.color = prt.color[prt.c_idx];

      prt.c_idx++;

      if(prt.c_idx == prt.color.length)
        prt.c_idx = 0;
    }
  }
  else
  {
    objBlink.style.visibility = "hidden";
  }
}

function blink_init(id, cols, interval)
{
  var tmp = null;
  var idx = b_property.length;

  var obj = jsFindId(id);

  if(!obj)
    return;

  if(interval == null || isNaN(interval))
    interval = 500;

  b_property[idx] = new blink_property();
  b_property[idx].id = id;

  b_property[idx].object = obj;

  if(cols != null)
    b_property[idx].color = cols;

  setInterval("startBlink("+ idx +")", interval);
}

//¸¶¿ì½º Æ÷ÀÎÅÍÀÇ °¡·Î À§Ä¡
function jsGetMousePosionX()
{
  var x = document.body.scrollLeft

  return parseInt(event.clientX + x,10);
}

//¸¶¿ì½º Æ÷ÀÎÅÍÀÇ ¼¼·Î À§Ä¡
function jsGetMousePosionY()
{
  var y = document.body.scrollTop

  return parseInt(event.clientY + y,10);
}




//255 º¸´Ù ÀûÀº integer ¼ýÀÚ¸¦ hex ÄÚµå·Î µ¹·ÁÁØ´Ù.

function jsGetHex(val)
{
  var num = new Array();

  if(val > 255)
  {
    alert("ÀÔ·Â°ªÀÌ 255º¸´Ù Å®´Ï´Ù.")
    return
  }

  num[0] = parseInt(val / 16,10);
  num[1] = parseInt(val % 16,10);


  var ret = "";
  var tmp = "";

  for(var n=0; n < 2; n++)
  {
    switch(num[n])
    {
      case 10:
        tmp = "A";
      break;

      case 11:
        tmp = "B";
      break;

      case 12:
        tmp = "C";
      break;

      case 13:
        tmp = "D";
      break;

      case 14:
        tmp = "E";
      break;

      case 15:
        tmp = "F";
      break;

      default:
        tmp = num[n];
    }

    ret += tmp.toString();
  }

  return ret;
}


/*/¸¶¿ì½º ¿À¹ö,¾Æ¿ô ¸Þ¼Òµå
function kbsOver(obj)
{
  var ch = this.children;

  for(var n=0; n < ch.length; n++)
  {
    if(ch[n].tagName == "TD")
      ch[n].style.filter = "wave(freq=1,lightstrength=40, phase=0, strength=1);";
  }
}

function kbsOut(obj)
{

  var ch = this.children;

  for(var n=0; n < ch.length; n++)
  {
    if(ch[n].tagName == 'TD')
      ch[n].style.filter = "";
  }
}
*/
//////////////////////////*         ÆË¾÷ ¸Þ´º         */////////////////////////////////////



//ÆË¾÷ ¸Þ´ºÀÇ ¼±ÅÃµÈ ºÎºÐ
function jsPopMenuover(tr)
{
  tr.style.backgroundColor = "#000066";
  tr.style.color = "white";
  tr.style.cursor = "default";
}

//ÆË¾÷ ¸Þ´ºÀÇ ¼±ÅÃµÇÁö ¾ÊÀº ºÎºÐ
function jsPopMenuout(tr)
{
  tr.style.backgroundColor = "#D4D0C8";
  tr.style.color = "black";
}


// À§ÀÇ ÁÖ¼® ºÎºÐÀº »ç¿ë ¿¹Á¦


//ÆË¾÷ ¸Þ´º¸¦ Å¬¸¯ ÇßÀ»¶§...
function jsPopupRun(value, target)
{
  location.target = target;

  location.href = "javascript:"+ value;

}

var jsppmenus = new Array();
var jssubmenu = new Array();

function makePopUpMenu(name,width,row,line)
{
  var jsppmenu_cnt = jsppmenus.length;

  line -= 1;

  document.write("<span style='z-index: 99;background-color: #8A2BE2;position: absolute; padding: 0px; margin: 0px;visibility: hidden;border: 1px outset;' id='"+name+"' row='"+row+"'>");
  document.write("<table width='"+ width +"' cellpadding='3' cellspacing='0' border='0' bgcolor='#D4D0C8' style='font:12px;border: 1px outset;' ondragstart='return false' onselectstart='return false'>");

  for(var n=0; n < row; n++)
  {
    document.write("<tr >");

    var lin = false;

    if(line != null)
    {
      if(line[0] == undefined)
      {
        if(line == n)
          lin = true;
      }
      else
      {
        for(var l=0; l < line.length; l++)
        {
          if(line[l] == n)
          {
            lin = true;
          }
        }
      }
    }

    if(!lin)
    {
      document.write("<td oncontextmenu='return false' valign='middle' onMouseOver='jspmover(this)' onMouseOut='jspmout(this)' id='"+name+n+"' ");
      document.write("style='padding-left: 10px;' onclick='jsPopupRun(this.value, this.target)' value='' target='_self'></td>");
      document.write("</tr>");
    }
    else
    {
      document.write("<td oncontextmenu='return false' valign='middle' onMouseOver='jspmover(this)' onMouseOut='jspmout(this)' id='"+name+n+"' ");
      document.write("style='padding-left: 10px; border-bottom: 2px groove;' onclick='jsPopupRun(this.value, this.target)' value='' target='_self'></td>");
      document.write("</tr><tr><td height='5'></td></tr>");
    }
  }
  document.write("</table>");
  document.write("</span>");

  jsppmenus[jsppmenu_cnt] = jsFindId(name);

  jssubmenu[jsppmenu_cnt] = new Array();

  for(var n=0; n < jsppmenus[jsppmenu_cnt].row; n++)
  {
    jssubmenu[jsppmenu_cnt][n] = jsFindId(name+n);
  }
}


//È°¼ºÈ­µÈ ÆË¾÷¸Þ´º¸¦ ´Ý´Â´Ù.
function jsClosePopUp(non)
{
  //alert(jsPopupmenus.length);
  for(var n=0; n < jsppmenus.length; n++)
  {
    if(n != non)
      jsppmenus[n].style.visibility = "hidden";
  }
}

function setJsPopupPosition(div)
{
/*	var body=document.body;

  var x=event.clientX+body.scrollLeft;
  var y=event.clientY+body.scrollTop;
alert(event.clientY + " + " + body.scrollTop + " = " + y);
  var m = div;

  var h = m.scrollHeight;
  var w = m.scrollWidth;

//	alert( (x+m.scrollWidth > body.clientWidth)&&(x-m.scrollWidth > 0) );

  if( (x + w > body.clientWidth)&&(x - w > 0) )
    m.style.pixelLeft=x-w;
  else
    m.style.pixelLeft=x;

  alert( "("+y+"+"+ h +">"+ body.clientHeight+")&&("+y+"-"+ h +">"+ 0+")" );

  if( (y + h > body.clientHeight)&&(y - h > 0) )
    m.style.pixelTop=y-h;
  else
    m.style.pixelTop=y;

  m.style.pixelLeft = m.style.pixelLeft - 5;*/

  var pos = div.offsetHeight;

  //alert((document.body.scrollTop+document.body.offsetHeight) +"---"+ (jsGetMousePosionY() + pos));

  if((document.body.scrollTop+document.body.offsetHeight) > jsGetMousePosionY() + pos)
    pos = 0;

  div.style.left = jsGetMousePosionX();
  div.style.top = jsGetMousePosionY() - pos;
}


//¿À¸¥ÂÊ ¸¶¿ì½º¸¦ ´­·¶À»¶§ ÆË¾÷ ¸Þ´º¸¦ È°¼ºÈ­ ½ÃÅ²´Ù.
/* ¿¹Á¦
function jsOpenPopUp(reg_no, ccd)
{
  if(event.srcElement.tagName == "DIV")
    return false;

  jsClosePopUp();

  var popid = jsFindId("pop1");

  if(!popid)
    return true;

//ÆäÀÌÁöº°·Î ´Ù¸£°Ô ÇÒ ºÎºÐ
  var m0 = jsFindId("pop10");
  var m1 = jsFindId("pop11");

  m0.value = "goCustInfo('"+reg_no+"','"+ccd+"')";
  m1.value = "goPayInfo('"+reg_no+"')";

  m0.innerHTML = "°í°´ Á¤º¸ ¹Ù·Î°¡±â";
  m1.innerHTML = "°í°´ ³³ºÎÁ¤º¸ ¹Ù·Î°¡±â";


  popid.style.visibility = "visible";
  popid.style.left = getMousePosionX();
  popid.style.top = getMousePosionY();


  return false;
}

ÆË¾÷ ¸Þ´º°¡ ³ª¿Í¾ß ÇÒ °÷ÀÇ ¿¹Á¦
<td oncontextmenu="return jsOpenPopUp('1,2')" style="cursor:default;">

-----------------   html¿¡ ÆË¾÷ ¸Þ´º ´Ý´Â ÇÔ¼ö¸¦ Å¬¸¯ ÀÌº¥Æ®¿¡ Æ÷ÇÔÇÏ¿©¾ß ÇÑ´Ù.-----------------
<html onclick='jsClosePopUp()'>
*/


//---------------  border style create ------------------------------

/********************************************************************************
border css ¼³Á¤ postionÀº top = t, bottom = b, lert = l, right = r,
  top_bottom = tb, left_top_bottom = ltb, right_top_bottom = rtb, side = lr,
  side_top = lrt, side_bottom = lrb, all ÀÌ°ÍÁß ¼±ÅÃ
********************************************************************************/
function setBoardStyle(name, position, type, width, color)
{
  if(type == null || type == "")
    type = "solid";

  if(width == null || width == "")
    width = "1px";

  if(color == null || color == "")
    color = "gray";



  document.write("<style>");
  document.write("." + name + "{");

  switch(position)
  {
    case "t":
      document.write("border-top: "+ width + " " + type + " " + color + ";");
    break;

    case "b":
      document.write("border-bottom: "+ width + " " + type + " " + color + ";");
    break;

    case "l":
      document.write("border-left: "+ width + " " + type + " " + color + ";");
    break;

    case "r":
      document.write("border-right: "+ width + " " + type + " " + color + ";");
    break;

    case "tb":
      document.write("border-top: "+ width + " " + type + " " + color + ";");
      document.write("border-bottom: "+ width + " " + type + " " + color + ";");
    break;

    case "ltb":
      document.write("border-top: "+ width + " " + type + " " + color + ";");
      document.write("border-bottom: "+ width + " " + type + " " + color + ";");
      document.write("border-left: "+ width + " " + type + " " + color + ";");
    break;

    case "rtb":
      document.write("border-top: "+ width + " " + type + " " + color + ";");
      document.write("border-bottom: "+ width + " " + type + " " + color + ";");
      document.write("border-right: "+ width + " " + type + " " + color + ";");
    break;

    case "lr":
      document.write("border-left: "+ width + " " + type + " " + color + ";");
      document.write("border-right: "+ width + " " + type + " " + color + ";");
    break;

    case "lrt":
      document.write("border-top: "+ width + " " + type + " " + color + ";");
      document.write("border-left: "+ width + " " + type + " " + color + ";");
      document.write("border-right: "+ width + " " + type + " " + color + ";");
    break;

    case "lrb":
      document.write("border-bottom: "+ width + " " + type + " " + color + ";");
      document.write("border-left: "+ width + " " + type + " " + color + ";");
      document.write("border-right: "+ width + " " + type + " " + color + ";");

    break;

    case "all":
      document.write("border-top: "+ width + " " + type + " " + color + ";");
      document.write("border-bottom: "+ width + " " + type + " " + color + ";");
      document.write("border-left: "+ width + " " + type + " " + color + ";");
      document.write("border-right: "+ width + " " + type + " " + color + ";");
    break;

  }


  document.write("}");
  document.write("</style>");

}

function  vcodetable(){

  for(var n=0; n < 10000; n++){
    document.write(String.fromCharCode(n) + " : " + n + "<br>");
  }
}
/* ·¹ÀÌ¾î Å×ÀÌºí ³»¿ë¿¡ µû¶ó Å©±â º¯°æ ¿¹Á¦

function reSize(val)
{
  var size = getSize(val)

  var div = jsFindId("div_table");

  div.style.height = size;
}

function getSize(cnt)
{
  var infield = null;
  var size = 0;

  for(var n=0; n < cnt; n++)
  {
    infield = jsFindId("in_field"+n);

    if(infield == false)
      break;

    size += infield.offsetHeight + 4;

  }

  return size;
}





/*********************************************
* ÆÄÀÏ¸í: lib.validate.js
* ±â´É: À¯¿¬ÇÑ ÀÚµ¿ Æû °Ë»ç±â
* ¸¸µçÀÌ: °ÅÄ£¸¶·ç <comfuture@maniacamp.com>
* ³¯Â¥: 2002-10-01
* == change log ==
* 2003-10-02 ¿©·¯Ä­À¸·Î ³ª´²Áø Ç×¸ñ¿¡ ´ëÇÑ °Ë»ç±â´É Ãß°¡
* 2003-10-02 ÆÐ½º¿öµåµî µÎ°³ Ç×¸ñ¿¡ ´ëÇÑ ºñ±³ ±â´É Ãß°¡
**********************************************/
/*
<SCRIPT LANGUAGE="JAVASCRIPT" SRC="/inc/js/kfsbyjobutil.js"></SCRIPT>
<form name="test" action="script.php" method="post" onSubmit="return validate(this)">
................
................
</form>
<!-- °Ë»çÇÒ Æû ÅÂ±×ÀÇ onsubmit ÀÌº¥Æ®¿¡ return validate(this) ¶ó°í ±â¼úÇÕ´Ï´Ù -->

***************************************************

¡Ø°Ë»ç ¼Ó¼º

required
hname
option
minbyte
maxbyte
span
glue
match
notspace



required ÇÊ¼öÇ×¸ñÀÎÁö ¿©ºÎ¸¦ ³ªÅ¸³»´Â ¼Ó¼º

hname Ç×¸ñÀÇ ÇÑ±ÛÀÌ¸§(¿¡·¯¸Þ½ÃÁö¸¦ º¸¿©ÁÙ¶§ µî)

option Æ¯¼öÇÑ °Ë»ç¸¦ ¼öÇàÇÒ ¿É¼Ç (¾Æ·¡¸¦ Âü°í)

minbyte ¿µ¹®Àº 1byte ÇÑ±ÛÀº 2byte·Î °è»êÇÏ¿© ¼³Á¤°ªº¸´Ù ÀÛÀºÁö °Ë»ç

maxbyte ¿µ¹®Àº 1byte ÇÑ±ÛÀº 2byte·Î °è»êÇÏ¿© ¼³Á¤°ªº¸´Ù Å«Áö °Ë»ç

span ÀüÈ­ ¹øÈ£¿Í °°ÀÌ ¿©·¯°³ÀÇ element·Î ³ª´©¾îÁ® ÀÖ´Â°æ¿ì ¸î°³·Î ³ª´©¾îÁ® ÀÖ´ÂÁö¸¦ ¼³Á¤

glue ³ª´©¾îÁ® ÀÖ´Â element¸¦ ºÙ¿©¼­ °Ë»ç ÇÒ¶§ »çÀÌ¿¡ Áý¾î ³ÖÀ» ¹®ÀÚ¸¦ ¼³Á¤

match password¿Í °°ÀÌ ºñ±³ °Ë»ç ÇÒ¶§ »ç¿ë
      (°Ë»çÇÒ elementÁß Ã¹¹øÂ° element¿¡ ¼³Á¤ °ªÀº ºñ±³ÇÒ ´Ù¸¥ element ÀÌ¸§)

notspace °ø¹é¹®ÀÚ°¡ ÀÖ´ÂÁö °Ë»ç(°ø¹é¹®ÀÚ°¡ ÇÏ³ª¶óµµ ÀÖÀ¸¸é ¾ÈµÊ)




¡Ø¼Ó¼º option ÀÇ ÀÔ·Â °ª
email
phone
hphone
userid
passwd
koronly
kor_brace
number
money
engonly
eng_brace
!spchar
numalpha
jumin
bizno
domain
domain
imgfile



email = ÀÌ¸ÞÀÏÀ» °Ë»ç (span="2" ¶Ç´Â glue="@" ¸¦ ¼³Á¤ ÇÒ ¼ö ÀÖÀ½)
  ex)
  <input type="text" name="email1"  hname="ÀÌ¸ÞÀÏ" option="email" required span="2" glue="@"> @
  <input type="text" name="email2">

phone = ÀüÈ­ ¹øÈ£¸¦ °Ë»ç
        (span ¼Ó¼º ¾øÀÌ ÇÏ³ªÀÇ element¿¡ °ªÀÌ ÀÖ°Å³ª ±×·¸Áö ¾ÊÀ¸¸é span="2" ¶Ç´Â span="3" ÇÊ¼ö)
  ex)
  <input type="text" name="phone1" size="3" hname="ÀüÈ­¹øÈ£" option="phone" required span="3"> -
  <input type="text" name="phone2" size="4"> -
  <input type="text" name="phone3" size="4">

hphone = ÈÞ´ë ÀüÈ­ ¹øÈ£¸¦ °Ë»ç (span="3" ÇÊ¼ö)
  ex)
  <input type="text" name="phone1" size="3" hname="ÈÞ´ë ÀüÈ­¹øÈ£" option="hphone" required span="3"> -
  <input type="text" name="phone2" size="4"> -
  <input type="text" name="phone3" size="4">

userid = ID¸¦ °Ë»ç
  ex)
  <input type="text" name="id" hname="»ç¿ëÀÚ¾ÆÀÌµð" option="userid" required>

passwd = Password¸¦ °Ë»ç
  ex)
  <input type="text" name="password" hname="ºñ¹Ð¹øÈ£" option="passwd" required>

koronly = ÇÑ±ÛÀÎÁö¸¦ °Ë»ç(°ø¹éÆ÷ÇÔ Çã¿ë, °ø¹éÀ¸·Î ½ÃÀÛÇÏ°Å³ª °ø¹é¸¸ ÀÖ´Â°æ¿ì´Â ºñÇã¿ë)
  ex)
  <input type="text" name="uname" hname="ÀÌ¸§" option="koronly">

kor_brace = ÇÑ±Û°ú <,>,[,],(,),{,} ±âÈ£¹®ÀÚ ÀÎÁö °Ë»ç(°ø¹éÆ÷ÇÔ Çã¿ë, °ø¹éÀ¸·Î ½ÃÀÛÇÏ°Å³ª °ø¹é¸¸ ÀÖ´Â°æ¿ì´Â ºñÇã¿ë)
  ex)
  <input type="text" name="cname" hname="È¸»çÀÌ¸§" option="kor_brace">

number = ¼ýÀÚÀÎÁö¸¦ °Ë»ç
  ex)
  <input type="text" name="price" hname="°¡°Ý" option="number">

money = ¼ýÀÚ¿Í "," ¸¸ Çã¿ë(±Ý¾×À» °Ë»ç ÇÒ¶§ »ç¿ë)
  ex)
  <input type="text" name="price" hname="°¡°Ý" option="money">
  **jsSetMoney, jsComma, jsRmComma  function ÂüÁ¶

engonly = ¿µ¹®ÀÎÁö¸¦ °Ë»ç(°ø¹éÆ÷ÇÔ Çã¿ë, °ø¹éÀ¸·Î ½ÃÀÛÇÏ°Å³ª °ø¹é¸¸ ÀÖ´Â°æ¿ì´Â ºñÇã¿ë)
  ex)
  <input type="text" name="ename" hname="¿µ¹®ÀÌ¸§" option="engonly">

eng_brace = ¿µ¹®°ú <,>,[,],(,),{,} ±âÈ£¹®ÀÚ ÀÎÁö °Ë»ç(°ø¹éÆ÷ÇÔ Çã¿ë, °ø¹éÀ¸·Î ½ÃÀÛÇÏ°Å³ª °ø¹é¸¸ ÀÖ´Â°æ¿ì´Â ºñÇã¿ë)
  ex)
  <input type="text" name="ename" hname="È­»çÀÌ¸§" option="eng_brace">

!spchar = Æ¯¼ö¹®ÀÚ°¡ ÀÖ´ÂÁö °Ë»ç
  ex)
  <input type="text" name="comp_info" hname="È¸»çÁ¤º¸" option="!spchar">

numalpha = ¼ýÀÚ¿Í ¿µ¹®ÀÎÁö¸¦ °Ë»ç
  ex)
  <input type="text" name="c_code" hname="ÄÚµå" option="numalpha">

jumin = ÁÖ¹Î¹øÈ£ °Ë»ç
  ex)
  <input type="text" name="jumin" hname="ÁÖ¹Î¹öÈ£" option="jumin">

bizno = »ç¾÷ÀÚ ¹øÈ£ °Ë»ç
  ex)
  <input type="text" name="biz_no" hname="»ç¾÷ÀÚ¹øÈ£" option="bizno">

domain = µµ¸ÞÀÎÀ» °Ë»ç
  ex)
  <input type="text" name="home" hname="È¨ÆäÀÌÁö" option="domain">

imgfile = ÆÄÀÏ È®ÀåÀÚ°¡  jpg, gifÀÎÁö¸¦ °Ë»ç
  ex)
  <input type="file" name="imgfile" hname="ÀÌ¹ÌÁö" option="imgfile">



----------- ¿¡·¯¸Þ½ÃÁö ÅÛÇÃ¸´ »ç¿ë¹ý -----------
ex)
NO_BLANK = "{name+Àº´Â} ÇÊ¼ö Ç×¸ñÀÔ´Ï´Ù";

À§ º¯¼ö¿¡¼­ Áß°ýÈ£·Î ¹­ÀÎ ºÎºÐÀº °Ë»çµÇ´Â ¿¤¸®¸ÕÆ®ÀÇ hname ¶Ç´Â name À¸·Î ÀÚµ¿À¸·Î ´ëÄ¡µË´Ï´Ù. ¶ÇÇÑ ³»¿ëÀÇ
¸¶Áö¸· ±ÛÀÚ Á¾¼ºÀ¯¹«¿¡ µû¶ó 'Àº' ¶Ç´Â '´Â' Á¶»ç°¡ ÀÚµ¿À¸·Î ºÙ°Ô µË´Ï´Ù. userid Ç×¸ñ¿¡ »ç¿ëµÇ¾ú´Ù¸é
"À¯Àú ¾ÆÀÌµð´Â ÇÊ¼ö Ç×¸ñÀÔ´Ï´Ù" ¶ó´Â ¿¡·¯¸¦ ¹ß»ý½ÃÅ³ °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº ´ÙÀ½°ú °°ÀÌ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.

NO_BLANK = "{name+ÀÌ°¡} ºñ¾îÀÖ¾î¼­ Àü¼ÛÇÏÁö ¸øÇß½À´Ï´Ù";
¶Ç´Â
NO_BLANK = "{name+À»¸¦} ÀÔ·ÂÇØÁÖ¼¼¿ä";

{º¯¼ö+Á¶»ç} ¿¡¼­ +Á¶»ç ºÎºÐÀº ¾ø¾îµµ µ¿ÀÛÇÕ´Ï´Ù.

´Ü¼øÇÏ°Ô ¾Æ·¡¿Í °°ÀÌ ¹Ù²Ü ¼öµµ ÀÖ½À´Ï´Ù.
NO_BLANK = "{name}Ç×¸ñÀº ÇÊ¼ö Ç×¸ñÀÔ´Ï´Ù.";


¡ØÂü°í

"SELECT" ¿¡ required ¿É¼ÇÀÌ ÀÖÀ»°æ¿ì Ã¹¹øÂ°°¡ ¼±ÅÃ µÇ¾î ÀÖ´Â °æ¿ì ¿À·ù¹®ÀÚ¸¦ º¸¿©ÁÜ
"RADIO" ³ª "CHECKBOX" ¿¡ required ¿É¼ÇÀÌ ÀÖ´Â °æ¿ì ¼±ÅÃµÈ°ÍÀÌ ¾ø´Â °æ¿ì ¿À·ù¹®ÀÚ¸¦ º¸¿©ÁÜ

***************************************************/

/// ¿¡·¯¸Þ½ÃÁö Æ÷¸ä Á¤ÀÇ ///
var NO_BLANK = "{name+Àº´Â} ÇÊ¼öÇ×¸ñÀÔ´Ï´Ù";
var NOT_VALID = "{name+ÀÌ°¡} ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù";
var NOT_SELECT = "{name+À»¸¦} ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù.";
var NOT_SPACE = "{name+À»¸¦} °ø¹é¹®ÀÚ´Â ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.";
// var TOO_LONG = "{name}ÀÇ ±æÀÌ°¡ ÃÊ°úµÇ¾ú½À´Ï´Ù (ÃÖ´ë {maxbyte}¹ÙÀÌÆ®)";

/// ½ºÆ®¸µ °´Ã¼¿¡ ¸Þ¼Òµå Ãß°¡ ///
//°ø¹é Á¦°Å
String.prototype.trim = function(str) {
  str = this != window ? this : str;
  return str.replace(/\s/g, "");
}
//¿ÞÂÊ °ø¹é Á¦°Å
String.prototype.ltrim = function(str) {
  str = this != window ? this : str;
  return str.replace(/^\s+/, "");
}
//¿À¸¥ÂÊ °ø¹é Á¦°Å
String.prototype.rtrim = function(str) {
  str = this != window ? this : str;
  return str.replace(/\s+$/, "");
}
//ÇÑ±Û Á¶»ç¸¦ ÆÇº°
String.prototype.hasFinalConsonant = function(str) {
  str = this != window ? this : str;
  var strTemp = str.substr(str.length-1);
  return ((strTemp.charCodeAt(0)-16)%28!=0);
}
//¹®ÀÚÀÇ byte¸¦ ¸®ÅÏ
String.prototype.bytes = function(str) {
  str = this != window ? this : str;
  var len = 0;
  for(j=0; j<str.length; j++) {
    var chr = str.charAt(j);
    len += (chr.charCodeAt() > 128) ? 2 : 1;
  }
  return len;
}
//¹®ÀÚ¸¦ ¿øÇÏ´Â ¹®ÀÚ¸¦ ±âÁØÀ¸·Î ³ª´©¾î ÁØ´Ù
//lenÀ¸·Î µé¾î¿Â ±æÀÌ º¸´Ù Àû´Ù¸é °ø¹éÀ» Ãß°¡ÇÏ¿© ±æÀÌ ¸¸Å­ÀÇ
//¹®ÀÚ¿­ ¹è¿­À» ¸®ÅÏ
String.prototype.capsplit = function(target, len){
  src = this != window ? this : src;

  var ret = src.split(target);

  if(len == undefined || len == null)
    return ret;

  for(var n = ret.length-1; n < len ; n++){
    ret[n] = "";
  }
  return ret;
}


function validate(form) {

  for (i = 0; i < form.elements.length; i++ ) {

    var el = form.elements[i];

//form element Áß readonly ÀÎ °æ¿ì¿Í disabledµÈ °æ¿ì¿¡´Â Áö³ªÄ§
    if (el.readonly == true || el.disabled == true || typeof(el.value) == "undefined")
      continue;

    el.value = el.value.rtrim();

    var minbyte = el.getAttribute("MINBYTE");
    var maxbyte = el.getAttribute("MAXBYTE");
    var option = el.getAttribute("OPTION");
    var match = el.getAttribute("MATCH");
    var glue = el.getAttribute("GLUE");
    var notspace = el.getAttribute("NOTSPACE");

    if (el.getAttribute("REQUIRED") != null) {

      if(el.tagName == "SELECT" && el.selectedIndex == 0)
        return doError(el, NOT_SELECT);

      if(el.type != null && el.type == "radio"){

        var checkflag = false;

        for(var rn=0; form.elements[el.name].length != null && rn < form.elements[el.name].length; rn++){

          if(form.elements[i+rn].checked == true){
            checkflag = true;
            break;
          }
        }

        if(!checkflag)
          return doError(el, NOT_SELECT);
      }

      if(el.type != null && el.type == "checkbox"){

        var checkflag = false;

        for(var rn=0; form.elements[el.name].length != null && rn < form.elements[el.name].length; rn++){

          if(form.elements[i+rn].checked == true){
            checkflag = true;
            break;
          }
        }

        if(!checkflag)
          return doError(el, NOT_SELECT);
      }

      if (el.value == null || /^\s*$/.test(el.value))
        return doError(el,NO_BLANK);
    }
    else{

      if(el.value != null && (option == "phone" || option == "hphone") && el.tagName == "SELECT"){

        if(el.selectedIndex > 0 && (jsIsNS(form.elements[i+1].value) || jsIsNS(form.elements[i+2].value)))
          return doError(el, NOT_VALID);
      }

      if(jsIsNS(el.value))
        continue;
    }

    if(notspace != null){

      var value = el.value;

      var re = /\s/g

      var reval = value.replace(re, "")

      if(reval.length != value.length)
        return doError(el,"{name+Àº´Â} °ø¹éÀ» Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù.");
    }

    if (minbyte != null) {

      var ermsg = "";

      if (el.value.bytes() < parseInt(minbyte)) {

        if(option != null && option == "number")
          ermsg = "{name+Àº´Â} ÃÖ¼Ò "+ minbyte +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
        else if(option != null && (option == "koronly" || option == "kor_brace"))
          ermsg = "{name+Àº´Â} ÃÖ¼Ò ÇÑ±Û"+ Math.round(minbyte/2) +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
        else if(option != null && (option == "engonly" || option == "eng_brace"))
          ermsg = "{name+Àº´Â} ÃÖ¼Ò ¿µ¹®"+ minbyte +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
        else if(option != null && option == "numalpha")
          ermsg = "{name+Àº´Â} ÃÖ¼Ò ¼ýÀÚ³ª ¿µ¹® "+ minbyte +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
        else
          ermsg = "{name+Àº´Â} ÃÖ¼Ò ÇÑ±Û"+ Math.round(minbyte/2) +"ÀÚ, ¿µ¹®"+ minbyte +"ÀÚ ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";

        return doError(el, ermsg);
      }
    }

    if (maxbyte != null && el.value != "") {

      var ermsg = "";

      var len = 0;

      if (el.value.bytes() > parseInt(maxbyte)) {

        if(option != null && option == "number")
          ermsg = "{name+Àº´Â} ÃÖ´ë "+ maxbyte +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
        else if(option != null && (option == "koronly" || option == "kor_brace"))
          ermsg = "{name+Àº´Â} ÃÖ´ë ÇÑ±Û"+ Math.round(maxbyte/2) +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
        else if(option != null && (option == "engonly" || option == "eng_brace"))
          ermsg = "{name+Àº´Â} ÃÖ´ë ¿µ¹®"+ maxbyte +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
        else if(option != null && option == "numalpha")
          ermsg = "{name+Àº´Â} ÃÖ´ë ¼ýÀÚ³ª ¿µ¹® "+ maxbyte +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";
        else
          ermsg = "{name+Àº´Â} ÃÖ´ë ÇÑ±Û"+ Math.round(maxbyte/2) +"ÀÚ, ¿µ¹®"+ maxbyte +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.";

        return doError(el, ermsg);
      }
    }

    if (match && (el.value != form.elements[match].value)) return doError(el,"{name+ÀÌ°¡} ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù");

    if (option != null && el.getAttribute('SPAN') != null) {

      var _value = new Array();
      var span = 0;

      if(el.tagName == "SELECT" && el.selectedIndex == 0)
        continue;

      if (el.value == null || el.value == "")
        return doError(el,NO_BLANK);

      for (span=0; span<el.getAttribute('SPAN');span++ ) {

        _value[span] = form.elements[i+span].value;
      }

      if(option == "phone" || option == "hphone")
        glue = "-";

      var value = _value.join(glue == null ? "" : glue);

      if(jsIsSpace(value))
        continue;

      if (!funcs[option](el,value))
        return false;
    }
    else if(option != null && el.value != "") {

      if (!funcs[option](el)) return false;
    }
  }

  return true;
}

function josa(str,tail) {
  return (str.hasFinalConsonant()) ? tail.substring(0,1) : tail.substring(1,2);
}

function doError(el,type,action) {

  if(!el || !el.name)
    return false;

  var pattern = /{([a-zA-Z0-9_]+)\+?([°¡-ÆR]{2})?}/;
  var name = (hname = el.getAttribute("HNAME")) ? hname : el.getAttribute("NAME");
  pattern.exec(type);
  var tail = (RegExp.$2) ? josa(eval(RegExp.$1),RegExp.$2) : "";
  alert(type.replace(pattern,eval(RegExp.$1) + tail));
  if (action == "sel") {
    el.select();
  } else if (action == "del")	{
    el.value = "";
  }
  el.style.backgroundColor = "#FFFF66";
  el.focus();
  return false;
}

/// Æ¯¼ö ÆÐÅÏ °Ë»ç ÇÔ¼ö ¸ÅÇÎ ///
var funcs = new Array();
funcs['email'] = isValidEmail;
funcs['phone'] = isValidPhone;
funcs['hphone'] = isValidHPhone;
funcs['userid'] = isValidUserid;
funcs['passwd'] = isValidUserpwd;
funcs['koronly'] = hangulOnly;
funcs['kor_brace'] = hangulNBrace;
funcs['number'] = isNumeric;
funcs['money'] = isMoney;
funcs['engonly'] = alphaOnly;
funcs['eng_brace'] = alphaNBrace;
funcs['!spchar'] = isNotSpChar;
funcs['numalpha'] = isNumAlpha;
funcs['jumin'] = isValidJumin;
funcs['zipcode'] = isValidZipcode;
funcs['bizno'] = isValidBizNo;
funcs['domain'] = isValidDomain;
funcs['imgfile'] = isValidImage;
funcs['passport'] = isValidPassport;

/// ÆÐÅÏ °Ë»ç ÇÔ¼öµé ///


//ÀÌ¹ÌÁö ÆÄÀÏ È®ÀåÀÚ °Ë»ç
function isValidImage(el) {

  var pattern = /[\w\W]+\.jpg|gif$/i;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} jpg¿Í gif ÆÄÀÏ¸¸ ¾÷·Îµå ÇÒ ¼ö ÀÖ½À´Ï´Ù.");
}

//ÀÌ¸ÞÀÏ °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidEmail(el,value) {
  var value = value ? value : el.value;
  var pattern = /^[_a-zA-Z0-9-\.]+@[\.a-zA-Z0-9-]+\.[a-zA-Z]+$/;

  return (pattern.test(value)) ? true : doError(el,NOT_VALID);
}

//id °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidUserid(el) {
  var pattern = /^[a-zA-Z]{1}[a-zA-Z0-9]{3,9}$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} 4ÀÚÀÌ»ó 10ÀÚ ÀÌÇÏÀÌ¾î¾ß ÇÏ°í,\nÃ¹±ÛÀÚ´Â ¿µ¹® ±×µÚ´Â ¿µ¹®, ¼ýÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù");
}

//password °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidUserpwd(el) {
  var pattern = /^[0-9]{4}$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} 4ÀÚ¸® ¼ýÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù");
}
/*password °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidUserpwd(el) {
  var pattern = /^[a-zA-Z0-9]{4,8}$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} 4ÀÚÀÌ»ó 8ÀÚ ÀÌÇÏÀÌ¾î¾ß ÇÏ°í,\n¿µ¹®, ¼ýÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù");
}*/

//ÇÑ±Û°ú ÀÎÁö °Ë»ç(°ø¹éÆ÷ÇÔ Çã¿ë)
function hangulOnly(el) {
  var pattern = /^[°¡-ÆR\s]+$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±Û·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
}

//ÇÑ±Û°ú <,>,[,],(,),{,} ±âÈ£¹®ÀÚ ÀÎÁö °Ë»ç(°ø¹éÆ÷ÇÔ Çã¿ë)
function hangulNBrace(el) {
  var pattern = /^[°¡-ÆR<>\[\]()\{\}\s]+$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ÇÑ±Û·Î ÀÔ·ÂÇÏ½Ê½Ã¿À.");
}
//¼ýÀÚ¿Í ¿µ¹®ÀÎÁö °Ë»ç(°ø¹éÆ÷ÇÔ ºñ Çã¿ë)
function isNumAlpha(el) {

  var pattern = /^[\w]+$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¿µ¹®°ú ¼ýÀÚ¸¸ ÀÔ·Â ÇÏ¿©¾ß ÇÕ´Ï´Ù.");
}
//Æ¯¼ö ¹®ÀÚ°¡ ÀÖ´ÂÁö °Ë»ç
function isNotSpChar(el) {
  var pattern = /^[a-zA-Z°¡-ÆR0-9\s]+$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} Æ¯¼ö¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");
}
//¿µ¹®¸¸ ÀÖ´ÂÁö °Ë»ç(°ø¹éÆ÷ÇÔ Çã¿ë)
function alphaOnly(el) {
  var pattern = /^[a-zA-Z\s]+$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¿µ¹®¸¸ ÀÔ·Â ÇÏ¿©¾ß ÇÕ´Ï´Ù.");
}
//¿µ¹®°ú <,>,[,],(,),{,} ±âÈ£¹®ÀÚ ÀÎÁö °Ë»ç(°ø¹éÆ÷ÇÔ Çã¿ë)
function alphaNBrace(el) {
  var pattern = /^[a-zA-Z<>\[\]()\{\}\s]+$/;
  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¿µ¹®°ú °ýÈ£±âÈ£¸¸ ÀÔ·Â ÇÏ¿©¾ß ÇÕ´Ï´Ù.");
}
//¼ýÀÚÀÎÁö °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isNumeric(el, value) {
  var pattern = /^[0-9]+$/;
  var num = value ? value : el.value;

//alert(el.name+","+num)
  return (pattern.test(num)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}

//¼ýÀÚ¿Í "," ¸¸ Çã¿ë(°ø¹é Æ÷ÇÔ ºñ Çã¿ë : ±Ý¾×À» °Ë»çÇÒ ¶§ »ç¿ë)
function isMoney(el) {

  var pattern = /^[0-9,]+$/;

  return (pattern.test(el.value)) ? true : doError(el,"{name+Àº´Â} ¹Ýµå½Ã ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
}

//ÁÖ¹Î¹øÈ£ °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidJumin(el,value) {

  var pattern = /^([0-9]{6})-?([0-9]{7})$/;
  var num = value ? value : el.value;

  if (!pattern.test(num)) return doError(el,NOT_VALID);
  num = RegExp.$1 + RegExp.$2;


  var sum = 0;
  var last = num.charCodeAt(12) - 0x30;
  var bases = "234567892345";
  for (var i=0; i<12; i++) {
    if (isNaN(num.substring(i,i+1))) return doError(el,NOT_VALID);
    sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
  }
  var mod = sum % 11;
  return ((11 - mod) % 10 == last) ? true : doError(el,NOT_VALID);

  var digit = 0;
  var digset = "234567892345";

  for(var n=0; n < 12; n++)
    digit += parseInt(num.charAt(n),10) * parseInt(digset.charAt(n), 10);


  digit = digit % 11;
  digit = 11 - digit;
  digit = digit % 10;

  if(digit != parseInt(num.charAt(12),10))
    return doError(el, NOT_VALID);

  return true;
}
//»ç¾÷ÀÚ¹øÈ£ °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidBizNo(el, value) {

  var pattern = /([0-9]{3})-?([0-9]{2})-?([0-9]{5})/;
  var num = value ? value : el.value;

  if (!pattern.test(num)) return doError(el,NOT_VALID);
  num = RegExp.$1 + RegExp.$2 + RegExp.$3;

  var chkRule = "137137135";

  var strCorpNum = num;
  var step1, step2, step3, step4, step5, step6, step7;

  step1 = 0;

  for (var x=0; x<7; x++)
  {
    step1 = step1 + (strCorpNum.substring(x, x+1) * chkRule.substring(x, x+1));
  }

  step2 = step1 % 10;
  step3 = (strCorpNum.substring(7, 8) * chkRule.substring(7, 8)) % 10;
  step4 = strCorpNum.substring(8, 9) * chkRule.substring(8, 9);
  step5 = Math.round(step4 / 10 - 0.5);
  step6 = step4 - (step5 * 10);
  step7 = (10 - ((step2 + step3 + step5 + step6) % 10)) % 10;

  if (strCorpNum.substring(9, 10) != step7)	// °á°ú ºñ±³ ÆÇ´Ü
  {
    return doError(el,NOT_VALID);
  }
  return true;
}

//Á¦¿Ü±¹ÀÎ ¹øÈ£ Ã¼Å©
function isValidPassport(el,value) {
	var sum=0;
	var odd=0;

	buf = new Array(13);

	for(i = 0; i < 13; i++) {
		buf[i] = parseInt(value.charAt(i));
	}

	odd = buf[7]*10 + buf[8];

	if(odd%2 != 0) {
		return doError(el, NOT_VALID);
	}

	if((buf[11] != 6) && (buf[11] != 7) && (buf[11] != 8) && (buf[11] != 9)) {
		return doError(el, NOT_VALID);
	}

	multipliers = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];

	for(i = 0, sum = 0; i < 12; i++) {
		sum += (buf[i] *= multipliers[i]);
	}

	sum = 11 - (sum%11);

	if(sum >= 10) {
		sum -= 10;
	}

	sum += 2;

	if(sum >= 10) {
		sum -= 10;
	}

	if(sum != buf[12]) { 
		return doError(el, NOT_VALID); 
	}

	return true;
}

//¿ìÆí¹øÈ£ °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidZipcode(el, value) {

  var pattern = /^([1-9]{1}[0-9]{2})-?([0-9]{3})$/;
  var num = value ? value : el.value;

  return (pattern.test(num)) ? true : doError(el,NOT_VALID);
}

//ÈÞ´ëÀüÈ­ °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidHPhone(el, value) {

  var pattern = /^([0]{1}[1]{1}[016789]{1})-?([1-9]{1}[0-9]{2,3})-?([0-9]{4})$/;
  var num = value ? value : el.value;

  return (pattern.test(num)) ? true : doError(el,NOT_VALID);
}

//ÀüÈ­ °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidPhone(el, value, span) {

  var pattern = null;

  if(span == 2)
    pattern = /^([0-9]{2,4})-?([0-9]{3,4})/;
  else
    pattern = /^([0-9]{2,3})-?([0-9]{3,4})-?([0-9]{4})/;

  var num = value ? value : el.value;

  return (pattern.test(num)) ? true : doError(el,NOT_VALID);
}

/*
function isValidDomain(el) {
  var pattern = /^.+(\.[a-zA-Z]{2,3})$/;
  return (pattern.test(el.value)) ? true : doError(el,NOT_VALID);
}
*/
//È¨ÆäÀÌÁö ÁÖ¼Ò °Ë»ç(°ø¹é Æ÷ÇÔ ºñ Çã¿ë)
function isValidDomain(el,value) {
  var value = value ? value : el.value;

  if(value.indexOf("http://") > -1)
    return doError(el,"{name+Àº´Â} 'http://' ºÎºÐÀº »©°í ÀÔ·ÂÇÏ½Ê½Ã¿À.");

  var pattern = new RegExp("^(http://)?([°¡-ÆRa-zA-Z0-9-\.]+\.[a-zA-Z]{2,3}$)","i");
  if (pattern.test(value)) {
    el.value = RegExp.$2;
    return true;
  } else {
    return doError(el,NOT_VALID);
  }
}


/**ÀüÈ­¹øÈ£ input tag¸¦ »ý¼º
 * t1_nm ~ t3_nmÀº ÀüÈ­¹øÈ£ 3ÀÚ¸®ÀÇ tagÀÌ¸§,
 * hnameÀº À¯È¿¼º Ã¼Å©¿¡¼­ »ç¿ëÇÒ ÇÑ±Û ÀÌ¸§
 * sclass´Â »ý¼ºµÇ´Â tagÀÇ style class
 * required´Â ÇÊ¼ö Ç×¸ñ¿©ºÎ
 * def ±âº» ¼³Á¤ °ª
 */
function jsMkPhone(t1_nm, t2_nm, t3_nm, hname, sclass, required, def){

  if(jsIsNS(hname))
    hname = "";
  else
    hname = "hname=\""+ hname + "\"";

  if(jsIsNull(sclass))
    sclass = "";
  else
    sclass = "class=\""+ sclass + "\"";

  if(jsIsNull(required) || required == false)
    required = "";
  else
    required = "required";

  var adef = new Array();

  adef = def.split(/-/);

  if(jsIsNS(def) || adef == null || adef.length < 3){

    adef[0] = "";
    adef[1] = "";
    adef[2] = "";
  }
  else{

    adef = def.split(/-/);
  }

  document.write("<select");
  document.write("	name=\""+ t1_nm +"\"");
  document.write("	option=\"phone\"");
  document.write("	span=\"3\"");
  document.write(hname);
  document.write(required);
  document.write(sclass);
  document.write(">");
  document.write("	<option value=\"\">¼±ÅÃ</option>");
  document.write("	<option value=\"070\" "+ (adef[0] == "080" ? "selected" :"") +">080</option>");
  document.write("	<option value=\"02\" "+ (adef[0] == "02" ? "selected" :"") +">02</option>");
  document.write("	<option value=\"031\" "+ (adef[0] == "031" ? "selected" :"") +">031</option>");
  document.write("	<option value=\"032\" "+ (adef[0] == "032" ? "selected" :"") +">032</option>");
  document.write("	<option value=\"033\" "+ (adef[0] == "033" ? "selected" :"") +">033</option>");
  document.write("	<option value=\"041\" "+ (adef[0] == "041" ? "selected" :"") +">041</option>");
  document.write("	<option value=\"042\" "+ (adef[0] == "042" ? "selected" :"") +">042</option>");
  document.write("	<option value=\"043\" "+ (adef[0] == "043" ? "selected" :"") +">043</option>");
  document.write("	<option value=\"051\" "+ (adef[0] == "051" ? "selected" :"") +">051</option>");
  document.write("	<option value=\"052\" "+ (adef[0] == "052" ? "selected" :"") +">052</option>");
  document.write("	<option value=\"053\" "+ (adef[0] == "053" ? "selected" :"") +">053</option>");
  document.write("	<option value=\"054\" "+ (adef[0] == "054" ? "selected" :"") +">054</option>");
  document.write("	<option value=\"055\" "+ (adef[0] == "055" ? "selected" :"") +">055</option>");
  document.write("	<option value=\"061\" "+ (adef[0] == "061" ? "selected" :"") +">061</option>");
  document.write("	<option value=\"062\" "+ (adef[0] == "062" ? "selected" :"") +">062</option>");
  document.write("	<option value=\"063\" "+ (adef[0] == "063" ? "selected" :"") +">063</option>");
  document.write("	<option value=\"064\" "+ (adef[0] == "064" ? "selected" :"") +">064</option>");
  document.write("</select>-<input");
  document.write("	name=\""+ t2_nm +"\"");
  document.write("	type=\"text\"");
  document.write("	size=\"4\"");
  document.write("	maxlength=\"4\"");
  document.write("	value=\"" + adef[1] + "\"");
  document.write(sclass);
  document.write(">-<input");
  document.write("	name=\""+ t3_nm +"\"");
  document.write("	type=\"text\"");
  document.write("	size=\"4\"");
  document.write("	maxlength=\"4\"");
  document.write("	value=\"" + adef[2] + "\"");
  document.write(sclass);
  document.write(">");
}

/** ÈÞ´ëÀüÈ­¹øÈ£ input tag¸¦ »ý¼º
 * t1_nm ~ t3_nmÀº ÀüÈ­¹øÈ£ 3ÀÚ¸®ÀÇ tagÀÌ¸§,
 * hnameÀº À¯È¿¼º Ã¼Å©¿¡¼­ »ç¿ëÇÒ ÇÑ±Û ÀÌ¸§
 * sclass´Â »ý¼ºµÇ´Â tagÀÇ style class
 * required´Â ÇÊ¼ö Ç×¸ñ¿©ºÎ
 * def ±âº» ¼³Á¤ °ª
 */
function jsMkHPhone(t1_nm, t2_nm, t3_nm, hname, sclass, required, def){

  if(jsIsNS(hname))
    hname = "";
  else
    hname = "hname=\""+ hname + "\"";

  if(jsIsNull(sclass))
    sclass = "";
  else
    sclass = "class=\""+ sclass + "\"";

  if(jsIsNull(required) || required == false)
    required = "";
  else
    required = "required";

  var adef = new Array();

  adef = def.split(/-/);

  if(jsIsNS(def) || adef == null || adef.length < 3){

    adef[0] = "";
    adef[1] = "";
    adef[2] = "";
  }
  else{

    adef = def.split(/-/);
  }

  document.write("<select");
  document.write("	name=\""+ t1_nm +"\"");
  document.write("	option=\"hphone\"");
  document.write("	span=\"3\"");
  document.write(hname);
  document.write(required);
  document.write(sclass);
  document.write(">");
  document.write("	<option value=\"\">¼±ÅÃ</option>");
  document.write("	<option value=\"010\" "+ (adef[0] == "010" ? "selected" :"") +">010</option>");
  document.write("	<option value=\"011\" "+ (adef[0] == "011" ? "selected" :"") +">011</option>");
  document.write("	<option value=\"016\" "+ (adef[0] == "016" ? "selected" :"") +">016</option>");
  document.write("	<option value=\"017\" "+ (adef[0] == "017" ? "selected" :"") +">017</option>");
  document.write("	<option value=\"018\" "+ (adef[0] == "018" ? "selected" :"") +">018</option>");
  document.write("	<option value=\"019\" "+ (adef[0] == "019" ? "selected" :"") +">019</option>");
  document.write("</select>-<input");
  document.write("	name=\""+ t2_nm +"\"");
  document.write("	type=\"text\"");
  document.write("	size=\"4\"");
  document.write("	maxlength=\"4\"");
  document.write("	value=\"" + adef[1] + "\"");
  document.write(sclass);
  document.write(">-<input");
  document.write("	name=\""+ t3_nm +"\"");
  document.write("	type=\"text\"");
  document.write("	size=\"4\"");
  document.write("	maxlength=\"4\"");
  document.write("	value=\"" + adef[2] + "\"");
  document.write(sclass);
  document.write(">");
}

function jsSet3Phone(obj1, obj2, obj3, val){

  var nums = jsSplit(val, "-", 3);

  obj1.value = nums[0];
  obj2.value = nums[1];
  obj3.value = nums[2];
}

//obj ÀüÈ­¹øÈ£ Ã³À½ object¸¦ valÀº 011-111-11°ú °°Àº ÀüÈ­¹øÈ£¸¦ ÀÔ·ÂÇÏ¸é ÇØ´ç object¿¡
//ÀÚµ¿À¸·Î ÀÔ·Â
function jsSetPhone(obj, val){

  var obj2 = jsFindObj(obj, 1);
  var obj3 = jsFindObj(obj, 2);

  jsSet3Phone(obj, obj2, obj3, val);
}


function jsGet3Phone(obj1, obj2, obj3){

  if(jsIsSpace(obj1.value) || jsIsSpace(obj2.value))
    return "";

  if(jsIsSpace(obj3.value))
    return obj1.value + "-" + obj2.value;
  else
    return obj1.value + "-" + obj2.value + "-" + obj3.value;
}
//obj ÀüÈ­¹øÈ£ Ã³À½ object¸¦ ÀÔ·ÂÇÏ¸é ÇØ´ç ÀüÈ­¹øÈ£ objectµéÀÇ °ªÀ» ÇÕÃÄ 200-1111-1111°ú
//°°Àº °ªÀ» ¸®ÅÏ
function jsGetPhone(obj){

  var obj2 = jsFindObj(obj, 1);
  var obj3 = jsFindObj(obj, 2);

  return jsGet3Phone(obj, obj2, obj3);
}

function jsSet3BizNo(obj1, obj2, obj3, val){

  if(val.length < 10){
    alert("»ç¾÷ÀÚ ¹øÈ£ ±æÀÌ°¡ ³Ê¹« Âª½À´Ï´Ù.");
    return
  }

  obj1.value = val.substring(0,3);
  obj2.value = val.substring(3,5);
  obj3.value = val.substring(5);
}

function jsGet3BizNo(obj1, obj2, obj3){

  if(jsIsSpace(obj1.value) || jsIsSpace(obj2.value) || jsIsSpace(obj3.value))
    return "";

  return obj1.value + "" + obj2.value + "" + obj3.value;
}
//obj »ç¾÷ÀÚ¹øÈ£ Ã³À½ object¸¦ ÀÔ·ÂÇÏ¸é ÇØ´ç »ç¾÷ÀÚ¹øÈ£ objectµéÀÇ °ªÀ» ÇÕÃÄ 200-11-11111°ú
//°°Àº °ªÀ» ¸®ÅÏ
function jsGetBizNo(obj){

  var obj2 = jsFindObj(obj, 1);
  var obj3 = jsFindObj(obj, 2);

  return jsGet3BizNo(obj, obj2, obj3);
}

//obj »ç¾÷ÀÚ¹øÈ£ Ã³À½ object¸¦ valÀº 287-99-82829 °°Àº »ç¾÷ÀÚ¹øÈ£¸¦ ÀÔ·ÂÇÏ¸é ÇØ´ç object¿¡
//ÀÚµ¿À¸·Î ÀÔ·Â
function jsSetBizNo(obj, val){

  var obj2 = jsFindObj(obj, 1);
  var obj3 = jsFindObj(obj, 2);

  jsSet3BizNo(obj, obj2, obj3, val);
}

function jsSet2RegNo(obj1, obj2, val){

  if(val.length < 13){
    alert("ÁÖ¹Î¹øÈ£ ±æÀÌ°¡ ³Ê¹« Âª½À´Ï´Ù.");
    return;
  }

  obj1.value = val.substring(0,6);
  obj2.value = val.substring(6);

}
//obj ÁÖ¹Î¹øÈ£ Ã³À½ object¸¦ valÀº 800101-1887888 °°Àº ÁÖ¹Î¹øÈ£¸¦ ÀÔ·ÂÇÏ¸é ÇØ´ç object¿¡
//ÀÚµ¿À¸·Î ÀÔ·Â
function jsSetRegNo(obj, val){

  var obj2 = jsFindObj(obj, 1);


  jsSet2RegNo(obj, obj2, val);
}


/**
ÀÚµ¿À¸·Î , ¸¦ ºÙÀÏ¶§ÀÇ ¿¹Á¦
<input name="sell_price"
        type="text"
        size="17"
        onKeyDown="return jsSetMoney(this);"
        onContextMenu="return false";
        hname="ÆÇ¸Å°¡°Ý"
        option="money">

  var re = /\s/g

  if(val.replace == undefined)
    return true;

  var reval = val.replace(re, "")

  if(reval.length == 0)
    return true

  return false
**/

//ÄÞ¸¶ ³Ö±â

function jsSetMoney(obj){

  var len = obj.value.length;
  obj.p_value = obj.value;
  obj.v_len = len;

  var pattern = /^[0-9+,]+$/;
  var rep = /[^0-9]/;
  var key = String.fromCharCode(event.keyCode);

  if(event.keyCode < 47){

    if(len > 1 && key == "\b")
      obj.onkeyup = prvSetMoney;
    else
      obj.onkeyup = null;

    return true;
  }

  if (!pattern.test(key)){

    doError(obj,"{name+Àº´Â} ¹Ýµå½Ã ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");

    obj.onkeyup = null;
    return false;
  }

  obj.onkeyup = prvSetMoney;
}

function prvSetMoney() {

  var obj = event.srcElement;

  var len = obj.v_len;

  if(len == 0)
    return false;

  var pattern = /^[0-9+,]+$/;
  var rep = /[^0-9]/;

  var value = obj.value;

  if (!pattern.test(value)){

    if(len <= 0)
      return;

    doError(obj,"{name+Àº´Â} ¹Ýµå½Ã ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù");
    obj.value = obj.p_value == undefined ? "" : obj.p_value;
  }

  obj.value = jsComma(jsRmComma(obj.value));
}


//ÄÞ¸¶ »©±â
function jsGetMoney(obj) {
  return jsRmComma(obj.value);
}


/* ¸¶¿ì½º ÀÌº¥Æ®
var message = "¿À¸¥ÂÊ ¸¶¿ì½º´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.";
function click(mouse) {
  if (document.all) {
    if (event.button==2||event.button==3) {
      alert(message);
      return false;
    }
  }
  if (document.layers) {
    if (mouse.which == 3) {
      alert(message);
      return false;
    }
  }
}

if (document.layers) {

  document.captureEvents(Event.MouseDown);//protect from keyboard keypress

  function keypressed() {
    //alert(message);
  }
}

if(!jsIsMSIE()){
  document.onmousedown=click;
  document.onkeydown=keypressed;
}
*/

/*** ¸¶¿ì½º ÀÌº¥Æ® À§Ä¡ È®ÀÎ **/

function jsGetCPosition(){

  if(event.button == 2)
    return true;

  alert(event.clientY + ", " + event.clientX);
}
// À§Ä¡¸¦ ¾Ë¾Æ¿À´Â ÇÔ¼ö
function jsGetOnEventPos(){
  document.onmousedown = jsGetCPosition
}
//jsGetOnEventPos();


//ÀÌ¹ÌÁö ·Îµù½Ã »çÀÌÁî Á¶Àý È£Ãâ function
function jsImgResize(img, w, h){

  if(w != null){
    img.removeAttribute("WIDTH");
    img.removeAttribute("width");
  }
  if(h != null){
    img.removeAttribute("HEIGHT");
    img.removeAttribute("height");
  }

  if(w != null && (img.width == 0 || img.width > w))
    img.width = w;

  if(h != null && (img.height == 0 || img.height > h))
    img.height = h;

  var interval = null;


  if((w != null && (img.width == 0 || img.width > (w + 10))) || (h != null && (img.height == 0 || img.height > (h + 10)))){

  //	img.margin = img.style.margin;
  //	img.style.margin = "-5000px";

    interval = setInterval(new jsHImgResize(img, w, h, interval), 100);
  }
//alert(img.width + ", " + w + ", " + img.height + ", " + h);
}

//ÀÌ¹ÌÁö ·Îµù½Ã »çÀÌÁî Á¶Àý È£Ãâ ½ÇÇà function
function jsHImgResize(img, w, h, interval){

//alert(img+","+ w+","+h+","+interval);
  if(w != null && (img.width == 0 || img.width > w))
    img.width = w;

  if(h != null && (img.height == 0 || img.height > h))
    img.height = h;

  if((w != null && (img.width == 0 || img.width > (w + 10))) || (h != null && (img.height == 0 || img.height > (h + 10)))){

    clearInterval(interval);
  }

  if(img.margin)
    img.style.margin = img.margin;
  img.style.display='';
}

//iframe ·Îµù½Ã »çÀÌÁî Á¶Àý È£Ãâ function
function jsIFMResize(ifm, w, h){

  if(w != null){
    ifm.removeAttribute("WIDTH");
    ifm.removeAttribute("width");
  }
  if(h != null){
    ifm.removeAttribute("HEIGHT");
    ifm.removeAttribute("height");
  }

  var interval = null;

  if(w != null && (ifm.width == 0  || ifm.width > w))
    ifm.width = w;

  if(h != null && (ifm.height == 0 || ifm.height > h))
    ifm.height = h + 2;

  if((w != null && (ifm.width == 0 || ifm.width > w)) || (h != null && (ifm.height == 0 || ifm.height > h))) {

    interval = setInterval(new jsHIFMResize(ifm, w, h, interval), 100);
  }
}

//iframe ·Îµù½Ã »çÀÌÁî Á¶Àý È£Ãâ ½ÇÇà function
function jsHIFMResize(ifm, w, h, interval){

  if(w != null && (ifm.width == 0  || ifm.width > w))
    ifm.width = w;

  if(h != null && (ifm.height == 0 || ifm.height > h))
    ifm.height = h + 2;

  if((w != null && (ifm.width == 0 || ifm.width > w)) || (h != null && (ifm.height == 0 || ifm.height > h))) {

    clearInterval(interval);
  }
}

//·¹ÀÌ¾î¸¦ Áß¾Ó¿¡ Á¤·Ä
function jsCenterLayer(lay){

  var wwt = parseInt(document.body.offsetWidth, 10);
  var wht = parseInt(document.body.offsetHeight, 10);

  var dwt = parseInt(lay.clientWidth, 10);
  var dht = parseInt(lay.clientHeight, 10);

  var swt = parseInt(document.body.scrollLeft, 10);
  var sht = parseInt(document.body.scrollTop, 10);

//	alert(sht + ", " + swt);

  var top = parseInt((wht - dht) / 2 , 10) + sht;
  var left = parseInt((wwt - dwt) / 2 , 10) + swt;

  lay.style.top = top;
  lay.style.left = left;
}

/**
 * °¨Ãß¾îÁø ·¹ÀÌ¾î¸¦ º¸¿©ÁØ´Ù.
 * id ·¹ÀÌ¾î id
 * idx ¿©·¯°³ÀÇ ·¹ÀÌ¾îÀÎ°æ¿ì ±× index
 * center ·¹ÀÌ À§Ä¡¸¦ È­¸é °¡¿îµ¥·Î Á¤·Ä
 */
function jsViewLayer(id, idx, center){

  var lay = jsToArray(document.all[id]);

  if(idx == null)
    idx = 0;


  lay[idx].style.visibility = "visible";
  lay[idx].style.display = "";

  if(center == true)
    jsCenterLayer(lay[idx]);
  else if(center == false)
    setJsPopupPosition(lay[idx]);
}

/**
 * ·¹ÀÌ¾î¸¦ °¨Ãá´Ù.
 * id ·¹ÀÌ¾î id
 */
function jsHideLayer(id){

  var lay = jsToArray(document.all[id]);

  for(var n=0; n < lay.length; n++){

    if(lay[n].style.visibility)

    lay[n].style.visibility = "hidden";
    lay[n].style.display = "none";
  }
}


//text ±æÀÌ Ã¼Å©
function jsTextLength(sObj, limit){

  var key = String.fromCharCode(event.keyCode);

  if(event.keyCode != 32 && event.keyCode < 47)
    return true;

  var src = sObj.value;
  var len = src.length;

  if(len > limit){

    alert(limit + "ÀÚ¸¦ ÃÊ°ú ÀÔ·Â ÇÒ ¼ö ¾ø½À´Ï´Ù.");

    sObj.value = src.substring(0, limit);
    return limit;
  }
  return len;
}


/**
 * ¹®ÀÚ¿­ ÀÔ·Â ¸ð´ÏÅÍ
 * len ÀÔ·Â°ªÀ» ÃÊ°úÇÏ¿© ÀÔ·ÂÇÏ¸é ¿À·ù ¸Þ¼¼Áö Ãâ·Â(ÇÑ±ÛÀº ±æÀÌ 2·Î °è»ê)
 * <textarea OnKeyUp="jsLenMonitor(10);" maxbyte="30" hname="Å×½ºÆ®"></textarea>
 */
function jsLenMonitor(len){

  var obj = event.srcElement;

  if(len == null)
    len = parseInt(obj.getAttribute('MAXBYTE'), 10);

  if(isNaN(len)){

    doError(obj,"{name+¿¡¿¡} ´ëÇÑ ÃÖ´ë ¹®ÀÚ ¼ö°¡ ¼³Á¤ µÇÁö ¾Ê¾Ò½À´Ï´Ù.");
    return false;
  }

  var slen = obj.value.bytes();

  if(event.keyCode != 32 && event.keyCode < 47)
    return true;

  if(slen > len){

    doError(obj,"{name+Àº´Â} 2ÃÖ´ë ÇÑ±Û"+ Math.round(len/2) +"ÀÚ, ¿µ¹®"+ len +"ÀÚ ÀÌÇÏ·Î ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.");
    //obj.value = obj.p_value == null ? "" : obj.p_value;

    var tmp = "";
    var tmp_len = 0;
    for(var n=0; n < slen; n++){

      tmp_len += (obj.value.charCodeAt(n) > 128) ? 2 : 1;

      if(tmp_len > len){
        obj.value = obj.value.substring(0, n);
        break;
      }
    }
    return false;
  }
}


/**
 * Object Áß¿¡¼­ nameÀÌ³ª id°¡ °°Àº ObjectÀÇ value¸¦ ±¸ÇÏ¿© ¹ÝÈ¯
 */
function jsGetValue(oname){

  if(!oname)
    return "";

  var obj = jsGetAll(oname);

  if(obj.length == 1){

    return obj[0].value;
  }
  else{

    var retval = new Array();

    for(var n=0; n < obj.length; n++){

      if(obj[n].checked == true)
        retval[retval.length] = obj[n].value;
    }

    if(retval.length < 1)
      return "";
    else if(retval.length > 1)
      return retval;
    else
      return retval[0];
  }

  return "";
}

/**
 * ÇÃ·¡½¬ ÅÂ±× »ý¼º
 */
function loadFlash(nm, width, height, p_nms, p_vls, style){

  document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
  document.write(' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"');
  document.write(' width="'+ width +'" height="'+height+'"');

  if(style)
    document.write(' class="'+ style +'"');

  document.write('>');
  document.write('<param name="movie" value="'+ nm +'">');
  document.write('<param name="quality" value="high">');

  if(p_nms && p_nms.length > 0){

    for(var n=0; n < p_nms.length; n++)
      document.write('<param name="'+ p_nms[n] +'" value="'+ p_vls[n]+'">');
  }

  document.write('<embed src="'+ nm +'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+ width +'" height="'+height+'"></embed></object>');
}
