$(document).ready(function(){
	function galleryInit(i, e){

		galleryWrapper = $(e);

		galleryWrapper.picturesSlide = galleryWrapper.find('.picturesSlide');
		galleryWrapper.pictureLenght = galleryWrapper.picturesSlide.find('.picture').size();
		
		
		galleryWrapper.leftArrow = galleryWrapper.find('.pictureLeftArrow');
		galleryWrapper.rightArrow = galleryWrapper.find('.pictureRightArrow');
				
		checkPicturePosition(galleryWrapper)
		
		galleryWrapper.hover(showArrows, hideArrows);
		galleryWrapper.leftArrow.bind('click', slideLeft)
		galleryWrapper.rightArrow.bind('click', slideRight)
	
		function checkPicturePosition(wrapper){
			wrapper.slider = wrapper.find('.picturesSlide');
			wrapper.maxLeftPosition = wrapper.slider.find('.picture').last().position().left;
			wrapper.minLeftPosition = 0;
		
			if(wrapper.pictureLenght <= 1){
				wrapper.find('.pictureLeftArrow').hide();
				wrapper.find('.pictureRightArrow').hide();		
			}else{
				if(wrapper.slider.position().left == wrapper.minLeftPosition){
					wrapper.find('.pictureLeftArrow').hide();
					wrapper.find('.pictureRightArrow').show();				
				}else if(wrapper.slider.position().left == -wrapper.maxLeftPosition){
					wrapper.find('.pictureLeftArrow').show();
					wrapper.find('.pictureRightArrow').hide();								
				}else{
					wrapper.find('.pictureLeftArrow').show();
					wrapper.find('.pictureRightArrow').show();												
				}
			}
		}
		
		function slideLeft(e){
			var target     = $(e.currentTarget);
			var parent 	   = target.parent();
			var slider     = parent.find('.picturesSlide');
			var slideWidth = parent.find('.picturesSlide').find('.picture').width();
			var sliderPosition = slider.position().left + slideWidth;			
						
			slider.animate({left:sliderPosition}, '500', function(){
				checkPicturePosition($(this).parent())
			})
					
			return false;
		}
		
		function slideRight(e){
			var target     = $(e.currentTarget);
			var parent 	   = target.parent();
			var slider     = parent.find('.picturesSlide');
			var slideWidth = parent.find('.picturesSlide').find('.picture').width();
			var sliderPosition = slider.position().left - slideWidth;			
						
			slider.animate({left:sliderPosition}, '500', function(){
				checkPicturePosition($(this).parent())
			})
			
			return false;			
		};
		
		function showArrows(e){
			var target = $(e.currentTarget);
			var Arrows = target.find('.pictureLeftArrow, .pictureRightArrow');
			Arrows.css({visibility:'visible'})
		}
		
		function hideArrows(e){
			var target = $(e.currentTarget);
			var Arrows = target.find('.pictureLeftArrow, .pictureRightArrow');
			Arrows.css({visibility:'hidden'})
		}
	}
	
	$('.picturesWrapper').each(galleryInit)
});

