/*@charset="Shift_JIS" */

// addEventListener/attachEvent を呼ぶ
function pushEventListener(target, type, listener, useCapture)
{
  if (target)
  {
    if (target.addEventListener)
      target.addEventListener(type, listener, Boolean(useCapture));
    else if (target.attachEvent)
      target.attachEvent("on" + type, listener);
  }
  return;
}

// 要素の className に needle が含まれているかどうかを調べる
function hasClassName(element, needle)
{
  var classes, i;
  if (element && element.className && element.className.split &&
      (classes = element.className.split(/\s+/)))
    for (i = 0; i < classes.length; ++i)
      if (classes[i] == needle)
        return true;
  return false;
}

// DOMNodeList のスナップショットを普通の配列にする
function nodeListToArray(nodeList)
{
  var arr, i;
  if (nodeList && nodeList.item)
  {
    arr = [];
    for (i = 0; i < nodeList.length; ++i)
      arr[arr.length++] = nodeList.item(i);
    return arr;
  }
  return null;
}
