Array.prototype.indexArray = function(value, cIdx){
	var ctr = null;
	for (var i=0; i < this.length; i++) {
		if (this[i][cIdx] == value) {
			return i;
		}
	}
	return ctr;
};

(function($) {
	$.fn.banner = function() {
		var selector = $(this),
			itens = new Array(),
			leiamais = selector.find('a#leiamais'),
			socialMedia = selector.find('div#socialMedia'),
			nav = selector.find('div.nav'),
			atual = 0,
			timer = 0;
			
		$('body').removeClass('index').append($('<div />', {'id': 'fundoBanner', 'class':'indexInvacao'}).css('height', $('body').outerHeight()));

		itens[0] = new Array('indexInvacao', 'inovacao');
		itens[1] = new Array('indexSolucao', 'solucao');
		itens[2] = new Array('indexSustentabilidade', 'sustentabilidade');

		var tempo = setInterval(setTimer, 1500);

		nav.find('a').click(function(e){
			atual = parseInt(itens.indexArray($(this).attr('class'), 1)) - 1;
			adjustTimer();
			return false;
		});

		function setTimer(){
			spans = nav.find('span');
			timer++;

			if(atual != 2){
				if(timer > 0 && timer%5 == 0){
					clearInterval(tempo);
					nextBanner();
				}

				pos = (atual == 1) ? 477 : 327;
				if(timer > 1 && timer != 6){
					pos = parseInt(spans.eq(timer - 2).css('left').replace('px', ''))
				}
				nav.append($('<span />').css('left', pos+23))
			} else {
				if(timer > 0 && timer%5 == 0){
					clearInterval(tempo);
					nextBanner();
				}
			}
		}

		function adjustTimer(){
			clearInterval(tempo);
			nav.find('span').remove();
			fim = (5 * (atual + 1));
			for (i = 0; i < fim; i++) {
				if(i == 0){
					pos = 327
				} else if(i == 5){
					pos = 477;
				} else {
					pos = parseInt(nav.find('span').eq(i - 1).css('left').replace('px', ''));
				}

				timer = i;
				nav.append($('<span />').css('left', pos + 23));
			}

			timer++;
			nextBanner();
		}

		function nextBanner(){
			var total = itens.length;
			atual++;
			atual = (atual >= total) ? 0 : atual;

			if(atual == 0){
				nav.find('span').remove();
				timer = 0;
			}

			$('#fundoBanner').removeClass().fadeOut(100, function(){
				$('#fundoBanner').addClass(itens[atual][0]).fadeIn();
				leiamais.removeClass().attr({'href': '/' + itens[atual][1], 'class':itens[atual][1]});
				socialMedia.removeClass().attr('class', itens[atual][1]);

				tempo = setInterval(setTimer, 1500);
			});
		}
	};
})(jQuery);
