/* www.itelios.com - 2011 - global */

$(document).ready(function(e) {		  	
	$('body').css('overflow','hidden');
	
	$('.scroll-pane').jScrollPane();
	indexTabs($('.indexTabs > ul > li'));

	$('.toggleText').click(function() {
		if ($(this).attr('rel') == $(this).text()) {
			$(this).text(
				$(this).attr('title')
			)
		} else {
			$(this).text(
				$(this).attr('rel')
			)
		}
	});
	
	$('.btnTopo').click(function() {
		$('html, body').animate({
			scrollTop:0
		}, 500);
	});
	
	$('.encontrePneuHomes .indexTabs li:first-child, .tyresHome .indexTabs li:first-child').addClass('ativo');

	//colorbox 
	
	$('#cboxContent .close').live('click', function(){
	 	$.fn.colorbox.close();
	});
		
	//custom drop down
	try {
	$("body .fastSearch select[id!='locale'], select.customSelect").msDropDown();
	} catch(e) {
	alert(e.message);
	}

	//FAQ
	$('.answer').hide();
	$('.questionsList').removeClass('open');
	$(".question h5").click(function(){
		$(this).parent('.question').addClass('open');
		$(this).siblings('.answer').slideDown();
		$(this).click(function(){
			$(this).siblings('.answer').slideUp();
			$(this).parent('.question').removeClass('open');
			return false;
		});
		return false;
	});
	
	$('.toggle').click(function() {
		$('.toExpand').slideToggle();
		$('#tipoBusca li:first-child').trigger('click');
	});

	//tabs home
	$("#tabsFaq > div ").hide();
	$("#tabsFaq > div:first").show();
	$("#tabsFaq .faqTodas").addClass('faqSelect');	
	
	$("#tabsFaq ul li a").click(function(){
		$("#tabsFaq > ul > li").removeClass('faqSelect');
		$(this).parent().addClass('faqSelect');
		$("#tabsFaq > div").hide();
		var content_show = $(this).attr("href");
	   $(content_show).show();
	   return false;
	});

	//Slides Historia
	$('.carrosselHistoria').each(function() {
		var tamanhoData = 79;
		var datas = $(this).children('.track').children().children('.datas');
		var numeroDatas = datas.children('span').length;
		datas.width(tamanhoData*numeroDatas);
		
		$('.carrosselHistoria .track span').click(function() {
			var index = $(this).index();
			var position = $(this).position().left;
			if (!$(this).is('animated')) {
				$(this).siblings().removeClass('ativo');
				$(this).addClass('ativo');
				$(this).parent().parent().parent().siblings().children('li').fadeOut(600);
				$(this).parent().parent().parent().siblings().children('li:eq('+index+')').fadeIn(300);
				$(this).siblings('em').animate({
					'left':position
				}, 500);
			}
		});
		$('.carrosselHistoria .track .next').click(function() {
			var ativo = $(this).siblings().children().children('.ativo');
			var index = ativo.index() + 1;
			var position = ativo.next().position().left;
			if (!$('.carrosselHistoria .datas span:last').hasClass('ativo')) {
				$(this).parent().siblings().children('li').fadeOut();
				$(this).parent().siblings().children('li:eq('+index+')').fadeIn();
				$(this).siblings().children().children().removeClass('ativo');
				$(this).siblings().children().children('span:eq('+index+')').addClass('ativo');
				$(this).siblings().children().children('em').animate({
					'left':position
				}, 500);
				if (index > 7) {
					datas.animate({
						'left': "-="+tamanhoData
					}, 500);
				}
			}
		});
		$('.carrosselHistoria .track .prev').click(function() {
			var ativo = $(this).siblings().children().children('.ativo');
			var index = ativo.index() - 1;
			var conta = numeroDatas - index;
			var position = ativo.prev().position().left;
			if (!$('.carrosselHistoria .datas span:first').hasClass('ativo')) {
				$(this).parent().siblings().children('li').fadeOut();
				$(this).parent().siblings().children('li:eq('+index+')').fadeIn();
				$(this).siblings().children().children().removeClass('ativo');
				$(this).siblings().children().children('span:eq('+index+')').addClass('ativo');
				$(this).siblings().children().children('em').animate({
					'left':position
				}, 500);
				if (conta > 8) {
					datas.animate({
						'left': "+="+tamanhoData
					}, 500);
				}
			}
		});
	});
	
	$('.tablesorter').tablesorter( {sortList: [[0,0]]} ); 
	
	// Accordion revenda 
	$('.accordion h4').click(function() {
		if ($(this).hasClass('ativo')) {
		$(this).removeClass('ativo');
		$(this).next('.accInner').slideUp();
		} else {
			$(this).siblings().removeClass('ativo');
			$(this).addClass('ativo');
			$(this).siblings('.accInner').slideUp();
			$(this).next('.accInner').slideDown();
		}
	});
	
	$('.listagemRevenda a.btnAmarelo').click(function(e) {
		e.preventDefault();
	});
	
	$('textarea#mensagem').keypress	(function() {
		var caracteres = 2000 - $(this).val().length;
		$(this).parent().parent().siblings('.caracteres').children('small').text(caracteres);
	});
	
	// adicionando colorbox de elemento filho
	$('a.colorboxEnabled').colorbox({
		inline:true,  
		opacity:'0.6', 
		width:694, 
		height:475
	});
	// centraliza paginacao
	$('.paginacao').each(function() {
		var li = $(this).children('ul').children('li');
		var width = 30 * li.length;
		$(this).width(width);
	});
	
	// submenus
	$('.menu li a').each(function() {
		if ($(this).siblings('.submenu').length) {
			$(this).addClass('temSub');
		} else {
			$(this).removeClass('temSub');
		}
	});
	
	$('.menu > ul > li > a').click(function() {
		if ($(this).siblings('.submenu').length) {
			if ($(this).hasClass('ativo')) {
				$('.businessSub > div').hide();
				$(this).siblings('.submenu').slideUp();
				$(this).removeClass('ativo');
				$('.scroll-pane').jScrollPane();
			} else {
				$(this).addClass('ativo');
				$('.businessSub > div').hide();
				$(this).parent().siblings().children('a').removeClass('ativo');
				$(this).parent().siblings().children('.submenu').slideUp();
				$(this).siblings('.submenu').slideDown();
				$('.scroll-pane').jScrollPane();
			}
		}
	});
	
	$('.tabsProduto .indices').hover(function() {
		$(this).children('small').append('<span></span>');
	}, function() {
		$(this).find('span').remove();
	});
	
	
	$('.submenu a.close').click(function() {
		$(this).parent().parent().parent().slideUp();
		$(this).parent().parent().parent().siblings().removeClass('ativo');
	});
	
	$('.contentGuide:not(".adminMode") .crop').each(function() {
		if ( $(this).children().children('li').length > 3 ) {
			var guide = $(this);
			guide.parent().append('<button class="next"> >> </button> <button class="prev"> << </button>');
			guide.addClass('comCarrossel');
			if ( $(this).parent().parent().hasClass('introTrabalhe') || $(this).parent().parent().hasClass('middle683px') ) {
				carrossel(guide, 3, 216, 12, 1);
			} else {
				carrossel(guide, 3, 225, 12, 1);
			}
		}
	});
	
	$('div.sitemap dl a[title="encontreUmaRevenda"]').hide();
	
	$('div.siteMap dl a').each(function() {
		var title = $(this).attr('title');
		if (title == 'encontreUmaRevenda') {
			$(this).parent().parent().remove();
		}
	});
	
	carrossel($('.carrossel:not(".inner .carrossel")'), 3, 292, 6, 1);
	carrossel($('.inner .carrossel'), 3, 277, 7, 1);
	
	carrossel($('.carrosselMenu:not(".aprenda .carrosselMenu")'), 3, 228, 0, 1);
	carrossel($('.aprenda .carrosselMenu'), 4, 218, 0, 1);
	
	fadeClicks($('.crossBottom .navSlides li a'), $('.crossBottom .slides'), 179, 5, 5);
	fadeClicks($('.anunciosHome .navSlides li a:not(".inner .anunciosHome .navSlides li a")'), $('.anunciosHome .slides:not(".inner .anunciosHome .slides")'), 184, 5, 0);
	fadeClicks($('.inner .anunciosHome .navSlides li a'), $('.inner .anunciosHome .slides'), 175, 5, 0);
	fadeClicks($('.tudoListagem .navSlides li a'), $('.tudoListagem .slides'), 658, 1, 0);
	
	$('.compartilhe > ul > li:eq(0)').css('padding-top','4px');
	$('.compartilhe > ul > li:eq(2)').css('padding-top','2px').css('padding-right','8px');
	$('.compartilhe > ul > li:eq(3)').css('padding-top','4px');
	$('.compartilhe > ul > li:eq(4)').css('padding-top','4px');

	$('.tabsCatalogoCarros .carrosselMenu li.ativo').each(function() {
		var childIndex = $('.tabsCatalogoCarros .carrosselMenu li.ativo').index();
		if(childIndex > 2) {
			var left = (childIndex-2) * 228;
			left = parseInt('-'+left);
			$('.tabsCatalogoCarros .carrosselMenu ul').css('left', left);
			var numChildren = $('.tabsCatalogoCarros .carrosselMenu ul').children().length;
			if(childIndex == (numChildren - 1)) {
				$('.tabsCatalogoCarros a.prev').removeClass('disabled');
				$('.tabsCatalogoCarros a.next').addClass('disabled');
			}
			if(childIndex > 2 && childIndex < (numChildren - 1)) {
				$('.tabsCatalogoCarros a.prev').removeClass('disabled');
				$('.tabsCatalogoCarros a.next').removeClass('disabled');
			}
		}
	});
	
	$('textarea').keyup(function() {
		var restantes = $(this).attr('maxlength') - $(this).val().length;
		$('#charsRestantes').text(restantes+ " caracteres restantes");
	});
	
	//$(':input').autotab_magic();
	
	$('.businessSub li').click(function() {
		var indexLi = $(this).index();
		$(this).addClass('ativo');
		$(this).siblings().removeClass('ativo');
		$(this).parent().siblings().hide();
		$(this).parent().siblings(':eq('+indexLi+')').slideDown();
	});
	

});

