/*
	jQuery Slideshow v1.1 - Lucas Monteverde
*/

(function($){$.fn.SlideShow = function(option){
	var buttons,galeria,listImgs,links,img_atual,timer,speed = 7500,d = document;
		
	var createButtons = function(listImgs){
		var buttons = d.createElement('ul');
			buttons.setAttribute('id','slidenav');
		var listLength = listImgs.length;
		
		for(var i=0;i<listLength; i++){
			var btn = '<li' + (i === 0 ? ' class="active"':'') + '>';
				btn += '<a title="' + listImgs[i].title + '" rel="' + (i + 1) +'">' + listImgs[i].title + '</a></li>';
			buttons.innerHTML += btn;
		}
		
		galeria.parentNode.appendChild(buttons);
		configButtons(buttons);
	},
	
	configButtons = function(btns){
		buttons = btns;
		
		img_atual = listImgs[0].parentNode;
		
		$(buttons).bind('click',captureLink);
		links = buttons.getElementsByTagName('a');
	},
	
	loop = function(){
		var num = $(buttons).find('.active a').attr('rel');
		var next = links[num] ? links[num] : links[0];
		toggleStyle( next);
		timer = setTimeout(loop,speed);
	},
	
	clearTimer = function(){
		clearTimeout(timer);
		timer = setTimeout(loop,speed);
	},
	
	captureLink = function(e){
		if(e.preventDefault) {e.preventDefault();}
		else{ e.returnValue = false;}

		toggleStyle(e.target? e.target : e.srcElement);
		clearTimer();
	},
	
	toggleStyle = function(button){
		var btn_id = $(button).attr('rel');
		if(!btn_id) btn_id = $(button).parent('a').attr('rel');
		var parentImg = listImgs[ btn_id - 1].parentNode;
		if(img_atual == parentImg) {return;}
		$(img_atual).fadeOut();
		$(parentImg).fadeIn();

		img_atual = parentImg;
		
		$('.active',buttons).removeClass('active');
		$(button.parentNode).addClass('active');
	};
	
	return this.each(function(){
		galeria = this;
		listImgs = galeria.getElementsByTagName('a');
		
		if(option && option.speed) {speed = option.speed;}
		if(option && option.buttons) { configButtons( $(option.buttons)[0] ); }
		else{ createButtons(listImgs); }
		
		timer = setTimeout(loop,speed);
	});
};})(jQuery);
