﻿var hovercode = {
    getBloggerOn:function(name)
    {
        return function() {
            this.firstChild.src = hovercode.sources[name + "-over"].src;
            hovercode.infobar.innerHTML = hovercode.info[name];
        }
    },
    getBloggerOff:function(name) {
        return function() {
            this.firstChild.src = hovercode.sources[name].src;
            hovercode.infobar.innerHTML = hovercode.info["default"];
        }
    },
    gc:function() {
        for(var i=0;i<hovercode.images.length;i++)
        {
            hovercode.images[i].onmouseover = null;
            hovercode.images[i].onmouseout = null;
        }
    },
    initHover:function() {
        hovercode.infobar = document.getElementById("infobar").firstChild;
        hovercode.info = {
            "default":hovercode.infobar.innerHTML,
            "sinkewc":"Caitlin",
            "combss2":"Sabrina",
            "batters":"Stephanie",
            "wilmotz":"Zach"
        };
        hovercode.images = document.getElementById("bloggers").getElementsByTagName("img");
        hovercode.sources = {};
        
        var name = /blogger=([^&\$]+)/i.exec(window.location.search);
        if (name != null) name = name[1];
        var reg = /(\w+)\.(\w{3,4})$/;
        for(var i=0,len=hovercode.images.length;i<len;i++)
        {
            var matches = reg.exec(hovercode.images[i].src);
            var leftContext = matches.input.substring(0, matches.index);
            if (RegExp.$1 == name) {
                hovercode.images[i].src = leftContext + matches[1] + "-over." + matches[2];
                hovercode.infobar.innerHTML = hovercode.info["default"] = hovercode.info[name];
            } else {
                hovercode.sources[RegExp.$1] = new Image();
                hovercode.sources[RegExp.$1].src = hovercode.images[i].src
                hovercode.sources[RegExp.$1 + "-over"] = new Image();
                hovercode.sources[RegExp.$1 + "-over"].src = leftContext + matches[1] + "-over." + matches[2];
                hovercode.images[i].parentNode.onmouseover = hovercode.getBloggerOn(matches[1]);
                hovercode.images[i].parentNode.onmouseout = hovercode.getBloggerOff(matches[1]);
            }
        }
        window.onunload = hovercode.gc;
    }
}
hovercode.initHover();

var sidebarcode = {
    sideItemOn:function() {this.className += " hoverpost";},
    sideItemOut:function() {this.className = this.className.replace(/ ?hoverpost/, "");},
    initSidebar:function() {
        var sidebar = document.getElementById("sidebar")
        var items = sidebar.getElementsByTagName("li");
        if (items.length > 0) {
            for(var i=0,len=items.length;i<len;i++) {
                if (items[i].className.indexOf("activepost") != -1) continue;
                items[i].onmouseover = sidebarcode.sideItemOn;
                items[i].onmouseout = sidebarcode.sideItemOut;
            }
        } else {
            var s = document.location.search.toLowerCase();
            if (s.indexOf("postmonth") == -1 && s.indexOf("postday") == -1)
                sidebar.style.visibility = "hidden";
        }
    }
}
sidebarcode.initSidebar();