<!--
String.prototype.trim = function() {
  return this.replace(/(^\s*)|(\s*$)/g, '');
}

function isBlankOrNull(value) {
  return ((value == null) || (value.trim().length == 0));
}

function isKorean(value) {
  for (var i = 0; i < value.length; ++i) {
    if (value.charCodeAt(i) != 32 && (value.charCodeAt(i) < 44032 || value.charCodeAt(i) > 55203)) {
    	return false;
   }
  }
  return true;
}

function checkNull(source, defValue) {
  if (source == null || source.trim().length == 0) {
    return defValue;
  }
  return source;
}

var number = '0123456789';
var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxy_';
function isNumber(value) {
  for (var i = 0; i < value.length; ++i) {
    if (number.indexOf(value.charAt(i)) == -1) {
      return false;
    }
  }
  return true;
}

function isAlphabet(value) {
  for (var i = 0; i < value.length; ++i) {
    if (alphabet.indexOf(value.charAt(i)) == -1) {
      return false;
    }
  }
  return true;
}

function isEmail(value) {
  if ((/^(\".*\"|[A-Za-z0-9_-]([A-Za-z0-9_-]|[\+\.])*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z0-9][A-Za-z0-9_-]*(\.[A-Za-z0-9][A-Za-z0-9_-]*)+)$/).test(value)) {
  	return true;
  }
  return false;
}

function isEmailDomain(value) {
  if ((/(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z0-9][A-Za-z0-9_-]*(\.[A-Za-z0-9][A-Za-z0-9_-]*)+)$/).test(value)) {
    return true;
  }
  return false;
}

function isPhoneNumber(source) {
  if ((/^\d{2,4}-\d{3,4}-\d{4}$/).test(source)) {
    return true;
  }
  return false;
}

function isResNo(resno) {
  var year = resno.charAt(7) <= 2? '19' : '20';
  year += resno.substring(0, 2);
  var month = resno.substring(2, 4);
  var day = resno.substring(4, 6);

  var birth = new Date(year, month - 1, day);
  if (birth.getFullYear() != year || (birth.getMonth() + 1) != month || birth.getDate() != day) {
    return false;
  }

  var buffer = resno.replace('-', '');
  var multipliers = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];
  var sum = 0;
  for (var i = 0; i < buffer.length - 1; i++) {
    sum += (parseInt(buffer.charAt(i)) * multipliers[i]);
  }

  var checksum = 11 - (sum % 11);

  if ((checksum % 10) != buffer.charAt(buffer.length -1)) {
    return false;
  }
  return true;
}

/**
 * validate checking
 */
