
function runCountdown(){ 			
  var currentTime = new Date();
  var hourOffset = -4; // 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 = Math.floor(timeDiff % 60); //this used to be round() instead of floor()
      var hours = Math.floor(timeDiff / 60);
			var timeStr = "";		

			if(hours > 1){
				timeStr += hours.toString() + " hours";
			}else if(hours == 1){
				timeStr += hours.toString() + " hour";
			}

			if(minutes > 1){
				if(hours > 0){timeStr += " and ";}
				timeStr += minutes.toString() + " minutes";
			}else if(minutes == 1){
				if(hours > 0){timeStr += " and ";}
				timeStr += minutes.toString() + " minute";
			}


      /*if (hours > 1) {
				var message = "<span>Next show in <span class=\"dynamic\">"+hours.toString()+" hours and " + minutes.toString() + " minutes</span></span>";
      }else if (hours == 1) {
        var message = "<span>Next show in <span class=\"dynamic\">1 hour and " + minutes.toString() + " minutes</span></span>";
      }else {
        var message = "<span>Next show in <span class=\"dynamic\">" + minutes.toString() + " minutes</span></span>";
      }*/

			var message = 'Next show in <span class="dynamic">'+timeStr+'</span>';
      keepLooking = false;
    }

    if(keepLooking){  //no shows left today
      var message = "<span>Next show <span class=\"dynamic\">tomorrow</span></span>";
    }
  }
  }
  document.getElementById("countdownTimer").innerHTML = message;
  document.getElementById("timeEST").innerHTML = "Currently <span class=\"dynamic\">"+ displayHour.toString() +":"+currentMinutes +" EST</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);
}

