// #################################################

function FastRegister_WindowOpen()
{
	window_manager.Open('window_source_register');
}

function FastRegister_WindowSelect()
{
	window_manager.Open('window_source_register');
}

function FastRegister_WindowClose()
{
	_gaq.push(['_trackPageview','/registration-form-closed']);
	
	FastRegister_ClearMessages();
	FastRegister_ClearInputs();
	
	window_manager.Close();
}

// #################################################

function FastRegister_ClearInputs()
{
	$j('#fast_window_content .fast_register_check_code').removeAttr('checked');
	FastRegister_SelectCode();

	$j('#fast_window_content .fast_register_i').val('');
	$j('#fast_window_content .fast_register_email').val('');
	$j('#fast_window_content .fast_register_password').val('');
	$j('#fast_window_content .fast_register_password_repeate').val('');
}

// #################################################

function FastRegister_ClearMessages()
{
	$j('#fast_window_content .fast_register_error').html('');
	$j('#fast_window_content .fast_register_error').css("display","none");
	$j('#fast_window_content .fast_register_success').html('');
	$j('#fast_window_content .fast_register_success').css("display","none");
}
function FastRegister_ShowError( message )
{
	$j('#fast_window_content .fast_register_success').css("display","none");
	$j('#fast_window_content .fast_register_error').html(message);
	$j('#fast_window_content .fast_register_error').css("display","block");
}
function FastRegister_ShowSuccess( message )
{
	$j('#fast_window_content .fast_register_error').css("display","none");
	$j('#fast_window_content .fast_register_success').html(message);
	$j('#fast_window_content .fast_register_success').css("display","block");
}

// #################################################

function FastRegister_Submit()
{
	if( $j('#fast_window_content .fast_register_check_code').attr('checked') == true &&
		$j('#fast_window_content .fast_register_code').val() == "" )
	{
		FastRegister_ShowError("Введите свой персональный код");
		return;
	}
	if( $j('#fast_window_content .fast_register_check_code').attr('checked') == true &&
		$j('#fast_window_content .fast_register_code').val() != "" &&
		$j('#fast_window_content .fast_register_i').val() == "" )
	{
		FastRegister_ShowError("Такого кода не существует");
		return;
	}
	if( $j('#fast_window_content .fast_register_check_code').attr('checked') == false && 
		$j('#fast_window_content .fast_register_i').val() == "" )
	{
		FastRegister_ShowError("Введите свое имя");
		return;
	}
	if( $j('#fast_window_content .fast_register_email').val() == "" )
	{
		FastRegister_ShowError("Введите свой Email");
		return;
	}
	if( !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test($j('#fast_window_content .fast_register_email').val())) )
	{
		FastRegister_ShowError("Введите корректный Email");
		return;
	}
	if( $j('#fast_window_content .fast_register_password').val() == "" )
	{
		FastRegister_ShowError("Введите свой пароль");
		return;
	}
	if( $j('#fast_window_content .fast_register_password').val() == $j('#fast_window_content .fast_register_email').val() )
	{
		FastRegister_ShowError("Пароль не может совпадать с Email");
		return;
	}
	if( $j('#fast_window_content .fast_register_password_repeate').val() == "" )
	{
		FastRegister_ShowError("Введите повторение пароля");
		return;
	}
	if( $j('#fast_window_content .fast_register_password').val() != $j('#fast_window_content .fast_register_password_repeate').val() )
	{
		FastRegister_ShowError("Пароли не совпадают");
		return;
	}

	FastRegister_ShowSuccess("Регистрация, секундочку...");
	window_manager.window.button_exit.Hide();
	$j('#fast_window_content .fast_register_loader').show();
	
	temp_timer = setInterval( function(){
		clearInterval(temp_timer);
		//-------------
		new Ajax.Request( '/auth/act/fast_registration/?USER_I=' + encodeURI($j('#fast_window_content .fast_register_i').val()) + '&USER_EMAIL=' + encodeURI($j('#fast_window_content .fast_register_email').val()) + '&USER_PASSWORD=' + encodeURI($j('#fast_window_content .fast_register_password').val()) + '&code=' + $j('#fast_window_content .fast_register_code').val(),
		{
			method:'get',
			onSuccess: function(transport)
			{			
				if( transport.responseText == '0' )
				{
					FastRegister_ShowError("Такого пользователя не существует");
					window_manager.window.button_exit.Show();
					$j('#fast_window_content .fast_register_loader').hide();
				}
				else if( transport.responseText == '1' )
				{
					FastRegister_ShowError("Символы введены неверно");
					window_manager.window.button_exit.Show();
					$j('#fast_window_content .fast_register_loader').hide();
				}
				else if( transport.responseText == '2' )
				{
					FastRegister_ShowError("Такой Email уже существует");
					window_manager.window.button_exit.Show();
					$j('#fast_window_content .fast_register_loader').hide();
				}
				else if( transport.responseText == '3' )
				{
					FastRegister_ShowError("Регистрация запрещена");
					window_manager.window.button_exit.Show();
					$j('#fast_window_content .fast_register_loader').hide();
				}
				else
				{
					_gaq.push(['_trackPageview','/form-submit-register']);
					
					FastRegister_ShowSuccess("Все отлично, создаем запись...");		
							
					temp_timer = setInterval( function(){
						clearInterval(temp_timer);
						
						window_manager.window.button_exit.Show();
						$j('#fast_window_content .fast_register_loader').hide();		

						var new_user_email = $j('#fast_window_content .fast_register_email').val();
						var new_user_password = $j('#fast_window_content .fast_register_password').val();
						
						FastRegister_ClearInputs();
						FastRegister_ClearMessages();
						FastAuth_ClearMessages();
						FastAuth_ClearInputs();
						
						FastAuth_WindowSelect();
						
						$j('#fast_window_content .fast_auth_email').val( new_user_email );
						$j('#fast_window_content .fast_auth_password').val( new_user_password );
						
						FastAuth_Submit();		
					} , 1500 );	
				}
			}
		}
		);
		//-------------
	} , 1000 );	
}

