$(document).ready(function(){
	ativa_menu_topo();						   
	$('.lista_comment').jcarousel({scroll: 2});						   
	$('.lista_thumbs').jcarousel({scroll: 2});
	$('.text_prog, .box_videos').hide();
	galerias_internas();
	selectFake();
	
	jQuery("input:text").setMask();
	
	//$('#frm_contato').validate();
	//validar_contato();
	
	$('a[rel="facebox"]').facebox();
	slide_programacao();
	
	abrir_mapa_servicos();
	$('.menu_topo li:last, .idiomas li:last, .paginacao li:last').css({
		'margin-right':'0',
		'background':'none',
		'padding-right':'0'
	});
	
	$('.lista_programacao > li .text_prog').each(function(){
		$(this).find('li:last').css({
			'margin-bottom':'0',
			'background':'none'
		});
	});
	
	$('.lista_novidades li:last, .lista_projetos li:last').css({
		'margin-bottom':'42px'
	});
	
	//CONTROLA MARGENS LISTA GALERIA
	  $('.lista_galerias li:first').addClass('col_left');
	  $(".lista_galerias li").each(function (i) {
    	if( $(this).hasClass('col_left')) {
			$(this).next('li').addClass('col_center');
		}
		if( $(this).hasClass('col_center')) {
			$(this).next('li').addClass('col_right');
		}
		if( $(this).hasClass('col_right')) {
			$(this).next('li').addClass('col_left');
		}
	  });
	  
	//CONTROLA BGS TABELA EXPOSITORES
	  $(".tb_expo tbody tr").each(function (i) {
		$(this).find('td:first').addClass('td_left');											
    	if( $(".tb_expo tbody td").hasClass('td_left')) {
			$(this).find('.td_left').next('td').addClass('td_center');
		}
		if( $(".tb_expo tbody td").hasClass('td_center')) {
			$(this).find('.td_center').next('td').addClass('td_right');
		}
	  });
	  /* ******************************** */
	  
	  $(".tt_prog:odd").css("background-color", "#336AAE");
	  /*$(".tt_prog:odd").hover(function(){
		  $(this).css("background-color", "#E1356D")
	  },function(){$(this).css("background-color", "#007DC1")});*/
	
	controla_abas();
	
	/* ativa a galeria correta da pagina */
	if( $('.dados').hasClass('home') ){
		controlar_galerias();
	}else if( (($('.dados').hasClass('novidades')) && ($('.dados').hasClass('detalhe'))) 
			  || (($('.dados').hasClass('projetos')) && ($('.dados').hasClass('detalhe'))
			  || $('.dados').hasClass('anteriores'))  
			  		  
	){
		/*controlar_galerias_novidade();
		controlar_videos_novidade();*/
	}
	
	
	/* ativa a galeria correta da pagina /  end */
	
	// CRONOMETRO
	if($('#data_inicio').length > 0){

		var data_inicio = $('#data_inicio').val();
		var data_inicio = data_inicio.split(" ");
		var horario_inicio = data_inicio[1];
		var horario_inicio = horario_inicio.split(":");
		var data_inicio = data_inicio[0].split("-");

		$('#cronometro').countdown({until: $.countdown.UTCDate(-3, data_inicio[0], data_inicio[1]-1, data_inicio[2], horario_inicio[0], horario_inicio[1])});
	}
});

