$(document).ready(function(){
    
	/* hover dos menus / breadcrump */
	$('#menu li, ul.sidebar li.catalogo ul li h4, .breadcrumb li.home').hover(function(){
        $(this).addClass('over');
    }, function(){
        $(this).removeClass('over');
    });
	
	/* Remocao da borda superior e inferior dos menus e sidebars no ultimo e primeiros itens */
    $('ul.sidebar li:not(.catalogo), ul.sidebar li.catalogo ul li, .two-column-right .livros-relacionados').each(function(){
        $(this).find('li:last').addClass('no-border');
        $(this).find('li:first').addClass('no-top-border');
    });
	
	/* abre e fecha abas */
	$('.book-images li').click(function(){
		var classItem = this.className.replace(' on','');
		
		removeClass('on','.book-images li');
		$(this).addClass('on');
		 
		$('.book-images div').not('.book-images div div').hide();
		$('.book-images div.' +classItem).show(); 
		
	});
	
	/* abre e fecha abas */
	loadBookTabs();
	
	$('.canal-professor li a').click(function(event){
		if($('.canal-content .tabs li').size()>0){
			var hash = $(this).attr('href').split('#');
			var classItem;
			
			if(hash!=''){
				switch(hash[1]){
					case 'recursos':
						classItem = 'recursos-para-professor';
						break;
					default:
						classItem = hash[1];	
						
				}
				
				removeClass('on','.book-content .tabs li, .canal-content .tabs li');
				$('.book-content .tabs li.'+classItem + ', .canal-content .tabs li.'+classItem).addClass('on');
				$('.book-content div, .canal-content div').not('.book-content div div, .canal-content div div').hide();
				$('.book-content div.' +classItem + ', .canal-content div.'+classItem).show(); 
				$('.resultados .ultimos').hide();
				$('.title-resultados .tabs li.ultimos, .resultados .todos').addClass('on');
				$('.resultados .todos').show();
				
				mudaAbaRecurso('todos','ultimos')
			}
		}
		
	})
	
	if ($('.canal-content .tabs li').size() > 0) {
		$('.resultados .ultimos').hide();
		$('.title-resultados .tabs li.ultimos, .resultados .todos').addClass('on');
		$('.resultados .todos').show();
	}
	
	/* abre e fecha abas de Canal do Professor */
	$('.canal-content .tabs li').click(function(){
		var classItem = this.className.replace(' on','');
		removeClass('on','.canal-content .tabs li');
		$(this).addClass('on');
		
		$('.canal-content div').hide();		 
		$('.canal-content div div').show();
		$('.canal-content div.' +classItem).show(); 

		if(classItem == 'premios'){
			$('.canal-content .premios .resultados div').hide();
			$('.canal-content .premios .title-resultados .tabs li.aconteceu').addClass('on');
			$('.canal-content .premios .resultados div.aconteceu').show(); 	
			$('.canal-content .premios .resultados div.aconteceu div').show(); 		
		}
		
		
		if(classItem == 'materiais'){
			$('.canal-content .materiais .resultados div').hide();
			$('.canal-content .materiais .title-resultados .tabs li.todos').addClass('on');
			$('.canal-content .materiais .resultados div.todos').show(); 
			$('.canal-content .materiais .resultados div.todos div').show(); 			
		}
		
		mudaAbaRecurso('todos','ultimos')
	});
	
	/* abre e fecha abas de Canal do Professor */
	$('.canal-content .materiais .title-resultados .tabs li').click(function(){
		var classMatItem = this.className.replace(' on','');
		
		removeClass('on','.canal-content .materiais .title-resultados .tabs li');
		$('.canal-content .tabs li.materiais').addClass('on');
		$(this).addClass('on');
		 		 
		$('.canal-content .materiais').show();
		$('.canal-content .materiais .resultados div').hide();
		$('.canal-content .materiais .resultados').show();
		$('.canal-content .materiais .resultados div.' +classMatItem).show(); 
		$('.canal-content .materiais .resultados div.' +classMatItem+ ' div').show(); 
		
	});
	
	/* abre e fecha abas de Canal do Professor */
	$('.canal-content .premios .title-resultados .tabs li').click(function(){
		var classMatItem = this.className.replace(' on','');
		
		removeClass('on','.canal-content .premios .title-resultados .tabs li');
		$('.canal-content .tabs li.premios').addClass('on');
		$(this).addClass('on');
		 		 
		$('.canal-content .premios').show();
		$('.canal-content .premios .resultados div').hide();
		$('.canal-content .premios .resultados').show();
		$('.canal-content .premios .resultados div.' +classMatItem).show(); 
		$('.canal-content .premios .resultados div.' +classMatItem+ ' div').show(); 
		
	});
	
	
	/* Abas dinamicas projeto*/
	
	
	/* Remove o background da ultima coluna do mapa do site */
	$('#mapa-site ul li.listas-mapa-site:last').addClass('bg-none');
	
	/* adiciona link no li todo de links relacionados */
	$('.two-column-right .livros-relacionados li').click(function(){
		var link = $(this).find('a').attr('href');
		
		parent.location = link;
	})
	
	/*  *******************
	 *  Cadastro 
	 * 
	 * 
	 * 
	 * *********************
	 * */
	
	/* Adiciona escolas que a pessoa trabalhou */
	$('.escola-secretaria').click(function(){
		$('#senha, #confirmacaosenha').val('');
		if($(this).val()==='sim'){
			$('.area-trabalho').hide();
			addSchools();
			$('.senhas').show()
		}
		else{
			$('.escolas .escola-secretaria-detail').remove();
			$('.add-buttons-trabalho, .escolas').hide();
			$('.senhas').hide();
			$('.area-trabalho').show();
		}
	});
	
	$('.add-buttons-trabalho .add-buttontrabalho').click(function(){
		addSchools();
		return false;

		
	})
	
	$('.add-buttons-trabalho .remove-buttontrabalho').click(function(){
		removeSchools();
		return false;

	})
	
	/* Ativa o jCarousel */
	jQuery('#mycarousel').jcarousel();
	jQuery('#educativo-home').jcarousel();
	jQuery('#carrocel-lateral').jcarousel({
		scroll: 1
	});
	jQuery('#componentes-colecao').jcarousel({
		scroll: 1
	});
	
	/* 
	 * Adiciona campos extras para o caso da área de trabalho ser jornalismo
	 * Ver config em ui.functions.js
	 * 
	 */
	$('#areas').change(function(){
		openFieldsByArea($(this).val(),'.item-selected');
	})
	
	/*
	 * Validacao dos campos
	 * 
	 */
	
	var validateContato = $('.contato').validate({
		rules: {
			nome: "required",
			email: {
				required: true,
				email: true
			},
			assunto: "required",
			mensagem: "required"
		},
		highlight: function(element, errorClass) {
			$(element).parent('p').find('label').addClass('error');
			
			$(element).parents('fieldset').find('label').addClass('error').show();
			
		},
		unhighlight: function(element, errorClass) {
			$(element).parent('p').find('label').removeClass('error').show();
			$(element).parents('fieldset').find('label').removeClass('error').show();
			if(validateContato.numberOfInvalids()==0){
				$('.error-container').fadeOut(500);
			}
		},
		invalidHandler: function(form, validator) {
			
			var errors = validator.numberOfInvalids();
			
			//alert(validator.invalidElements().attr('name'))
			
			if (errors) {
				$('.error-container').fadeIn(500);
			}
			else{
				$('.error-container').fadeOut(500);
			}
		 }
		
	});
	
	
	var validate = $('.cadastro').validate({
		rules: {
			nome: "required",
			cpf: {
				required: true,
				cpf: true
			},
			email: {
				required: true,
				email: true
			},
			estado: "required",
			cidade: "required",
			veiculo: {
				required: function(element){
					return $('#areas').val()===areaSelected;
				}
			},
			editoria: {
				required: function(element){
					return $('#areas').val()===areaSelected;
				}
			},
			escolasecretaria: {
				required: function(element){
					if($('.escola-secretaria:checked').val()=='sim'){
						$('.area-trabalho select, .area-trabalho input').removeClass('required');
						
						$('.escolas select, .escolas input, .senhas input').not('.not-required, .fields-redeensino input, input[type="hidden"]').addClass('required');
						
					}
					else{
						$('.escolas select, .escolas input, .senhas input').not('.not-required').removeClass('required');
						$('.area-trabalho select').addClass('required');
					}
					return true;
					
				}
			},
			confirmacaosenha: {
		      equalTo: "#senha"
		    }
		},
		highlight: function(element, errorClass) {
			$(element).parent('p').find('label').addClass('error');
			
			$(element).parents('fieldset').find('label').addClass('error').show();
			
		},
		unhighlight: function(element, errorClass) {
			$(element).parent('p').find('label').removeClass('error').show();
			$(element).parents('fieldset').find('label').removeClass('error').show();
			if(validate.numberOfInvalids()==0){
				$('.error-container').fadeOut(500);
			}
		},
		invalidHandler: function(form, validator) {
			
			var errors = validator.numberOfInvalids();
			
			//alert(validator.invalidElements().attr('name'))
			
			if (errors) {
				$('.error-container').fadeIn(500);
			}
			else{
				$('.error-container').fadeOut(500);
			}
		 }
		
	});
	
	function receiveInformations(idElement,elementsToFill){
		
		$(idElement).click(function(){
			if($(this).attr('checked')==true){
				$(elementsToFill).addClass('required')
			}
			else{
				$(elementsToFill).val('').removeClass('required');
				$(elementsToFill).parent('p').find('label.error').removeClass('error')
			}
		});
	}
	
	
	receiveInformations('#informacaoessms','#celular');
	receiveInformations('#informacaoestelefone','#telefone');
	receiveInformations('#informacaoescorreio','#cep,#endereco,#endereco,#numero, #bairro');
	
	/* Mascara de itens do formulario */
	maskFields();
	
	/* Carrega combo de cidade/estado */
	loadStateCity('#estado','#cidade');
	
	/* Carrega botoes do projeto */
	loadProjectButtons('#menu-projetos li','.box-o-projeto li');
	
	/* Rating */
	loadingRate('.rate li');
	
	/* Remove acao do link */
	removeLinkActions('.book-content .tabs li a, .book-content .rate a, .book-content .remove-rating a, .canal-content li a, .menu-projetos li a');
	
	/* Filtro por tema Canal do Professor*/
	
	//abaFiltraRecursos('.recursos-tema');
	//toogleResult('.resultados .resultado h4', '.resultados .resultado .content-result');
	
	/* Expande/Contrai lista de recursos */
	$('.return-resource h4, .return-resource h5, .return-resource h6').click(function(){
		
		if ($(this).nextAll('ul').size() > 0) {
			if ($(this).nextAll('ul:visible').size() > 0) {
				$(this).removeClass('on');
				$(this).text($(this).text().replace('-', '+'));
			}
			else {
				$(this).addClass('on');
				$(this).text($(this).text().replace('+', '-'));
			};
		};
		
		$(this).nextAll('ul').toggle('slow');
		
	});
	
	/* Contato para selecionar servicos educacionais*/
	if($('.contato').size()==1){
		var hash = window.location.hash;
		
		if(hash!=''){
			if(hash==='#servicos-educacionais'){
				$('#assunto').val(5);
			}
		}
	}
	
	/* Trabalha numa escola */
	if ($('.cadastro').size() == 1) {
		var hash = window.location.hash;
		
		if (hash == '#secretaria-checked') {
			$('#escola-secretaria-sim').checked=true;
			$('.escola-secretaria')[0].click();
		}
	}
	
});