// #################################################

function FastRegister_SelectCode()
{
	if( $j('#fast_window_content .fast_register_check_code').attr('checked') == true )
	{
		$j('#fast_window_content .fast_register_code_container').css('display','block');
		$j('#fast_window_content .fast_register_code').val('');
		
		$j('#fast_window_content .fast_register_i_container').css('display','none');
		$j('#fast_window_content .fast_register_i_label').css('display','none');
		$j('#fast_window_content .fast_register_i').attr( 'readonly' , 'readonly' );
		$j('#fast_window_content .fast_register_i').addClass( 'readonly' );
		$j('#fast_window_content .fast_register_i').css( 'width' , '300px' );
		$j('#fast_window_content .fast_register_i').css( 'font-weight' , 'bold' );
		$j('#fast_window_content .fast_register_i').val('');
	}
	else
	{
		$j('#fast_window_content .fast_register_code_container').css('display','none');
		$j('#fast_window_content .fast_register_code').val('');
		
		$j('#fast_window_content .fast_register_i_container').css('display','block');
		$j('#fast_window_content .fast_register_i_label').css('display','block');
		$j('#fast_window_content .fast_register_i').removeAttr( 'readonly' );
		$j('#fast_window_content .fast_register_i').removeClass( 'readonly' );
		$j('#fast_window_content .fast_register_i').css( 'width' , '300px' );
		$j('#fast_window_content .fast_register_i').css( 'font-weight' , 'normal' );
		$j('#fast_window_content .fast_register_i').val('');
	}
}

function FastRegister_CheckCode()
{
	//-------------
	new Ajax.Request( '/auth/act/check_code/?code=' + $j('#fast_window_content .fast_register_code').val(),
	{
		method:'get',
		onSuccess: function(transport)
		{		
			if( transport.responseText == '0' )
			{
				FastRegister_ShowError("Такого кода не существует");
			}
			else
			{
				$j('#fast_window_content .fast_register_i_container').css('display','block');
				$j('#fast_window_content .fast_register_i_label').css('display','block');
				$j('#fast_window_content .fast_register_i').val(transport.responseText+', мы рады видеть вас!');	
			}
		}
	}
	);
	//-------------
}

function FastRegister_HelpCodeOpen( obj)
{
	$j(obj).parent('span').children('span').fadeIn(300);
}

function FastRegister_HelpCodeClose( obj)
{
	$j(obj).parent('span').children('span').fadeOut(300);
}

// #################################################
