var newsCurrentID = 0;
var newsFadeDuration = 500;
var newsUrl = '/news-info/';

function newsGetIdByHandle(handle) {
	var items = $('news-content').getElements('.news-sidebar ul li a');
	var id = 0;
	for(var i = 0; i < items.length; i++) {
		var itemHandle = items[i].href.split('/')[items[i].href.split('/').length - 2];
		if(handle == itemHandle) {
			id = items[i].getParent().id.split('-')[1];
		}
	}
	return parseInt(id);
}

function newsGetLatestId() {
	return parseInt ( $('news-content').getElements('.news-sidebar ul li')[0].id.split('-')[1] );
}

function newsGetActiveId() {
	return parseInt( $('news-content').getElements('.news-sidebar ul li.active')[0].id.split('-')[1] );
}

function newsGetActiveIdx() {
	var items = $('news-content').getElements('.news-sidebar ul li');
	var idx = 0;
	for(var i = 0; i < items.length; i++) {
		if( ! items[i].hasClass('active') ) continue;
		idx = i;
	}
	return idx;
}

function newsShow(newsId, action) {
	if(action == undefined) action = function() { pausePolling = false; }
	if(newsId == newsCurrentID) return;
	newsRequest('show', newsId, action);
}

function newsNext(action) {
	if(action == undefined) action = function() { pausePolling = false; }
	updateHash( $('news-content').getElements('.news-sidebar ul li a')[newsGetActiveIdx() + 1] );
	newsRequest('next', action);
}

function newsPrev(action) {
	if(action == undefined) action = function() { pausePolling = false; }
	updateHash( $('news-content').getElements('.news-sidebar ul li a')[newsGetActiveIdx() - 1] );
	newsRequest('prev', action);
}

function newsRequest(action, param, hashAction) {			
	//centerContent();
	pausePolling = true;
	
	if(hashAction == undefined) hashAction = function() { pausePolling = false; }
	
	var workingDiv = new Element( 'div', { 'class': 'element-loading', 
		'styles': { 
			'height': '200px', 'display': 'none',
			'opacity': 0, '-khtml-opacity': 0,
			'-webkit-opacity': 0, '-moz-opacity': 0,
			'filter': 'alpha(opacity=0)'
		} 
	} );
	var div = $$('.elements')[currentIdx].getElements('.element-content')[0].getElements('div')[0];
	div.set('morph', { duration: newsFadeDuration, transition: Fx.Transitions.Quad.easeOut,
		onComplete: function() {
			div.style.display = 'none';

			workingDiv.set('morph', { duration: Math.floor(newsFadeDuration / 2), transition: Fx.Transitions.linear, 
				onComplete: function() {
					var data = 'sessid=' + sessid;
					data += '&current=' + newsCurrentID;
					data += '&action=' + action;
					data += '&param=' + ( param == undefined ? '' : param );
					var ajaxNews = getNewXMLHttp();
					ajaxNews.open("POST", newsUrl, true);
					ajaxNews.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	    
					ajaxNews.onreadystatechange = function() {
						if(ajaxNews.readyState != 4) return;
		
						workingDiv.set('morph', { duration: Math.floor(newsFadeDuration / 2), transition: Fx.Transitions.linear, 
							onComplete: function() {
								workingDiv.dispose();
							
								var news = ajaxNews.responseText.split('|');
						
								$('news-' + newsCurrentID).removeClass('active');
								newsCurrentID = news[0];
								updateTitle($$('.togglers a')[currentIdx].innerHTML, news[1]);
								$('news-' + newsCurrentID).addClass('active');
								$('news-' + newsCurrentID).getElements('a')[0].blur();
								div.getElements('#news-title h1')[0].innerHTML = news[1];
								div.getElements('#news-text .pad')[0].innerHTML = news[3];
								$('news-share').innerHTML = news[4];
								
								if(news[5] == 'true'){
									$('news-prev').innerHTML = '';
									$('news-prev').style.cursor = 'default';
									$('news-prev').onclick = null;
								} else {
									$('news-prev').innerHTML = '&laquo; Prev';
									$('news-prev').style.cursor = 'pointer';
									$('news-prev').onclick = function() { newsPrev(); };
								}
								
								if(news[6] == 'true'){
									$('news-next').innerHTML = '';
									$('news-next').style.cursor = 'default';
									$('news-next').onclick = null;
								} else {
									$('news-next').innerHTML = 'Next &raquo;';
									$('news-next').style.cursor = 'pointer';
									$('news-next').onclick = function() { newsNext() };
								}
								
								div.style.display = 'block';
								div.set('morph', { duration: newsFadeDuration, transition: Fx.Transitions.Quad.easeOut, onComplete: hashAction } );
								div.morph( { opacity: [0, 1] } );
								
								$('element-' + currentIdx).set('morph', { duration: newsFadeDuration, transition: Fx.Transitions.Quad.easeOut } );
								$('element-' + currentIdx).morph ( { height: $$('#element-' + currentIdx + ' .element-content')[0].getSize().y } );
				
								var contentHeight = $$('#element-' + currentIdx + ' .element-content')[0].getSize().y + ( $$('.togglers').length * $$('.togglers')[0].getSize().y );
								centerContent(contentHeight, newsFadeDuration);
							}
						} );
						workingDiv.morph( { opacity: [1, 0] } );
					}
					ajaxNews.send(data);
				}
			} );
			
			div.getParent().grab(workingDiv);
			workingDiv.style.display='block';
			workingDiv.morph( { opacity: [0, 1] } );
		}
	} );
	div.morph( { 'opacity': [1, 0] } );
	
	$('element-' + currentIdx).set('morph', { duration: newsFadeDuration, transition: Fx.Transitions.Quad.easeOut } );
	$('element-' + currentIdx).morph ( { height: 200 } );

	var contentHeight = 200 + ( $$('.togglers').length * $$('.togglers')[0].getSize().y );
	centerContent(contentHeight, newsFadeDuration);
}