var auth_callback = null;
function fast_auth(return_callback)
{
	auth_callback = return_callback;
	
	// Get template and append to overlay
	$('body').createOverlay("Быстрая авторизация или регистрация",$("#fastAuthTemplate").tmpl(), 500);
	
	// Set default title
	focus_blur($("#f-email"));
	focus_blur($("#f-fname"));
	focus_blur($("#f-lname"));
	focus_blur($("#f-mname"));
	
	// Set events to registration, authoraize and check buttons
	$("#f-reg").click(registration);
	$("#f-auth").click(authoraize);
	$("#f-email-valid").click(validate);

	// Validate email
	$("#f-email").keydown(function(e)
	{	
		if (e.keyCode == '13') {
      
			validate();
		}
		var email = $("#f-email").val();
		if (!validate_email(email))
		{
			$(".old-user").hide();
			$(".new-user").hide();
		}
	});

}

// Autoraize function
function authoraize()
{
	var data = {};
	data.email = $("#f-email").val();
	data.password = $("#f-pass").val();
	
	$.ajax({
		url: '/ajax/login/',
		type: 'POST',
		data: data,
		async: true,
		error: function(){ alert ("Ошибка сервера. Попробуйте позже."); },
		success: function(data){ 
			if (data != "ok") alert(data);
			else
			{
				$("body").trigger("auth_done");
				close();
				if (auth_callback != undefined) { auth_callback(); return; }
                if (document.URL.indexOf('alloy.ru') >= 0) {
                    window.location.href = 'http://alloy.ru/my/profile/edit/';
                } else {
                    window.location.href = document.URL
                }
			}
		}
	});
}

function registration()
{
	var data = {};
	data.email  = un_focus($("#f-email"));
	data.f_name = un_focus($("#f-fname"));
	data.l_name = un_focus($("#f-lname"));
	data.captcha_0 = $("#f-captcha-h").val();
	data.captcha_1 = $("#f-captcha-v").val();

	$.ajax({
		url: '/reg/',
		type: 'POST',
		data: data,
		dataType: 'json',
		async: true,
		error: function(){ alert ("Ошибка сервера. Попробуйте позже."); },
		success: function(data){ 
			if (data == "ok") { 
				$("body").trigger("auth_done");
				close();
				if (auth_callback != undefined) { auth_callback(); return; }
                if (document.URL.indexOf('alloy.ru') >= 0) {
                    window.location.href = 'http://alloy.ru/my/profile/edit/';
                } else {
                    window.location.href = document.URL
                }
			} else
			{
				var captcha_img = data.captcha;
				var captcha_hash = data.captcha_0;
				
				$("#f-captcha-h").val(captcha_hash);
				$("#f-captcha-images").html("<img src='/"+captcha_img+"' class='captcha' />");
				$("#f-captcha").slideDown();

				var fields = {"captcha":"Капча", "email":"Email", "f_name":"Имя","l_name":"Фамилия"};

				if (data.errors)
				{
					var error_msg = "";

					for (var i in data.errors)
					{
						error_msg += fields[i]+": "+data.errors[i]+"\n";
					}

					alert (error_msg);
				}
				

			}
		}
	});
}

function validate()
{
	var email = $("#f-email").val();
	$("#f-email-valid").after('<div id="effect-loader" class="ajax-loader" style="display:inline-block;">&nbsp;</div>');
	//$(".ajax-loader").css("display","inline-block");
	//$(".ajax-loader").removeClass("hidden");
	var ret = json_validate(email);
	//$(".ajax-loader").css("display","none");
}

// Validate user email in db
function json_validate(email)
{
	
	$.ajax({
		url: '/ajax/check_email/?email='+email,
		type: 'GET',
		async: true,
		error: function(){ $("#effect-loader").remove(); alert ("Ошибка сервера. Попробуйте позже."); },
		success: function(data){
			
			$("#effect-loader").remove();

			if (data == "empty") 
				{ 
					$(".new-user").slideDown();
					$(".old-user").hide();
				}
			else
				{
					$("#username").text(data);
					$(".old-user").slideDown();
					$(".new-user").hide();
				}
		}
	});
}

function close()
{
	 $('body').trigger("close_overlay");
}

