window.addEvent("domready", function(ev) {
    $$('.readMore').setStyle("display", "block");
    $$('.readMoreCats').setStyle("display", "block");
    $$('.readMoreProducts').setStyle("display", "block");
    $$('.hidden').setStyle("display", "none");

    $$('.menu a.readMore').addEvent("click", function(ev) {

        new Event(ev).stop( );
        var hs = this.getParent("ul").getElements("li.hidden");
        var ret = this.retrieve("shown");
        if(ret) this.removeClass("less"); else this.addClass("less");
        this.set('html', ret ? '<strong>Show More</strong>' : '<strong>Show Less</strong>');
        hs.setStyle("display", ret ? "none" : "block");
        this.store('shown', !ret);
    });
    
    $$('.categories a.readMoreCats').addEvent("click", function(ev) {

        new Event(ev).stop( );
        var hs = this.getParent("div").getElements("div.hidden");
        var ret = this.retrieve("shown");
        if(ret) this.removeClass("lessCats"); else this.addClass("lessCats");
        this.set('html', ret ? '<strong>Show More Categories</strong>' : '<strong>Show Less Categories</strong>');
        hs.setStyle("display", ret ? "none" : "block");
        this.store('shown', !ret);
    });
    
    $$('.products a.readMoreProducts').addEvent("click", function(ev) {

        new Event(ev).stop( );
        var hs = this.getParent("div").getElements("div.hidden");
        var ret = this.retrieve("shown");
        if(ret) this.removeClass("lessProducts"); else this.addClass("lessProducts");
        this.set('html', ret ? '<strong>Show More Products</strong>' : '<strong>Show Less Products</strong>');
        hs.setStyle("display", ret ? "none" : "block");
        this.store('shown', !ret);
    });
});