function controlar_galerias(){
	$('div.content').css('display', 'block');
	
	var onMouseOutOpacity = 0.67;
	$('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
		mouseOutOpacity:   onMouseOutOpacity,
		mouseOverOpacity:  1.0,
		fadeSpeed:         'fast',
		exemptionSelector: '.selected'
	});
	
	// We only want these styles applied when javascript is enabled
				$('div.content').css('display', 'block');

				// Initially set opacity on thumbs and add
				// additional styling for hover effect on thumbs
				var onMouseOutOpacity = 0.67;
				$('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
					mouseOutOpacity:   onMouseOutOpacity,
					mouseOverOpacity:  1.0,
					fadeSpeed:         'fast',
					exemptionSelector: '.selected'
				});
				
				// Initialize Advanced Galleriffic Gallery
				var gallery = $('#thumbs').galleriffic({
					delay:                     2500,
					numThumbs:                 5,
					preloadAhead:              10,
					enableTopPager:            false,
					enableBottomPager:         false,
					imageContainerSel:         '#slideshow',
					controlsContainerSel:      '#controls',
					captionContainerSel:       '#caption',
					loadingContainerSel:       '#loading',
					renderSSControls:          true,
					renderNavControls:         true,
					playLinkText:              'Play Slideshow',
					pauseLinkText:             'Pause Slideshow',
					prevLinkText:              '&lsaquo; Previous Photo',
					nextLinkText:              'Next Photo &rsaquo;',
					nextPageLinkText:          'Next &rsaquo;',
					prevPageLinkText:          '&lsaquo; Prev',
					enableHistory:             false,
					autoStart:                 false,
					syncTransitions:           true,
					defaultTransitionDuration: 900,
					onSlideChange:             function(prevIndex, nextIndex) {
						// 'this' refers to the gallery, which is an extension of $('#thumbs')
						this.find('ul.thumbs').children()
							.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
							.eq(nextIndex).fadeTo('fast', 1.0);

						// Update the photo index display
						this.$captionContainer.find('div.photo-index')
							.html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
							
					},
					onPageTransitionOut:       function(callback) {
						this.fadeTo('fast', 0.0, callback);
					},
					onPageTransitionIn:        function() {
						var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
						var nextPageLink = this.find('a.next').css('visibility', 'hidden');
						
						// Show appropriate next / prev page links
						if (this.displayedPage > 0)
							prevPageLink.css('visibility', 'visible');

						var lastPage = this.getNumPages() - 1;
						if (this.displayedPage < lastPage)
							nextPageLink.css('visibility', 'visible');

						this.fadeTo('fast', 1.0);
					}
				});

				/**************** Event handlers for custom next / prev page links **********************/

				gallery.find('a.prev').click(function(e) {
					gallery.previousPage();
					e.preventDefault();
				});

				gallery.find('a.next').click(function(e) {
					gallery.nextPage();
					e.preventDefault();
				});
				
				$('#thumbs, .pageLink').click(function(){
					
					$('#caption').fadeIn();
					
				});

				/****************************************************************************************/

				/**** Functions to support integration of galleriffic with the jquery.history plugin ****/

				// PageLoad function
				// This function is called when:
				// 1. after calling $.historyInit();
				// 2. after calling $.historyLoad();
				// 3. after pushing "Go Back" button of a browser
				function pageload(hash) {
					// alert("pageload: " + hash);
					// hash doesn't contain the first # character.
					if(hash) {
						$.galleriffic.gotoImage(hash);
					} else {
						gallery.gotoIndex(0);
					}
				}
				
				// Initialize history plugin.
				// The callback is called at once by present location.hash. 
				$.historyInit(pageload, "advanced.html");

				// set onlick event for buttons using the jQuery 1.3 live method
				/*$("a[rel='history']").live('click', function(e) {
					if (e.button != 0) return true;

					var hash = this.href;
					hash = hash.replace(/^.*#/, '');

					// moves to a new page. 
					// pageload is called at once. 
					// hash don't contain "#", "?"
					$.historyLoad(hash);

					return false;
				});*/	
}

function slide_programacao(){
	$('.tt_prog').click(function(){
		var obj = $(this).next();
        	$('.lista_programacao > li').removeClass('item_aberto');
            if(obj.hasClass('aberto')){
                obj.slideUp('fast', function(){
					
				});
                obj.removeClass('aberto');
				return false;
            }else{
				obj.parent().addClass('item_aberto');
                $('.aberto').slideUp();
                $('.text_prog').slideUp();
                $('.text_prog').removeClass('aberto');
                obj.addClass('aberto');
                obj.slideDown('fast', function(){
					
				});
				return false;
            }
        
    });
}

