//==================================================================//
//jQuery personalizado

(function($) {
	$.fn.extend({
	//--------------------------------------------------------------------------------------------------------------//
	//Validar formulário
	
		validar: function() {
		
			//para cada objeto do seletor
			$(this).each(function() {
			
				$(this).submit(function() {
				
					var formulario = $(this);
					var campos = formulario.find("fieldset");

					//verificar campos
					campos.filter(".check, .erro, .ok").each(function() {
					
						//checar
						var classe = ($(this).children("input:text, textarea").val().length > 0) ? "ok" : "erro";
						
						//aplicar resultado
						$(this).attr("class", classe);
						
					});
					
					//se estiver ok
					if(!campos.is(".erro")) {
						$(this).find("button").text("Enviando");
						//.attr("disabled", "disabled");
					}
					else { return false; }
					
				});
				
			});
			
			//retornar seletor
			return this;
		
		},
	
	//--------------------------------------------------------------------------------------------------------------//
	//Slide show
		
		slides : function(tempo) {
		
			var tempo = tempo || false;
		
			//para cada objeto do seletor
			$(this).each(function() {
							
				//variáveis do objeto
				var objeto = $(this);
				var total = objeto.find("li").size();
				var quadro = objeto.parent();
				
				//----------------------------------------------------------------------------------------------------//
				//caso haja mais de um slide
				
				if(total > 1) {
				
					//inserir navegação
					var navegar = $("<div class='botoes' />")
					.append($("<a class='anterior' title='Anterior'>&larr;</a>").click(function() { slide.navegar("anterior"); slide.timer(); }))
					.append($("<a class='proximo' title='Próximo'>&rarr;</a>").click(function() { slide.navegar("proximo"); slide.timer(); }))
					.hide()
					.appendTo(quadro);
					
					//exibir navegação
					quadro.hover(function() { navegar.fadeIn(); }, function() { navegar.hide(); });
					
					//esconder slides
					objeto.find("li:not(:first)").hide();
				
					//objeto que aciona slides
					var slide = {

						num : 0,

						navegar : function(quem) {
							
							var ultimo = total - 1;
							
							//setar próximo slide
							switch(quem) {
								
								case "anterior" :
									slide.num = (slide.num == 0) ? ultimo : (slide.num - 1);
								break;
								case "proximo" :
									slide.num = (slide.num == ultimo) ? 0 : (slide.num + 1);
								break;
								case "primeiro" :
									slide.num = 0;
								break;
								case "ultimo" :
									slide.num = ultimo;
								break;
								default : slide.num = eval(quem) - 1;
							
							}
						
							//animar sildes
							objeto.find("li:visible").fadeOut();
							objeto.find("li").eq(slide.num).fadeIn();
						
						},
						
						timer : function() {
						
							//caso haja tempo
							if(tempo) {
							
								//zerar timer
								if(slide.show) { slide.show = window.clearInterval(slide.show); }
							
								//setar timer
								slide.show = window.setInterval(function() { slide.navegar("proximo"); }, (tempo * 1000));
								
							}
							
						}
						
					}
					
					//acionar timer
					slide.timer();
					
				}
			
			});
			
			//retornar seletor
			return this;

		}
	//--------------------------------------------------------------------------------------------------------------//
	});
})(jQuery);

//==================================================================//
