var Menu = Class.create({
	initialize: function() {
		this.preloadImages(
				'/assets/images/menu2/over/join_now.png',
				'/assets/images/menu2/over/club_home.png',
				'/assets/images/menu2/over/golfer_home.png',
				'/assets/images/menu2/over/golfer_login.png',
				'/assets/images/menu2/over/club_login.png',
				'/assets/images/menu2/over/gift_membership.png',
				'/assets/images/menu2/over/refer_a_friend.png',
				'/assets/images/menu2/over/log_out.png',
				'/assets/images/menu2/over/home.png',
				'/assets/images/menu2/over/book_tee_times.png',
				'/assets/images/menu2/over/club_locations.png',
				'/assets/images/menu2/over/golfer_directory.png',
				'/assets/images/menu2/over/why_join.png',
				'/assets/images/menu2/over/questions.png',
				'/assets/images/menu2/over/about_us.png',
				'/assets/images/menu2/over/contact_us.png',
							'/assets/images/menuImages/loginBlock.png',
							'/assets/images/menuImages/searchBlock.png',
							'/assets/images/menuImages/referBlock.png',
							'/assets/images/menuImages/roundedInputBG.png'
			);
		
		if ($('referMnu')) {
			this.referShowCache = this.showReferBlock.bindAsEventListener(this);
			this.referHideCache = this.hideReferBlock.bindAsEventListener(this);
			this.doReferCache = this.doReferFriend.bindAsEventListener(this);
			$('referMnu').observe('click', this.referShowCache);
			document.observe('click', this.referHideCache);
			$('referFriend').observe('submit', this.doReferCache);
			$('referMnu').stopObserving('click', this.referHideCache);
			
			$('referBtn').stopObserving('click', this.referShowCache);
			$('referBtn').observe('click', this.doReferCache);
		}
		
		if ($('memberloginMnu')) {
			this.loginShowCache = this.showLoginBlock.bindAsEventListener(this);
			this.loginHideCache = this.hideLoginBlock.bindAsEventListener(this);
			
			$('memberloginMnu').observe('click', this.loginShowCache);
			$('memberloginMnu').stopObserving('click', this.loginHideCache);

		}
	},
	
	preloadImages:function()
	{
		var images=[];
		for(i=0; i <= arguments.length; i++){
			if (arguments[i]) {
				images.push(new Image());
				images.last().src = arguments[i];
			}
		}

	},

	hideLabel:function(e)
	{
		var input = e.target;
		var label = input.previous('label');
		label.hide();
	},
	
	showLabel:function(e)
	{
		var input = e.target;
		var label = input.previous('label');
		if(!input.present()){
			label.show();
		}
	},

	showLoginBlock:function(e)
	{
		if ($('loginBlock').visible()){
			return true;
		}
		Event.stop(e);
		var element = Event.element(e);
		document.observe('click', this.loginHideCache);
		$('loginBlock').grow({direction:'top-left',duration:0.5});
	},

	hideLoginBlock:function(e)
	{
		var element = Event.element(e);
		document.stopObserving('click', this.loginHideCache);
		if (element.descendantOf('loginBlock')) {
			return true;
		}
//		Event.stop(e);

		$('loginBlock').shrink({
			direction: 'top-left',
			duration: 0.5,
			afterFinish: this.resetloginBlock
		});
	},
	
	resetloginBlock:function()
	{
		$('loginBlock').style.height = '';
		$('loginBlock').style.width='';
	},
	
	submitLogin:function()
	{
		$('memberLoginFrm').submit();
	},
	
/*
Refer a friend  block functions
*/
	showReferBlock:function(e)
	{
		var element = Event.element(e);
		if ($('referBlock').visible()) {
			return true;
		}
		Event.stop(e);
			$('referBlock').grow({direction:'top-left',duration:0.5});

	},
	
	doReferFriend:function(e)
	{
		Event.stop(e);
		$('referFriend').request(
				{
					onComplete:function()
						{
							$('referFriend').reset();
							$('referFriend').fade();
							$('referThanks').appear();
						}
				});
	},

	hideReferBlock:function(e)
	{
//		Event.stop(e);
		var element = Event.element(e);
		if (element.descendantOf('referBlock')) {
			return true;
		}
			$('referBlock').shrink({
				direction: 'top-left',
				duration: 0.5,
				afterFinish: this.resetReferBlock
			});

	},
	
	resetReferBlock:function()
	{
		$('referFriend').show();
		$('referThanks').hide();
		$('referBlock').style.height = '';
		$('referBlock').style.width='';
	}	
});

Event.observe(window, 'load', function() {
	$$('.menuItem img').each(function(elm){
		if (elm.readAttribute('rel') != 'cur') {
			elm.observe('mouseover',function(evt){
				img = Event.element(evt);
				img.src = img.src.replace(/out/,'over');
			});
			elm.observe('mouseout',function(evt){
				img = Event.element(evt);
				img.src = img.src.replace(/over/,'out');
			});
		}
	});
});