function controlar_galerias_novidade(){
	$('div.content').css('display', 'block');
	
	var onMouseOutOpacity = 0.67;
	$('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
		mouseOutOpacity:   onMouseOutOpacity,
		mouseOverOpacity:  1.0,
		fadeSpeed:         'fast',
		exemptionSelector: '.selected'
	});
	
	// We only want these styles applied when javascript is enabled
				$('div.content').css('display', 'block');

				// Initially set opacity on thumbs and add
				// additional styling for hover effect on thumbs
				var onMouseOutOpacity = 0.67;
				$('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
					mouseOutOpacity:   onMouseOutOpacity,
					mouseOverOpacity:  1.0,
					fadeSpeed:         'fast',
					exemptionSelector: '.selected'
				});
				
				// Initialize Advanced Galleriffic novidades
				var novidades = $('#thumbs').galleriffic({
					delay:                     2500,
					numThumbs:                 8,
					preloadAhead:              10,
					enableTopPager:            false,
					enableBottomPager:         false,
					imageContainerSel:         '#slideshow',
					controlsContainerSel:      '#controls',
					captionContainerSel:       '#caption',
					loadingContainerSel:       '#loading',
					renderSSControls:          true,
					renderNavControls:         true,
					playLinkText:              'Play Slideshow',
					pauseLinkText:             'Pause Slideshow',
					prevLinkText:              '&lsaquo; Previous Photo',
					nextLinkText:              'Next Photo &rsaquo;',
					nextPageLinkText:          'Next &rsaquo;',
					prevPageLinkText:          '&lsaquo; Prev',
					enableHistory:             false,
					autoStart:                 false,
					syncTransitions:           true,
					defaultTransitionDuration: 900,
					onSlideChange:             function(prevIndex, nextIndex) {
						// 'this' refers to the novidades, which is an extension of $('#thumbs')
						this.find('ul.thumbs').children()
							.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
							.eq(nextIndex).fadeTo('fast', 1.0);

						// Update the photo index display
						this.$captionContainer.find('div.photo-index')
							.html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
					},
					onPageTransitionOut:       function(callback) {
						this.fadeTo('fast', 0.0, callback);
					},
					onPageTransitionIn:        function() {
						var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
						var nextPageLink = this.find('a.next').css('visibility', 'hidden');
						
						// Show appropriate next / prev page links
						if (this.displayedPage > 0)
							prevPageLink.css('visibility', 'visible');

						var lastPage = this.getNumPages() - 1;
						if (this.displayedPage < lastPage)
							nextPageLink.css('visibility', 'visible');

						this.fadeTo('fast', 1.0);
					}
				});

				/**************** Event handlers for custom next / prev page links **********************/

				novidades.find('a.prev').click(function(e) {
					novidades.previousPage();
					e.preventDefault();
				});

				novidades.find('a.next').click(function(e) {
					novidades.nextPage();
					e.preventDefault();
				});

				/****************************************************************************************/

				/**** Functions to support integration of galleriffic with the jquery.history plugin ****/

				// PageLoad function
				// This function is called when:
				// 1. after calling $.historyInit();
				// 2. after calling $.historyLoad();
				// 3. after pushing "Go Back" button of a browser
				function pageload(hash) {
					// alert("pageload: " + hash);
					// hash doesn't contain the first # character.
					if(hash) {
						$.galleriffic.gotoImage(hash);
					} else {
						novidades.gotoIndex(0);
					}
				}
				
				// Initialize history plugin.
				// The callback is called at once by present location.hash. 
				$.historyInit(pageload, "advanced.html");

				// set onlick event for buttons using the jQuery 1.3 live method
				$("a[rel='history']").live('click', function(e) {
					if (e.button != 0) return true;

					var hash = this.href;
					hash = hash.replace(/^.*#/, '');

					// moves to a new page. 
					// pageload is called at once. 
					// hash don't contain "#", "?"
					$.historyLoad(hash);

					return false;
				});	
}