function fadeClicks(controles, ul, liwidth, quantos, ajuste) {
	var li = ul.children('li');
	var lis = li.length;
	var controlesLi = controles.parent().parent().children();
	var margin = li.css('marginLeft');
	var width = (lis*liwidth) + margin;
	var quanto = (lis / quantos);
	var elementoPai = controles.parent().parent();
	if (quanto > 1) {
		elementoPai.repeat( quanto, '<li><a href="#"></a></li>', function() {
			elementoPai.children('li:first').children('a').addClass('ativo');
			var marginLeft = (elementoPai.parent().width() - elementoPai.width()) / 2;
			elementoPai.css('margin-left',marginLeft);
		});
	} else {
		elementoPai.hide();
	}
	ul.css('width',width);
	controles.live('click', function() {
		$(this).parent().siblings().children().removeClass('ativo');
		$(this).addClass('ativo');
		$(this).parent().addClass('ativo');
		var index = $(this).parent().index();
		var slideValue = -((quantos*liwidth) + ajuste)* (index);
		ul.animate({
			'left': slideValue
		}, {duration:1200, queue:false});
		return false;
	});
	li.children('a').hover(function() {
		$(this).find('small').fadeIn(200);
	}, function() {
		$(this).find('small').fadeOut(200);
	});
	if (ul.hasClass('automatico') && !$('body').hasClass('adminMode')) {
		var timer = null;
		var ativo = 0;
		function autoPlay() {
			timer = window.setInterval(function(){
				if (ativo < (elementoPai.children('li').length - 1)) {
					ativo +=1;
				} else {
					ativo = 0;
				}
				elementoPai.children('li:eq('+ativo+')').children('a').trigger('click');
			}, 20000);
		}
		autoPlay();
		elementoPai.parent().hover(function() {
			clearInterval(timer);
		}, function() {
			autoPlay();
		});

		if (!$.browser.msie) {
			if (!$.browser.version < 9) {
				window.addEventListener('focus', function() {
					clearInterval(timer);
					ativo = 0;
					autoPlay();
				},false);    
				window.addEventListener('blur', function() {
					clearInterval(timer);
				},false);
			}
		}
	}
}

