
/**************************************************/
/* list_streams
/**************************************************/

function list_streams(page,first)
{
	$.getJSON("/json.php?do=list_streams&page="+page+"&callback=?",
        function(json){	
		
			
			
			
			
			li = '';
		
          $.each(json.streams, function(i,stream){
            
			li+= '<li id="stream_'+stream.stream_id+'"><div class="li">';
			
			
			li+= '<div class="name"><a href="/stream/edit/'+stream.stream_id+'">'+stream.name+'</a></div>';
			
			
			
			li+= '<div class="action">';
			
			li+= '<img src="/images/embed.png" width="16" height="16" alt="" onclick="embed_stream('+stream.stream_id+');" />';
			
			li+= '<a href="/stream/'+stream.stream_id+'" onclick="window.open(this.href); return false;"><img src="/images/view.png" width="16" height="16" alt="" /></a>';
			
			li+= '<img id="toggle_'+stream.stream_id+'" src="/images/';
			if(stream.status=='Inactive')
				li+= stream.owner==true ? 'play.png' : 'play-disabled.png';
			else
				li+= stream.owner==true ? 'pause.png' : 'pause-disabled.png';			
			li+= '" width="16" height="16" alt=""';
			li+= stream.owner==true ? ' onclick="toggle_stream('+stream.stream_id+');" />' : ' style="cursor:default;" />';
			
			if(stream.owner==true)
				li+= '<img src="/images/delete.png" width="16" height="16" alt="" onclick="delete_stream('+stream.stream_id+');" />';
			else
				li+= '<img src="/images/delete-disabled.png" width="16" height="16" alt="" style="cursor:auto;" />';
			
			
			li+= '</div>';
			li+= '</div></li>';
			
          });
		  
		  
		  $("#streams").fadeOut("slow",function() {
				
				$("#streams").empty();
				$("#streams").append(li);
				$("#streams").fadeIn("slow");
				
			});
	  
		  
		  
		  
		  if(first)
		  {
			  if(json.num_rows==0)
			  	$("#stream_count").append('(No Streams)');
			  else if(json.num_rows==1)
			  	$("#stream_count").append('(1 Stream)');
			  else
			  	$("#stream_count").append('('+json.num_rows+' Streams)');
				
			  pages='';
			  for(i=1;i<=json.num_pages;i++)
			  {
				pages+= '<li';
				if(i==1)
					pages+= ' class=\"on\"';
				pages+= ' onclick="list_streams('+i+',false); $(\'.pages li\').attr(\'class\',\'\'); $(this).attr(\'class\',\'on\'); ">'+i+'</li>';  
			  }
			  $(".pages").append(pages);
		  }
		  
		  
        });
}



/**************************************************/
/* embed_stream
/**************************************************/

function embed_stream(stream_id)
{
	$('#light').fadeIn('slow'); 
	$('#fade').fadeIn('slow');
	
	$('#embed_iframe').val('<iframe src="http://lintweets.lininteractive.com/stream/'+stream_id+'.html" width="100%" height="266" frameborder="0" scrolling="auto"></iframe>');
	$('#embed_script').val('<script type="text/javascript">/*<![CDATA[*/ window.lintweets_height = ""; document.write(\'<script \' + \'type="text/javascript" src="http://lintweets.lininteractive.com/stream/'+stream_id+'.js"></\' + \'script>\'); /*]]>*/</script>');
	$('#embed_feed').val('http://lintweets.lininteractive.com/stream/'+stream_id+'.xml');
	
}


/**************************************************/
/* toggle_stream
/**************************************************/

function toggle_stream(stream_id)
{
	$.getJSON("/json.php?do=toggle_stream&stream_id="+stream_id+"&callback=?",
		function(json){	
			if(json.success==1)
				$("#toggle_"+stream_id).attr('src','/images/'+json.image);
			else
				alert('There was an error processing your request.');
		});
}


/**************************************************/
/* delete_stream
/**************************************************/

function delete_stream(stream_id)
{
	if(confirm("Delete this stream?"))
	{
		$.getJSON("/json.php?do=delete_stream&stream_id="+stream_id+"&callback=?",
			function(json){	
				if(json.success==1)
					$("#stream_"+stream_id).fadeOut('slow');	
				else
					alert('There was an error processing your request.');
			});
	}
	else
		return false;
	
}


