window.addEvent("domready", function() {
	var fade = 0.85;
	var full = 1;
	var slidefxs = [];
	var fadefxs = [];
	var timer = 0;
	var subslidefxs = [];
	var subfadefxs = [];
	var submenus = $$('#submenu li');
	var submenu = $('submenu');
	var subdelay = [];
	submenus.each(function(sub, j) {
		subfadefxs[j] = new Fx.Tween(sub, {wait: false, duration: 200, property: 'opacity'}).set(fade);
		subslidefxs[j] = new Fx.Tween(sub, {
			property: 'margin-left',
			wait: false,
			transition: Fx.Transitions.Back.easeOut,
			duration: 400
		}).set(-239);
	});
	var lis = $$('#menu li')
	lis.each(function(li, i) {
		li.setStyle('background-color', '#313131');
		fadefxs[i] = new Fx.Tween(li, {wait: false, duration: 200, property: 'opacity'}).set(fade);
		li.addEvent("mouseleave", function() {
			if(i==0) {
			} else {
				fadefxs[i].start(fade);
			}
		});
		timer += 200;
		slidefxs[i] = new Fx.Tween(li, {
			property: 'margin-left',
			wait: false,
			transition: Fx.Transitions.Back.easeOut,
			duration: 400
		}).set(-224);
		slidefxs[i].start.delay(timer, slidefxs[i], '-20px');
		li.addEvent("mouseenter", function() {
			fadefxs[i].start(full);
			if(i==0) {
				subShow();
				submenu.addEvent("mouseenter", function() {
					fadefxs[i].set(full);
				});
				submenu.addEvent("mouseleave", function() {
					subHide();
				});
			} else {
				subHide();
			}
		});
	});
	var subShowing = false;
	function subHide() {
		if(subShowing) {
			fadefxs[0].start(fade);
			subShowing = false;
			submenus.each(function(sub, i) {
				$clear(subdelay[i]);
				subslidefxs[i].cancel();
				subslidefxs[i].set(-239);
			});
		}
	}
	function subShow() {
		if(!subShowing) {
			subShowing = true;
			var subtimer = 0;
			submenus.each(function(sub, j) {
				subdelay[j] = subslidefxs[j].start.delay(subtimer, subslidefxs[j], '-20px');
				subtimer += 200;
				sub.addEvent("mouseenter", function() {
					subfadefxs[j].start(full);
				});
				sub.addEvent("mouseleave", function() {
					subfadefxs[j].start(fade);
				});
			});
			subdelay[0] = subdelay[0]-1;
		}
	}
});