/* 
* SIMPLE EVENT OBSERVER SCRIPT 
* Author: Joel Cass
*/

function Observe(objTarget, strEventName, objFunction) {
    if (!objTarget.aryEvents) {
        objTarget.aryEvents = new Object();
    }
    if (!objTarget.aryEvents[strEventName]) {
        objTarget.aryEvents[strEventName] = new Array();
    }
    objTarget.aryEvents[strEventName][objTarget.aryEvents[strEventName].length] = objFunction;
    objTarget[strEventName] = new Function("Trigger(this, '"+strEventName+"')");
}

function Trigger(objTarget, strEventName) {
    if (objTarget.aryEvents && objTarget.aryEvents[strEventName]) {
        for (var i = 0; i < objTarget.aryEvents[strEventName].length; i++) {
            objTarget.aryEvents[strEventName][i]();
        }
    }
}