//Firon JS

$(document).ready(function(){
	attachEventsToWorks();
	attachEventsToPopupButtons();
	new initPopup();
});


function initPopup(){
	this.init();
}

initPopup.prototype = {
	init:function(){
		var _my = this;
		this.dark = $('#dark');
		this.dark.click(function(){
			_my.closePopup();
		});
		this.popup = $('#popup');
		this.leftArrow = $('#left');
		this.rightArrow = $('#right');
		this.works = this.popup.find('.work');
		this.leftArrow.click(function(){
			_my.nextWork(-1);
		});
		this.rightArrow.click(function(){
			_my.nextWork(1);
		});
		this.popup.find('.img').click(function(){
			_my.closePopup();
		});
		this.popup.find('.arrow').hover(function(){
			$(this).addClass('hover');
		}, function(){
			$(this).removeClass('hover');
		});
		$('span.popup-button').click(function(){
			_my.showWork($(this));
		});
	},
	nextWork:function(dir){
		var nowWork = this.popup.find('div.p-visible');
		var nowImg = nowWork.find('img.p-visible');
		var imgs = nowWork.find('.img img');
		var nowIndex = imgs.index(nowImg);
		nowImg.removeClass('p-visible');
		imgs.eq(nowIndex+dir).addClass('p-visible');
		if(nowIndex+dir == 0){
			this.leftArrow.addClass('disable');
			this.rightArrow.removeClass('disable');
		} else if(nowIndex+dir == imgs.length - 1){
			this.rightArrow.addClass('disable');
			this.leftArrow.removeClass('disable');
		} else {
			this.rightArrow.removeClass('disable');
			this.leftArrow.removeClass('disable');
		}
		
	},
	showWork:function(elem){
		var _my = this;
		this.dark.addClass('p-visible');
		var scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0;
		this.popup.addClass('p-visible').css({top:scrollTop + 40});
		this.leftArrow.removeClass('disable');
		this.rightArrow.removeClass('disable');
		var id = '#'+elem.attr('rel');
		this.leftArrow.addClass('disable');
		if(this.popup.find(id).find('.img img').length == 1){
			this.rightArrow.addClass('disable');
		}
		this.popup.find(id).addClass('p-visible').find('.img img').eq(0).addClass('p-visible');
	},
	closePopup:function(){
		this.popup.find('.p-visible').removeClass('p-visible');
		this.dark.removeClass('p-visible');
		this.popup.removeClass('p-visible');
	}
}

function attachEventsToPopupButtons(){
	$('span.popup-button').hover(function(){
		$(this).addClass('hover');
	}, function(){
		$(this).removeClass('hover');
	})
}

function attachEventsToWorks(){
	$('.info-item .img-wrap').hover(function(){
		$(this).addClass('selected');
	}, function(){
		$(this).removeClass('selected');
	});
}

