function submitForm() {
    var form = jQuery("#orderform");
    var formData = form.serialize();
    jQuery("#membership .orderform").fadeTo(200, 0.5);
    jQuery.ajax({
        type: "POST",
        url: form.attr("action"),
		cache: false,
        data: formData,
		dataType: "xml",
        success: function(xml, textStatus) {
			var status = jQuery(xml).find("status").text();
			if (status == "success") {
				handleFormSubmitOk();
			} else {
				handleFormSubmitError(xml);
			}
        },
		error: function(req, textStatus, errorThrown) {
			handleFormSubmitError(null);
        }
    });
    return false;
}

function handleFormSubmitOk() {
	jQuery("#membership .orderform").addClass("hidden");
	jQuery("#submitOkMessage").hide();
	jQuery("#submitOkMessage").removeClass("hidden");
	jQuery("#submitOkMessage").fadeIn(300);
}

function handleFormSubmitError(xml) {
    jQuery("#membership .orderform").fadeTo(200, 1);
	var errorNode = jQuery(".error");
	errorNode.removeClass("hidden");	
	if (xml == null) {
		errorNode.text("Oops, något fungerade inte riktigt på servern. Prova igen.");
	} else {
		var fAttr = jQuery(xml).find("error").eq(0).attr('field');
		errorNode.text(jQuery(xml).find('error').eq(0).text());
		if (fAttr != "") {
			jQuery("#orderform input[name=" + fAttr + "]").addClass("errorText");
		}
	}
}
$(document).ready(function() {
    jQuery("#orderform").unbind("submit");
    jQuery("#orderform").submit(submitForm);
});