


function runCountdown(){ 			
  var currentTime = new Date();
  var hourOffset = -5; // EST is UTC-5 + 1 for Daylight savings/summer SHITTTTT love, talbs
  if(currentTime.getUTCHours() + hourOffset >= 0){
    var currentESTHour = currentTime.getUTCHours() + hourOffset;
  }else{
    var currentESTHour = 24+(currentTime.getUTCHours() + hourOffset);
  }

  var displayHour = (currentESTHour > 12) ? currentESTHour - 12 : currentESTHour;			
  
  var currentMinutes = (currentTime.getMinutes().toString().length == 2) ? 
    currentTime.getMinutes().toString() : "0"+currentTime.getMinutes().toString();
  currentTime.setHours(currentESTHour);

  var rowDate = new Date();
  var timeTable = document.getElementById("todaysShowsTable");
  var timeRows = timeTable.getElementsByTagName("tr");

  var numRows = timeRows.length;
  var keepLooking = true;
  for(var i = 0; i<numRows; i++){
  if(timeRows[i].firstChild.tagName == "TD"){  //otherwise firefox breaks

    var rowTime = timeRows[i].id;
    var timeArray = rowTime.split(":");
    rowDate.setHours(timeArray[1], timeArray[2]);
    var timeDiff = (rowDate - currentTime)/(60*1000);
    if(timeDiff > 0 && keepLooking){
      var minutes = timeDiff % 60;
      var hours = Math.floor(timeDiff / 60);
                    
      if (hours > 1) {
	var message = "<span>Next show in <label>"+hours.toString()+" hours and " + Math.round(minutes).toString() + " minutes</label></span>";
      }else if (hours == 1) {
        var message = "<span>Next show in <label>1 hour and " + Math.round(minutes).toString() + " minutes</label></span>";
      }else {
        var message = "<span>Next show in <label>" + Math.round(minutes).toString() + " minutes</label></span>";
      }
      keepLooking = false;
    }

    if(keepLooking){  //no shows left today
      var message = "<span>Next show: <label>tomorrow</label></span>";
    }
  }
  }
  document.getElementById("countdownTimer").innerHTML = message;
  document.getElementById("timeEST").innerHTML = "<span>Currently <label>"+ displayHour.toString() +":"+currentMinutes +" EST</label></span>";
}


function init(){  //run on page load
  refreshData(); //initialize data
  setInterval(refreshData, 60000);	  //refresh once/minute	
}

function refreshData(){
  //if(document.getElementById("countdownTimer") && document.getElementById("timeEST")){
  if(document.getElementById("todaysShowsTable")){
    runCountdown();  //start countdown timer to next show
  }
  fetchContent("includes/onair_ajax.php" ,"onAirInfo");  
}

function fetchContent(contentURL, destID){
  var transactionCallback =
  {
    success:function(o){o.argument.dest.innerHTML = o.responseText; },
    failure:function(o){o.argument.dest.innerHTML = "<span>Error: Could not load content.</span>";},
    argument: { dest:document.getElementById(destID) }
  }
  
  var transaction = YAHOO.util.Connect.asyncRequest("GET", contentURL, transactionCallback, null);
}
