
n_speed=20;//1000 = 1 second

n_nS4=document.layers?1:0;
n_iE=document.all&&!window.innerWidth&&navigator.userAgent.indexOf("MSIE")!=-1?1:0;
n_nSkN=document.getElementById&&(navigator.userAgent.indexOf("Opera")==-1||document.body.innerHTML)&&!n_iE?1:0;
n_t=0;
n_cur=0;

var textToPrint = '';

function print_news(txt){
  if(txt != null){
    textToPrint = txt;
  }
  n_l=textToPrint.length;
  if(!(n_iE||n_nSkN||n_nS4))
    return;
  var O,mes;
  // O is the nnewsb div
  O=document.getElementById('nextshow');
  var cursor = "";
  
  if(textToPrint.substring(n_cur, n_cur+1) == "<"){
    n_cur = textToPrint.indexOf(">", n_cur)+1;
  }
  
  mes = textToPrint.substring(0,n_cur);
  O.innerHTML=mes;
    
  if(n_cur++>=n_l){
    n_l=textToPrint.length
    n_cur=n_l;
  }
  else{
    setTimeout("print_news()",n_speed)
  }
};

function html_entity_decode( string ) {
  var ret, tarea = document.createElement('textarea');
  tarea.innerHTML = string;
  ret = tarea.value;
  return ret;
}

function update(){
  var ajax = new ajaxRequest();
  var ajax2 = new ajaxRequest();
  var nextshow = document.getElementById("nextshow");
  var songcover = document.getElementById("songcover");
  
  if(nextshow.innerHTML.substr(0, "ON AIR NOW! Currently playing:".length) == "ON AIR NOW! Currently playing:"){
    songcover.style.display = "block";
  }    
  
  ajax.onreadystatechange=function()
  {
    if(ajax.readyState==4){
      if(ajax.responseText != "" && nextshow.innerHTML != html_entity_decode(ajax.responseText)){
        //alert("Update: '"+nextshow.innerHTML+"' to '"+ajax.responseText+"'");
        if(ajax.responseText.substr(0, "Next On Air".length) == "Next On Air"){
          showCover = false;
          songcover.style.display = "none";
        } else {
          showCover = true;
          songcover.style.display = "block";
        }
        if(ajax.responseText.substr(0, "ON AIR NOW! Currently playing:".length) == "ON AIR NOW! Currently playing:"){
          n_cur = "ON AIR NOW! Currently playing:".length;
          print_news(ajax.responseText);
        } else {
          n_cur = 0;
          print_news(ajax.responseText);
          //nextshow.innerHTML = ajax.responseText;
        }
      }
    }
  }
  
  ajax2.onreadystatechange=function()
  {
    if(ajax2.readyState==4){
      if(songcover.innerHTML != ajax2.responseText){
        songcover.innerHTML = ajax2.responseText;
      }
    }
  }
  
  ajax.open("GET","ajax/nowPlaying.php?ie="+Math.random(),true);
  ajax.send(null);
  ajax2.open("GET","ajax/getCover.php?ie="+Math.random(),true);
  ajax2.send(null);
  
  setTimeout("update()", 30000);
}

var timer = null;
var showCover = false;
function clearDetails(){
  var details = document.getElementById("navdetails");
  var cover = document.getElementById("songcover");
  details.innerHTML = "";
  details.style.display = "none";
  if(showCover){
    cover.style.display = "block";
  } else {
    cover.style.display = "none";
  }
}

function resetNav(){
  timer = setTimeout(clearDetails, 500);
}

function updateNav(a){
  if(timer != null) clearTimeout(timer);
  var details = document.getElementById("navdetails");
  var cover = document.getElementById("songcover");
  details.style.display = "block";
  cover.style.display = "none";
  switch(a){
    case "home": details.innerHTML = "Back home."; break;
    case "features": details.innerHTML = "Check out the features from the radio show - the Gameboard competition and listen back to the latest Tech News"; break;
    case "technews": details.innerHTML = "Listen back to all the Tech News as they happened live on the show."; break;
    case "request": details.innerHTML = "Request a song using the interactive request system."; break;
    case "scoreboard": details.innerHTML = "See who is top of the scoreboard. Tune into the show, play the games, and get your name on the board."; break;
    case "playlists": details.innerHTML = "Find out what music has been played on previous shows."; break;
    case "contact": details.innerHTML = "Get in contact using the various methods: email, text and voicemail."; break;
    case "gameboard": details.innerHTML = "Play the gameboard and suggest answers for future topics."; break;
    default: details.innerHTML = ""; break;
  }        
}