/* Orakeltjenesten
 *
 * SMS - Lister uleste/leste, samt gamle, sendte, feil og under sending
 * SCHEDULE - Lister hvem som jobber på Delphi og SBII nå
 * ROUND - Lister hvem som skal gå salrunde fra Delphi og SBII,
 * DISPATCHER - Lister hvem som er dispatcher nå, og hvem som er neste
 *
 */
// SMS
var sms_t;
function updateSMS()
{
	$.ajax({
		url: '/ajax/sms/',
		dataType: 'json',
		success: function(data) {
			$('#sms p').remove();
			$('#sms table').remove();
			$('#sms h1').remove();
			
			$('#sms').append('<h1><span>uleste</span> ' + data["unread"] + '/' +
				data["read"]+ ' <span>leste</span></h1><table><tr><td>Gamle:</td><td>' +
				data["old"] + '</td><td>Sender:</td><td>' + data["transmitting"] +
				'</td></tr><tr><td>Feil:</td><td>' + data["error"] +
				'</td><td>Sendte:</td><td>' + data["sent"] + '</td></tr></table>');

			sms_t=setTimeout('updateSMS()',60*1000);
		}
	});
}

// SCHEDULE
// Henter ut hvem som jobber nå som JSON-objekt fra Internsidene
var schedule_t;
function updateSchedule()
{
	$.ajax({
		url: '/ajax/schedule/',
		dataType: 'json',
		success: function(data) {
			$('#schedule p').remove();
			$('#schedule table').remove();
			
			var schedule = '<table>';
			for (place in data) {
				schedule +='<tr><th>' + place + '</th><td><ul>';
				for (key in data[place])
					schedule += "<li>" + data[place][key] + "</li>";
				schedule += '</ul></td></tr>';
			}
			schedule += '</table>';
			$('#schedule').append(schedule);
			
			schedule_t=setTimeout('updateSchedule()',10*1000);
		}
	});
}

// ROUND
// Henter ut hvem som skal gå salrunde neste gang fra Internsidene
var round_t;
function updateRound()
{
	$.ajax({
		url: '/ajax/round/',
		dataType: 'json',	
		success: function(data) {
			$('#round p').remove();
			$('#round ul').remove();
			
			$('#round').append(
				'<ul><li>DE: ' + data["Delphi"] + '</li>' + 
				'<li>SB: ' + data["Sentralbygg 2"] + '</li></ul>');

			round_t=setTimeout('updateRound()',60*1000);
		}
	});
}

// DISPATCHER
// Henter ut hvem som er dispatcher nå, og hvem som tar over
var dispatcher_t;
function updateDispatcher()
{
	$.ajax({
		url: '/ajax/dispatcher/',
		dataType: 'json',	
		success: function(data) {
			$('#dispatcher p').remove();
			$('#dispatcher ul').remove();
			
			$('#dispatcher').append(
				'<ul><li>Nå: ' + data["now"] + '</li>' + 
				'<li>Neste: ' + data["next"] + '</li></ul>');

			dispatcher_t=setTimeout('updateDispatcher()',60*1000);
		}
	});
}

// NEWS
// Henter ut nyheter fra Internsidene
var news_t;
function updateNews()
{
	$.ajax({
		url: '/ajax/news/',
		dataType: 'json',
		success: function(data) {
			$('#news p').remove();
			$('#news ul').remove();
			$('#news li').remove();
			$('#news').append('<ul>');

			for (news in data) {
				$('#news').append('<li><span class="title">' + data[news]['title'] + '</span>' +
					' av ' + data[news]['author'] +
					' fra ' + data[news]['date_from'] +
					' til ' + data[news]['date_to'] +
					'</li>');
			}
			$('#news').append('</ul>');

			news_t = setTimeout('updateNews()', 60*1000);
		}
	});
}


// SINGEL NEWS
// Looper gjennom nyhetene og viser innholdet i disse
var single_t;
var no;
var size;
var single;

function updateSingle()
{
	$.ajax({
		url: '/ajax/news/',
		dataType: 'json',
		success: function(data) {
			single = data;

			if (single == null)
			{
				$('#single').append(
					"<h1>Ingen nyheter</h1>" +
					"<p>Det er for tiden ingen driftsmeldinger.</p>");
				
				single_t=setTimeout('updateSingle()',60*1000);
			}
			
			else
			{
				size = 0;
				for (i in single) {
					if (single.hasOwnProperty(i)) {
						size++;
					}
				}
				no = 0;
				scrollSingle();
			}
		}
	});
}

function scrollSingle()
{
	if (no >= size) {
		updateSingle();
	}
	else {
		$('#single').fadeTo(500, 0, function () {
			$('#single h1').text(single[no].title);
			$('#single p').text(single[no].trunk);
			$(this).fadeTo(500, 1);
			no++;
		});

		single_t=setTimeout('scrollSingle()', 30 * 1000);
	}
}



