$(document).ready(function() {
    $('#reg_link > a').click(
        function() {
            toggler.exec('form_registration');
            return false;
        }
    );
	var table_height = $('#courses').height();
	var tr_length = $('#courses tr');
	var height_wrap = table_height / tr_length.length;
	var show_wrap = height_wrap * 3;
	$('#wrap_coruses').css('height', show_wrap + 'px');
	
	$('.all_courses a').toggle(
		function(){
			$('#wrap_coruses').animate({
				height : table_height + 'px' 
			}, 300);
            $(this).html('Скрыть лишнее');
			return false;
		},
		function(){
			$('#wrap_coruses').animate({
				height : show_wrap + 'px' 
			}, 300);
            $(this).html('Все курсы');
			return false;
		}
	)
        
    // авторизация
    function beforeSubmit() {
			$('.error').hide();
            $('#enter_btn').hide();
            $('#login_loading').show();
		}
		
    function errorSubmit(data) {
        $("#error").html(data.responseText).fadeIn();
        $('#enter_btn').show();
        $('#login_loading').hide();
    }
    
    function successSubmit(data) {
        $('#enter_btn').show();
        $('#login_loading').hide();
        if (data.status=='success') {
            document.location.href = data.href;
        } else {
            for (i=0; i<data.errors.length; i++) {
                $('#error_'+data.errors[i]).fadeIn();
            }
        }
    }
    
    $("#login_form").submit(function() {
        $(this).prepend('<input type="hidden" name="ajax_flag" value="1" />');
        
        var options = {
            beforeSubmit:	beforeSubmit,
            success:		successSubmit,
            error:			errorSubmit,
            timeout:		3000,
            dataType:		'json'
        }		

        $(this).ajaxSubmit(options);
        return false;
    });
    
    $('#openid_form').submit(function() {
        var v = $('input[name=openid_account]').val();
        if (!v) {
            $('#openid_account_error').show();
            return false;
        }
    });
    
    $('#lj_form').submit(function() {
        var v = $('input[name=lj_account]').val();
        if (!v) {
            $('#lj_account_error').show();
            return false;
        }
    });
});

toggler = {
    prev: '',
    expect: 'form_registration',
    
    exec: function(id) {
        var obj = $('#'+id);
        if (toggler.prev && toggler.prev != toggler.expect) {
            $('#'+toggler.prev).animate({height: "hide"});
        }
        if (obj.css('display').toLowerCase() == 'none') {
            obj.animate({height: "show"});
        } else {
            obj.animate({height: "hide"});
        }
        toggler.prev = id;
        return false;
    }
}

captcha = {
    refresh: function(id) {
        $('#'+id).attr('src', '/captcha/'+Number(new Date));
        return false;
    }
}

course = {
    all: function() {
        var ac = $('#all_courses');
        if (ac.length == 0) {
            $.get('/get_real_courses/', function(data) {
                $('#courses').hide().after(data);
                $('#course_link').html('Скрыть курсы');
            });
        } else {
            if(ac.css('display').toLowerCase() == 'none') {
                $('#courses').hide();
                ac.show();
                $('#course_link').html('Скрыть курсы');
            } else {
                $('#courses').show();
                ac.hide();
                $('#course_link').html('Все курсы');
            }
        }
    }
}
