function vitrine($elem, $) {

	textosVitrine = [
		'<span><strong>Weni Maranhão</strong> Desenvolvimento de site</span> <ul><li>Layout</li><li>Css</li><li>Html</li><li>jQuery</li></ul>',
		'<span><strong>Wanda Borges</strong> Desenvolvimento de site</span> <ul><li>Layout</li><li>Css</li><li>Html</li><li>jQuery</li></ul>',
		'<span><strong>Luciana Wickert</strong> Desenvolvimento de site e blog</span> <ul><li>Layout</li><li>Html</li><li>Wordpress</li><li>Css</li></ul>',
		'<span><strong>TKTricot</strong> Desenvolvimento de site</span> <ul><li>Layout</li><li>Css</li><li>Html</li><li>jQuery</li></ul>',
		'<span><strong>Portal do Franchising</strong> Desenvolvimento de portal</span> <ul><li>Html</li><li>Css</li></ul>',
		'<span><strong>Constance Zahn</strong> Desenvolvimento de blog</span> <ul><li>Wordpress</li><li>Css</li><li>Html</li><li>jQuery</li></ul>',
		'<span><strong>Bia Doria</strong> Desenvolvimento de site</span> <ul><li>Html</li><li>jQuery</li><li>Css</li><li>Ajax</li></ul>',
		'<span><strong>Alice in Popland</strong> Desenvolvimento de site</span> <ul><li>Layout</li><li>Flash</li><li>Ilustrações</li><li>AS 2</li></ul>',
		'<span><strong>Paper Doll Card Maker</strong> Aplicativo em Flash</span> <ul><li>Layout</li><li>Flash</li><li>Ilustrações</li><li>AS 2</li></ul>'
	]

	var $vitrine = $elem;
	var $wrap = $vitrine.find('.item_wrap');
	var $itens = $wrap.find('li');
	var $legenda = $('.legendaVitrine div');
	var numItens = $itens.length;
	var larguraItem = $itens.outerWidth(true);
	var margemItem = parseInt($itens.css('margin-right'))
	var diferenca;
	var numClones = 4;
	var count = 0;
	var velocidade = 800

	$wrap.css('width', (larguraItem*(numItens + numClones*2)));

	firsturl = $itens.eq(0).find('a').attr('href');
	$legenda
		.html(textosVitrine[0])
		.find('strong')
			.wrap('<a href="' + firsturl + '" target="_blank" />');



	// clones
	$itens.filter(':first').before($itens.slice(-numClones).clone().addClass('cloned'));
	$itens.filter(':last').after($itens.slice(0, numClones).clone().addClass('cloned'));

	// fade
	$wrap.find('li').eq(numClones).addClass('selecionado');

	if(jQuery.support.opacity) {
		$wrap
		.find('li')
			.find('img')
			.css('opacity', 0.6)
		.end()
		.eq(numClones)
			.addClass('selecionado')
			.find('img')
			.css('opacity', 1);
	}

	// paginacao
	$('<div class="paginacao"><ul></ul></div>').insertAfter($vitrine);
	$paginacao = $('.paginacao ul')
	for(i=1; i<=numItens; i++) {
		$paginacao.append('<li>' + i +'</li>');
	}
	$paginacao
		.prepend('<li class="prev"><span>&lt;</span></li>')
		.append('<li class="next"><span>&gt;</span></li>')
		//.css('margin-left', -$paginacao.outerWidth()/2)
		.find('li').eq(1).addClass('selecionado');


	function calcularMargem(nCount){
		return ((nCount+numClones) * larguraItem) - Math.floor(diferenca) - (margemItem/2);
	}

	function ajustarMargem() {
		diferenca = ($(window).width() - larguraItem) / 2;
		margem = calcularMargem(count);
		$wrap.css('margin-left', -margem);
	}
	ajustarMargem();
	
	function nextItem(n) {
		if ($wrap.is(':animated') || n === count) {
			return;
		}

		if(n == numItens) { //next loop
			$wrap.css('margin-left', -calcularMargem(-1));
			count = 0;
		} else if(n < 0) { //prev loop
			$wrap.css('margin-left', -calcularMargem(numItens));
			count = numItens-1;
		} else {
			count = n;
		}

		$paginacao.find('li').removeClass('selecionado').eq(count+1).addClass('selecionado');

		if(jQuery.support.opacity) {
			$itens.removeClass('selecionado').find('img').animate({'opacity' : 0.6}, 300);
			$itens.eq(count).find('img').stop().animate({'opacity' : 1}, 300);
		} else {
			$itens.removeClass('selecionado');
		}


		$legenda.hide();

		margem = calcularMargem(count);
		
		$wrap.animate({'margin-left' : -margem}, velocidade, function(){
			if(count == numItens) {
				texto = textosVitrine[0];
			} else {
				texto = textosVitrine[Math.abs(count)];
			}
			// legenda
			linkurl = $itens.eq(count).find('a').attr('href');
			$legenda.html(texto);
			$legenda.find('strong').wrap('<a href="' + linkurl + '" target="_blank" />');
			$legenda.fadeIn('fast');

			$itens.eq(count).addClass('selecionado');
		});

	}

	$(window).resize(function(){
		ajustarMargem();
	});

	$('.prev').click(function(){
		nextItem(count-1);
	});
	$('.next').click(function(){
		nextItem(count+1);
	});
	$('.paginacao li').not(':first-child').not(':last-child').click(function(){
		nextItem($(this).index()-1);
	});

	// click itens
	$wrap.find('li a').click(function(){
		$li = $(this).parent();
		
		if($li.hasClass('selecionado')) {
			return true;
		}
		
		if($li.hasClass('cloned')) {
			nIndex = $wrap.find('li').index($li);
			
			if(nIndex < numClones) { // primeiros clones
				prox = numItens - Math.abs((nIndex-numClones));
				step = prox-count;
				
				if (count == 0 && step >= numItens-numClones) {
					// loop
					$wrap.css('margin-left', -calcularMargem(numItens));
				} 

				nextItem(prox);

			} else { // ultimos clones
				prox = nIndex-numClones-numItens;
				step = prox-count;
				
				if (count == numItens-1 && step < -numItens+1+numClones) {
					// loop
					$wrap.css('margin-left', -calcularMargem(-1));
				}
				
				nextItem(prox);
			}
			return false;
		}
		nextItem($wrap.find('li').index($li)-numClones);
		return false;
	});


	$(window).load(function(){
		//setInterval(function(){nextItem(count+1)}, 4000);
	});
}


function tooltip(target, msg) {

	$(target).live('mouseenter', function(){
		$('#tooltip').html(msg).show();
	});
	$(target).live('mousemove', function(e){
		topPos = parseInt(e.pageY) + 25;
		left = e.pageX;
		$('#tooltip').css({'top' : topPos , 'left' : left});
	});
	$(target).live('mouseleave', function(){ 
		$('#tooltip').hide();
	});
}


$(function(){
	vitrine($('.portfolioCarousel'), jQuery);

	tooltip('#temas li', 'mudar cores');
	tooltip('.portfolioCarousel li.selecionado', 'clique para abrir o link');

	// temas
	$('#temas li').click(function(){
		tema = $(this).attr('class').replace('bt-', '');
		$('body').attr('class', '').addClass('tema-' + tema);

		// cookie
		expireDate = new Date();
		expireDate.setMonth(expireDate.getMonth() + 1);
		document.cookie = "tema=" + tema + ";path=/;expires=" + expireDate.toGMTString();
	});

	if (document.cookie != "") {
		tema = document.cookie.split("=")[1];
		$('body').attr('class', '').addClass('tema-' + tema);
	}

});

