/*
	Kings Foundation Facebook NewsFeed Script
	Copyright 2011 The Kings Foundation
	Author Peter Thompson
*/

window.FBNewsFeed = {
	
	_fdb : null,
	_fbdi : -1,
	_msgtimer : null,
	_storydelay : 1000,
	_maxitems : 5,
	
	// Init
	
	init : function ( fbpath, delay, maxitems ) {
		if ( typeof(delay) == "number" ) { FBNewsFeed._storydelay = Math.max(1000,delay*1000); }
		if ( typeof(maxitems) == "number" ) { FBNewsFeed._maxitems = maxitems; }
		FB.api( fbpath, function(response) {
			FBNewsFeed._fdb = response.data;
			FBNewsFeed.continueMessage( true );
			
		});
	},

	
	// Next Message
	
	nextMessage : function ( cont ) {
		FBNewsFeed._fbdi++;
		if ( FBNewsFeed._fbdi >= FBNewsFeed._maxitems ) { FBNewsFeed._fbdi = 0; }
		if ( FBNewsFeed._fbdi >= FBNewsFeed._fdb.length ) { FBNewsFeed._fbdi = 0; }
		FBNewsFeed.showMessage( FBNewsFeed._fdb[ FBNewsFeed._fbdi ], cont );
	},

	
	// Prev Message
	
	prevMessage : function ( cont ) {
		FBNewsFeed._fbdi-=2;
		if ( FBNewsFeed._fbdi < 0 ) { FBNewsFeed._fbdi = FBNewsFeed._maxitems; }
		FBNewsFeed.showMessage( FBNewsFeed._fdb[ FBNewsFeed._fbdi ], cont );
	},

		
	// Show Message
	
	showMessage : function ( p, cont ) {
		clearTimeout(FBNewsFeed._msgtimer);
		var h = "";
		if ( p.link == null ) {
			h = p.message;
		} else {
			h = '<a href="' + p.link + '" target="_blank">' + p.message + '</a>';
		}
		document.getElementById('FBmsg').innerHTML = h;
		if ( cont == true ) {
			FBNewsFeed._msgtimer = setTimeout("FBNewsFeed.nextMessage(true)", FBNewsFeed._storydelay );
		}
	},


	// Reveal Message
	
	revealMessage : function ( nf ) {
		var ar = document.getElementById('FBreadmorelink');
		var nf = document.getElementById('FBnewsfeed');
		if ( nf.style.overflow != "visible" ) {
			ar.style.backgroundColor = "#9DACCE";
			nf.style.height = "auto";
			nf.style.overflow = "visible";
		} else {
			ar.style.backgroundColor = "#ECEEF5";
			nf.style.height = "20px";
			nf.style.overflow = "hidden";
		}
	},


	// Pause Message
	
	pauseMessage : function () {
		clearTimeout(FBNewsFeed._msgtimer);
	},


	// Continue Message
	
	continueMessage : function () {
		FBNewsFeed._msgtimer = setTimeout("FBNewsFeed.nextMessage(true)", FBNewsFeed._storydelay );
	}
	
}
