var hideBrandDelay = null;
var menuBrandDisplay = false;

var hideResidenceDelay = null;
var menuResidenceDisplay = false;

var hideHotelDelay = null;
var menuHotelDisplay = false;

function showBrandMenu() {
	if (hideBrandDelay) 
		cancelBrandHide();
		
	if (!menuBrandDisplay) {
		menuBrandDisplay = true;
		
		var menuEffects = new Fx.Elements($('brand'));
		menuEffects.start({
			'0': {
			'height': [0,58]
			}
		});
	} else if ($('brand').offsetHeight > 58) {
		var menuEffects = new Fx.Elements($('brand'));
		menuEffects.start({
			'0': {
			'height': [$('brand').offsetHeight,58]
			}
		});
	}
}

function hideBrandMenu() {
	hideBrandDelay = setTimeout("hideBrand()",300);
}

function cancelBrandHide() {
	clearTimeout(hideBrandDelay);
}

function hideBrand() {
	menuBrandDisplay = false;
	
	var menuEffects = new Fx.Elements($('brand'));
	menuEffects.start({
		'0': {
		'height': [$('brand').offsetHeight,0]
		}
	});
}

function showResidenceMenu() {
	cancelBrandHide();
	if (hideResidenceDelay) 
		cancelResidenceHide();
		
	if (!menuResidenceDisplay) {
		menuResidenceDisplay = true;
		
		var brandEffects = new Fx.Elements($('brand'));
		brandEffects.start({
			'0': {
			'height': [$('brand').offsetHeight,($('brand').hasClass('fix'))?($('brand').offsetHeight+50):108]
			}
		});
		
		var menuEffects = new Fx.Elements($('residence'));
		menuEffects.start({
			'0': {
			'height': [0,50]
			}
		});
	}
}

function hideResidenceMenu() {
	if(!$('brand').hasClass('fix'))
		hideBrandMenu();
	hideResidenceDelay = setTimeout("hideResidence()",300);
}

function cancelResidenceHide() {
	cancelBrandHide();
	clearTimeout(hideResidenceDelay);
}

function hideResidence() {
	menuResidenceDisplay = false;
	
	if($('brand').hasClass('fix')) {
		var brandEffects = new Fx.Elements($('brand'));
		brandEffects.start({
			'0': {
			'height': [$('brand').offsetHeight,($('brand').offsetHeight-$('residence').offsetHeight)]
			}
		});
	}
	
	var menuEffects = new Fx.Elements($('residence'));
	menuEffects.start({
		'0': {
		'height': [$('residence').offsetHeight,0]
		}
	});
}

function showHotelMenu() {
	cancelBrandHide();
	if (hideHotelDelay) 
		cancelHotelHide();
		
	if (!menuHotelDisplay) {
		menuHotelDisplay = true;
		
		var menuEffects = new Fx.Elements($('hotel'));
		menuEffects.start({
			'0': {
			'height': [0,75]
			}
		});
		
		var brandEffects = new Fx.Elements($('brand'));
		brandEffects.start({
			'0': {
			'height': [$('brand').offsetHeight,($('brand').hasClass('fix'))?($('brand').offsetHeight+75):133]
			}
		});
	}
}

function hideHotelMenu() {
	if(!$('brand').hasClass('fix'))
		hideBrandMenu();
	hideHotelDelay = setTimeout("hideHotel()",300);
}

function cancelHotelHide() {
	cancelBrandHide();
	clearTimeout(hideHotelDelay);
}

function hideHotel() {
	menuHotelDisplay = false;
	
	var menuEffects = new Fx.Elements($('hotel'));
	menuEffects.start({
		'0': {
		'height': [$('hotel').offsetHeight,0]
		}
	});
	
	if($('brand').hasClass('fix')) {
		var brandEffects = new Fx.Elements($('brand'));
		brandEffects.start({
			'0': {
			'height': [$('brand').offsetHeight,($('brand').offsetHeight-$('hotel').offsetHeight)]
			}
		});
	}
}

var MenuSlide = {
	currentIndex : 0,
	images : null,
	
	init : function() {
        window.addEvent('load',function() {
			MenuSlide._init();
		});
    },
    
    _init : function () {
		MenuSlide.images = $$('#menu .menuImg img');
		
		if (!MenuSlide.images || (MenuSlide.images.length < 1)) return;
		
		MenuSlide.images.forEach(function(item,index) {
			if (index > 0) {
				item.setStyles({
					'opacity' : 0,
					'display' : 'block'
				});
			}
		});
		
		MenuSlide.fadeImage.periodical(4000);
	},
	fadeImage : function() {
		var fadeOut = new Fx.Elements(MenuSlide.images[MenuSlide.currentIndex], {'duration' : 1000});
		fadeOut.start({
			'0': {
			'opacity': [1,0]
			}
		});
		
		MenuSlide.currentIndex = (MenuSlide.currentIndex + 1)%MenuSlide.images.length;
		
		var fadeIn = new Fx.Elements(MenuSlide.images[MenuSlide.currentIndex], {'duration' : 1500});
		fadeIn.start({
			'0': {
			'opacity': [0,1]
			}
		});
	}
}

MenuSlide.init();