Hootenanny = window.Hootenanny || {};

Hootenanny.News = function() {
	var _current_article_id;
	
	function _init_article_links() {
		$('#articles a').click(function() {
			var href_array = $(this).attr('href').split('/');
			var article_id = href_array[href_array.length - 2];
			
			Hootenanny.News.get_article(article_id);
			
			return false;
		});
	}
	
	function _get_article(article_id) {
		// don't load the same article we're on
		if (parseInt(article_id) != _current_article_id) {
			_current_article_id = article_id;
		
			$.ajax({
				type: 'post',
				url: '/lib/hootenanny.webservice.php',
				data: 'command=get_article&article=' + article_id,
				dataType: "json",
				success: function(json_data) {
					_show_article(json_data);
				}
			});
		}
	}
	
	function _show_article(article) {
		$('#news-title h2:first').text(article.title);
		$('#news-title .datestamp:first').text(article.datestamp);
		
		$('#scrollable-content').empty();
		
		// insert image details, if present
		if (article.image != null) {
			var image, image_container;
			
			image_container = document.createElement('div');
			$(image_container).attr('class', 'image-wrapper');
			
			image = document.createElement('img');
			$(image).attr('src', '/images/news/' + article.image);
			$(image).attr('width', article.img_width);
			$(image).attr('height', article.img_height);
			
			image_container.appendChild(image);
			
			if (article.image_caption != '') {
				var caption = document.createElement('span');
				$(caption).text(article.image_caption);
				image_container.appendChild(caption);
			}
			
			$('#scrollable-content').append($(image_container));
		}
		
		$('#scrollable-content').append(article.post + "<br /><br /><br />");
		
		Hootenanny.Scrollable.calibrate_slider();
	}
	
	return {
		init: function() {
			_init_article_links();
			Hootenanny.Scrollable.init( {slider_height: 283, content_height: 360} );
		},
		
		get_article: function(article_id) {
			_get_article(article_id);
		},
		
		set_current_article: function(article_id) {
			_current_article_id = parseInt(article_id);
		}
	}
}();

$(document).ready(function() {
	Hootenanny.News.init();
});