/* Скрипт обработки формы регистрации, подключается автоматически */

function _Abs_Registration() {

	var obj = this;
	var currentFormObj;

	var init = function(){
		initSubmitEvents();
	}
	
	var initSubmitEvents = function(){
		$('.registration_submit').click(function() {
			var currentFormObj = $(this).parents('form');
			var Abs_FormChecker = new _Abs_FormChecker(currentFormObj);
			if (Abs_FormChecker.checkForm() ){
				currentFormObj.submit();
			} else {
				return false;
			}
		});
	}


	this.formError = function(errors){
		$('.error').html('');
		if (errors) {
			$.each(errors, function(i, error){
				$('.form_'+error[0]+' .error').html(error[1]).show();
			});
		}
		/*
		 * Обновить капчу
		 */
		$('#captcha_img').attr('src', '/captcha/default?rand='+rand(1,100000));
		$('input.p_captcha').val('');
	}


	this.formSuccess = function(){
		/*
		 * Скрыть форму
		 * Показать сообщение
		 */
		$('.abs_registration_form').hide();
		$('.abs_registration_success_message').show();
	}
	
    this.formTest = function(){
		/*
		 * Скрыть форму
		 * Показать сообщение
		 */
        alert('formTest');
	}

	init();

}


function _AbsRemind(){
    
    var obj = this;
	var currentFormObj;

	var init = function(){
		initSubmitEvents();
	}
	
	var initSubmitEvents = function(){
		$('.remind_submit').click(function() {
			var currentFormObj = $(this).parents('form');
			var Abs_FormChecker = new _Abs_FormChecker(currentFormObj);
			if (Abs_FormChecker.checkForm() ){
				currentFormObj.submit();
			} else {
				return false;
			}
		});
	}
    
    this.formError = function(errors){
		$('.error').html('');
		if (errors) {
			$.each(errors, function(i, error){
				$('.form_'+error[0]+' .error').html(error[1]).show();
			});
		}
		/*
		 * Обновить капчу
		 */
		$('#captcha_img').attr('src', '/captcha/default?rand='+rand(1,100000));
		$('input.p_captcha').val('');
	}


	this.formSuccess = function(){
		/*
		 * Скрыть форму
		 * Показать сообщение
		 */
		$('.abs_remind_form').hide();
		$('.abs_remind_success_message').show();
	}
    
    init();

}


function _AbsNewPass(){
    
    var obj = this;
	var currentFormObj;

	var init = function(){
		initSubmitEvents();
	}
	
	var initSubmitEvents = function(){
		$('.new_pass_submit').click(function() {
			var currentFormObj = $(this).parents('form');
			var Abs_FormChecker = new _Abs_FormChecker(currentFormObj);
			if (Abs_FormChecker.checkForm() ){
				currentFormObj.submit();
			} else {
				return false;
			}
		});
	}
    
    this.formError = function(errors){
		$('.error').html('');
		if (errors) {
			$.each(errors, function(i, error){
				$('.form_'+error[0]+' .error').html(error[1]);
			});
		}
		/*
		 * Обновить капчу
		 */
		$('#captcha_img').attr('src', '/captcha/default?rand='+rand(1,100000));
		$('input.p_captcha').val('');
	}


	this.formSuccess = function(){
		/*
		 * Скрыть форму
		 * Показать сообщение
		 */
		$('.abs_registration_form').hide();
		$('.new_pass_success_message').show();
	}
    
    init();

}


function _AbsAutoLinkPass(){
    
    var obj = this;
	var currentFormObj;

	var init = function(){
		initSubmitEvents();
	}
	
	var initSubmitEvents = function(){
		$('.new_auto_pass_submit').click(function() {
			var currentFormObj = $(this).parents('form');
			var Abs_FormChecker = new _Abs_FormChecker(currentFormObj);
			if (Abs_FormChecker.checkForm() ){
				currentFormObj.submit();
			} else {
				return false;
			}
		});
	}
    
    this.formError = function(errors){
		$('.error').html('');
		if (errors) {
			$.each(errors, function(i, error){
				$('.form_'+error[0]+' .error').html(error[1]);
			});
		}
		/*
		 * Обновить капчу
		 */
		//$('#captcha_img').attr('src', '/captcha/default?rand='+rand(1,100000));
		//$('input.p_captcha').val('');
	}


	this.formSuccess = function(){
		/*
		 * Скрыть форму
		 * Показать сообщение
		 */
		$('.abs_registration_form').hide();
		$('.new_pass_success_message').show();
        setTimeout(function(){document.location.href = '/';},5000);
        
	}
    
    init();

}

$(document).ready(
	function(){
		AbsRegistration = new _Abs_Registration();
		AbsRemind = new _AbsRemind();
		AbsNewPass = new _AbsNewPass();
        AbsAutoLinkPass = new _AbsAutoLinkPass();
	}
);



function rand(min_random, max_random) {
    var range = max_random - min_random + 1;
    return Math.floor(Math.random()*range) + min_random;
}

