/*--------------------------------------------------------------------------*
 * 
 * Copyright (C) 2008 Brand Labs LLC
 * 
 *--------------------------------------------------------------------------*/

var News = {
	ELEMENT_ID: 'news_holder',
	URL: '/v/news/blog.asp',
	BRIEF_TEMPLATE: new Template('<div class="newsbrief"><b>#{title}</b><br/>#{content}</div>'),
	READ_MORE_TEMPLATE: new Template('<div class="read_more"><a class="read_more_link" href="#{url}"><span id="pointer">> </span>Read more</a></div>'),
	
	load: function() {
		new Ajax.Request(News.URL, {
			method: 'get',
			encoding: 'ISO-8859-1',
			evalJSON: true,
			sanitizeJSON: true,
			
			onSuccess: function(transport) {
				var data = transport.responseJSON;

				//Check for empty data set
				if(data == null) {
					return;
				}
				
				//Update DOM with data received
				News.update(data);
			}
		});
	},
	
	update: function(data) {
		var element = $(News.ELEMENT_ID);
		
		//Exit if no valid data available
		if(data.feed == null || data.feed.entry == null || data.feed.entry.size() <= 0) {
			return;
		}
		
		//No element, exit
		if(element == null) {
			return;
		}
		
		data.feed.entry.each(function(item) {
			var link = null;
			var snippet = null;
			var periodIndex;
			
			//Create blog snippet
			snippet = item.content.$t;
			if(snippet == null) {
				snippet = '';
			}
			periodIndex = snippet.indexOf('.');
			if(periodIndex != -1) {
				snippet = snippet.substring(0, periodIndex+1);
			}
			
			element.insert(News.BRIEF_TEMPLATE.evaluate({
				title: item.title.$t,
				content: snippet
			}));
			
			//Get only the link we need
			link = item.link.find(function(currentLink) {
				if(currentLink.rel == 'alternate') {
					return true;
				}
				return false;
			});
			
			//No link, don't display
			if(link == null) {
				return;
			}
			
			element.insert(News.READ_MORE_TEMPLATE.evaluate({
				url: link.href.replace("vacalondev.blogspot.com","store.vacalon.com/v/blog")
			}));			
		});
	}
};

Event.observe(window, 'load', News.load);

