function astampaMenu(parent) {
    var _class = this;
    var minima = 60;
    var media;
    var massima;
    var opts = {
        positions: [false, false, false, false, false],    
        bgOver: ["#FFF", "#0FF", "#F0F", "#FF0", "#000"],
        bgOut: "#333",
        labelOver: ["#000", "#000", "#000", "#000", "#FFF"],
        itemClass: ["white", "cyan", "magenta", "yellow", "black"],
        movingNum: null,
        duration: 350,
        active: 0
    };
    var menu_prop;
    var menu;
    var menuTimeout;    
    
    (function _constructor() {
        menu = $("#menu");
        
        menu_prop = {
           "width": menu.find("ul").width()
        };
        
        //$.log("Menu width: " + menu.width());
        
        media = menu_prop.width/opts.positions.length;
        massima = menu_prop.width-(minima*(opts.positions.length-1));
        
        menu.find("ul li:first").css({
            "border": 0
        });
        
        var i=0;
        menu.find("ul>li").each(function() {
            $(this).css({
                "width": 780,
                "left": (i*media)+"px",
                "z-index": 2*i
            });
            $(this).bind({
                "mouseover": function() {
                    if (opts.movingNum !== $(this).index()) {
                        moveTab($(this).index());
                    }
                    opts.movingNum = $(this).index();
                },
                "click": function() {
                    var cIndex = $(this).index();
                    if (opts.active != cIndex) {
                        //$.log("Pulsante "+cIndex+" cliccato!");
                        _class.setActive(cIndex);
                        parent.loadPage($(this).find("a").attr("href"));
                    }
                    return false;
                }
            });
            i++;
        });
        menu.bind("mouseout", function() {
            opts.movingNum = null;
            resetTabs();
        });
    })();
    
    function moveTab(tab) {
        for (var i=0; i<opts.positions.length; i++) {
            var className;
            if (i == 4) {
                className = "white";
            } else {
                className = "black";
            }
            if(i == tab) {
                menu.find("ul>li:eq("+i+")").stop(true).animate({"left": i*minima, "backgroundColor": opts.bgOver[i]}, opts.duration, "easeInOutQuint").find("a").addClass(className);
            }
            i < tab && i != tab ? menu.find("ul>li:eq("+i+")").stop(true).animate({"left": i*minima, "backgroundColor": opts.bgOver[i]}, opts.duration, "easeInOutQuint").find("a").addClass(className) : null;
            i > tab && i != tab ? menu.find("ul>li:eq("+i+")").stop(true).animate({"left": i*minima+massima-minima, "backgroundColor": opts.bgOver[i]}, opts.duration, "easeInOutQuint") : null;
        }
    }
    
    function resetTabs() {
        for (i=0; i<opts.positions.length; i++) {
            menu.find("ul>li:eq("+i+")").stop(true).animate({"left": i*media, "backgroundColor": opts.bgOut}, opts.duration, "easeInOutExpo", function() {
                if (i == opts.positions.length) {
                    opts.movingNum = null;
                    $(this).css("backgroundColor", "");
                     _class.setActive(opts.active);
                }
            }).find("a").removeClass();
    	}
    }

    _class.setActive = function(i) {
        menu.find("li:eq("+opts.active+")").removeClass("active");
        menu.find("li:eq("+i+")").addClass("active");
        opts.active = i;
    }
}
