function mainInit () {
	autoSize ();
	popupHeight ();
	initPopups ();
	mainGallery ();
	heightToWrapper ();
	initBlogHandlers ();
}
function heightToWrapper () {
	$('#wrapper').css('height','auto');
	$('#wrapper').height($('#wrapper').height());
}
(function($) {
	$.fn.aboutGallery = function(o) {
		o = $.extend( {
			tab : '.tab',
			control : '.tabset',
			tab_holder : '.tabs-slider',
			animate_holder : '.holder'
		}, o || {});
		$(this).each(
				function() {
					tabset_holder = $(this);
					tabset_holder.find(o.tab_holder).css('width',tabset_holder.find(o.tab+':first').width()*tabset_holder.find(o.tab).size());
					step = tabset_holder.find(o.tab+':first').width();
					tabset_holder.find('.next').click(function(){
						tabset_holder.find(o.control + ' li.active').next().find('a').click();
						return false;
					});
					tabset_holder.find('.prev').click(function(){
						tabset_holder.find(o.control + ' li.active').prev().find('a').click();
						return false;
					});
					tabset_holder.find(o.control + ' li a').bind('click',function(){
						if (!$(this).parent().is('.active')) {
							$(this).parents(o.control).find('.active').removeClass('active');
							$(this).parent().addClass('active');
							$(this).parents(tabset_holder).find(o.tab_holder).animate({marginLeft:(-1)*($(this).parent().index()*step)},1000);
						}
						return false;
					});
				});
	};
})(jQuery);
(function($) {
	$.fn.newsGallery = function(o) {
		o = $.extend( {
			interval : 5000, /* интервал вращения 1000 = 1секунда */
			scroll_interval : 10000, /* интервал прокрутки текста по горизонтали */
			speed : 1500, /* скорость перемещения 1000 = 1секунда */
			gallery_holder : 'ul',
			gallery_item : 'li'
		}, o || {});
		var steps = 1;
		$(this).each(
				function() {
					main_holder = $(this);
					var step = ($(this).find(o.gallery_item).height()+parseInt($(this).find(o.gallery_item).css('padding-top'))) * steps;
					t = setTimeout(oneStep, o.interval);
					function oneStep () {
						main_holder.find(o.gallery_holder).prepend('<'+o.gallery_item+'>'+main_holder.find(o.gallery_holder).find(o.gallery_item+':last').html()+'</'+o.gallery_item+'>');
						main_holder.find(o.gallery_holder).find(o.gallery_item+':last').remove();
						main_holder.find(o.gallery_holder).css('margin-top',-step);
						main_holder.find(o.gallery_holder).animate({marginTop:'0'}, o.speed, function(){
							if ($(this).find(o.gallery_item+':first p').width() > $(this).parents(main_holder).width()) {
								$(this).find(o.gallery_item+':first').animate({marginLeft:$(this).parents(main_holder).width() - $(this).find(o.gallery_item+':first p').width()}, o.scroll_interval, function(){
									t = setTimeout(oneStep, o.interval);
								});
							} else {
								t = setTimeout(oneStep, o.interval);
							}
						});
					};
				});
	};
})(jQuery);
function mainGallery () {
	$('.main_page_nav a').mouseenter(function(){
		moveTo($(this).parent().index());
	});
	$('.gallery .prev').click(function(){
		if (!$(this).hasClass('prev-disabled')) {
			moveTo($('.main_page_nav li.active').prev().index(), 500);
		}
	});
	$('.gallery .next').click(function(){
		if (!$(this).hasClass('next-disabled')) {
			moveTo($('.main_page_nav li.active').next().index(), 500);
		}
	})
	moveTo(0, 1500);
}
function moveTo (index, speed) {
	$('.main_page_nav .active').removeClass('active');
	$('.main_page_nav li').eq(index).addClass('active');
	$('.gallery .mover').stop();
	$('.road').stop();
	var _frame = $(window).width();
	var _iframe = $('.gallery .mover').width();
	var xpos = 0;
	xpos = -(_iframe/2)+(index)*300+160-(_iframe-_frame)/2;
	if (xpos > 0) {xpos = 0;}
	if ( (_frame - (_iframe-(-1*xpos))) > 376 ) {
		xpos = _frame - _iframe - 376;
	}
	$('.gallery .mover').animate({
		right: xpos
	},speed);
	if ((xpos > parseInt($('.road').css('right'))) && ((xpos - 30) != parseInt($('.road').css('right')))) {
		$('.road').animate({
			right: xpos - 15
		}, speed);
	 } 
	if ((xpos < parseInt($('.road').css('right'))) && ((xpos-30) != parseInt($('.road').css('right')))) {
	 	$('.road').animate({
			right: xpos - 30
		}, speed);
	 }
	if (index == 0) {
		if (!$('.gallery .prev').hasClass('prev-disabled')) {$('.gallery .prev').addClass('prev-disabled')};
	} else {
		$('.gallery .prev').removeClass('prev-disabled')
	}
	if (index == 4) {
		if (!$('.gallery .next').hasClass('next-disabled')) {
			$('.gallery .next').addClass('next-disabled')
		};
	} else {
		$('.gallery .next').removeClass('next-disabled')
	}
}
function initPopups () {
	$('.park a').live('click',function(){
	    popupHeight ();
	    if ($(this).attr('rel') == 'fortress'){
	        $('#flash-frame2').css({'min-width': '560px'});
	        $('#flash-frame2').parent().css({'width': '560px'});
		$('#flash-frame2').attr('src', $(this).attr('href'));
		$('.game2').css('left', '0px');
	    }
	    else {
	        $('#flash-frame1').css({'min-width': '795px'});
	        $('#flash-frame1').parent().css({'width': '775px'});
		$('#flash-frame1').attr('src', $(this).attr('href'));
		$('.game1').css('left', '0px');
	    }
	    
	    
	    //$('.top-ten').css('left','0px');
	    return false;
	});
	
	$('#tetris-game').live('click',function(){
		$('#flash-frame2').attr('src', $(this).attr('href'));
		popupHeight ();
		//$('.top-ten').css('left','0px');
		$('.game2').css('left', '0px');
		return false;
	})
	$('.player a').live('click',function(){
		popupHeight ();
		$('.online-video').css('left','0px');
		return false;
	});
	$('.btn-history').live('click',function(){
		popupHeight ();
		$('.history-activation').css('left','0px');
		return false;
	});
	$('.popup .close, .popup .bg').click(function(){
		$('.popup').css({'left':'-9999px','height':'10px'});
	});
	$('.clean-close').click(function(){
        $('#flash-frame').attr('src', '');
    });
}
function autoSize () {
	var content_height = 0;
	hHeader = 0;
	if ($('#header').size()>0) {
		hHeader += $('#header').height() + parseInt($('#header').css('margin-top')) + parseInt($('#header').css('margin-bottom'))
	}
	var _helper = 20;
	if ($('.drawing-info').outerHeight()>0) {
		_helper = 7;
	}
	content_height = $(window).height() - hHeader - $('.menu').height() - parseInt($('#main').css('padding-top')) - $('#footer').outerHeight() - $('.main-t').height() - $('.drawing-info').outerHeight() + _helper;
	if (content_height > 362) {
		$('#main .main-holder').height(content_height);
	} else {
		content_height = 362;
		$('#main .main-holder').height(content_height);
	}
	var sHeight = 0;
	sHeight = content_height - $('#main .main-menu').outerHeight() - $('#main .archive-top').outerHeight() - $('#main .paging').outerHeight() - parseInt($('#main .scrollable').css('margin-bottom')) - parseInt($('#main .scrollable').css('margin-top')) - $('.registration-form h2').outerHeight();
	$('#main .scrollable').height(sHeight);
	$('#main .scroll-content').height(sHeight);
	$('.index #main').css('padding-top',$(window).height()-521-$('#footer').outerHeight()+'px');
	$('#main.fixed').parents('#wrapper').css('padding-bottom',content_height-362+'px');
};
function popupHeight () {
	var pHeight = 0;
	pHeight = $(window).height();
	if (pHeight < $('body').height()) {pHeight = $('body').height();}
	$('.popup').height(pHeight);
}
function initBlogHandlers(){
    $('.like').live('click', function(){
        //console.log('like start');
        var self = $(this);
        //console.log(self.attr('href'));
        var url = self.attr('href').substr(self.attr('href').indexOf('#') + 1, self.attr('href').length);
        //console.log(url);
        $.post(url, function(data, status){
            //console.log(data);
            if (data.success){
                self.parent().prev().text(data.rating)
                self.replaceWith('<em>Вы проголосовали</em>');
                self.remove();
            }else{
                alert(data.message);
            }
        });
        return false;
    });
    $('#comment-text').live('keyup', function(){
        var text = $(this).val();
        if (text.length){
            $('#comment-error').hide();
        }
    });
    $('#send-comment').live('click', function(){
        var text = $('#comment-text').val();
        if (!text.length){
            $('#comment-error').show();
            return false;
        }
    });
}
$(window).resize(function(){
	autoSize ();
	heightToWrapper ();
	popupHeight ();
	moveTo($('.main_page_nav li.active').index(), 500);
})
$(document).ready(function(){
	mainInit ();
	$('.news-gallery').newsGallery ();
	$('.about').aboutGallery({
		control : '.year',
		tab : '.frame',
		tab_holder : '.tabs-slider',
		animate_holder : '.about-gallery'
	});
	$('.academy-gallery').galleryScroll();
});
jQuery.fn.galleryScroll = function(_options){
	// defaults options	
	var _options = jQuery.extend({
		btPrev: 'a.prev',
		btNext: 'a.next',
		holderList: 'div.frame',
		scrollElParent: 'ul',
		scrollEl: 'li',
		slideNum: false,
		duration : 1000,
		step: false,
		circleSlide: true,
		disableClass: 'disable',
		funcOnclick: null,
		autoSlide:false,
		innerMargin:0,
		stepWidth:false
	},_options);

	return this.each(function(){
		var _this = jQuery(this);

		var _holderBlock = jQuery(_options.holderList,_this);
		var _gWidth = _holderBlock.width();
		var _animatedBlock = jQuery(_options.scrollElParent,_holderBlock);
		var _liWidth = jQuery(_options.scrollEl,_animatedBlock).outerWidth(true);
		var _liSum = jQuery(_options.scrollEl,_animatedBlock).length * _liWidth;
		var _margin = -_options.innerMargin;
		var f = 0;
		var _step = 0;
		var _autoSlide = _options.autoSlide;
		var _timerSlide = null;
		if (!_options.step) _step = _gWidth; else _step = _options.step*_liWidth;
		if (_options.stepWidth) _step = _options.stepWidth;
		
		if (!_options.circleSlide) {
			if (_options.innerMargin == _margin)
				jQuery(_options.btPrev,_this).addClass('prev-'+_options.disableClass);
		}
		if (_options.slideNum && !_options.step) {
			var _lastSection = 0;
			var _sectionWidth = 0;
			while(_sectionWidth < _liSum)
			{
				_sectionWidth = _sectionWidth + _gWidth;
				if(_sectionWidth > _liSum) {
				       _lastSection = _sectionWidth - _liSum;
				}
			}
		}
		if (_autoSlide) {
				_timerSlide = setTimeout(function(){
					autoSlide(_autoSlide);
				}, _autoSlide);
			_animatedBlock.hover(function(){
				clearTimeout(_timerSlide);
			}, function(){
				_timerSlide = setTimeout(function(){
					autoSlide(_autoSlide)
				}, _autoSlide);
			});
		}
	
		// click button 'Next'
		jQuery(_options.btNext,_this).bind('click',function(){
			jQuery(_options.btPrev,_this).removeClass('prev-'+_options.disableClass);
			if (!_options.circleSlide) {
				if (_margin + _step  > _liSum - _gWidth - _options.innerMargin) {
					if (_margin != _liSum - _gWidth - _options.innerMargin) {
						_margin = _liSum - _gWidth  + _options.innerMargin;
						jQuery(_options.btNext,_this).addClass('next-'+_options.disableClass);
						_f2 = 0;
					} 
				} else {
					_margin = _margin + _step;
					if (_margin == _liSum - _gWidth - _options.innerMargin) {
						jQuery(_options.btNext,_this).addClass('next-'+_options.disableClass);_f2 = 0;
					} 					
				}
			} else {
				if (_margin + _step  > _liSum - _gWidth + _options.innerMargin) {
					if (_margin != _liSum - _gWidth + _options.innerMargin) {
						_margin = _liSum - _gWidth  + _options.innerMargin;
					} else {
						_f2 = 1;
						_margin = -_options.innerMargin;
					}
				} else {
					_margin = _margin + _step;
					_f2 = 0;
				}
			} 
			
			_animatedBlock.animate({marginLeft: -_margin+"px"}, {queue:false,duration: _options.duration });
			
			if (_timerSlide) {
				clearTimeout(_timerSlide);
				_timerSlide = setTimeout(function(){
					autoSlide(_options.autoSlide)
				}, _options.autoSlide);
			}
			
			if (_options.slideNum && !_options.step) jQuery.fn.galleryScroll.numListActive(_margin,jQuery(_options.slideNum, _this),_gWidth,_lastSection);		
			if (jQuery.isFunction(_options.funcOnclick)) {
				_options.funcOnclick.apply(_this);
			}
			return false;
		});
		// click button 'Prev'
		var _f2 = 1;
		jQuery(_options.btPrev, _this).bind('click',function(){
			jQuery(_options.btNext,_this).removeClass('next-'+_options.disableClass);
			if (_margin - _step >= -_step - _options.innerMargin && _margin - _step <= -_options.innerMargin) {
				if (_f2 != 1) {
					_margin = -_options.innerMargin;
					_f2 = 1;
				} else {
					if (_options.circleSlide) {
						_margin = _liSum - _gWidth  + _options.innerMargin;
						f=1;_f2=0;
					} else {
						_margin = -_options.innerMargin
					}
				}
			} else if (_margin - _step < -_step + _options.innerMargin) {
				_margin = _margin - _step;
				f=0;
			}
			else {_margin = _margin - _step;f=0;};
			
			if (!_options.circleSlide && _margin == _options.innerMargin) {
				jQuery(this).addClass('prev-'+_options.disableClass);
				_f2=0;
			}
			
			if (!_options.circleSlide && _margin == -_options.innerMargin) jQuery(this).addClass('prev-'+_options.disableClass);
			_animatedBlock.animate({marginLeft: -_margin + "px"}, {queue:false, duration: _options.duration});
			
			if (_options.slideNum && !_options.step) jQuery.fn.galleryScroll.numListActive(_margin,jQuery(_options.slideNum, _this),_gWidth,_lastSection);
			
			if (_timerSlide) {
				clearTimeout(_timerSlide);
				_timerSlide = setTimeout(function(){
					autoSlide(_options.autoSlide)
				}, _options.autoSlide);
			}
			
			if (jQuery.isFunction(_options.funcOnclick)) {
				_options.funcOnclick.apply(_this);
			}
			return false;
		});
		
		if (_liSum <= _gWidth) {
			jQuery(_options.btPrev,_this).addClass('prev-'+_options.disableClass).unbind('click');
			jQuery(_options.btNext,_this).addClass('next-'+_options.disableClass).unbind('click');
		}
		// auto slide
		function autoSlide(autoSlideDuration){
			//if (_options.circleSlide) {
				jQuery(_options.btNext,_this).trigger('click');
			//}
		};
		// Number list
		jQuery.fn.galleryScroll.numListCreate = function(_elNumList, _liSumWidth, _width, _section){
			var _numListElC = '';
			var _num = 1;
			var _difference = _liSumWidth + _section;
			while(_difference > 0)
			{
				_numListElC += '<li><a href="">'+_num+'</a></li>';
				_num++;
				_difference = _difference - _width;
			}
			jQuery(_elNumList).html('<ul>'+_numListElC+'</ul>');
		};
		jQuery.fn.galleryScroll.numListActive = function(_marginEl, _slideNum, _width, _section){
			if (_slideNum) {
				jQuery('a',_slideNum).removeClass('active');
				var _activeRange = _width - _section-1;
				var _n = 0;
				if (_marginEl != 0) {
					while (_marginEl > _activeRange) {
						_activeRange = (_n * _width) -_section-1 + _options.innerMargin;
						_n++;
					}
				}
				var _a  = (_activeRange+_section+1 + _options.innerMargin)/_width - 1;
				jQuery('a',_slideNum).eq(_a).addClass('active');
			}
		};
		if (_options.slideNum && !_options.step) {
			jQuery.fn.galleryScroll.numListCreate(jQuery(_options.slideNum, _this), _liSum, _gWidth,_lastSection);
			jQuery.fn.galleryScroll.numListActive(_margin, jQuery(_options.slideNum, _this),_gWidth,_lastSection);
			numClick();
		};
		function numClick() {
			jQuery(_options.slideNum, _this).find('a').click(function(){
				jQuery(_options.btPrev,_this).removeClass('prev-'+_options.disableClass);
				jQuery(_options.btNext,_this).removeClass('next-'+_options.disableClass);
				
				var _indexNum = jQuery(_options.slideNum, _this).find('a').index(jQuery(this));
				_margin = (_step*_indexNum) - _options.innerMargin;
				f=0; _f2=0;
				if (_indexNum == 0) _f2=1;
				if (_margin + _step > _liSum) {
					_margin = _margin - (_margin - _liSum) - _step + _options.innerMargin;
					if (!_options.circleSlide) jQuery(_options.btNext, _this).addClass('next-'+_options.disableClass);
				}
				_animatedBlock.animate({marginLeft: -_margin + "px"}, {queue:false, duration: _options.duration});
				
				if (!_options.circleSlide && _margin==0) jQuery(_options.btPrev,_this).addClass('prev-'+_options.disableClass);
				jQuery.fn.galleryScroll.numListActive(_margin, jQuery(_options.slideNum, _this),_gWidth,_lastSection);
				
				if (_timerSlide) {
					clearTimeout(_timerSlide);
					_timerSlide = setTimeout(function(){
						autoSlide(_options.autoSlide)
					}, _options.autoSlide);
				}
				return false;
			});
		};
		jQuery(window).resize(function(){
			_gWidth = _holderBlock.width();
			_liWidth = jQuery(_options.scrollEl,_animatedBlock).outerWidth(true);
			_liSum = jQuery(_options.scrollEl,_animatedBlock).length * _liWidth;
			if (!_options.step) _step = _gWidth; else _step = _options.step*_liWidth;
			if (_options.slideNum && !_options.step) {
				var _lastSection = 0;
				var _sectionWidth = 0;
				while(_sectionWidth < _liSum)
				{
					_sectionWidth = _sectionWidth + _gWidth;
					if(_sectionWidth > _liSum) {
					       _lastSection = _sectionWidth - _liSum;
					}
				};
				jQuery.fn.galleryScroll.numListCreate(jQuery(_options.slideNum, _this), _liSum, _gWidth,_lastSection);
				jQuery.fn.galleryScroll.numListActive(_margin, jQuery(_options.slideNum, _this),_gWidth,_lastSection);
				numClick();
			};
			//if (_margin == _options.innerMargin) jQuery(this).addClass(_options.disableClass);
			if (_liSum - _gWidth  < _margin - _options.innerMargin) {
				if (!_options.circleSlide) jQuery(_options.btNext, _this).addClass('next-'+_options.disableClass);
				_animatedBlock.animate({marginLeft: -(_liSum - _gWidth + _options.innerMargin)}, {queue:false, duration: _options.duration});
			};
		});
	});
}