function indexTabs(elemento) {
	elemento.live('click', function() {
		var index = $(this).index();
		$(this).siblings().removeClass('ativo');
		$(this).addClass('ativo');
		$(this).parent().siblings('div').hide();
		$(this).parent().siblings('div').removeClass('ativo');
		$(this).parent().siblings('div:eq('+index+')').show();
		$(this).parent().siblings('div:eq('+index+')').addClass('ativo');
		$('.scroll-pane').jScrollPane();
	});
	elemento.children('a').click(function() {
		return false;
	});
}

function indexTabs2(div, active_index, active_callback, inactive_callback) {
	div.children('ul').children(':eq(' + active_index + ")").addClass('ativo');
	div.children('ul').children().not(':eq(' + active_index + ")").removeClass('ativo');
	div.children('not("ul")').eq(active_index).show()
	div.children('not("ul")').not(':eq(' + active_index + ")").hide();
	
	div.children('ul').children(':eq(' + active_index + ")").click(function() {
		var index = $(this).index();
		$(this).siblings().removeClass('ativo');
		$(this).addClass('ativo');
		$(this).parent().siblings('div').hide();
		$(this).parent().siblings('div').removeClass('ativo');
		$(this).parent().siblings('div:eq('+index+')').show();
		$(this).parent().siblings('div:eq('+index+')').addClass('ativo');
		$('.scroll-pane').jScrollPane();
		active_callback();
	});
	
	div.children('ul').children().not(':eq(' + active_index + ")").click(function() {
		var index = $(this).index();
		$(this).siblings().removeClass('ativo');
		$(this).addClass('ativo');
		$(this).parent().siblings('div').hide();
		$(this).parent().siblings('div').removeClass('ativo');
		$(this).parent().siblings('div:eq('+index+')').show();
		$(this).parent().siblings('div:eq('+index+')').addClass('ativo');
		$('.scroll-pane').jScrollPane();
		inactive_callback();
	});
	
	div.children('ul').children().children('a').click(function() {
		return false;
	});
}