/**************************************************/
/* add_stream
/**************************************************/

function add_stream()
{
	$.getJSON("/json.php?do=add_stream&callback=?",
		function(json){	
			if(json.success==1)
				window.location = '/stream/edit/'+json.stream_id;
			else
				alert('There was an error processing your request.');
		});
}


/**************************************************/
/* save_stream
/**************************************************/

function save_stream(stream_id)
{
	$.getJSON("/json.php?do=save_stream&stream_id="+stream_id+"&name="+escape($("#stream_name").val())+"&callback=?",
		function(json){	
			if(json.success!=1)
				alert('There was an error processing your request.');
		});
}


/**************************************************/
/* toggle_media
/**************************************************/

function toggle_media(stream_id)
{
	$.getJSON("/json.php?do=toggle_media&stream_id="+stream_id+"&callback=?",
		function(json){	
			if(json.success != 1)
				alert('There was an error processing your request.');
		});
}

/**************************************************/
/* toggle_shared
/**************************************************/

function toggle_shared(stream_id)
{
	$.getJSON("/json.php?do=toggle_shared&stream_id="+stream_id+"&callback=?",
		function(json){	
			if(json.success != 1)
				alert('There was an error processing your request.');
		});
}


/**************************************************/
/* add_feed
/**************************************************/

function add_feed(stream_id)
{
	uri = $("#add_uri").val();
	
	//alert(uri.substring(0,37));
	
	//if(uri.substring(0,37) != "http://search.twitter.com/search.atom")
	//{
	//	alert('You must use a Twitter Search RSS URL.');
	//	return false;	
	//}
	
	$.getJSON("/json.php?do=add_feed&stream_id="+stream_id+"&uri="+escape(uri)+"&callback=?",
		function(json){	
			if(json.success==1)
			{
				
				li = '<li id="feed_'+json.feed_id+'"><div class="li">';
				li+= '<div class="name"><input id="uri_'+json.feed_id+'" type="text" value="'+json.uri+'" onfocus="unsaved_feed('+json.feed_id+');" /></div>';
				li+= '<div class="action">';
				li+= '<img id="save_'+json.feed_id+'" src="/images/saved.png" onclick="save_feed('+json.feed_id+');" title="Save Feed" />';
				view = json.uri.split("?");
				li+= '<a href="http://search.twitter.com/search?'+view[1]+'" onclick="window.open(this.href); return false;"><img src="/images/view.png" title="View Feed" /></a>';
				li+= '<img src="/images/delete.png" onclick="delete_feed('+json.feed_id+');" title="Delete Feed" />';
				li+= '</div>';
				li+= '</div></li>';
				
				$("#feeds").prepend(li);
				
				$('#light').fadeOut('slow'); 
				$('#fade').fadeOut('slow');
				$('#add_uri').val('');

			}
			else
			{
				if(json.errno == 1062)
				{
					alert('That feed is already a part of this stream.');
					$('#add_uri').val('');
				}
				else
					alert('There was an error processing your request.');
			}
		});	
}

/**************************************************/
/* unsaved_feed
/**************************************************/

function unsaved_feed(feed_id)
{
	$('#save_'+feed_id).attr('src','/images/unsaved.png');
	$("#save_"+feed_id).css('cursor','pointer');
}


/**************************************************/
/* save_feed
/**************************************************/

function save_feed(feed_id)
{
	uri = $("#uri_"+feed_id).val();
	$.getJSON("/json.php?do=save_feed&feed_id="+feed_id+"&uri="+escape(uri)+"&callback=?",
		function(json){	
			if(json.success==1)
			{
				$("#save_"+feed_id).attr('src','/images/saved.png');
				$("#save_"+feed_id).css('cursor','auto');
			}
			else
				alert('There was an error processing your request.');
		});
}

/**************************************************/
/* delete_feed
/**************************************************/

function delete_feed(feed_id)
{
	if(confirm("Delete this feed?"))
	{
		$.getJSON("/json.php?do=delete_feed&feed_id="+feed_id+"&callback=?",
			function(json){	
				if(json.success==1)
					$("#feed_"+feed_id).fadeOut('slow');	
				else
					alert('There was an error processing your request.');
			});
	}
	else
		return false;
}
