// Um cambalacho por Luiz Sócrate

jQuery.fn.galeria = function(){
	var hasCSS = $('html').hasClass('cssloaded');
	var callMeCheater = 0; // Underhanded, but works!
	
	if(callMeCheater==0){
		// Pega CSS de javascript
		if(!hasCSS){
			$('head').append('<link rel=stylesheet href=css/javascript.css>');
			$('html').addClass('cssloaded');
		}
		
		// Reconstroi o DOM
		$('h1').after('<div class=header></div><div class=screen></div><div class=sliderWrapper><ul class=itemslist></ul></div>');
		$('.gallery > li').each(function(){
			var projetoClass = $(this).attr('class');
			$('li',this).addClass(projetoClass).appendTo('.itemslist');
			$('.header').append('<div class=' + projetoClass + '></div>');
			$('h2,p',this).appendTo('.header .' + projetoClass);
		});
		$('.header div').hide().first().show();
		$('.screen').append(function(){
			var firstScreen = $('.itemslist a').first().attr('href');
			var firstScreenImg = '<img src=' + firstScreen + '>' ;
			return firstScreenImg ;
		});
		$('.gallery').remove();
		
		// Cria troca de imagem
		$('.itemslist a').click(function(){
			var thisClass = $(this).parent('li').attr('class');
			var thisHref = $(this).attr('href');
			
			$('.screen img').fadeOut(400,function(){
				$(this).attr('src',thisHref);
			}).fadeIn();
			$('.header div').hide();
			$('.header .' + thisClass).fadeIn();
			
			return false ;
		});
		
		// Slider
		$('.sliderWrapper').after('<div class=fakeslider><div class=slider></div></div>').each(function(){
			var content = $('.itemslist',this);
			function handleSliderChange(e, ui){
				var maxScroll = content.attr("scrollWidth") - content.width();
				content.animate({scrollLeft: ui.value * (maxScroll / 100)}, 400);
			};
			function handleSliderSlide(e, ui){
				var maxScroll = content.attr("scrollWidth") - content.width();
				content.attr({scrollLeft: ui.value * (maxScroll / 100)});
			};
			$('.slider').slider({
				animate:'true',
				change: handleSliderChange,
    			slide: handleSliderSlide
			});	
		});
	};
	
	callMeCheater++ // Yey!
};
