var mynucleus_page_version = "0";
var mynucleus_subdomain = "www";
var current_id = "";
var mynucleus_story_offset = 1;
function mynucleus_display_story(id, guid){
		if (current_id == id){
			mynucleus_close_story();
			return;
		}
		//hide the left column
		$("div#left").hide('slow');
		$("div#right").hide('slow');
		setActiveMyNucleusStory(id, guid);
		//show the story on the right overlay
		$("div#right-story").fadeIn('fast');
	
}

function setActiveMyNucleusStory(id, guid){
	//reset current_id
	if(current_id != ""){
		$("#"+current_id).css("background-color",'white');
		$("#"+current_id).hover( function(){
			$(this).addClass('pstory');
			$(this).removeClass('active-story-hover');
		},
		function(){
		});
	}
	if(current_id == id){
		mynucleus_close_story();
		return;
	}

	$("#"+id).hover( function(){
		$(this).addClass('active-story-hover');
	},
	function(){
		$(this).removeClass('active-story-hover');
	});
	
	$("#"+id).css("background-color",'#BDBDBD');

	updateStory(guid);
	updateStoryComments(guid);
	current_id = id;
}

function updateStory(guid){
	var storyJSONUrl = mynucleus_base_url+"/storyjson/"+guid;
	$.ajax({
	  url: storyJSONUrl,
	  dataType: 'jsonp',
	  success: function(response){
			var story = response.results;
			var details = response.details;
			var image = story.story_media != undefined && story.story_media != "" ? '<img src="'+story.story_media+'" alt="">' : "";
			var other_urls = "";
			$.each(details, function(index, source){
				other_urls += '<span class="story-source">'+source.ssd_detail+' - <span class="story-source-name">'+source.ssd_name+'</span></span>';
			});
			var description = story.story_description;
			description = description.replace(/(<([^>]+)>)/ig,"");
			
			$('title').text(story.story_title);
			$('description').text(description);
			
			$("#story_source_title").html('<a href="'+story.story_href+'" target="_blank">'+story.story_title+'</a>');
			$("#story_source_name").html(story.story_source_name);
			$("#story_published").html("<a href=\"#\" class=\"date\" title=\""+story.story_published_at+"000\"></a>");
			$("#story_description").html(image+description.substring(0,200)+"..."+other_urls); //strip html
			$("#story_more").html('<a href="'+story.story_href+'" target="_blank">Read this story</a>');
			$("#story").scrollTop(0);			
		}
	});
}

function updateStoryComments(guid){
	var storyJSONUrl = mynucleus_base_url+"/storyalljsoncomments/"+guid;
	$.ajax({
	  url: storyJSONUrl,
	  dataType: 'jsonp',
	  success: function(response){
			var comments ='<li class="cathd">Recent comments</li>';
			$.each(response.results, function(index, comment){
				comments += '<li class="scomment"><span class="published">'+comment.ssc_author+'</span><img src = "http://s3.amazonaws.com/mynucleus_images/mynucleus_icons/'+comment.ssc_source_logo+'"/>';
				comments += comment.ssc_description+'<br><span class="published">about <a href="#" title="'+comment.ssc_published_at+'000" style="cursor:pointer;" class="date comments_update" onclick="return false;">&nbsp</a><i> via </i><strong>'+comment.ssc_source_name+'</strong></span></li>';
			});			
			$("#output_comments").html(comments);			
		}
	});
}

function mynucleus_close_story(){
	//show left column
	$("div#right-story").fadeOut('fast');	
	$("div#left").show('slow');
	$("div#right").show('slow');	
	if(current_id != ""){
		$("#"+current_id).css("background-color",'#fff');
	
		$("#"+current_id).removeClass('active-story-hover');	
		$("#"+current_id).addClass('pstory');
		
		$("#"+current_id).hover( function(){
			$(this).addClass('pstory');
			$(this).removeClass('active-story-hover');
		},
		function(){
		});
	}
	
	current_id = "";

	
}


/**
 * Infinite scrolling list
 */
