﻿function addMEvent(obj, type, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(type, fn, false);
        EventCache.add(obj, type, fn);
    }
    else if (obj.attachEvent) {
        obj["e" + type + fn] = fn;
        obj[type + fn] = function() { obj["e" + type + fn](window.event); }
        obj.attachEvent("on" + type, obj[type + fn]);
        EventCache.add(obj, type, fn);
    }
    else {
        obj["on" + type] = obj["e" + type + fn];
    }
}

var EventCache = function() {
    var listEvents = [];
    return {
        listEvents: listEvents,
        add: function(node, sEventName, fHandler) {
            listEvents.push(arguments);
        },
        flush: function() {
            var i, item;
            for (i = listEvents.length - 1; i >= 0; i = i - 1) {
                item = listEvents[i];
                if (item[0].removeEventListener) {
                    item[0].removeEventListener(item[1], item[2], item[3]);
                };
                if (item[1].substring(0, 2) != "on") {
                    item[1] = "on" + item[1];
                };
                if (item[0].detachEvent) {
                    item[0].detachEvent(item[1], item[2]);
                };
                item[0][item[1]] = null;
            };
        }
    };
} ();



function initMenu() {
    if (-1 == document.getElementById('mHome').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mAbout'), 'mouseover', function() { document.getElementById('mHome').className = 'mHomeLeftOfSelected'; });
        addMEvent(document.getElementById('mAbout'), 'mouseout', function() { document.getElementById('mHome').className = 'mHome'; })
    }
    else if (-1 == document.getElementById('mHome').className.indexOf('Left')) {
        addMEvent(document.getElementById('mAbout'), 'mouseover', function() { document.getElementById('mHome').className = 'mHomeSelectedRightHover'; });
        addMEvent(document.getElementById('mAbout'), 'mouseout', function() { document.getElementById('mHome').className = 'mHomeSelected'; });
    }

    // About Us -> Campus
    if (-1 == document.getElementById('mAbout').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mCampus'), 'mouseover', function() { document.getElementById('mAbout').className = 'mAboutLeftOfSelected'; });
        addMEvent(document.getElementById('mCampus'), 'mouseout', function() { document.getElementById('mAbout').className = 'mAbout'; });
    }
    else if (-1 == document.getElementById('mAbout').className.indexOf('Left')) {
        addMEvent(document.getElementById('mCampus'), 'mouseover', function() { document.getElementById('mAbout').className = 'mAboutSelectedRightHover'; });
        addMEvent(document.getElementById('mCampus'), 'mouseout', function() { document.getElementById('mAbout').className = 'mAboutSelected'; });
    }

    // Campus -> Building
    if (-1 == document.getElementById('mCampus').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mBuilding'), 'mouseover', function() { document.getElementById('mCampus').className = 'mCampusLeftOfSelected'; });
        addMEvent(document.getElementById('mBuilding'), 'mouseout', function() { document.getElementById('mCampus').className = 'mCampus'; });
    }
    else if (-1 == document.getElementById('mCampus').className.indexOf('Left')) {
        addMEvent(document.getElementById('mBuilding'), 'mouseover', function() { document.getElementById('mCampus').className = 'mCampusSelectedRightHover'; });
        addMEvent(document.getElementById('mBuilding'), 'mouseout', function() { document.getElementById('mCampus').className = 'mCampusSelected'; });
    }


    // Building -> ITInfrastructure
    if (-1 == document.getElementById('mBuilding').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mITInfrastructure'), 'mouseover', function() {
            document.getElementById('mBuilding').className = 'mBuildingLeftOfSelected';
        });

        addMEvent(document.getElementById('mITInfrastructure'), 'mouseout', function() {
            document.getElementById('mBuilding').className = 'mBuilding';
        });
    }
    else if (-1 == document.getElementById('mBuilding').className.indexOf('Left')) {
    addMEvent(document.getElementById('mITInfrastructure'), 'mouseover', function() {
            document.getElementById('mBuilding').className = 'mBuildingSelectedRightHover';
        });

        addMEvent(document.getElementById('mITInfrastructure'), 'mouseout', function() {
            document.getElementById('mBuilding').className = 'mBuildingSelected';
        });
    }

    // ITInfrastructure -> Project
    if (-1 == document.getElementById('mITInfrastructure').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mProject'), 'mouseover', function() {
        document.getElementById('mITInfrastructure').className = 'mITInfrastructureLeftOfSelected';
        });

        addMEvent(document.getElementById('mProject'), 'mouseout', function() {
        document.getElementById('mITInfrastructure').className = 'mITInfrastructure';
        });
    }
    else if (-1 == document.getElementById('mITInfrastructure').className.indexOf('Left')) {
        addMEvent(document.getElementById('mProject'), 'mouseover', function() {
        document.getElementById('mITInfrastructure').className = 'mITInfrastructureSelectedRightHover';
        });

        addMEvent(document.getElementById('mProject'), 'mouseout', function() {
        document.getElementById('mITInfrastructure').className = 'mITInfrastructureSelected';
        });
    }

    // Project -> Health
    if (-1 == document.getElementById('mProject').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mHealth'), 'mouseover', function() {
            document.getElementById('mProject').className = 'mProjectLeftOfSelected';
        });

        addMEvent(document.getElementById('mHealth'), 'mouseout', function() {
            document.getElementById('mProject').className = 'mProject';
        });
    }
    else if (-1 == document.getElementById('mProject').className.indexOf('Left')) {
        addMEvent(document.getElementById('mHealth'), 'mouseover', function() {
            document.getElementById('mProject').className = 'mProjectSelectedRightHover';
        });

        addMEvent(document.getElementById('mHealth'), 'mouseout', function() {
            document.getElementById('mProject').className = 'mProjectSelected';
        });
    }

    // Health -> Sustainability
    if (-1 == document.getElementById('mHealth').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mSustainability'), 'mouseover', function() {
            document.getElementById('mHealth').className = 'mHealthLeftOfSelected';
        });

        addMEvent(document.getElementById('mSustainability'), 'mouseout', function() {
            document.getElementById('mHealth').className = 'mHealth';
        });
    }
    else if (-1 == document.getElementById('mHealth').className.indexOf('Left')) {
    addMEvent(document.getElementById('mSustainability'), 'mouseover', function() {
            document.getElementById('mHealth').className = 'mHealthSelectedRightHover';
        });

        addMEvent(document.getElementById('mSustainability'), 'mouseout', function() {
            document.getElementById('mHealth').className = 'mHealthSelected';
        });
    }

    // Sustainability -> Contact
    if (-1 == document.getElementById('mSustainability').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mContact'), 'mouseover', function() {
        document.getElementById('mSustainability').className = 'mSustainabilityLeftOfSelected';
        });

        addMEvent(document.getElementById('mContact'), 'mouseout', function() {
        document.getElementById('mSustainability').className = 'mSustainability';
        });
    }
    else if (-1 == document.getElementById('mSustainability').className.indexOf('Left')) {
        addMEvent(document.getElementById('mContact'), 'mouseover', function() {
        document.getElementById('mSustainability').className = 'mSustainabilitySelectedRightHover';
        });

        addMEvent(document.getElementById('mContact'), 'mouseout', function() {
        document.getElementById('mSustainability').className = 'mSustainabilitySelected';
        });
    }

    // Contact -> Info
    if (-1 == document.getElementById('mContact').className.indexOf('Selected')) {
        addMEvent(document.getElementById('mInfo'), 'mouseover', function() {
            document.getElementById('mContact').className = 'mContactLeftOfSelected';
        });

        addMEvent(document.getElementById('mInfo'), 'mouseout', function() {
            document.getElementById('mContact').className = 'mContact';
        });
    }
    else if (-1 == document.getElementById('mContact').className.indexOf('Left')) {
        addMEvent(document.getElementById('mInfo'), 'mouseover', function() {
            document.getElementById('mContact').className = 'mContactSelectedRightHover';
        });

        addMEvent(document.getElementById('mInfo'), 'mouseout', function() {
            document.getElementById('mContact').className = 'mContactSelected';
        });
    }
}


addMEvent(window, 'unload', EventCache.flush);

if (window.MooTools)
    window.addEvent('domready', initMenu);
else
    addMEvent(window, 'load', initMenu);