function carrossel(elemento, aMostra, tamanhoItem, marginItem, scrollQuantos) {
	elemento.each(function() {
		var numeroLI = $(this).children('ul').children('li').length;
		var widthContainer = (numeroLI * tamanhoItem);
		var scrollSize = scrollQuantos * tamanhoItem;
		var widthCrop = aMostra * tamanhoItem;
		$(this).css({
			'width':(widthCrop - marginItem),
			'overflow':'hidden'
		});
		$(this).children('ul').css({
			'width': widthContainer,
			'position': 'relative'
		});
		$(this).siblings('.prev').addClass('disabled');
		$(this).siblings('.next').bind('click', function () {
			if(!$(this).siblings().children('ul').is(':animated') && !$(this).hasClass('disabled')){
				$(this).siblings('.prev').removeClass('disabled');
				var leftAtual = $(this).siblings().children('ul').css('left').replace(/[^-\d\.]/g, '');
				if ( widthContainer > (-leftAtual + (scrollSize * (aMostra / scrollQuantos))) ) {
					$(this).siblings().children('ul').animate({
						left: "-=" + scrollSize
					}, 500);
				}
				
				 if (widthContainer < (-leftAtual + ((aMostra / scrollQuantos) + 2)*scrollSize)) {
					$(this).addClass('disabled');
				 }
			}
			return false;
		});
		$(this).siblings('.prev').bind('click', function () {
			var leftAtual = $(this).siblings().children('ul').css('left').replace(/[^-\d\.]/g, '');
			if (-leftAtual > 0 && ! $(this).siblings().children('ul').is(':animated') && !$(this).hasClass('disabled')){
				$(this).siblings('.next').removeClass('disabled');
				 $(this).siblings().children('ul').animate({
					left: "+=" + scrollSize
				}, 500);
			}
			if (-leftAtual - scrollSize == 0) {
				$(this).addClass('disabled');
			}
			return false;
		});
		if ( numeroLI < (aMostra + 1) ) {
			$(this).siblings('.next').addClass('disabled');
			$(this).siblings('.prev').addClass('disabled');
		}
	});
}

function paginacao(pages) {
	
	//how much items per page to show
	var show_per_page = parseInt(pages);
	//getting the amount of elements inside lista div
	var number_of_items = $('#lista').children('ul').children('li').size();
	//calculate the number of pages we are going to have
	var number_of_pages = Math.ceil(number_of_items/show_per_page);
	
	//set the value of our hidden input fields
	$('#current_page').val(0);
	
	//now when we got all we need for the navigation let's make it '
	
	/* 
	what are we going to have in the navigation?
		- link to previous page
		- links to specific pages
		- link to next page
	*/
	var navigation_html = '';
	var current_link = 0;
	
	while(number_of_pages > current_link) {
		navigation_html += '<li>';
		if(current_link == 0)
			navigation_html += '<span>'+ (current_link + 1) +'</span>';
		else
			navigation_html += '<a href="javascript:go_to_page(' + current_link +')">'+ (current_link + 1) +'</a>';	
		navigation_html += '</li>';
		current_link++;
	}
	
	if(number_of_pages > 1) {
		$('#paginacao').children('ul').html(navigation_html);
	
		//add active_page class to the first page link
		$('#paginacao').children('ul').children('li').first().addClass('ativo');
		
		//hide all the elements inside lista div
		$('#lista').children('ul').children('li').css('display', 'none');
		
		//and show the first n (show_per_page) elements
		$('#lista').children('ul').children('li').slice(0, show_per_page).css('display', 'block');
		
		
		updateControl(0);
		
		pontinhos(0, number_of_pages);
	}
	
	$('.buscaRevenda select').change(function() {
		$(this).closest('.buscaRevenda').fadeTo(150, 0.2);
		$(this).closest('.buscaRevenda').find('select, input').attr('disabled', 'disabled');
	});
}

