var News = new Object();
News.animSpeed = 1;
News.teaserLength = 240;
News.closedHeight = 110;
News.stories = new Array();
News.current = null; 
News.init = function() {
	var i = 0;
	var newsElems = $('wrap-content').getElements('.news-story');
	//newsElems = $$('.news-story');
	newsElems.each(function(story) {
		var element = story.getElement('.news-content');
		// Format teaser text
		var aText = element.innerHTML.replace(/<p(?:.|\s)*?>/gi, '');
		if(aText.length > News.teaserLength) {
			aText = aText.split(" ");
			var tText = "";
			while(tText.length < News.teaserLength) {
				tText+= aText.shift().stripSpaces().trim() + " ";
			}
			tText = "<p>"+tText.stripSpaces().trim()+"&hellip;&nbsp;<a class='news_link more' href='javascript:News.toggle("+i+",true)' >more</a></p>";
			// Format full text
			var fText = "";
			var fTextPs = element.getElementsByTagName("p");
			fTextPs[(fTextPs.length - 1)].innerHTML+= " <a class='news_link close' href='javascript:News.toggle("+i+",false)' >close&nbsp;article</a>";
			for(var x = 0; x < fTextPs.length; x++) {
				fText+= "<p>"+fTextPs[x].innerHTML+"</p>";
			}
			var thisStory = {
				fText: 	 fText,
				fHeight: element.offsetHeight + 30,
				tText:	 tText
			}
			element.innerHTML = thisStory.tText;
			var fx = new Fx.Styles(element.parentNode);
			fx.set({
				'height': News.closedHeight
			});
			News.stories[i] = thisStory;
			i++;
		}
	});
	
	if(window.location.search.substring(1) == 'latest') {
		News.toggle(0,true);
	}
};
News.toggle = function(i, bOpen) {
	var oArticle = $('news-story_'+i);
	var oArticleInner = $('news-content_'+i);
		
	switch(bOpen) {
		
		case true:
			// Close an open article
			if(News.current != null) {
				News.toggle(News.current, false);
			}
			
			// Open the required article
			var fx = new Fx.Styles(oArticle, {duration:News.animSpeed, wait:false});
			fx.set({
				'background-color': '#ffffff',
				'height': News.closedHeight
			});
			oArticleInner.innerHTML = News.stories[i].fText;
			fx.start({
				'background-color': '#eeeeee',
				'height': News.stories[i].fHeight
			});
			News.current = i;
			
			// Parse any shadowbox links in the opened div
			Shadowbox.setup("a.video", {
				title: "",
				height:     560,
				width:      349
			});
			
			break;
			
		case false:
			// Close the required article
			oArticleInner.innerHTML = News.stories[i].tText;
			var fx = new Fx.Styles(oArticle, {duration:News.animSpeed, wait:false});
			fx.start({
				'background-color': '#ffffff',
				'height': News.closedHeight
			});
			News.current = null;
			break;
	}
};
window.addEvent('domready', function() {
	News.init();
});

