  /*=====================
    START        COMMUNITY
    * ====================*/
    function Community(module) {
        var that = this;
		
		// id пользователя, сообщество которого показано
		this._userid = null;
        this._module = module;
        
        this.isOpened = false;
        
        // если Блок уже загружен - инициализировать
        if (this._module.is(':empty')) {
            this._loaded = false;
			this.hidden = true;
        } else {
			// TODO возможна ли такая ситуация?
			if (window.console) console.warn('сообщество уже загружено');
			this._loaded = true;
			this.hidden = true;
			return;
            
            this._init();
            this._bind();
            this.open();
        }
    };

    Community.prototype = {
        _init: function() {

           this._menu = $('#orange_bottom_menu');
           this._content = $('#content_list');

        },
        // show module
        // открыть окно сообщество
		// userid
        show: function(userid) {
            //return;
            var that = this;
			this.hidden = false;
            if (!this._loaded || this._userid !== userid) {
				that._userid = userid;
                this._load(function() {
                    that._loaded = true;	
                    this.isOpened = true;
                    setTimeout(function() {that._show();}, 250);
                });
            } else {
                that._show();
            }
        },
        // load module
        // загрузить div c модулем и инициализировать
        _load: function(callback) {
            var that = this;
            $.ajax({
               url: '/ajax/getcommunity',
               type: 'get',
			   data: { userid: that._userid },
               dataType: 'html',
               success: function(html) {
                   that._module.html(html);
                   that._init();
                   that._bind();

                   (callback || $.noop).call(this);
               }
            });
        },
        // resize module
        // реакция на изменение размера
        // TODO передавать размеры окна
        resize: function() {
            // TODO fix margin-left = width / 2
            /*if ($(window).width() <= 1446) {
                this._module.css('left', '535px');
                this._menu.css('left', '534px');
            } else {
                this._module.css('left', '50%');
                this._menu.css('left', '50%');
            }*/

           // var contentH = $(window).height() - 292;
           // this._content.height(contentH);
			
		//	$('#main_content_block_list').height(contentH - 80);
        },
        // bind events
        // привязать события
        _bind: function() {
            var that = this;

            // TODO in core
            $(window).resize(function() {
                that.resize();
            });

            that._module.bind('mousewheel', function(event, delta) {
                that._scroll(delta);
            });

            // клик на стрелку "закрыть"
            $('#orange_close').click(function() {that._hide();});

            // клик на слово журнал
            $('#hideCommunity').click(function() {that._hide();});

            // клика на "обо мне"
            $('#list_about').click(function(){
                $('#video_main_content_block_list').hide();
                $('#publications_main_content_block_list').hide();
                $('#about_main_content_block_list').show();
         //       $('#list_menu_begunok').css({'left': $(this).data('left') + 'px'});
                $('.active_menu_button').removeClass('active_menu_button');
                $(this).addClass('active_menu_button');
            });

            // клика на видео
            $('#list_video').click(function(){
                $('#about_main_content_block_list').hide();
                $('#publications_main_content_block_list').hide();
                $('#video_main_content_block_list').show();
          //      $('#list_menu_begunok').css({'left': $(this).data('left') + 'px'});
                $('.active_menu_button').removeClass('active_menu_button');
                $(this).addClass('active_menu_button');
            });

            // клик на публикации
            $('#list_publications').click(function(){
					return;
                $('#video_main_content_block_list').hide();
                $('#about_main_content_block_list').hide();
                $('#publications_main_content_block_list').show();
             //   $('#list_menu_begunok').css({'left': $(this).data('left') + 'px'});
                $('.active_menu_button').removeClass('active_menu_button');
                $(this).addClass('active_menu_button');
            });

            // спрятать публикации
            function hide_content_block(el) { $(el).animate({ height: '20px'}).addClass('collapses'); }

            // показать публикации
            function show_content_block(el) {
                $(el).each(function() {
                    if($(this).is('.small_publication')) {
                    $(this).animate({ height: '254px'}).removeClass('collapses');
                } else {
                    $(this).animate({ height: '333px'}).removeClass('collapses');
                }
                });

            }

            // клика на публикацию
            $('.item_publications_main_content_block_list img').click(function() {
                var block = $(this).closest('.item_publications_main_content_block_list');
                if (block.is('.collapses')) {
                   show_content_block(block);
                } else {
                    hide_content_block(block);
                }
            });

            // клика на "популярные"
            $('#navigation_publications_popular').click(function() {
                show_content_block('.publications_popular');
                hide_content_block('.item_publications_main_content_block_list:not(.publications_popular)');

                $('#navigation_publications_all').removeClass('active_link');
                $(this).addClass('active_link');
            });

            // клик на "все"
            $('#navigation_publications_all').click(function() {
                show_content_block('.item_publications_main_content_block_list');
                $('#navigation_publications_popular').removeClass('active_link');
                $(this).addClass('active_link');
            });

            // клик на видео, передаёт id - id видео в базе
            $('.wrap_item_video_main_content_block_list').click(function() {
                // fire event 'video'
                that._module.trigger('video', { id: $(this).data('video-id') });
            });
			
			// 
			/*$('#openArchiveFromCommunity').click(function() {
				that._module.trigger('openarchive');				
			});*/

            // меню с чёрным бегунком, передвижение бегунка при наведении на пункты
            var pane = $('#list_menu_begunok');
            $('.list_menu_buttons').bind({
                mouseenter: function() {
                    pane.stop(true);
                    var left = $(this).data('left')
                            diff = left - pane.position().left;
                    pane.delay(200).animate({ left: left + 'px'}, Math.abs(diff), 'linear');
                },
                mouseleave: function() {
                    pane.stop(true);
                    var left = $('.active_menu_button').data('left')
                            diff = left - pane.position().left;
                    pane.delay(200).animate({ left: left + 'px'}, Math.abs(diff), 'linear');
                }

            });
        },

        bind: function(eventType, handler) {
            $.fn.bind.apply(this._module, arguments);
        },

        // hide module
        _hide: function() {
            this._module.trigger('hide');
        },

        // show module
        // показать Блок Сообщества
        _show: function() {
            var that = this;
            //that._module.css({ top: $(document).scrollTop() + 'px' });

            // TODO in core
            //$('body').css('overflow', 'hidden');
            //that._module.slideDown();
            that.resize();
            //that._menu.show();
            // TODO in core
            //$('.topPanel').hide();
        },
        // hide module
        // скрыть блок сообщества
        hide: function() {
            if (this.hidden) return;
            
             // TODO in core
            $('body').css('overflow-y', 'auto');
            this._module.slideUp();
            this._menu.hide();
			this.hidden = true;
            // TODO in core
            $('.topPanel').show()
        },
        // scroll module
        // обработка события mousewheel
        _scroll: function(delta) {
            return;
            var newTop = parseInt(this._module.css("top")) + delta * 50,
                    maxTop = $(document).scrollTop(),
                    //  -15 for orange panel
                    minTop = maxTop - this._module.height() + $(window).height() - 15;
            if (newTop > maxTop) {
                newTop = maxTop;
            } else if (newTop < minTop) {
                newTop = minTop;
            }
            this._module.css({"top" : newTop + "px"});
            //this._menu.css({"top" : $(window).height() + newTop + "px"});
        }
    };

    /*=====================
     END       COMMUNITY
    * ====================*/
