$(document).ready(function(){
pcbox = function(){
	count = $('.portfolio li').length; // количество элементов
	qnt = Math.ceil(count/4); // количество строк
	var pul = $('.portfolio');
	var pc_prev = $('.portfolioControls .pc-prev');
	var pc_next = $('.portfolioControls .pc-next');
	var currentOffset = 0;
	var maxOffset = qnt - 2;
	function move(dir) {
		if ( ( (currentOffset < maxOffset) && (dir=='prev') ) || ( (currentOffset > 0) && (dir=='next') ) ) {
			// если можно двигать, то двигаем
			offset = (dir=='prev') ? -201 : 201; // вверх или вниз
			currentOffset = (dir=='prev') ? currentOffset+1 : currentOffset-1; // изменяем текущее положение
			check(); // проверяем кнопочки на возможность дальнейшего использования
			pul.animate({ // анимируем анимацию анимационного блока портфолио для анимации
				marginTop:'+='+offset+'px'
			},300,'easeOutQuad');
		}
	};
	function bind(){
		// биндим кнопки, клаву и скролл
		pc_prev.find('strong').click(function(){
			if ($(this).parent().hasClass('active')) {
				move('prev');
			}
		});
		pc_next.find('strong').click(function(){
			if ($(this).parent().hasClass('active')) {
				move('next');
			}
		});
		pul.parent().mousewheel(function(event, delta) {
			if (delta > 0)
			move('next');
			else if (delta < 0)
			move('prev');
			return false;
		});
		if ( $.browser.opera ) {
			// для оперы на другие кнопки, ибо не получается сбросить дефолтные действия с ctrl+
			pc_prev.find('em').html('<span>&darr;</span> Ctrl+Shift');
			pc_next.find('em').html('Ctrl+Shift <span>&uarr;</span>');
			$(document).bind('keydown', 'Ctrl+shift+down', function(evt){
				move('prev');
				return false;
			});
			$(document).bind('keydown', 'Ctrl+shift+up', function(evt){
				move('next');
				return false;
			});
		} else {
			$(document).bind('keydown', 'Ctrl+down', function(evt){
				move('prev');
				return false;
			});
			$(document).bind('keydown', 'Ctrl+up', function(evt){
				move('next');
				return false;
			});
		}
	};
	function check(){
		if (currentOffset == 0) {
			// если начальное положение
			pc_prev.addClass('active');
			pc_next.removeClass('active');
		} else if (currentOffset == maxOffset) {
			// если конечное
			pc_prev.removeClass('active');
			pc_next.addClass('active');
		} else {
			// если любое промежуточное
			pc_prev.addClass('active');
			pc_next.addClass('active');
		};
	};
	return {
		bind:bind
	}
}();
$(function(){
	pcbox.bind();
});

});
