/**
 * Subscribe form
 * (requires jQuery.js)
 */

var SubscribeForm = function (options) {

	var form = options.container.find("form");
	var errors = options.container.find(".subscribe_label");
	var progress = options.container.find(".progress");
	var sform = options.container.find(".sform");

	var form_data = {
		"is-ajax": "true"
	};
	
	var maySubmit = false;

	form.submit(function () {

		if (maySubmit) {
			return true;
		}

		progress.removeClass("hidden");

		// Prepare form data for sending
		form.find("input").each(function () {
			form_data[this.name] = this.value;
		});

		// We are going to submit our form with AJAX
		$.ajax({

			// The URL to request
			"url": "/subscribe_ajax/",

			// POST на локале работать отказался
			"type": "GET",

			// Force the requested page to not be cached by the browser
			"cache": "false",

			// We are expecting JSON back from the server
			"dataType": "json",
			//"traditional": "true",

			// Data to be sent to the server
			"data": form_data,

			success: function (data) {
				//alert("!")
				if (data.status == "success") {
					form.attr('action', location.href);
					maySubmit = true;
					sform.addClass("hidden");
					errors.html(data.message).removeClass("errors");
					//form.submit();
					//document.location.reload();
				} else {
					progress.addClass("hidden");
					errors.html(data.message).addClass("errors");
				}
			}
		});

		// Prevent the form from being submitted
		return false;

	});

};


$(function () {

	var Subscribe = new SubscribeForm({
		container: $("#user-subscribe")
	});

});

