var brx = brx || {};
brx.cms = brx.cms || {};

brx.cms.setPageHeight = function() {

    var cmsElements = $$("div.cms_layer");

    cmsElements = cmsElements.sortBy( function(ele) {
        return ( - ( ele.getDimensions().height + ele.cumulativeOffset().top ) );
    });

    console.log("after sort");
    console.log(cmsElements[0]);

    var lowestElement = cmsElements[0];

    var wrapperElement = $$("div.cms_wrapper")[0];
    var headerNode = $("header");
    var navNode = $("navigation");
    var totalheaderHeight = headerNode.getDimensions().height + navNode.getDimensions().height;
    wrapperElement.style.height
            = lowestElement.getDimensions().height
            + lowestElement.cumulativeOffset().top
            - totalheaderHeight
            + "px";
    
};

brx.cms.initRollovers = function() {
    var images = $$("img.rollover");
    images.each( function (img) {
        img.addClassName("offState");
        img.observe("mouseover", function(e) {
            var thisImg = e.target;
            if (thisImg.hasClassName("offState")) {
                thisImg.removeClassName("offState");
                thisImg.addClassName("onState");
                var newSrc = thisImg.getAttribute("on");
                thisImg.setAttribute("src", newSrc);
            }
        });
        img.observe("mouseout", function(e) {
            var thisImg = e.target;
            if (thisImg.hasClassName("onState")) {
                thisImg.removeClassName("onState");
                thisImg.addClassName("offState");
                var newSrc = thisImg.getAttribute("off");
                thisImg.setAttribute("src", newSrc);
            }
        });


    });
};

document.observe( "dom:loaded", function() {
    // brx.cms.setPageHeight();
    brx.cms.initRollovers();
});



/* 
 * These functions prevent legacy JS in the CMS pages from
 * throwing errors. They have no functional value.
 */ 
var BehaviorRollover = null;
var el = function() {
    return {
         addBehavior : function() {
            return null;
        }
    }
};