function controlar_videos_novidade(){
	$('div.content').css('display', 'block');
	
	var onMouseOutOpacity = 0.67;
	$('#thumbs2 ul.thumbs li, div.navigation a.pageLink').opacityrollover({
		mouseOutOpacity:   onMouseOutOpacity,
		mouseOverOpacity:  1.0,
		fadeSpeed:         'fast',
		exemptionSelector: '.selected'
	});
	
	// We only want these styles applied when javascript is enabled
				$('div.content').css('display', 'block');

				// Initially set opacity on thumbs and add
				// additional styling for hover effect on thumbs
				var onMouseOutOpacity = 0.67;
				$('#thumbs2 ul.thumbs li, div.navigation a.pageLink').opacityrollover({
					mouseOutOpacity:   onMouseOutOpacity,
					mouseOverOpacity:  1.0,
					fadeSpeed:         'fast',
					exemptionSelector: '.selected'
				});
				
				// Initialize Advanced Galleriffic novidades
				var novidades = $('#thumbs2').galleriffic({
					delay:                     2500,
					numThumbs:                 8,
					preloadAhead:              10,
					enableTopPager:            false,
					enableBottomPager:         false,
					imageContainerSel:         '#slideshow2',
					controlsContainerSel:      '#controls2',
					captionContainerSel:       '#caption2',
					loadingContainerSel:       '#loading',
					renderSSControls:          true,
					renderNavControls:         true,
					playLinkText:              'Play Slideshow',
					pauseLinkText:             'Pause Slideshow',
					prevLinkText:              '&lsaquo; Previous Photo',
					nextLinkText:              'Next Photo &rsaquo;',
					nextPageLinkText:          'Next &rsaquo;',
					prevPageLinkText:          '&lsaquo; Prev',
					enableHistory:             false,
					autoStart:                 false,
					syncTransitions:           true,
					defaultTransitionDuration: 900,
					onSlideChange:             function(prevIndex, nextIndex) {
						// 'this' refers to the novidades, which is an extension of $('#thumbs')
						this.find('ul.thumbs').children()
							.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
							.eq(nextIndex).fadeTo('fast', 1.0);

						// Update the photo index display
						this.$captionContainer.find('div.photo-index')
							.html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
					},
					onPageTransitionOut:       function(callback) {
						this.fadeTo('fast', 0.0, callback);
					},
					onPageTransitionIn:        function() {
						var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
						var nextPageLink = this.find('a.next').css('visibility', 'hidden');
						
						// Show appropriate next / prev page links
						if (this.displayedPage > 0)
							prevPageLink.css('visibility', 'visible');

						var lastPage = this.getNumPages() - 1;
						if (this.displayedPage < lastPage)
							nextPageLink.css('visibility', 'visible');

						this.fadeTo('fast', 1.0);
					}
				});

				/**************** Event handlers for custom next / prev page links **********************/

				novidades.find('a.prev').click(function(e) {
					novidades.previousPage();
					e.preventDefault();
				});

				novidades.find('a.next').click(function(e) {
					novidades.nextPage();
					e.preventDefault();
				});

				/****************************************************************************************/

				/**** Functions to support integration of galleriffic with the jquery.history plugin ****/

				// PageLoad function
				// This function is called when:
				// 1. after calling $.historyInit();
				// 2. after calling $.historyLoad();
				// 3. after pushing "Go Back" button of a browser
				function pageload(hash) {
					// alert("pageload: " + hash);
					// hash doesn't contain the first # character.
					if(hash) {
						$.galleriffic.gotoImage(hash);
					} else {
						novidades.gotoIndex(0);
					}
				}
				
				// Initialize history plugin.
				// The callback is called at once by present location.hash. 
				$.historyInit(pageload, "advanced.html");

				// set onlick event for buttons using the jQuery 1.3 live method
				$("a[rel='history']").live('click', function(e) {
															 
					if (e.button != 0) return true;

					var hash = this.href;
					hash = hash.replace(/^.*#/, '');

					// moves to a new page. 
					// pageload is called at once. 
					// hash don't contain "#", "?"
					$.historyLoad(hash);

					return false;
				});	
}

function controla_abas(){
	$('.aba_videos').click(function(){
		$(this).closest('.abas_galeria').next().find('.box_imagens').fadeOut('',function(){
			$(this).next().fadeIn('',function(){
				$(this).find('#video').remove();												
				$(this).find('#slideshow2').append('<div id="video">\
					<object width="318" height="207">\
						<param name="movie" value="http://www.youtube.com/v/'+$('#thumbs2 .thumbs li:first').find('a').attr('Id')+'&amp;hl=pt_BR&amp;fs=1"></param>\
						<param name="allowFullScreen" value="true"></param>\
						<param name="allowscriptaccess" value="always"></param>\
						<embed src="http://www.youtube.com/v/'+$('#thumbs2 .thumbs li:first').find('a').attr('Id')+'&amp;hl=pt_BR&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="318" height="207"></embed>\
					</object>\
				</div>');
			});
			
			$(this).closest('.box_galeria').find('.aba_imagens').removeClass('active');
			$(this).closest('.box_galeria').find('.aba_videos').addClass('active');
		});
		return false;
	});
	$('.aba_imagens').click(function(){
		$(this).closest('.abas_galeria').next().find('.box_videos').fadeOut('',function(){
			$(this).prev().fadeIn();
			$(this).closest('.box_galeria').find('.aba_videos').removeClass('active');
			$(this).closest('.box_galeria').find('.aba_imagens').addClass('active');
		});
		return false;
	});
}

function abrir_mapa_servicos(){
	$('.ver_mapa a').click(function(){
		$(this).closest('.itens_servicos').parent().find('.img_mapa').slideDown();
		$(this).parent().fadeOut('fast',function(){
			$(this).next().fadeIn();
		});
		return false;
	});
	$('.fechar_mapa a').click(function(){
		$(this).closest('.itens_servicos').parent().find('.img_mapa').slideUp();
		$(this).parent().fadeOut('fast',function(){
			$(this).prev().fadeIn();
		});
		return false;
	});
};

function galerias_internas(){
	$('.box_imagens ul.thumbs .thumb').click(function(){
		var caption;
		var url_img;
		
		caption = $(this).next().find('.image-desc').html();
		url_img = $(this).find('img').attr('lang');
		$(this).closest('.navigation-container').prev().find('.img_galeria').attr('src',url_img);
		$(this).closest('.navigation-container').prev().find('.caption-container').html(caption);
		return false;
	});
	
	$('.box_videos ul.thumbs .thumb').click(function(){
		var url_video;
		
		url_video = $(this).attr('Id');
		
		$('#video').remove();
		$('#slideshow2').append('<div id="video">\
			<object width="318" height="207">\
				<param name="movie" value="http://www.youtube.com/v/'+url_video+'&amp;hl=pt_BR&amp;fs=1"></param>\
				<param name="allowFullScreen" value="true"></param>\
				<param name="allowscriptaccess" value="always"></param>\
				<embed src="http://www.youtube.com/v/'+url_video+'&amp;hl=pt_BR&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="318" height="207"></embed>\
			</object>\
		</div>');
		return false;
	});
}

function checkMail(mail){

    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);

    if(typeof(mail) == "string"){

        if(er.test(mail)){
            return true;
        }

    }else if(typeof(mail) == "object"){

        if(er.test(mail.value)){

            return true;

        }

    }else{

        return false;

    }

}

