
//Main GrowRadio JavaScript funtions

function getData(obj){
	var f = obj.form;
	
	f.submit();
	
	return true;
}
//js ajax auto updater
function updateHomePage(){
	checkStatus();
	//check server every 90 seconds
	setTimeout("updateHomePage()",90000);
}
//simple ajax functions
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}


//handles return string from rpc
function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
        //var req = document.getElementById("request").value;
        if(response.indexOf('%%%' != -1)) {
            update = response.split('%%%');
            now = update[0].split('|||');
            next = update[1].split('|||');
            document.getElementById(now[0]).innerHTML = now[1];
            document.getElementById(next[0]).innerHTML = next[1];
              
        }
    }
}

function handleSearchResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();
        //var req = document.getElementById("request").value;
        if(response.indexOf('|||' != -1)) {
            update = response.split('|||');
            //now = update[0].split('|||');
            //next = update[1].split('|||');
            document.getElementById(update[0]).innerHTML = update[1];
            //document.getElementById(next[0]).innerHTML = next[1];
              
        }
    }
}
var http = createRequestObject();

function checkStatus() {

    http.open('get', 'updater.php?gaj=' + new Date().getTime());
    http.onreadystatechange = handleResponse;
    http.send(null);
    
}

function getList() {
    
    http.open('get', 'playlist2.php?gaj=' + new Date().getTime());
    http.onreadystatechange = handleResponse;
    http.send(null);
    
}

function callUpdate(){
	JSONupdate();
	//check server every 90 seconds
	setTimeout("callUpdate()",60000);
}
function JSONupdate(){
	$.getJSON('jsonupdater.php?t=' + new Date().getTime(), function(data) {
		if(typeof( data.header.link ) != 'undefined' ){
			data.header.link == ' ' ? $('#playing').html("<span class=\"show-info grgreen bold\">Playing Now:</span> <span class=\"show-info grgreen bold\">" + data.header.text + "</span>")  : 
	     $('#playing').html("<span class=\"show-info grgreen bold\">Playing Now:</span> <span class=\"bold\">" + "<a href='" + data.header.link + "'>" + data.header.text + "</a></span>");
	     $('#plbutt').show();
	  }else{
		  $('#playing').html('<div style="margin-bottom:5px" class="bold grgreen">' + data.header.text + '</div>');
		  $('#plbutt').hide();
		} 
	  //
	  var c = 9;
	  while(c >= 0){
            if(typeof(data.playlist) != 'undefined' && typeof(data.playlist[c]) != 'undefined'){
	       if(document.getElementById('track-' + data.playlist[c].id) == null){
		    var format = "<table style='display:none;border-bottom:1px solid #FFF;' class='pltracks' id='track-"+ data.playlist[c].id +"'><tr><td style='width:50px'>"+ data.playlist[c].time +"</td><td>" + data.playlist[c].artist + "</td><td>" + data.playlist[c].title + "</td><td>" + data.playlist[c].album + "</td><td>" + data.playlist[c].label + "</td></tr></table>";
	           $('#pltracks').prepend(format);
	           $('#track-' + data.playlist[c].id).fadeIn('slow',function(act){ });
               }
            }
	   c -= 1;
	  }
	  //remove track listings greater then 45
	  if($('.pltracks').size() > 45){
	    $('.pltracks:last').remove();
	  }
	  //update listing table
	  var out = '<table id="today">';
	  $.each(data.schedule, function(index, value){
	     out += "<tr><td style='width:85px;' class='today-time'>" + value['start'] + ' - ' + value['end'] + "</td><td>" + value['name'] + "</td></tr>";
	  });
	  out += '</table>';
	  $('#todaydiv').html(out);
	   out = data.next.name + ' hosted by ' + data.next.host + ' @ ' + data.next.start + ' EST<br/>';
	  $('#next-time').html(out);
	   out = '<a style="font-size:9px;text-decoration:none;" target="_archive" href="http://www.growradio.org/archive/podcast_parser.php?show='+ data.next.podcast + '">Check out previous shows</a>';
	  $('#next-archive').html(out);
	   out = '<img style="float:left;margin-right:10px;margin-top:10px;border:3px solid #329800;" width="' + data.next.imagewidth + '" src="'+ data.next.image +'" /> <br/>'
	       + '<span style="font-size:10px;color:#555;">'+ data.next.description +'</span>';
	  $('#next-desc').html(out);
	});
}

function addEmail(obj){
	//var form = obj;
	var email = document.emailform.emailadd.value;
	var params = 'email='+email;
	document.emailform.emailadd.value = '';
	http.open('POST', 'addgroup.php', true);
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
        http.onreadystatechange = function() {//Call a function when the state changes.
		if(http.readyState == 4 && http.status == 200) {
			//document.emailform.emailadd.value = "Your email has been added";
			
		}
	}
	
  http.send(params);
}

