var Nlf = {};

Nlf.Newsticker = (function() {

	var pointer, numberOf, timeout;
	
	var fade = $.support.opacity;

	var getData = function(callback) {
		// TODO: better absolute URL
		$.getJSON(
			'/?feed=newstickerjsonfeed',
			{},
			callback
		);
	};
	
	var next = function() {
		pointer = (pointer + 1) % numberOf;
		if (fade) {
			$('div#newsticker dd')
				.fadeOut(Nlf.Newsticker.FADETIME)
				.eq(pointer)
				.fadeIn(Nlf.Newsticker.FADETIME)
			;
		} else {
			$('div#newsticker dd').hide().eq(pointer).show();
		}
		timeout = window.setTimeout(next, Nlf.Newsticker.INTERVAL);
	};
	
	var display = function(data) {
		numberOf = data.length;
		var html = '<div id="newsticker"><dl><dt>Senaste nytt:</dt>';
		for(var i in data) {
			// TODO: why is i + 1 string concat?
			var ix = parseInt(i, 10) + 1;
			html += '<dd><a href="' + data[i].url + '">' + data[i].text + '</a>';
			html += '<span>[ ' + ix + '/' + numberOf + ' ]</span></dd>';
		}
		html += '</dl></div>';
		$('div#header div.inner').prepend(html);
		$('div#newsticker').show();
		Cufon.replace('div#newsticker');

		$('div#newsticker dd span').click(function() {
			if (timeout) {
				window.clearTimeout(timeout);
			}
			next();
		});
		$('div#newsticker dt').css("cursor","pointer").click(function(){
			location.href="/media/nyhetsarkiv/";
		});
		pointer  = 0;
		$('div#newsticker dd').eq(pointer).show();
		timeout = window.setTimeout(next, Nlf.Newsticker.INTERVAL);
	};

	return {
		init: function(interval, fadeTime) {
			this.INTERVAL = interval || 5000;
			this.FADETIME = fadeTime || 1000;
			getData(display);
		}
	};

})();

if (/msie|MSIE 6/.test(navigator.userAgent)) { // no Cufón in Menu for IE6
	Cufon = { replace: function() {} };
}

Cufon.replace('div#header ul.menu strong, div#header ul.menu a');
Cufon.replace('div#sub-nav ul a');
Cufon.replace('div.box h2');
Cufon.replace('div.box h3');

$(document).ready(function() {
	if (!($('.home-campaign')[0] && navigator.userAgent.match(/MSIE/))) {
		Cufon.replace('div#home-title-box h2');
	}
	
	Nlf.Newsticker.init(5000);
	
	$('.email').each(function() {
		var href = $(this).text().replace(" (at) ", "@").replace(" (dot) ", ".");
		$(this).html('<a href="mailto:' + href + '">E-post »</a>');
	});
	
	setTimeout(campaignClose, 4000);
	
});
function campaignClose() {
	$('#home-title-box').css("visibility","visible");
	$('.home-campaign').fadeOut(1000,function(){
		$('div#home-title-box h2').css("visibility","visible");
		Cufon.replace('div#home-title-box h2');
		Cufon.refresh();
	});
}
