/*!
 * jQuery Simple Gallery v1.0
 * http://www.rafaelgomes.info
 *
 * Copyright 2010, Rafael Gomes
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * 
 *
 * Date: Fri May 29 2011
 */
(function($){
 $.fn.photoSlider = function(options) {
	//default values
	var defaults = {
		sliderContainer: '.movel', 			//slider container that slides to one side and another
		imageContainer: '.foto', 			//a photo inside the container
		control: '.control',				//class of control container
		nextButton: '.avancar',				//class of next button
		backButton: '.voltar',				//class of back button
		numberOfPhotosPerTime: 1,			//number of photos that appears
		marginOfImage: 10,					//margin of a image to another
		speedSlide: 400,
		imageSize: 110,
		pageRedutor: 4,
		imageContainerWidth: 640
	};
	
	var options = $.extend(defaults, options);
	
	//call all elements
    return this.each(function() {
		//declaration of 
		var obj = $(this);
		
		var page			= 0;
		var maxPage 		= Math.ceil((obj.children(defaults.sliderContainer).children(defaults.imageContainer).length) / (defaults.numberOfPhotosPerTime));
		var pageWidth 		= obj.width();
		var widthTotal		= (obj.children(defaults.sliderContainer).children(defaults.imageContainer).length)  * defaults.imageSize;

		if(widthTotal <= defaults.imageContainerWidth)
		{
			obj.parent().children(defaults.control).css('display', 'none');
			obj.parent().children(defaults.control+':hidden').css('display', 'none');
		}
		
		obj.parent().children(defaults.control).children(defaults.backButton).click(function(){
			obj.parent().children(defaults.control).children(defaults.nextButton).css('display', 'block');
			if(page > 0)
			{
				page--;
				if(page == 0)
				{
					$(this).css('display', 'none');
				}
				navigation(page);
			}
		});
		
		obj.parent().children(defaults.control).children(defaults.nextButton).click(function(){
			obj.parent().children(defaults.control).children(defaults.backButton).css('display', 'block');
			if(page < maxPage - defaults.pageRedutor)
			{
				page++;
				if(page == maxPage - defaults.pageRedutor)
				{
					$(this).css('display', 'none');
				}
				navigation(page);
			}
		});
			
		function navigation(page)
		{
			obj.children(defaults.sliderContainer).stop().animate({left: -(page * (defaults.imageSize + defaults.marginOfImage)) + 'px'}, defaults.speedSlide);
		}
		
    }); //each
 };
})(jQuery);;

