/**
 * Unobtrusive Image Rollovers
 * By: Paul McLanahan <paul dot mclanahan at digital insight>
 */
var Roll = {
    
    imgObjects: [],
    
    init: function(){		
        if(!document.getElementsByTagName)return;
        all_links = document.getElementsByTagName('a');
        for(var i = 0; i < all_links.length; i++){
            var linkObj = all_links[i]; 
            if (linkObj.className && (' ' + linkObj.className + ' ').indexOf(' rollover ') != -1){
                if (linkObj.childNodes && 
                    linkObj.childNodes.length == 1 && 
                    linkObj.firstChild.nodeName.toLowerCase() == 'img' &&
                    /_off\.[a-z]{3}$/.test(linkObj.firstChild.src)){
                    // preload rollover images
                    Roll.imgObjects[Roll.imgObjects.length] = new Image();
                    Roll.imgObjects[Roll.imgObjects.length-1].src = linkObj.firstChild.src.replace(/_off(\.[^.]{3})$/,"_on$1");
                    
                    // add mouseover and mouseout event handlers to links
                    libDI.addEvent(linkObj,'mouseover',Roll.imgOn,false);
                    libDI.addEvent(linkObj,'mouseout',Roll.imgOff,false);
                }
            }
        }
    },
    
    imgOn: function(e){
        linkObj = libDI.getTarget(e,'a');
        if(!linkObj)return;
        linkObj.firstChild.src = linkObj.firstChild.src.replace(/_off(\.[a-z]{3})$/,"_on$1");
    },
    
    imgOff: function(e){
        linkObj = libDI.getTarget(e,'a');
        if(!linkObj)return;
        linkObj.firstChild.src = linkObj.firstChild.src.replace(/_on(\.[a-z]{3})$/,"_off$1");
    }
    
}
/* for other browsers */
libDI.addEvent(window,'load',Roll.init,false);
