jQuery(document).ready(function () {MTAjaxForms.init.call()});

MTAjaxForms = {};

MTAjaxForms.init = function () {
	jQuery('.mt-ajax-form').ajaxForm({
		beforeSubmit: MTAjaxForms.ajaxFormShowLoading,
		success: MTAjaxForms.ajaxFormSuccess,
		data: {
			lang_id: MTSettings.langId
		},
		dataType: 'json'
	});
};

MTAjaxForms.ajaxFormShowLoading = function (formData, jqForm, options) {
	jqForm.find('.mt-form-field.error').each(function () {
		var form_field = jQuery(this);
		form_field.removeClass('error')
		form_field.find('.formHint').show();
		form_field.find('.errorHint').empty();
	});
	jqForm.find('.loading').show();
};

MTAjaxForms.ajaxFormSuccess = function (response, statusText, xhr, $form) {
	$form.find('.loading').hide();
	if (response.error) {
		if (typeof response.error.fields == 'object') {
			jQuery.each(response.error.fields, function (index, value) {
				var form_field = $form.find('.mt-form-element[name='+index+']').parents('.mt-form-field')
				form_field.addClass('error');
				form_field.find('.formHint').hide();
				form_field.find('.errorHint').text(value);

			});
		}
		$form.trigger('ajaxFormError');
	} else {
		$form.find('.mt-form-element').each(function () {jQuery(this).val('')});
		$form.trigger('ajaxFormSuccess', [response]);
	}
};