function validar_contato(){
	
	//$('#bt_enviar').click(function(){
								   
		var status_valida=0;
		
		if( $('#frm_contato').find('#nome').val() == "" ){
			$('#frm_contato').find('#nome').addClass('alerta_validacao');
			status_valida=1;

		} else{
			$('#frm_contato').find('#nome').removeClass('alerta_validacao');
		}
		
		if( $('#frm_contato').find('#email').val() == "" ){
			$('#frm_contato').find('#email').addClass('alerta_validacao');
			status_valida=1;

		}else
			if(!checkMail($('#frm_contato').find('#email').val())){
				$('#frm_contato').find('#email').addClass('alerta_validacao');
				status_valida=1;
		}else{
			$('#frm_contato').find('#email').removeClass('alerta_validacao');
		}
		
		if( $('#frm_contato').find('#telefone').val() == "" ){
			$('#frm_contato').find('#telefone').addClass('alerta_validacao');
			status_valida=1;

		} else{
			$('#frm_contato').find('#telefone').removeClass('alerta_validacao');
		}
		
		if( $('#frm_contato').find('#estado').val() == "" ){
			$('.select-estado .select-fake2').addClass('alerta_validacao');
			status_valida=1;

		} else{
			$('.select-estado .select-fake2').removeClass('alerta_validacao');
		}
		
		if( $('#frm_contato').find('#cidade').val() == "" ){
			$('.select_cidade .select-fake2').addClass('alerta_validacao');
			status_valida=1;

		} else{
			$('.select_cidade .select-fake2').removeClass('alerta_validacao');
		}
		
		if( $('#frm_contato').find('#assunto').val() == "" ){
			$('.select-assunto .select-fake2').addClass('alerta_validacao');
			status_valida=1;

		} else{
			$('.select-assunto .select-fake2').removeClass('alerta_validacao');
		}
		
		
		
		if( $('#frm_contato').find('#assunto').val() == "" ){
			$('#frm_contato').find('#assunto').closest('li').find('.alerta_validacao').fadeIn();
			status_valida=1;

		} else{
			$('#frm_contato').find('#assunto').closest('li').find('.alerta_validacao').fadeOut();
		}
		
		if( $('#frm_contato').find('#mensagem').val() == "" ){
			$('#frm_contato').find('#mensagem').addClass('alerta_validacao');
			status_valida=1;

		} else{
			$('#frm_contato').find('#mensagem').removeClass('alerta_validacao');
		}
		
		
		if(status_valida==1){
			$('.info_error').fadeIn();
			return false;
		}
		
		return true;
	//});
};