function go_to_page(page_num){
	//get the number of items shown per page
	var show_per_page = parseInt($('#show_per_page').val());
	
	//get the element number where to start the slice from
	start_from = page_num * show_per_page;
	
	//get the element number where to end the slice
	end_on = start_from + show_per_page;
	
	//hide all children elements of lista div, get specific items and show them
	$('#lista ul li').css('display', 'none').slice(start_from, end_on).css('display', 'block');
	
	var num_pages = updateControl(page_num);
	updateControl(page_num);
	
	$('#paginacao li').siblings('.ativo').children().remove();
	$('#paginacao li').siblings('.ativo').append('<a href="javascript:go_to_page(' + $('#current_page').val() +')">'+ (parseInt($('#current_page').val()) + 1) +'</a>');
	$('#paginacao li').siblings().removeClass('ativo');
	$('#paginacao li:eq('+ page_num +')').addClass('ativo');
	$('#paginacao li:eq('+ page_num +')').children().remove();
	$('#paginacao li:eq('+ page_num +')').append('<span>' + (page_num + 1) + '</span>');
	
	pontinhos(page_num, num_pages);
	
	//update the current page input field
	$('#current_page').val(page_num);
}


function updateControl(page_num){
	
	// hide todos controles de pagina
	$('#paginacao > ul > li').hide();

	//remove todos os pontinhos
	$('#paginacao > ul > li.pontinhos').remove();

	var num_pages = $('#paginacao > ul > li').length;

	//começa a exibir os elementos corretos:

	//inicio - 1 e 2 
	$('#paginacao > ul > li:eq(0)').show();
	$('#paginacao > ul > li:eq(1)').show();

	// exibir o miolo
	if(num_pages > 10) {
		if(page_num + 1 >= 5 && page_num <= num_pages-5) {
			var i = page_num - 1;
			for (; i <= page_num+1; i++) {
				$('#paginacao > ul > li:eq('+ i +')').show();
			}
		}
		else if(page_num + 1 < 5) {
			for (i = 0; i < 5; i++) {
				$('#paginacao > ul > li:eq('+ i +')').show();
			}
		}
		else if(page_num > num_pages-5) {
			for (i = num_pages-5; i < num_pages; i++) {
				$('#paginacao > ul > li:eq('+ i +')').show();
			}
		}
	}
	else {
		for (i = 0; i < num_pages; i++) {
			$('#paginacao > ul > li:eq('+ i +')').show();
		}
	}
	
	//fim - exibir os dois ultimos da paginação
	$('#paginacao > ul > li:eq('+(num_pages-1)+')').show();
	$('#paginacao > ul > li:eq('+(num_pages-2)+')').show();

	return num_pages;
	
}

function pontinhos(page_num, num_pages){
	if(num_pages > 10){
		var $li = $('<li></li>');
		$li.text('...');
		$li.addClass('pontinhos');
		
		if(page_num + 1 >= 5 && page_num <= num_pages-5) {
			$('#paginacao > ul > li:eq('+ 1 +')').after($li);
			$li2 = $li.clone();
			$('#paginacao > ul > li:eq('+ (num_pages-2) +')').before($li2);
		}
		else if(page_num + 1 < 5) {
			$('#paginacao > ul > li:eq('+ (num_pages-2) +')').before($li);
		}
		else if(page_num >= num_pages-5) {
			$('#paginacao > ul > li:eq('+ 1 +')').after($li);
		}
	}
	
	var tamanhoPaginacao = 0;
	$('#paginacao ul li:visible').each(function() {
		tamanhoPaginacao += $(this).width() + 9;
	});

	$('#paginacao > ul').css('width', tamanhoPaginacao);
}

jQuery.fn.repeat = function(times, string, funcao) {
	//For each item matched
	this.each(function(){
		var buff = string;
		for(var i=1; i < times; i++){
			buff += string;
		}
		jQuery(this).html(buff);
		
		funcao();
	});
	return this;
}
$.fn.hasAttr = function(name) {  
   return this.attr(name) !== undefined;
};
