ajax =    {};
ajax.Event =    {};

// ÀÌº¥Æ® ¿ÉÁ®¹ö
ajax.Event.addListener = function(element,name,observer,useCapture) 
{
    useCapture    =    useCapture||false;
    if (element.addEventListener)
    {
        element.addEventListener(name,observer,useCapture);

    } else if (element.attachEvent)
    {
        element.attachEvent('on'+name,observer);
    }

}

// ÀÌº¥Æ® ¿ÉÁ®¹ö Á¦°ÅÇÏ±â
ajax.Event.removeListener = function(element,name,observer,useCapture) 
{
    useCapture    =    useCapture || false;

    if (element.removeEventLisetner)
    {
        element.removeEventListner(name,observer,useCapture);

    }  else if (element.detachEvent)
    {
        elemnet.detachEvent('on'+name,observer);
    }
}

// ¸¶¿ì½º ÀÌº¥Æ® °ü·ÃµÈ Å¸ÄÏ Àâ±â
ajax.Event.getTarget = function(event) 
{
    if (event == null)
    {
        return null;
    }

    if (event.target)
    {
        return event.target;

    } else if (event.srcElement)
    {
        return event.srcElement;

    } else
    {
        return null;
    }
}

// ¸¶¿ì½º ÁÂÇ¥ ÀÌº¥Æ®
ajax.Event.getMouseXY    =    function(event) 
{

    var mouseX    =    event.clientX;
    var mouseY    =    event.clientY;
    var    dd    =    document.documentElement;
    var db    =    document.body;

    if (dd)
    {
        mouseX    +=    dd.scrollLeft;
        mouseY    +=    dd.scrollTop;

    } else if (db)
    {
        mouseX    +=    db.scrollLeft;
        mouseY    +=    db.scrollLeft;
    }

    return {x: mouseX, y: mouseY};
}

//¸¶¿ì½º ÁÂÅ¬¸¯ ÀÌº¥Æ® Àâ±â
ajax.Event.isLeftButton = function(event) 
{
    return (event.which) ?
        event.which == 1 && event.button == 0:
        (event.type == 'click') ? event.button == 0 : event.button == 1;

}

// ¸¶¿ì½º ¿ìÅ¬¸¯ ÀÌº¥Æ® Àâ±â
ajax.Event.isRightButton = function(event)
{
    return event.button == 2;
}

// ÀÌº¥Æ®ÀÇ ¹öºí¸µÀ» ¸·´Â´Ù. 3¿ù 29ÀÏ ¿ÀÀü¿¡ ºê¸®ÇÎÇÑ ³»¿ë
ajax.Event.stopPropagation = function(event) 
{
    if (event.stopPropagation) {
        event.stopPropagation();
    } else {
        event.cancelBubble = true;
    }
}

ajax.Event.preventDefault = function(event)
{
    if (event.preventDefault) {
        event.preventDefault();
        
    } else {
        event.returnValue    =    false;
    }
}

ajax.Event.stopEvent = function(event)
{
    ajax.Event.stopPropagation(event);
    ajax.Event.preventDefault(event);
}

function createRequest() {
  try {
    request = new XMLHttpRequest();
  } catch (tryMS) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (otherMS) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = null;
      }
    }
  }
  return request;
}

// Æ¯Á¤ DIV¿¡ °ªÀ» ³Ö°Å³ª ·Î±×¸¦ Âï¾îº»´Ù.
function log(logText,zoneID) {        
    logz    =    document.getElementById(zoneID);

    if (logz != null)
    {
        logz.innerHTML    +=    logText+"<br>";
    }
    
}
