var authMethod = 'register';

function submitForm(action, form, condition, auxiliary)
{
	/*		
		auxiliary[0] - Сабмит
		auxiliary[1] - Лоадинг
		auxiliary[2] - Ошибки
	*/
		
	if (condition == 1 && document.getElementById('authorize_form_id'))
	{
		if (condition == 2)
		{
			authMethod = 'login_only';
		}
		afterLogin = function ()
		{
			submitForm(action, form, condition, auxiliary);
		}

		openAuthorize(authMethod);
		return;
	}
	
	$('#' + auxiliary[0]).attr('disabled', true);
	$('LABEL').removeClass('red');
	$('#' + auxiliary[2]).hide();
	$('#' + auxiliary[1]).show();

	$.ajaxUpload
	({
		url: '/modules/' + action + '.php',
		secureuri: false,
		uploadform: form,
		type: 'POST',
		dataType: 'html',
		success: function (data, status)
		{
			$('#' + auxiliary[1]).hide();
			result = eval("(" + data + ")");
			
			if (result['phone'] != null)
			{
				if (result['error'] != '')
				{
					tmp = '<div>' + result['error'] + '</div>';
					$('#' + auxiliary[2]).show();
					$('#' + auxiliary[2]).html(tmp);

					$('#' + auxiliary[0]).attr('disabled', false);

					if (result['error_id'] == 1 || result['error_id'] == 3)
					{
						$('#register_pin_id').hide();

						$('#' + auxiliary[0]).attr('disabled', false);

						$('#register_pin_button_id').attr('disabled', false);
						$('#' + auxiliary[0]).attr('disabled', true);
						$('#register_new_id .session').val('');
						$('#register_pin_id INPUT').val('');
					}
					else
					{
						$('#' + auxiliary[0]).attr('disabled', false);
					}

					return;
				}
			}

			if (result['redirect'] != null)
			{
				window.location.href = result['redirect'];
				return;
			}
			if (result['errors'].length > 0)
			{
				tmp = '';
				for (i = 0; i < result['errors'].length; i++)
				{
					tmp += '<div>' + result['errors'][i] + '</div>';
				}
				$('#' + auxiliary[2]).show();
				$('#' + auxiliary[2]).html(tmp);
			}
			if (result['idx'].length > 0) {
				for (i = 0; i < result['idx'].length; i++) {
					$("LABEL[for='" + result['idx'][i] + "']").addClass("red");
				}
			}
			$('#' + auxiliary[0]).attr('disabled', false);
		},
		error: function (data, status, e)
		{
			$('#' + auxiliary[0]).attr('disabled', false);
			$('#' + auxiliary[1]).hide();
			alert('Error...');
		}
	});
}