function validateRequired(element, msg, settingUp) {
  if (isBlankOrNull(element.value)) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateMask(element, mask, msg, settingUp) {
  if (!isBlankOrNull(element.value) && !(new RegExp(mask, 'g').test(element.value))) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateMinLength(element, minlength, msg, settingUp) {
  if (!isBlankOrNull(element.value) && element.value.length < minlength) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateMaxLength(element, maxlength, msg, settingUp) {
  if (!isBlankOrNull(element.value) && element.value.length > maxlength) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateMixed(element, msg, settingUp) {
  if ((/[\W]+/g).test(element.value) || isNumber(element.value) || isAlphabet(element.value)) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateMixedAndFirstAlphabet(element, msg, settingUp) {
  if (!isBlankOrNull(element.value) && !element.value.match(/[a-z]+?[a-z0-9_]*/g)) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateWhen(element1, element2, msg, settingUp) {
  if ((!isBlankOrNull(element1.value) && !isBlankOrNull(element2.value)) && element1.value != element2.value) {
    alert(msg);
    if (settingUp) element1.focus();
    return false;
  }
  return true;
}

function validateKorean(element, msg, settingUp) {
  if (!isBlankOrNull(element.value) && !isKorean(element.value)) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateNumber(element, msg, settingUp) {
  if (!isBlankOrNull(element.value) && !isNumber(element.value)) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateEmail(element, msg, settingUp) {
  if (!isBlankOrNull(element.value) && !isEmail(element.value)) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validatePhoneNumber(element, msg, settingUp) {
  if (!isBlankOrNull(element.value) && !isPhoneNumber(element.value)) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateMemberID(element, msg, settingUp) {
  if (!isBlankOrNull(element.value)
      && (!(/^[a-z]+?[a-z0-9_]+$/g).test(element.value)) || element.value.length < 4 || element.value.length > 12) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateEmailDomain(element, msg, settignUp) {
  if (!isBlankOrNull(element.value) && !isEmailDomain(element.value)) {
    alert(msg);
    if (settignUp) element.focus();
    return false;
  }
  return true;
}

function validateLength(element, length, msg, settingUp) {
  if (!isBlankOrNull(element.value) && element.value.length != length) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateInteger(element, msg, settingUp) {
  if (!isBlankOrNull(element.value) && !isNumber(element.value)) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateChecked(element, msg, settingUp) {
  if (element.checked == false) {
    alert(msg);
    if (settingUp) element.focus();
    return false;
  }
  return true;
}

function validateResNo(element1, element2, msg, settingUp) {
  if (!isBlankOrNull(element1.value) && !isBlankOrNull(element2.value) && !isResNo(element1.value + '-' + element2.value)) {
    alert(msg);
    if (settingUp) element1.focus();
    return false;
  }
  return true;
}


function setCookie(name, value, expiredays) {
  var todayDate = new Date();
  todayDate.setDate(todayDate.getDate() + expiredays);
  document.cookie = name + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}

function getCookie(name) {
  var search = name + "=";
  if (document.cookie.length > 0) {
    var offset = document.cookie.indexOf(search);
    if (offset != -1) {
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) {
        end = document.cookie.length;
      }
      return unescape(document.cookie.substring(offset, end));
    }
  }
}

/** scroll X and Y */
function Point(x, y) {
  this.x = x;
  this.y = y;
}

function getScrollPoint() {
  var x, y;
  if (window.self.pageYOffset) {
    x = window.self.pageXOffset;
    y = window.self.pageYOffset;
  } else if (document.documentElement.scrollTop) {
    x = document.documentElement.scrollLeft;
    y = document.documentElement.scrollTop;
  } else if (document.body != null) {
    x = document.body.scrollLeft;
    y = document.body.scrollTop;
  }
  return new Point(x, y);
}

var orgY = 0;
var term = 100;
function moveQuickMenu() {
  var quick = document.getElementById('quick-menu');
  var point = getScrollPoint();

  var yFrom = parseInt(quick.style.top, 10);
  var yTo = Math.max(point.y + orgY - term, orgY);
  
  var tick = 300;
  if (yTo != yFrom) {
    var offset = Math.ceil(Math.abs(yFrom - yTo) / 12);
    if (yTo < yFrom) {
      offset = -offset;
    }
    quick.style.top = (parseInt(quick.style.top, 10) + offset) + 'px';
    tick = 10;
  }

  setTimeout("moveQuickMenu()", tick);
}

var setQuickPosition = function() {
  var obj = null;
  if ((obj = document.getElementById('quick-menu'))) {
    if (obj.currentStyle) {
      orgY = parseInt(obj.currentStyle['top']);
    } else {
      orgY = parseInt(document.defaultView.getComputedStyle(obj, null).getPropertyValue('top'), 10);
    }
	obj.style.top = orgY + 'px';
    moveQuickMenu();
  }
}

/** input type ?? */

function setOverColor() {
  this.style.backgroundColor = '#FFFFD6';
}

function setOutColor() {
  this.style.backgroundColor = '#FFFFFF';
}

function setHover(el) {
  el.onmouseover = setOverColor;
  el.onmouseout = setOutColor;
}

var setColor = function () {
  var els = document.body.getElementsByTagName('INPUT');
  for (i = 0; i < els.length; ++i) {
    if (els[i].type == 'text' || els[i].type == 'password') {
  	  setHover(els[i]);
  	}
  }
  els = document.body.getElementsByTagName('TEXTAREA');
  for (i = 0; i < els.length; ++i) {
    setHover(els[i]);
  }
  els = document.body.getElementsByTagName('SELECT');
  for (i = 0; i < els.length; ++i) {
    //setHover(els[i]);
  }
}

var setFocus = function() {
  if (document.forms.length != 0) {
  	var form = document.forms[0];
  	var els = form.getElementsByTagName('input');
  	for (var i  = 0; i < els.length; ++i) {
  	  if (els[i].type == 'text') {
  	    els[i].focus();
  	    return;
  	  }
  	}
  }
}

if (window.attachEvent) {
  window.attachEvent("onload", setColor);
  window.attachEvent("onload", setQuickPosition);
  window.attachEvent("onload", setFocus);
} else {
  window.addEventListener("load", setQuickPosition, true);
  window.addEventListener("load", setFocus, true);
}
-->