/*************************************************************
 * ´ë»ó°´Ã¼¿¡ ÀÌº¥Æ®¸¦ °ü¸®ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â Å¬·¹½º. 
 * À¥Ç¥ÁØ °ü·ÃÇÏ¿©, »ç¿ëÀÚ È­¸é¿¡ °¡´ÉÇÑ ÀÌº¥Æ® ÇÔ¼ö¸¦ »ç¿ëÇÏÁö
 * ¾Ê±â À§ÇØ ÄÄÆ÷³ÍÆ®È­ÇÏ¿© »ç¿ëÇÑ´Ù.
 * I-Cross ¹æ±â¹è
 * 2007. 09. 11
**************************************************************/
var paid = {};
paid.UserEvent = {};

/*************************************************************
 * ´ë»ó°´Ã¼¿¡ ÀÌº¥Æ® ¸®½º³Ê µî·Ï
 *************************************************************/
paid.UserEvent.addListener = function(element, event_name, userFunction, useCapture) {
    useCapture = useCapture || false;
	try {	
		if (element.addEventListener) {
			element.addEventListener(event_name, userFunction, useCapture);
		} else if (element.attachEvent) {
			element.attachEvent('on' + event_name, userFunction);
		}
	} catch(exception) {
		/*
		alert("¿À·ù³»¿ë : " + exception + "\r\n´ë»ó °´Ã¼ : " + element 
			+ " : addListener() on" + event_name + "() ÇÔ¼ö Ãß°¡½Ã ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.");
		*/
	}		
}

/*************************************************************
 * ´ë»ó°´Ã¼¿¡¼­ ÀÌº¥Æ® ¸®½º³Ê »èÁ¦
 *************************************************************/
paid.UserEvent.removeListener = function(element, event_name, userFunction, useCapture) {
	useCapture = useCapture || false;
	try {
		if (element.removeEventListener) {
			element.removeEventListener(event_name, userFunction, useCapture);
		} else if (element.detachEvent) {
			element.detachEvent('on' + event_name, userFunction);
		}
	} catch(exception) {
		/*
		alert("¿À·ù³»¿ë : " + exception + "\r\n´ë»ó °´Ã¼ : " + element 
			+ " : addListener() on" + event_name + "() ÇÔ¼ö »èÁ¦½Ã ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.");
		*/
	}
}

/*************************************************************
 * ´ë»ó°´Ã¼ Á¤º¸ ¾ò±â
 * ÀÌº¥Æ® ´ë»ó : target.nodeName
 * ´ë»óÀÇ ID   : target.id
 * ÀÌº¥Æ® Å¸ÀÔ : event.type
 *************************************************************/
paid.UserEvent.getTarget = function(event) {
	if (event == null) 
		return null;
	if (event.target) 
		return event.target;
	else if (event.srcElement) 
		return event.srcElement;
	return null;
}

/*************************************************************
 * ÀüÃ¼ ÀÌº¥Æ® °ü·Ã Çàµ¿ ÁßÁö
 * ÀÌº¥Æ®¶õ ÀÚ½Ä °´Ã¼¿¡¼­ ¹ß»ýÇÑ °æ¿ì ºÎ¸ð±îÁö ÀÌº¥Æ®°¡
 * ºÎ¸ð¿Í ÀÚ½ÄÀÌ °¢°¢ ´Ù¸¥ ¿ªÇÒÀ» ÇØ¾ß ÇÑ´Ù¸é ÀüÆÄ¸¦ 
 * ¸·¾ÆÁÖµµ·Ï ÇÑ´Ù.
 * ¿¹¸¦ µé¾î <div id="parent"><div id="child"></div></div>
 * ÀÎ ÇüÅÂ°¡ ÀÖ´Ù°í ÇÏ¸é child¿¡¼­ onclick() ÀÌº¥Æ®°¡ ¹ß»ýÇÏ¸é
 * ºÎ¸ðÀÎ parent¿¡°Ô¼­µµ µ¿ÀÏÇÏ°Ô onclick ÀÌº¥Æ®°¡ ¹ß»ýÇÑ´Ù.
 *************************************************************/
paid.UserEvent.stopEvent = function(event) {
	paid.UserEvent.stopPropagation(event);
	paid.UserEvent.preventDefault(event);
}
/*************************************************************
 * ÀÌº¥Æ® ÀüÆÄ ÁßÁö
 *************************************************************/
paid.UserEvent.stopPropagation = function(event) {
	if (event.stopPropagation) {
	    event.stopPropagation();
	} else {
	    event.cancelBubble = true;
	}
}
/*************************************************************
 * ÀÌº¥Æ® ÀüÆÄ ÁßÁö
 *************************************************************/
paid.UserEvent.preventDefault = function(event) {
	if (event.preventDefault) {
	    event.preventDefault();
	} else {
	    event.returnValue = false;
	}
}

/*************************************************************
 * ÄÚµù·®À» Á¶±ÝÀÌ¶óµµ ÁÙÀÌ·Á°í Ãß°¡.
 *************************************************************/
function getObject(objId) {
	var idObject;
	if(objId) {
		return document.getElementById(objId);
	}
	return null;
}


/*************************************************************
 * »ç¿ë¿¹½Ã
 * 
 * 	window.onload = function() {
 * 		paid.UserEvent.addListener(getObject("name"), "event name", function name, useCapture);
 * 	}
 * 
 *  name
 *   - html ÅÂ±× ³»ÀÇ id ¸íÀ» ÀÔ·ÂÇÑ´Ù.
 *   - ¿¹ : <input id="obj" type.... />¶ó´Â ÅÂ±×°¡ ÀÖ´Ù¸é "obj"¸¦ ÀÔ·ÂÇÑ´Ù.
 *  event name
 *   - ÀÌº¥Æ® ¸íÀ» Àû¾îÁÖ¸ç "" <-- ¹®ÀÚ¿­·Î ³Ñ±ä´Ù.
 *   - ¿¹: "click", "focus", "keydown" 
 *  function name
 *   - ÇÔ¼ö¸íÀ» Àû´Â´Ù.
 *   - ¹®ÀÚ¿­ÀÌ ¾Æ´ÔÀ» ÁÖÀÇ
 *   - ¿¹ : doSubmit, getZipCode,
 *  
 *  useCapture
 *   - true ¶Ç´Â false °ªÀ» »ç¿ëÇÑ´Ù.
 *   - Ã¢¿¡¼­ ¹ß»ýÇÑ ÀÌº¥Æ®¸¦ ºÎ¸ð¿¡¼­ Ã»ÃëÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.
 * 
 *************************************************************/



