/**
 * @author Fábio Miranda Costa <fabiomcosta@gmail.com>
 * http://www.meiocodigo.com
 */
 
var tribuna = {
	init: function(){
		try{
			this.initAbas();	
		}catch(e){}
		try{
			this.initAbas_Multimidia();	
		}catch(e){}
		try{
			this.initSlideMultimidia();	
		}catch(e){}
		try{
			this.initSlideFotos();	
		}catch(e){}
		try{
			this.initSlidecolunas();	
		}catch(e){}
		try{
			this.initPhotoAlbum();	
		}catch(e){}
		try{
			this.initDestaque();	
		}catch(e){}
		try{
			this.initChangeFontSize();
		}catch(e){}
		try{
			this.initAbasComentarios();
		}catch(e){}
	},
	
	// Abas Menor	
	initAbas: function(){
		$$('.abas_vermelhas').each(function(el){
			var conteudos = $$('.box_abas_conteudo');
			conteudos.each(function(cont, i){
				if(i!=0) cont.setStyle('display', 'none');
			});
			var lis = el.getElements('li');
			el.getElements('a').addEvent('click',$lambda(false));
			lis.each(function(li, i){
				li.addEvents({
					'mousedown': function(){
						lis.each(function(ech){
							ech.removeClass('aba_hover').removeClass('aba_hovered_dir');
						});
						var itemAnterior = this.addClass('aba_hover').getPrevious();
						if(itemAnterior) itemAnterior.addClass('aba_hovered_dir');
						conteudos.each(function(cont, y){
							cont.setStyle('display', (i!=y)? 'none': 'block');
						});
					}
				});
			});
		});
	},

	// Abas Fotos
	initAbas_Multimidia: function(){
		$$('.abas_multimidia').each(function(el){
			var conteudos = $$('.box_multimidia_conteudo');
			conteudos.each(function(cont, i){
				if(i!=0) cont.setStyle('display', 'none');
			});
			var lis = el.getElements('li');
			el.getElements('a').addEvent('click',$lambda(false));
			lis.each(function(li, i){
				li.addEvents({
					'mousedown': function(){
						lis.each(function(ech){
							ech.removeClass('aba_multimidia_hover').removeClass('aba_multimidia_hovered_dir');
						});
						var itemAnterior = this.addClass('aba_multimidia_hover').getPrevious();
						if(itemAnterior) itemAnterior.addClass('aba_multimidia_hovered_dir');
						conteudos.each(function(cont, y){
							cont.setStyle('display', (i!=y)? 'none': 'block');
						});
					}
				});
			});
		});
	},

	// Multimidia
	initSlideMultimidia: function(){
		var viewPort = $('multimidia_viewport'),
			viewPortWidth = viewPort.getWidth().toInt()+32,// 32 = padding do li
			els = viewPort.getElements('li'),
			maxPageNumber = Math.ceil(els.length/3.0)-1,
			currentPage = 0,
			sliderFx = new Fx.Tween(viewPort.getElement('ul'), {'property': 'margin-left', 'link': 'cancel'});
		$('mult_anterior').addEvent('click', function(){
			if(currentPage>0){
				currentPage--;
				sliderFx.start(-(viewPortWidth*currentPage));
			}
			return false;
		});
		$('mult_proximo').addEvent('click', function(){
			if(currentPage < maxPageNumber){
				currentPage++;
				sliderFx.start(-(viewPortWidth*currentPage));
			}
			return false;
		});
	},
	
	// Slide Fotos
	initSlideFotos: function(){
		$$('.fotos').each(function(fotosDiv){
			var viewFotos = fotosDiv.getElement('.fotos_viewport'),
				viewFotosWidth = viewFotos.getWidth().toInt()+7,// 7 = padding do li
				els = viewFotos.getElements('li'),
				maxPageNumber = Math.ceil(els.length/4.0)-1,
				currentPage = 0,
				sliderFx = new Fx.Tween(viewFotos.getElement('ul'), {'property': 'margin-left', 'link': 'cancel'});
			fotosDiv.getElement('.fotos_esq').addEvent('click', function(){
				if(currentPage>0){
					currentPage--;
					sliderFx.start(-(viewFotosWidth*currentPage));
				}
				return false;
			});
			fotosDiv.getElement('.fotos_dir').addEvent('click', function(){
				if(currentPage < maxPageNumber){
					currentPage++;
					sliderFx.start(-(viewFotosWidth*currentPage));
				}
				return false;
			});
			
		});
		
	},	
	// Slide Colunas
	initSlidecolunas: function(){
		var viewcolunas = $('colunas_viewport'),
			viewcolunasWidth = viewcolunas.getWidth().toInt()+2,// 2 = padding do li
			els = viewcolunas.getElements('li'),
			maxPageNumber = Math.ceil(els.length/3)-1,
			currentPage = 0,
			sliderFx = new Fx.Tween(viewcolunas.getElement('ul'), {'property': 'margin-left', 'link': 'cancel'});
		$('colunas_anterior').addEvent('click', function(){
			if(currentPage>0){
				currentPage--;
				sliderFx.start(-(viewcolunasWidth*currentPage));
			}
			return false;
		});
		$('colunas_proximo').addEvent('click', function(){
			if(currentPage < maxPageNumber){
				currentPage++;
				sliderFx.start(-(viewcolunasWidth*currentPage));
			}
			return false;
		});
	},
	
	
	// Destaques
	
	initDestaque: function(){
		var legendaContainer = $$('.destaque_slide_legenda_container'),
			legendaContainerFx = [],
			legendaHeight = [],
			sliderTimer = null;
		
		legendaContainer.each(function(el, i){
			legendaHeight[i] = -el.getHeight();
			if(i==0) el.setStyle('bottom', legendaHeight[i]);
			legendaContainerFx[i] = new Fx.Tween(el, {'property': 'bottom', 'duration': 300,'transition': Fx.Transitions.Expo.easeOut,  'link': 'cancel'});
			el.addEvents({
				'mouseenter': function(){
					this.addClass('legenda_mouseover');
				},
				'mouseleave': function(){
					this.removeClass('legenda_mouseover');
				}
			});
		});
		
		var destaqueSlideDescricao = $$('.destaque_slide_descricao');
		destaqueSlideDescricao.each(function(el, i){
			if(i!=0) el.setStyle('display', 'none');
		});
		
		var destaqueSlide = $('destaque_slide'),
			destaqueSlideWidth = destaqueSlide.getWidth(),
			sliderUl = $('destaque_slide').getElement('ul'),
			nSliders = sliderUl.getElements('li').length,
			botaoProximo = $('destaque_slide_controle_proximo'),
			currentSlide = 0,
			TIME_INTERVAL = 6000;
		
		var nextSlide = function(){
			currentSlide++;
			if(currentSlide>=nSliders){
				currentSlide = 0;
			}
			sliderUl.setStyle('margin-left', -(destaqueSlideWidth*currentSlide));
			destaqueSlideDescricao.each(function(el, i){
				el.setStyle('display', (i==currentSlide)? 'block': 'none');
			});
			return false;
		};
		var nextSlideTimer = function(){
			nextSlide();
			legendaContainerFx[currentSlide].set(legendaHeight[currentSlide]);
		};
		
		botaoProximo.addEvent('click', function(){
			nextSlide();
			legendaContainerFx[currentSlide].set(0);
			return false;
		});
		var divDestaque = $('destaque_slide');
		
		divDestaque.addEvents({
			'mouseenter': function(){
				legendaContainerFx[currentSlide].start(0);
				$clear(sliderTimer);
			},
			'mouseleave': function(){
				legendaContainerFx[currentSlide].start(legendaHeight[currentSlide]);
				sliderTimer = nextSlideTimer.periodical(TIME_INTERVAL);
			}
		});
		
		sliderTimer = nextSlideTimer.periodical(TIME_INTERVAL);
		
	},
	
	// Script para Aumento de Fonte
	
	initChangeFontSize: function(){
		var pEls = $('texto_noticia');
		$('noticia_aumentar_fonte').addEvent('click', function(){
			var currentSize = pEls.getStyle('fontSize').toInt();
			if(currentSize<=20) pEls.setStyle('fontSize', currentSize+2);
			return false;
		});
		$('noticia_diminuir_fonte').addEvent('click', function(){
			var currentSize = pEls.getStyle('fontSize').toInt();
			if(currentSize>=10) pEls.setStyle('fontSize', currentSize-2);
			return false;
		});
	},
	
	//Fim
	
	// Script Album
	
	initPhotoAlbum: function(){
	 var photoGallery = new JSGallery2(	$$('.thumbnail'), 	//these are the thumbnail
					$('bigImage'), 		//the big image
					$('pageContainer'),	//container which contains the pages
					{'prevHandle': $('prev'),	//previous page link 
					 'nextHandle': $('next'), 	//next page link
					 'loadingImage': 'loading.gif'	//loading image for thumbnails
					});
	 
	},
	
	//Fim
	
	
	initAbasComentarios: function(){
		$$('.abas_box_abas1').each(function(el){
			var conteudos = $$('.box_abas1_conteudo');
			conteudos.each(function(cont, i){
				if(i!=0) cont.setStyle('display', 'none');
			});
			var lis = el.getElements('li');
			el.getElements('a').addEvent('click',$lambda(false));
			lis.each(function(li, i){
				li.addEvents({
					'mousedown': function(){
						lis.each(function(ech){
							ech.removeClass('selected_aba');
						});
						this.addClass('selected_aba');
						conteudos.each(function(cont, y){
							cont.setStyle('display', (i!=y)? 'none': 'block');
						});
					}
				});
			});
		});
	}
};
