var buildMenu = new Class ({

	Implements:Options,
	
	initialize: function(options){
		this.setOptions(options);
		this.getMenu();
	},

	options: {
		filename: 'menu.json'
	},

	getMenu: function() {
		var myJSONRemote = new Request.JSON({url: this.options.filename, secure: false, onComplete: function(menu) {
			myMenu = new Hash(menu);
			myMenu.each(function(values,name) {
				if ($type(name)) {
					var toggler = {};
					toggler = new Element("div").addClass("toggler");
					toggler.adopt(new Element("div").addClass("carteRose"));
					toggler.adopt(new Element("div").addClass("carteTitle").set("html", name));
					toggler.adopt(new Element("div").addClass("clearfix"));
					$("carte").adopt(toggler);
					var element = new Element("div").addClass("element");
					for(var i=0; i<values.length;i++) {
						var eltContent = new Element("div").addClass("carteElement");
						var reg = new RegExp("( ou )", "i");
						values[i].name = values[i].name.replace(reg, "<br/>$1"); 
						eltContent.adopt(new Element("div").addClass("carteLabel").set("html", values[i].name));
						if (values[i].price == '') eltContent.adopt(new Element("div").addClass("cartePrice").set("html", values[i].price+'&nbsp;')); 
							else eltContent.adopt(new Element("div").addClass("cartePrice").set("html", values[i].price+' €'));
						eltContent.adopt(new Element("div").addClass("clearfix"));
						element.adopt(eltContent);
						if ((values[i].name.match(reg)) || (values[i].name = '')) {
							eltContent.getElement("*[class*=cartePrice]").setStyle("border","0px");
						}
					}
					$("carte").adopt(element);
				}
			}.bind(this));
			this.buildAccordion();
		}.bind(this)}).get();
	},

	buildAccordion: function() {
		var acc = new Accordion($$('div.toggler'), $$('div.element'), {
			opacity: false,
			onActive: function(toggler, element){
				toggler.getElement("*[class*=carteRose]").setStyle("background", "url(../images/template/rose_rouge_petite.jpg)");
				toggler.getElement("*[class*=carteTitle]").setStyle("fontWeight",  "bold").setStyle("background", "#f3efd8");
				element.setStyle("marginTop", "5px");
				element.setStyle("marginBottom", "15px");

			},
			onBackground: function(toggler, element){
				toggler.getElement("*[class*=carteRose]").setStyle("background",  "url(../images/template/rose_bleue.jpg)");
				toggler.getElement("*[class*=carteTitle]").setStyle("fontWeight",  "normal").setStyle("background", "#fff");
				element.setStyle("marginBottom", "0px");
				element.setStyle("marginTop", "0px");
			}
		});
	}
});
