/**
 * by Á¤ Çõ (20060410)
 *
 * °øÅë ½ºÅ©¸³Æ®
 */

if (typeof(COMMON_JS) == 'undefined') { // ÇÑ¹ø¸¸ ½ÇÇà
  var COMMON_JS = true;
  var is_ie = window.navigator.userAgent.toLowerCase().indexOf("msie") != -1;
  var is_xp2 = window.navigator.userAgent.indexOf("SV1") != -1

  /* DOM fix ie6 background image flicker */
  try { document.execCommand('BackgroundImageCache', false, true); } catch(me) {}

  // ÇÊµå °Ë»ç
  function check_field(fld, msg) {
    if ((fld.value = trim(fld.value)) == "") {
      alert(msg);
      fld.focus();
      return false;
    }
  }

  // ¼ýÀÚÀÏ °æ¿ì true ¸®ÅÏ
  function isnum(str) {
    if (str == null) return;
    if (str.match(/[^0-9]+/) != null) return false;
    else return true;
  }

  // JS trim() ÇÔ¼ö
  function trim(s) {
    return s.replace(/^\s+|\s+$/g,'');
  }

  // ÀÚ¹Ù½ºÅ©¸³Æ®·Î PHPÀÇ number_format Èä³»¸¦ ³¿
  // ¼ýÀÚ¿¡ , ¸¦ Ãâ·Â
  function number_format(s) {
    s = s.toString();
    return s.replace(/(\d)(?=(?:\d{3})+(?!\d))/g,'$1,');
  }

  // , ¸¦ ¾ø¾Ø´Ù.
  function no_comma(s) {
    var tmp = '';
    var comma = ',';
    var i;

    for (i=0; i<s.length; i++) {
      if (s.charAt(i) != comma)
        tmp += s.charAt(i);
    }
    return tmp;
  }

  // ÀÔ·Â°ª ±æÀÌ ¹ÙÀÌÆ®·Î °è»ê
  function check_byte(input, target) {
    var i, j=0;
    for(i=0; i<input.length; i++) {
      val=escape(input.charAt(i)).length;
      if(val > 4) j++;
      j++;
    }
    if (target) document.getElementById(target).innerHTML = j;
    return j;
  }

  // ¿ÀÅä¼¿·ºÆ® ÇÔ¼ö
  function autoSelect(selName, selValue) {
    if(selName && selValue) {
      var selobj = document.getElementById(selName);
      if(selobj) selobj.value = selValue;
      if(selValue=='') selobj.options[0].selected = true;
    }
  }

  // »èÁ¦ °Ë»ç È®ÀÎ
  function del(href) {
    if (confirm("ÇÑ¹ø »èÁ¦ÇÑ ÀÚ·á´Â º¹±¸ÇÒ ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.\n\nÁ¤¸» »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?")) 
      document.location.href = href;
  }

  // ÄíÅ° ÀÔ·Â
  function set_cookie(name, value, expire) {
    var today = new Date();
    today.setTime(today.getTime() + (60*60*1000*expire)); // hours
    //today.setDate(today.getDate() + expire); // days

    if (expire == null) var expires_str = "";
    else var expires_str="; expires=" + today.toGMTString() + ";";
    document.cookie = name + "=" + escape( value ) + "; path=/" + expires_str;
  }

  // ÄíÅ° ¾òÀ½
  function get_cookie(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 del_cookie(name) {
    var today = new Date();
    today.setTime(today.getTime() - 1);

    var value = get_cookie(name);
    if (value != "")
      document.cookie = name + "=" + value + "; path=/; expires=" + today.toGMTString();
  }

  // ÀÌ¹ÌÁöÀÇ Å©±â¿¡ µû¶ó »õÃ¢ÀÇ Å©±â°¡ º¯°æµË´Ï´Ù.
  function image_window(img,title,url) {

    // XP ServicePack2
    if (is_xp2) {
      image_viewer(img,title,url);
      return;
    }

    // Other
    if (!img.width) {
      var imgObj = new Image();
      imgObj.src = img;

      // Image Loading Check
      if (imgObj.width == 0 || imgObj.height == 0) {
        if (title) var func_str="image_window('"+img+"','"+title+"')";
        else var func_str="image_window('"+img+"')";
        setTimeout(func_str, 50);
        return;
      }

      var img = imgObj.src;
      var w = imgObj.width;
      var h = imgObj.height;
    }
    else {
      var w = img.width;
      var h = img.height;
      var img = img.src;
    }

    // Locate Screen Center
    var winl = (screen.width-w)/2;
    var wint = (screen.height-h)/3;

    if (w >= screen.width) {
      winl = 0;
      h = (parseInt)(w * (h / w));
    }

    if (h >= screen.height) {
      wint = 0;
      w = (parseInt)(h * (w / h));
    }

    var js_url = "<script language='JavaScript'> \n";
        js_url += "<!-- \n";
        js_url += "var is_ie=document.all; \n";
        js_url += "var isdrag=false; \n";
        js_url += "var x,y; \n";
        js_url += "var dobj; \n";
        js_url += "function movemouse(e) \n";
        js_url += "{ \n";
        js_url += "  if (isdrag) \n";
        js_url += "  { \n";
        js_url += "    dobj.style.left = is_ie ? tx + event.clientX - x : tx + e.clientX - x; \n";
        js_url += "    dobj.style.top  = is_ie ? ty + event.clientY - y : ty + e.clientY - y; \n";
        js_url += "    return false; \n";
        js_url += "  } \n";
        js_url += "} \n";
        js_url += "function selectmouse(e) \n";
        js_url += "{ \n";
        js_url += "  var fobj       = is_ie ? event.srcElement : e.target; \n";
        js_url += "  var topelement = is_ie ? 'BODY' : 'HTML'; \n";
        js_url += "  while (fobj.tagName != topelement && fobj.className != 'dragme') \n";
        js_url += "  { \n";
        js_url += "    fobj = is_ie ? fobj.parentElement : fobj.parentNode; \n";
        js_url += "  } \n";
        js_url += "  if (fobj.className=='dragme') \n";
        js_url += "  { \n";
        js_url += "    isdrag = true; \n";
        js_url += "    dobj = fobj; \n";
        js_url += "    tx = parseInt(dobj.style.left+0); \n";
        js_url += "    ty = parseInt(dobj.style.top+0); \n";
        js_url += "    x = is_ie ? event.clientX : e.clientX; \n";
        js_url += "    y = is_ie ? event.clientY : e.clientY; \n";
        js_url += "    document.onmousemove=movemouse; \n";
        js_url += "    return false; \n";
        js_url += "  } \n";
        js_url += "} \n";
        js_url += "document.onmousedown=selectmouse; \n";
        js_url += "document.onmouseup=new Function('isdrag=false'); \n";
        js_url += "//--> \n";
        js_url += "</"+"script> \n";

    var settings  ='width='+w+',';
        settings +='height='+h+',';
        settings +='top='+wint+',';
        settings +='left='+winl+',';
        settings +='status=yes';
        settings +='scrollbars=no,';
        settings +='resizable=no,';

    win=window.open("","image_window",settings);
    win.document.open();
    win.document.write ("<html><head> \n<meta http-equiv='imagetoolbar' content='no'> \n<meta http-equiv='content-type' content='text/html; charset=euc-kr'>\n");
    var size = "ÀÌ¹ÌÁö »çÀÌÁî : "+w+" x "+h;
    if (!title) title = "¿øº» ÀÌ¹ÌÁö º¸±â";
    win.document.write ("<title>"+title+"</title> \n");
    if (w >= screen.width || h >= screen.height) {
      win.document.write (js_url);
      var click = "ondblclick='window.close();' style='cursor:move' title=' "+size+" \n\n ÀÌ¹ÌÁö »çÀÌÁî°¡ È­¸éº¸´Ù Å®´Ï´Ù. \n ¿ÞÂÊ ¹öÆ°À» Å¬¸¯ÇÑ ÈÄ ¸¶¿ì½º¸¦ ¿òÁ÷¿©¼­ º¸¼¼¿ä. \n\n ÀÌ¹ÌÁö¸¦ ´õºí Å¬¸¯ÇÏ¸é Ã¢ÀÌ ´ÝÈü´Ï´Ù. '"; 
    } else
      var click = "onclick='window.close();' style='cursor:pointer' title=' "+size+" \n\n ÀÌ¹ÌÁö¸¦ Å¬¸¯ÇÏ¸é Ã¢ÀÌ ´ÝÈü´Ï´Ù. '";

    win.document.write("<script language='JavaScript'>\n");
    win.document.write("function keydown() {\n");
    win.document.write("  //F11, Ctrl, Alt\n");
    win.document.write("  if (event.keyCode == 122 || event.ctrlKey || event.altKey) {\n");
    win.document.write("    event.keyCode = 0;\n");
    win.document.write("    event.cancelBubble = true;\n");
    win.document.write("    event.returnValue = false;\n");
    win.document.write("  }\n");
    win.document.write("}\n");
    win.document.write("document.onkeydown=keydown;\n");
    win.document.write("</"+"script>\n");

    win.document.write ("<style>.dragme{position:relative;}</style>\n");
    win.document.write ("</head> \n\n");
    win.document.write ("<body leftmargin='0' topmargin='0' marginwidth='0' marginheight='0' bgcolor='#dddddd' style='margin:0'> \n");
    win.document.write ("<table cellpadding='0' cellspacing='0' width='100%' height='100%'><tr><td align='center'><img src='"+img+"' width='"+w+"' height='"+h+"' border='0' class='dragme' "+click+"></td></tr></table> \n");
    win.document.write ("</body></html>");
    win.document.close();

    if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
  }

  // ÀÌ¹ÌÁö ºä¾î ÇÔ¼ö
  function image_viewer(img, title, url) {
    if (!img) return;
    if (!url) var url = "./image_view.php";
    if (!title) var title="";
    var path = url+"?img="+img+"&title="+title
    var settings='width=100,height=100,top=100,left=100,status=yes,scrollbars=no,resizable=no';
    new_win = window.open(path, "image_viewer", settings);
    new_win.focus();
  }

  // »õ Ã¢
  function win_open(url, name, option) {
    var popup = window.open(url, name, option);
    popup.focus();
  }

  function mouseX(e) {
    var evt = e || window.event;
    var x = 0;
    x = evt.pageX || evt.clientX + document.body.scrollLeft;
    return x;
  }

  function mouseY(e) { 
    var evt = e || window.event;
    var y = 0;
    y = evt.pageY || evt.clientY + document.body.scrollTop;
    return y;
  }

  function objectX(el) {
    var left = 0;
    while (el) {
      left += el.offsetLeft;
      el = el.offsetParent;
    }
    return left;
  }

  function objectY(el) {
    var top = 0;
    while (el) {
      top += el.offsetTop;
      el = el.offsetParent;
    }
    return top;
  }

  function addEvent(obj, evt, fnc) {
    if (obj.addEventListener) {
      obj.addEventListener(evt, fnc, false);
    } else {
      obj.attachEvent('on' + evt, fnc);
    }
  }

  function removeEvent(obj, evt, fnc) {
    if (obj.addEventListener) {
      obj.removeEventListener(evt, fnc, false);
    } else {
      obj.detachEvent('on' + evt, fnc);
    }
  }

  // ÆË¾÷Ã¢ ¼¾ÅÍ
  function popup_center() {
    var x,y;
    if (self.innerHeight) {
      x = (screen.availWidth - self.innerWidth)/2;
      y = (screen.availHeight - self.innerHeight)/2;
    }
    else if (document.documentElement && document.documentElement.clientHeight) {
      x = (screen.availWidth - document.documentElement.clientWidth)/2;
      y = (screen.availHeight - document.documentElement.clientHeight)/2;
    }
    else if (document.body) {
      x = (screen.availWidth - document.body.clientWidth)/2;
      y = (screen.availHeight - document.body.clientHeight)/2;
    }
    window.moveTo(x,y);
  }

  // PHP sleep() ÇÔ¼ö
  function sleep(sec) {
    var now = new Date();
    var exitTime = now.getTime() + (sec*1000);
    while (true) {
      now = new Date(); 
      if (now.getTime() > exitTime) return;
    }
  }

  // iframe ¸®»çÀÌÁî ÇÔ¼ö
  function iframe_resize(obj, full) {
    obj = (typeof(obj) == 'string') ? document.getElementById(obj) : obj;
    var objBody = obj.contentWindow.document.body
    obj.height = objBody.scrollHeight;
    if (full) obj.width = objBody.scrollWidth;
  }

  function debug(str, opt) {
    document.title = str;
    if (opt == 'alert') alert(str);
  }


/******************************************************************************
 * ¼³  ¸í : ÇÃ·¡½¬/µ¿¿µ»ó È°¼ºÈ­ ½ºÅ©¸³Æ®
 ******************************************************************************/
  // s: source url
  // d: flash id
  // w: source width
  // h: source height
  // t: wmode ("" for none, transparent, opaque ...)
  function mflash(s,d,w,h,t) {
    return "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width="+w+" height="+h+" id="+d+"><param name=wmode value="+t+" /><param name=movie value="+s+" /><param name=quality value=high /><embed src="+s+" quality=high wmode="+t+" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash\" width="+w+" height="+h+"></embed></object>";
  }

  function mmovie(s, d, w, h, a) {
    var wh = "";
    if (parseInt(w) && parseInt(h)) {
      wh = " width='" + w + "' height='" + h + "'";
    }
    var opt = "";
    if (!a) opt += " autostart='0'";
    //opt += " showstatusbar='1' showcontrols='1'";
    return "<embed src='" + s + "'" + wh + opt +"></embed>";
  }

  // write document contents
  function documentwrite(src) {
    document.write(src);
  }

  // assign code innerHTML
  function setcode(target, code) {
    target.innerHTML = code;
  }

}