function ativa_menu_topo(){
	$('.dados.evento').closest('body').find('.mn_evento').addClass('active');
	$('.dados.como_chegar').closest('body').find('.mn_chegar').addClass('active');
	$('.dados.contato').closest('body').find('.mn_contato').addClass('active');
	$('.dados.programacao.anteriores').closest('body').find('.mn_evento').addClass('active');
	$('.dados.expositores').closest('body').find('.mn_expositores').addClass('active');
	$('.dados.galerias').closest('body').find('.mn_galerias').addClass('active');
	$('.place_inscricao').closest('body').find('.mn_inscricoes').addClass('active');
	$('.dados.novidades.ini, .dados.novidades.detalhe').closest('body').find('.mn_novidades').addClass('active');
	$('.dados.programacao.ini').closest('body').find('.mn_programacao').addClass('active');
	$('.dados.projetos').closest('body').find('.mn_projetos').addClass('active');
	$('.dados.servicos').closest('body').find('.mn_servicos').addClass('active');
};	

function enviarContato(){
	if(validar_contato()){
		$.ajax({
		  url: $('base').attr('href')+"contato/salvar",
		  type: "POST",
		  data: $('#frm_contato').serialize(),
		  success: function(msg){
			  if(msg == 'ok'){
				  $('.info_error').hide();
			      $('.info_succes').fadeIn();
			      $('#frm_contato input').each(function(){
			      	$(this).val('');
			      })
			      
			      $('#frm_contato textarea').each(function(){
			      	$(this).val('');
			      })
			      
			      $('#frm_contato select').each(function(){
			      	$(this).val('');
			      	$(this).change();
			      })
			  }else{
				  $('.info_succes').hide();
			  	  $('.info_error').html('Não foi possível enviar o seu contato. Tente novamente.')
			  	  $('.info_error').fadeIn('slow');
			  	  
			  	  window.setTimeout(function(){
			  	  	$('.info_error').fadeOut('slow', function(){
			  	  		$(this).html('Os campos acima assinalados devem ser preenchidos.');
			  	  	})
			  	  }, 4000);
			  	  return false;
			  }
		  }
		});
	}
	
}
