var News = {
	animSpeed: 500,
	items: new Object()
};

News.init = function() {
	var els = $('expanding-content').getElements('.expanding-item');
	els.each(function(item, index) {
		//Makes sure the item is long enough to need expansion
		var teaserLength=400;
		var paraCount=item.getElements('p').length;
		if(item.innerHTML.length>teaserLength && paraCount>1){
		// Use the first paragraph as teaser
		var teaser = item.getElement('p');
		teaser.innerHTML+='&nbsp;<a href="#item-'+index+'" class="more" id="expand-item-'+index+'-more" onclick="News.toggle('+index+');">More</a>';
		
		// Store the full height
		var elinner = item.getElement('.expand-item-inner');
		News.items[index] = {
			closedheight: teaser.offsetHeight,
			fullheight: elinner.offsetHeight + 20 // make room for close link
		};
		
		// Hide the rest of the item
		elinner.setStyles({
			'overflow': 'hidden',
			'height': News.items[index].closedheight
		});
		item.addClass('closed');
		}
	});
	
	// Go directly to item via URL
	if(window.location.hash != '') {
		var id = window.location.hash.split('-').pop();
		if($('news-item-'+id)) {
			News.toggle(id);	
		}
	}
};

News.toggle = function(id) {
	var el = $('expand-item-'+id);
	var elinner = $('expand-item-'+id+'-inner');
	var morelink = $('expand-item-'+id+'-more');
	if(el.hasClass('closed')) {
		
		// Open the item
		var fx = new Fx.Styles(elinner, {duration:News.animSpeed, wait:false, onComplete: function(){window.location='#item-'+id}});
		fx.start({
			'height': News.items[id].fullheight
		});
		el.addClass('open');
		el.removeClass('closed');
		
		morelink.innerHTML = 'Close';
		morelink.inject(elinner);
		
	}
	else {
		
		// Close the item
		var fx = new Fx.Styles(elinner, {duration:News.animSpeed, wait:false});
		fx.start({
			'height': News.items[id].closedheight
		});
		el.removeClass('open');
		el.addClass('closed');
		
		morelink.innerHTML = 'More';
		morelink.inject(elinner.getElement('p'));
		
	}
};