$(document).ready(function(){
    
	
	function lastAddedLiveFunc() 
	{ 
		$("#loadingMoreStories").show();
		var storyJSONUrl = mynucleus_base_url+mynucleus_subdomain+"/stories/";
		$.ajax({
		  url: storyJSONUrl,
		  data:{'ajax_category':mynucleus_category, 'offset':mynucleus_story_offset, 'version':mynucleus_page_version},
		  dataType: 'jsonp',
		  success: function(response){
				$.each(response.results, function(index, story){
					var story_title = story.story_title.substring(0,50);
					var story_guid = story.story_guid;
					var story_id = story_guid.replace(/\//g,"_");
					var story_description = story.story_description.replace(/(<([^>]+)>)/ig,"");
					story_description = story_description == "" ? story.story_title : story_description;
					var story_source_name = story.story_source_name; 
					var comment_count = story.comment_count;
					var story_published_at = story.updated_at;
					var story_href = story.story_href;
					var image = story.story_media != undefined && story.story_media != "" ? story.story_media : "http://s3.amazonaws.com/mynucleus_images/mynucleus_icons/"+story.story_source_logo;
					
					var html = '<li class="pstory"><a'+
								' href="'+story_href+'"'+
								' class="story-block"'+
								' style="display:table;"'+
								' id="'+story_id+'">'+
								' <h2><span class="tline"'+
								' id="title_'+story_id+'"'+
								' >'+story_title+'</span></h2>'+
								' <img onerror="this.onerror=null;this.src=\''+mynucleus_base_url+'/images/v2/place-holder.png\';" src="'+image+'" /><span'+
								' id="source_name_'+story_id+'"'+
								' class="ssource">'+story_source_name+'</span> --'+story_description.substring(0,100)+''+
								' <div style="width:436px">&nbsp;</div>'+
								' &nbsp;</a><div class="story-tools"><img'+
								' src="'+mynucleus_base_url+'images/v2/comments-icon.png" />'+
								' <a href="http://www.mynucleus.org/story/'+story_guid+'">'+comment_count+' Reactions</a> <span class="share-option">&nbsp;<a class="addthis_button"'+
												  ' onmouseover="return addthis_open(this, \'\', \'http://www.mynucleus.org/stories/'+story_guid+'\', \''+story_title+'\')" '+
												  ' onmouseout="addthis_close()" onclick="return addthis_sendto() '+
				                                  ' href="http://www.addthis.com/bookmark.php?v=250&amp;username=symbigroup"'+
				                                  ' addthis:url=\'http://www.mynucleus.org/stories/'+story_guid+'\''+
				                                  ' addthis:title=\'My Nucleus | '+escape(story_title)+'\''+
				                                  ' addthis:description=\''+escape(story_description.substring(0,60))+'\'>'+
				                                  ' Share</a>&nbsp;</span>'+
								' updated: <a href="#" class="date" title="'+story_published_at+'000">'+story_published_at+'</a>&nbsp;&nbsp;<a href="http://www.mynucleus.org/story/'+story_guid+'" style="color:#f00">More</a></div>'+
								' </li>';
						
					$("#mynucleus_stories").append(html);
					
				});	
				
				//hide loading icon
				$("#loadingMoreStories").hide();
			}
		});
		mynucleus_story_offset++;
	}; 

	$("#loadingMoreStories").hide();
	$("#updating-domain").hide();
	$("#new-stories-available").hide();
	
	$(window).scroll(function(){
		if  ($(window).scrollTop() == $(document).height() - $(window).height()){
		   lastAddedLiveFunc();
		}
	}); 
	
	$(".date").prettyDate();
	var pretty_date_update = setInterval(function(){ $(".date").prettyDate(); }, 5000);

});

/**
 * Pretty Date
 */

/*
 * JavaScript Pretty Date
 * Copyright (c) 2008 John Resig (jquery.com)
 * Licensed under the MIT license.
 */

// Takes an ISO time and returns a string representing how
// long ago the date represents.

function prettyDate(time){
	var date = new Date(parseInt(time));
	var diff = (((new Date()).getTime()) - date.getTime()) / 1000;
        var day_diff = Math.floor(diff / 86400);
	if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
		return;
			
	return day_diff == 0 && (
			diff < 60 && "just now" ||
			diff < 120 && "1 min ago" ||
			diff < 3600 && Math.floor( diff / 60 ) + " mins ago" ||
			diff < 7200 && "1 hr ago" ||
			diff < 86400 && Math.floor( diff / 3600 ) + " hrs ago") ||
		day_diff == 1 && "Yesterday" ||
		day_diff < 7 && day_diff + " days ago" ||
		day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
}

// If jQuery is included in the page, adds a jQuery plugin to handle it as well
if ( typeof jQuery != "undefined" )
	jQuery.fn.prettyDate = function(){
		return this.each(function(){
			var date = prettyDate(this.title);
			if ( date )
				jQuery(this).text( date );
		});
	};



