var remoteServer = 'embed_announcements_helper.php';
var announcements;
var lastAnnouncementId = -1;

function getAnnouncements() {
  var head = document.getElementsByTagName('head').item(0);
  var old  = document.getElementById('lastLoadedCmd1');
  if (old) head.removeChild(old);

  script = document.createElement('script');
  script.src = remoteServer;
  script.type = 'text/javascript';
  script.defer = true;
  script.id = 'lastLoadedCmd1';
  void(head.appendChild(script));
}

function showAnnouncements(newAnnouncements) {
  announcements = newAnnouncements;
  if (announcements.length != 0) {
  	var list = '<strong>Announcements</strong>: <ul>';
  	for(var i = 0; i < announcements.length; i++) {
  		if(announcements[i][3] == 'true')
  		{
  			list += '<li><a href="javascript:getAnnouncement(' + announcements[i][0] + ')" title="Show/hide announcement">' + announcements[i][1] + '</a> <i>' + announcements[i][2] + '</i></li>';
  		}
  		else
  		{
  			list += '<li>' + announcements[i][1] + ' <i>' + announcements[i][2] + '</i></li>';
		}  	  
  	}
  	
    document.getElementById('announcements_list').innerHTML = list+'</ul>';
  }
  else {
    document.getElementById('announcements_list').innerHTML = '<i>There are currently no announcements.</i>';
    document.getElementById('announcement').style.display = "none";
  }
}

function getAnnouncement(id) {
  if (id == lastAnnouncementId) {
    var el = document.getElementById('announcement');
    el.style.display = (el.style.display == "none") ? "block" : "none";
    return;
  }

  var head = document.getElementsByTagName('head').item(0);
  var old  = document.getElementById('lastLoadedCmd2');
  if (old) head.removeChild(old);

  script = document.createElement('script');
  script.src = remoteServer +'?id=' + id;
  script.type = 'text/javascript';
  script.defer = true;
  script.id = 'lastLoadedCmd2';
  void(head.appendChild(script));
}

function showAnnouncement(id, body) {
  document.getElementById('announcement').style.display = "block";
  for (var i = 0; i < announcements.length; i++) {
    if (id == announcements[i][0]) {
      document.getElementById('announcement_title').innerHTML = announcements[i][1];
      break;
    }
  }
  document.getElementById('announcement_body').innerHTML = body;

  lastAnnouncementId = id;
}

function close() {
  document.getElementById('announcement').style.display = "none";
}

setInterval(getAnnouncements, 300000);	// 300 seconds; 5 minutes