// JavaScript Document

var news = {
	fs : '',
	linkText1: 'More News',
	linkText2: 'Return',
	currentPage: 1,
	totalPages: 1,
	
	
	endReached: function(){
		//$('more_news').getElement('a').set('text', news.linkText2);
		news.fs.removeButton('more_news');
		news.fs.addButton('more_news', 'first');
		$('news_next_arrow').setStyle('visibility', 'hidden');
		$('more_news').setStyle('visibility', 'hidden');
	},
	
	afterSlide: function(){
		$('news_back_arrow').setStyle('visibility', 'visible');
		$('news_next_arrow').setStyle('visibility', 'visible');
		$('more_news').setStyle('visibility', 'visible');
		news.setPages();
	},
	
	setPages: function(){
		news.currentPage = news.elementToPage(news.fs.current);
		$('news_current_page').set('text',  news.currentPage);
		$('news_page_links').empty();
		var els = [];
		var i;
		if(news.currentPage == 1){
			els[0] = new Element('span');
			els[0].set('text', '1');
			if(news.totalPages > 1){
				els[1] = new Element('a', {'href':'javascript:void(0)'});
				els[1].set('text', '2');
				news.fs.addButton(els[1], news.pageToElement(2) );
			}
			if(news.totalPages > 2){
				els[2] = new Element('a', {'href':'javascript:void(0)'});
				els[2].set('text', '3');
				news.fs.addButton(els[2], news.pageToElement(3) );
			}
		}else if(news.currentPage == news.totalPages){
		    if(news.totalPages > 2){
				els[0] = new Element('a', {'href':'javascript:void(0)'});
				els[0].set('text', news.currentPage - 2);
				news.fs.addButton(els[0], news.pageToElement(news.currentPage - 2) );
			}
			if(news.totalPages > 1){
				els.push(new Element('a', {'href':'javascript:void(0)'}) );
				i = els.length - 1;
				els[i].set('text', news.currentPage - 1);
				news.fs.addButton(els[i], news.pageToElement(news.currentPage - 1) );
			}
			i = els.length;
			els[i] = new Element('span');
			els[i].set('text', news.currentPage);
		}else{
			els[0] = new Element('a', {'href':'javascript:void(0)'});
			els[0].set('text', news.currentPage - 1);
			news.fs.addButton(els[0], news.pageToElement(news.currentPage - 1) );
			els[1] = new Element('span');
			els[1].set('text', news.currentPage);
			els[2] = new Element('a', {'href':'javascript:void(0)'});
			els[2].set('text', news.currentPage + 1);
			news.fs.addButton(els[2], news.pageToElement(news.currentPage + 1) );
		}
		if(els.length > 1) els.each(function(el){ el.inject('news_page_links') });
		
	},
		
	
	beginningReached: function(){
		//$('more_news').getElement('a').set('text', news.linkText1);
		news.fs.removeButton('more_news');
		news.fs.addButton('more_news', 'next');
		$('news_back_arrow').setStyle('visibility', 'hidden');
		
	},
	
	pageToElement:function(page){
		p = parseFloat(page);
		if( isNaN(p) ){
			return;
		}else{
			return p +  (p - 2);
		}
	},
	
	elementToPage:function(element){
		e = parseFloat(element);
		if( isNaN(e) ){
			return;
		}else{
			return Math.floor(e / 2) + 1;
		}
	},
	
	init: function(){
		news.fs = new FancySlider('.news_item', { 
								  numberDisplayed:2, 
								  containerHeight:260, 
								  container:'news_box', 
								  ieFix: -5,
								  onEnd: news.endReached,
								  onStart: news.beginningReached,
								  onSlideEnd: news.afterSlide
								  } );
		news.fs.addButton('more_news', 'next');
		news.fs.addButton('news_next_arrow', 'next');
		news.fs.addButton('news_back_arrow', 'previous');
		var total = news.fs.elements.length / 2;
		news.totalPages = Math.ceil(total)
		$('news_total_pages').set('text', news.totalPages );
	
	}
}

window.addEvent('domready', news.init);