/* GNes gisle@gisle.net */

kk.interactor('a', {excludeElements: 'p', popupRemote: true});
kk('framework').catchArg('blogg');
kk('top').catchArg('blogg');
kk.loader();

kk.ga('UA-24413218-2');

$(document).keydown(function(e) {
	if ( e.keyCode == 37 && kk.root.findElement('p') ) 
		kk('p').previous({endBack: function() {}}, kk.updateInteractors);
	else if ( e.keyCode == 39 && kk.root.findElement('p') ) 
		kk('p').next({endForward: function() {}}, kk.updateInteractors);
});

kk.bind('load', function(e) {
	// Load facebook-comments
	if (e && e.length) e = e[0];
	FB.XFBML.parse(e);

	$('.tweets:not(.init)').addClass('init').each(function() {
		var $container = $(this);
		var url = 'http://search.twitter.com/search.json?q=ylvis&rpp=3';
		var fill = function(data) {
			if (typeof(data) !== 'object' || typeof(data.results)!=='object') return;
			$container.html('');
			for (var i=0; i<data.results.length; i++) {
				var tweet = data.results[i];
				$container.append(
					'<div class="tweet floatLeft">' +
					'<a class="_blank" href="http://twitter.com/'+tweet.from_user+'">' +
					'<span class="user">' + tweet.from_user + '</span><br/>' +
					'</a>' +
					'<span class="text">' + tweet.text + '</span>' +
					'</div>'
				);	
			}
		};
		$.ajax({url: url, dataType: 'jsonp', success: fill });
	});

	/* Next / previous browse-buttons */
	$('.next.paginator:not(.bound)').addClass('bound').click(function() {
		if (!kk.root.findElement('p')) return;
		kk('p').next({endForward: function() {} }, kk.updateInteractors);
		return false; 
	}).attr('href', '');
	$('.previous.paginator:not(.bound)').addClass('bound').click(function() {
		if (!kk.root.findElement('p')) return;
		kk('p').previous({endBack: function() {}}, kk.updateInteractors);
		return false; 
	}).attr('href', '');
	kk.updateInteractors();

});
kk.bind('preShowState', kk.updateInteractors);

kk.updateInteractors = function() {
	if (!kk.root.findElement('p')) return;

	var p = kk('p').get();
	if (!p.$element) return;

	var scope = p.$element.closest('.pages');
	var $next = $('.paginator.next', scope);
	var $prev = $('.paginator.previous', scope);
	if (!p.currentState.param('start')) $prev.addClass('disabled');
	else $prev.removeClass('disabled');
	if (parseInt(p.currentState.param('start'))+parseInt((p.property('limit')||1)) >= parseInt(p.property('entries'))) $next.addClass('disabled');
	else $next.removeClass('disabled');
};

