FormDefaults["Members_NewsletterForm"] = new Array();
FormDefaults["Members_NewsletterForm"]["name"] = "Your name";
FormDefaults["Members_NewsletterForm"]["email"] = "Your email-address";
FormDefaults["Members_ConfirmForm"] = new Array();
FormDefaults["Members_ConfirmForm"]["code"] = "Your confirmation code";
FormDefaults["Members_ConfirmForm"]["email"] = "Your email-address";
FormDefaults["Members_RemoveForm"] = new Array();
FormDefaults["Members_RemoveForm"]["email"] = "Your email-address";

function members() {
	this.newsletterPre = function() {
		try {
			if (activeForm)
				throw "<p>The form is in use at the moment. Please reload and try again.</p>";

			activeForm = document.forms["Members_NewsletterForm"];
			setForm(document.forms["Members_NewsletterForm"], true, false);
			if (activeForm.elements["name"].value == FormDefaults["Members_NewsletterForm"]["name"])
				throw "<p>Come on, you don't have to be shy. Please tell us your name.</p>";
			if (activeForm.elements["email"].value == FormDefaults["Members_NewsletterForm"]["email"])
				throw "<p>Well, you actually have to give us your email address,<br />if you want to receive our newsletter.</p>";

			newsletterCaptcha.show();
		}
		catch (e) {
			resultDialog.setContent(e);
			resultDialog.show();
		}
	}
	this.newsletter = function(button) {
		if (button == "OK") {
			var request = new swx_AjaxRequest("POST", "./modules/members/onnewsletter.php", true);
			request.setResponseHandler(4, this.result);
			request.processForm(activeForm, "captcha=" + encodeURIComponent(document.forms["Members_Captcha"].elements["captcha"].value));
		}
		else {
			setForm(activeForm, false, false);
			activeForm = null;
		}
		newsletterCaptcha.hide();
	}
	
	this.removePre = function() {
		try {
			if (activeForm)
				throw "<p>The form is in use at the moment. Please reload and try again.</p>";

			activeForm = document.forms["Members_RemoveForm"];
			setForm(document.forms["Members_RemoveForm"], true, false);
			if (activeForm.elements["email"].value == FormDefaults["Members_RemoveForm"]["email"])
				throw "<p>Well, you actually have to give us your email address,<br />if you want to be removed from our newsletter.</p>";

			removeCaptcha.show();
		}
		catch (e) {
			resultDialog.setContent(e);
			resultDialog.show();
		}
	}
	this.remove = function(button) {
		if (button == "OK") {
			var request = new swx_AjaxRequest("POST", "./modules/members/onremove.php", true);
			request.setResponseHandler(4, this.result);
			request.processForm(activeForm, "captcha=" + encodeURIComponent(document.forms["Members_Captcha"].elements["captcha"].value));
		}
		else {
			setForm(activeForm, false, false);
			activeForm = null;
		}
		removeCaptcha.hide();
	}

	this.confirm = function() {
		try {
			if (activeForm)
				throw "<p>The form is in use at the moment. Please reload and try again.</p>";

			activeForm = document.forms["Members_ConfirmForm"];
			setForm(activeForm, true, false);
			if (activeForm.elements["code"].value == FormDefaults["Members_ConfirmForm"]["code"])
				throw "<p>No code - no confirmation. Simple as that.</p>";
			if (activeForm.elements["email"].value == FormDefaults["Members_ConfirmForm"]["email"])
				throw "<p>Hmm, I don't know which email-address to validate...</p>";

			var request = new swx_AjaxRequest("POST", "./modules/members/onconfirm.php", true);
			request.setResponseHandler(4, this.result);
			request.processForm(activeForm);	
		}
		catch (e) {
			resultDialog.setContent(e);
			resultDialog.show();
		}
	}

	this.result = function(request) {
		resultDialog.setContent(request.responseText);
		resultDialog.show();
	}
	this.resultPost = function(button) {
		if (activeForm)
			setForm(activeForm, false, false);
		resultDialog.hide();
		activeForm = null;
	}

	var activeForm = null;
	var newsletterCaptcha = new swx_Dialog("Members_Captcha", "members.newsletter", Array("Cancel", "OK"), "OK", "<p>We like robots, but not those who abuse our website for<br/>spammig. Therefore you have to pass a small test, which prooves<br/>that you're human - or no machine at least.</p><p><img alt=\"Captcha\" style=\"vertical-align:middle;\" height=\"25\" width=\"100\" src=\"./swx/captcha.php?seed=" + encodeURIComponent((new Date()).getTime()) + "\"/><br/>Please enter the code shown above here: <input name=\"captcha\" style=\"width:40px;\" type=\"text\"/></p>");
	var removeCaptcha = new swx_Dialog("Members_Captcha", "members.remove", Array("Cancel", "OK"), "OK", "<p>We like robots, but not those who abuse our website for<br/>spammig. Therefore you have to pass a small test, which prooves<br/>that you're human - or no machine at least.</p><p><img alt=\"Captcha\" style=\"vertical-align:middle;\" height=\"25\" width=\"100\" src=\"./swx/captcha.php?seed=" + encodeURIComponent((new Date()).getTime()) + "\"/><br/>Please enter the code shown above here: <input name=\"captcha\" style=\"width:40px;\" type=\"text\"/></p>");
	var resultDialog = new swx_Dialog("Members_Result", "members.resultPost", Array("OK"), "OK", "NOTE: Content will be generated later.");
}
