﻿// handles onload functions
if (document.addEventListener) {
    // set the main onload function
    document.addEventListener("DOMContentLoaded", cc_initApp, false);
}
else if(document.onreadystatechange) {
    // set the main onload function
    document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
    var script = document.getElementById("__ie_onload");
    script.onreadystatechange = function() {
        if (this.readyState == "complete") {
            cc_initApp(); // call the onload handler
        }
    }
}
else {
    // set the main onload function
    window.onload = cc_initApp;
}
// IMPORTANT - this innocuous little function ensures that javascript resets if user clicks browser back/ forward
window.onunload = function(){};

// apply event handlers, if necessary
function cc_initApp() {
    // look for a behaviours array
    if(typeof(arrBehaviours)=="object" && typeof(arrBehaviours.join)=="function") {
        for(var i = 0; i < arrBehaviours.length; i++) {
            var b = arrBehaviours[i];
            // look for the element to which we attach this event handler
            var obj = document.getElementById(b[0]);
            if(obj) {
                cc_addListener(obj,b[1],b[2]);
            }
            else {
                var objArray = getElementsByClassName(b[0]);
                for(var j = 0; j < objArray.length; j++) {
                    cc_addListener(objArray[j],b[1],b[2]);
                }
            }
        }
    }
    if(typeof(cc_globalOnload)=="function") {
        cc_globalOnload();
    }
    if(typeof(cc_pageOnload)=="function") {
        cc_pageOnload();
    }
}
// add an event listener to an object
function cc_addListener(obj,strEvent,objFn) {
    if(typeof(obj)=="string") {
        var o = document.getElementById(obj);
        if(o) cc_addListener(o,strEvent,objFn);
        else {
            objArray = getElementsByClassName(obj);
            for(var i = 0; i < objArray.length; i++) {
                cc_addListener(objArray[i],strEvent,objFn);
            }
        }
    }
    else if(obj) {
        // mozilla model
        if(document.addEventListener) obj.addEventListener(strEvent,objFn,false);
        // ie model
        else obj.attachEvent("on"+strEvent,objFn);
    }
}
