function toggleAjaxLogin() {
	if($('login').style.display == 'none') {
		Effect.BlindDown('login');
		//Effect.Grow('loginLinks');
	}
	else {
		Effect.BlindUp('login');
		//Effect.Shrink('loginLinks');
	}

}

var ajaxCounter = 0;

var incrementAjaxCounter = function() {
	ajaxCounter++;
}

function ajaxLogin(isMini) {
	var loginFormId = isMini === undefined ? 'member_login_form' : 'member_login_form_mini';
	$(loginFormId).style.display = 'none';
	$('loginLinks').style.display = 'none';
	$('loginInner').style.backgroundImage = "url('/img/spinner.gif')";
	var responseStart = '<h2 id="user_message_heading">';
	var responseEnd = '</h2>';
	var parameters =  "";
	var first = true;
	var inputs =  Form.getInputs(loginFormId);
	for(i = 0; i < inputs.length; i++) {
		if(first)
			first = false;
		else
			parameters += "&";
		parameters += inputs[i].name + "=" + inputs[i].value;
	}
	var actionURL = location.href;//"https://www.aocds.org/member/register";
	new Ajax.Request(actionURL, {parameters: parameters, onComplete: function(transport) {
		var success = false;
		var startResponse = 30 + transport.responseText.indexOf('<h2 id="user_message_heading">');
		var endResponse = startResponse == -1 ? -1 : transport.responseText.indexOf('</h2>', startResponse);
		if(startResponse != -1 && endResponse != -1) {
			var responseMessage = transport.responseText.substr(startResponse, endResponse - startResponse);
			if(transport.responseText.substr(startResponse, endResponse - startResponse) == "Thank You!")
				success = true;
			else
				success = false;
		}

		if(success) {
			$('username').value = "";
			Effect.BlindUp('login', {
				afterFinish:function() {
					$('loginInner').style.backgroundImage = "";
					$(loginFormId).style.display = 'block';
					$('username-link').innerHTML = "";
					$('loginLinks').style.display = 'block';
					Effect.DropOut('ajax_login_button_wrapper');
					Effect.Appear('logout');
					new Ajax.Request("/404", {onComplete: function(transport) {
						var start = transport.responseText.indexOf('<!--[SCREEN_NAME]') + 17;
						var end = transport.responseText.indexOf('[/SCREEN_NAME]-->');
						$('username-link').innerHTML = transport.responseText.substr(start, end - start);
						Effect.Shake('username-link', {duration:2.0, afterFinish:incrementAjaxCounter});
						var retUrl = "";
						var retUrlStart = document.URL.indexOf('r=');
						if(retUrlStart != -1) {
							var retUrlEnd = document.URL.indexOf('&');
							retUrl = retUrlEnd == -1 ? document.URL.substr(retUrlStart + 2) : document.URL.substring(retUrlStart + 2, retUrlEnd);
						}
						window.location= retUrl == "" ? "/member/profile" : retUrl;
					}});
				}
			});

		} else {
			$('loginInner').style.backgroundImage = "";
			$(loginFormId).style.display = 'block';
			$('loginLinks').style.display = 'block';

			Effect.Appear('ajax_login_failed_message', {
				afterFinish:function() {
					Effect.Pulsate('ajax_login_failed_message', {
						pulses: 4,
						duration: 5,
						afterFinish:function() {
							Effect.Fade('ajax_login_failed_message');
						}
					});
				}
			});
		}}});
	}

	function ajaxLogout() {
		var loc = location.pathname.split("/")[1].toLowerCase();
		var memberOnlyPages = new Array('news_articles', 'calendar', 'coffee_clatch', 'recent_activity', '10_39_videos', 'know_your_rights', 'area_reps');
		for(var i = 0; i < memberOnlyPages.length; i++) {
			if(loc == memberOnlyPages[i])
				location.href = "/?ACT=10";
		}
		$('logout_button').hide();
		$('ajax_logout_spinner').show();
		new Ajax.Request("/?ACT=10", {onComplete: function(transport) {
			var success = false;
			var startResponse = 30 + transport.responseText.indexOf('<h2 id="user_message_heading">');
			var endResponse = startResponse == -1 ? -1 : transport.responseText.indexOf('</h2>', startResponse);
			if(startResponse != -1 && endResponse != -1) {
				var responseMessage = transport.responseText.substr(startResponse, endResponse - startResponse);
				if(transport.responseText.substr(startResponse, endResponse - startResponse) == "Thank You!")
					success = true;
				else
					success = false;
			}
			if(success) {
				Effect.DropOut('logout');
				$('ajax_logout_spinner').hide();
				$('logout_button').show();
				Effect.Appear('ajax_login_button_wrapper');
				$('username-link').innerHTML = "";
			} else {
				$('ajax_logout_spinner').hide();
				$('logout_button').show();
				Effect.Appear('ajax_logout_failed_message', {
					afterFinish:function() {
						Effect.Pulsate('ajax_logout_failed_message', {
							pulses: 4,
							duration: 5,
							afterFinish:function() {
								Effect.Fade('ajax_logout_failed_message');
							}
						});
					}
				});
			}

		}});
	}

	function ajaxEnterKeySubmit(e, isMini) {
		var key;
		if(e && e.which)
			key = e.which
		else
			key = e.keyCode
		if(key == 13){
		    Event.stop(e);
			ajaxLogin(isMini);
		}
	}