if(!$chk(ADCProto)){ var ADCProto = new Class({}); var ADC = new ADCProto(); }
ADCProto.implement({
	
	addLoginJS: function(){
		if(
		   !$chk($("memberLoginBoxPopup"))
		|| !$chk($("navi-top"))
		|| !$chk($("memberLogoutLink"))
		|| !$chk($("memberLoginStatus"))
		) return false;

		new MoojaxRequest($("memberLoginBoxPopupForm"), {
			call: "adc.memberLoginStatus",
			method: "post",
			onRequest: function(){},
			onCancel: function(){},
			onComplete: function(){},
			onSuccess: function(data){
				if($chk(data) && $chk(data.redirect)){
					// Redirected via moojax
				}
				else if(!$chk(data) || !$chk(data.uid)){
					$('memberLoginBoxPopup').fade('in');
					if($chk($("memberLoginBoxPopupError"))){
//						ADC.memberLoginBoxPopupError_Slide = new Fx.Slide("memberLoginBoxPopupError", {mode: "vertical", duration: 200}).hide();
						$("memberLoginBoxPopupError").setStyles({"display":"block","visibility":"visible"});
//						ADC.memberLoginBoxPopupError_Slide.slideIn();
						$('memberLoginBoxPopup').setStyle('height', $('memberLoginBoxPopup').getSize().y + $("memberLoginBoxPopupError").getSize().y);
					}
				} else {
					$('memberLogoutLink').setStyle('display','inline');
					$("memberLoginStatus").set('html',this.response.html);
					$('memberLoginBoxPopup').fade('out');
					$('memberLoginBoxPopup').erase();
				}
			}
		});

		$('memberLogoutLink').setStyle('display','none');

		$('memberLoginBoxPopup').inject($('navi-top'), 'after').setStyles({
			'display':'block',
			'visibility':'hidden',
			'opacity':0
		}).addEvent('mouseleave',function(){
			$('memberLoginBoxPopup').fade('out');
			if($chk(ADC.memberLoginBoxPopupError_Slide)) ADC.memberLoginBoxPopupError_Slide.slideOut();
			defaultFields();
		});

		$(document.body).getElements(".memberLoginBoxPopup_open").addEvent("click", function(e){ e.stop();
			if($chk($('memberLoginBoxForm'))){
				$('memberLoginBoxForm').getElement('input[type=text]').focus();
			} else if($chk($('memberLoginBoxPopup'))) {
				$('memberLoginBoxPopup').fade('in');
			}
		});
		$(document.body).getElements(".memberLoginBoxPopup_close").addEvent("click", function(e){ e.stop();
			if($chk($('memberLoginBoxPopup'))) $('memberLoginBoxPopup').fade('out');
			if($chk(ADC.memberLoginBoxPopupError_Slide)) ADC.memberLoginBoxPopupError_Slide.slideOut();
			defaultFields();
		});
	},

	addLogoutJS: function(){
		if(
		   !$chk($("memberLoginStatus"))
		|| !$chk($("memberLogoutLink"))
		) return false;

		var logoutRequest = new MoojaxRequest({logout:true}, {
			call: "adc.memberLoginStatus",
			targetElement: $("memberLoginStatus"),
			targetPosition: "fill",
			onRequest: function(){},
			onCancel: function(){},
			onComplete: function(){},
			onSuccess: function(data){
				$('memberLogoutLink').setStyle('display','none');
			}
		});

		$("memberLogoutLink").addEvent("click", function(e){ e.stop();
			logoutRequest.send();
		});	

		$('memberLogoutLink').setStyle('display','inline');

		this.addMemberMenuJS();
	},
	
	addMemberMenuJS: function(){
		if(!$chk($("memberMenuPopup"))) return false;

		var memberMenuPopup_Slide = new Fx.Slide("memberMenuPopup", {mode: "vertical", duration: 200}).hide();
		$("memberMenuPopup").setStyle("visibility","visible");
		$(document.body).getElements(".memberMenuPopup_open").addEvent("click", function(e){
			e.stop();
			$(document.body).getElements(".memberMenuPopup_close").setStyle('display','');
			$(document.body).getElements(".memberMenuPopup_open").setStyle('display','none');
			memberMenuPopup_Slide.slideIn();
		});
		$(document.body).getElements(".memberMenuPopup_close").addEvent("click", function(e){
			e.stop();
			$(document.body).getElements(".memberMenuPopup_open").setStyle('display','');
			$(document.body).getElements(".memberMenuPopup_close").setStyle('display','none');
			memberMenuPopup_Slide.slideOut();
		});
		$("memberMenuPopup").addEvent("mouseleave", function(e){
			$(document.body).getElements(".memberMenuPopup_open").setStyle('display','');
			$(document.body).getElements(".memberMenuPopup_close").setStyle('display','none');
			memberMenuPopup_Slide.slideOut();
		});
	}
	
});

window.addEvent("domready", function(){
	ADC.addLoginJS();
	ADC.addLogoutJS();
});
