﻿/* EventMan.js*/

function _EventMan() {
/* 이벤트 관리 객체 */
    var EventMan = {};
    EventMan.addListener =function (element,eventName,handler){
        var wEvent = EventMan.getWEventName(eventName);
        if (element[wEvent]) element[wEvent].push(handler);
        else element[wEvent] = new Array(handler);
    };
    EventMan.removeListener =function (element,eventName,handler){
        var j9 = EventMan.qf4(eventName);
        var uhdm7 = element[j9];
        if (uhdm7 && uhdm7.length>0){
            var flag = false;
            for (var i = 0;i<uhdm7.length;i++){
                if (uhdm7[i] == handler){
                    flag = true;
                }
                if (flag && i!=(uhdm7.length-1)){
                    uhdm7[i] = uhdm7[i+1];
                }
            }
            if (flag){
                uhdm7.pop();
            }
        }
    };
    EventMan.trigger =function(element,eventName){
		//tmpNumber++;
		//$('showPanel').innerHTML = '움직인다.. ' + element.container.id + ':' + tmpNumber;
        var wEvent = EventMan.getWEventName(eventName);
        var arrEvent = element[wEvent];
        if(arrEvent&&arrEvent.length>0){
            var args = new Array();
            for(var i = 2;i<arguments.length;i++){
                args.push(arguments[i]);
            }
            args.push(element);
            for(var i = 0;i<arrEvent.length;i++){
                var evtCallBack = arrEvent[i];
                if(evtCallBack){
                    try{
                        evtCallBack.apply(element,args)}
                    catch (e){
                    }
                }
            }
        }
    };
    EventMan.getWEventName =function (eventName){
        return "_wEvent__"+eventName;
    };
    /* 이벤트 관리 객체 정의 끝 */
window.EventMan = EventMan;
};
_EventMan();	