	var t = 0;
	var s = 10;
	var interval = 5000;
	var c = 0;
	$.getJSON('/kepler/includes/highlights.php', function (data) {
		var ul = $('<ul/>');
		var tul = $('<ul/>');
		$.each(data, function(key, val) {
			c++;
			if (c <= s) {
				$('<li/>', { html: val }).appendTo(tul);
			}
			$('<li/>', { text: val }).appendTo(ul);
		});
		
		$('#hide').append(ul.contents());
		$('#ticker').append(tul.contents());
	})
	.error(function() { alert('invalid'); }
	);
	t = setTimeout(tick, interval);
	function tick() {
		smoothAdd('ticker',$('#hide li:last').text());
		$('#hide').prepend($('#hide li:last'));
				
		t = setTimeout(tick, interval);
	}