(function() {
    YAHOO.namespace("Armanino");
    var Dom = YAHOO.util.Dom,
        Event = YAHOO.util.Event,
        navLinkMgr = YAHOO.Armanino.SpriteNavigationManager = function(config) {
						this.navZeroPoint = "-" + config.navZeroPoint + "px";
						this.linkPositionMap = [
								["Home", "-50px"],
								["About Us", "-50px"],
								["Join The Family", "-50px"],
								["Vineyards", "-50px"],
								["Wines", "-50px"],
								["What's New", "-50px"],
								["Contact Us", "-500px"]
						];
						this.linkMap = {};
						this.init();
				}
    
    navLinkMgr.prototype.init = function() {
        Event.on(window, "load", function() {
            this.fixNavigation();
            this.setupListeners();
            
        }, this, true);
        
    }
    
    navLinkMgr.prototype.fixNavigation = function() {
        this.navRootEl = Dom.get("topMenu");
        this.listEl = Dom.getElementBy(function(){return true;}, "ul", this.navRootEl);
        this.linkEls = Dom.getElementsBy(function() {return true;}, "li", this.listEl);
        this.linkWidths = ["45", "76", "128", "83", "50", "101", "94"];
        this.linkMargins = ["19", "20", "20", "19", "21", "21", "0"];
            
        for (var i=0, listCount = this.linkEls.length; i < listCount; i++) {
            Dom.setStyle(this.linkEls[i], "width", this.linkWidths[i] + "px");
            Dom.setStyle(this.linkEls[i], "margin-right", this.linkMargins[i] + "px");
        }
        return true;
    }
    
    navLinkMgr.prototype.setupListeners = function() {
        this.navLinkEls = Dom.getElementsBy(function() {return true;}, "a", this.listEl);
        
        for (var i=0, listCount = this.navLinkEls.length; i < listCount; i++) {
            this.linkMap[this.linkPositionMap[i][0]] = {
                el: this.navLinkEls[i],
                offset: this.linkPositionMap[i][1]
            }
        }
        for (var i=0, listCount = this.navLinkEls.length; i < listCount; i++) {
						Event.on(this.linkMap[this.linkPositionMap[i][0]].el, "mouseover", this.rollOn, {
								"target": this.linkPositionMap[i][0]
						}, this);
						Event.on(this.linkMap[this.linkPositionMap[i][0]].el, "mouseout", this.rollOff, this, true);
        }
        return true;
    }
    
    navLinkMgr.prototype.rollOn = function(evt, obj) {
        Dom.setStyle(this.listEl, "background-position-y", this.linkMap[obj.target].offset);
    }
    
    navLinkMgr.prototype.rollOff = function() {
        Dom.setStyle(this.listEl, "background-position-y", this.navZeroPoint);
    }
    
    window.SpriteNavigationManager = navLinkMgr;
    YAHOO.Armanino.SpriteNavigationManager = navLinkMgr;
    
    // Event.on(window, "load", function(evt, obj) {
//         window.navLinkMgr = new obj();
//         fixNavigation();
//         
//     }, SpriteNavigationRollManager);

})();
