    
    var blogID = "4559894739671762364"; //4559894739671762364 //3979150010413535334
    var postIdPlaceholder = "%postIdplaceholder%";
    var singlePostUri = "http://www.blogger.com/feeds/"+blogID+"/posts/default/"+postIdPlaceholder+"?alt=json";  
    
    //url on gulf site of a single blogger post
    var blogUrl = "fieldnote.html";
    
    var blogPostListUrl = "fieldnotesblog.html";
    var blogSummariesPerPage = 5;
    var blogSummariesPerRequest = parseInt(blogSummariesPerPage) + 10;

    //all posts
    var feedUri = "http://www.blogger.com/feeds/"+blogID+"/posts/full?alt=json";
    var summaryUri = "http://www.blogger.com/feeds/"+blogID+"/posts/summary?alt=json";

    //only News posts  
    var newsFeedUri = "http://www.blogger.com/feeds/"+blogID+"/posts/full?alt=json&category=News";
    var newsSummaryUri = "http://www.blogger.com/feeds/"+blogID+"/posts/summary?alt=json&category=News";

    //only News OR Free posts
    var newsOrFreeFeedUri = "http://www.blogger.com/feeds/"+blogID+"/posts/full?alt=json&category=News%7CFree";
    var newsOrFreeSummaryUri = "http://www.blogger.com/feeds/"+blogID+"/posts/summary?alt=json&category=News%7CFree";

    //only posts in News AND Free
    var newsAndFreeFeedUri = "http://www.blogger.com/feeds/"+blogID+"/posts/full?alt=json&category=News,Free";
    var newsAndFreeSummaryUri = "http://www.blogger.com/feeds/"+blogID+"/posts/summary?alt=json&category=News,Free";

    var singlePostUri = "http://www.blogger.com/feeds/"+blogID+"/posts/default/"+postIdPlaceholder+"?alt=json";
  
  
    var loadingDiv = "<div class=\"loadingdiv\"><span class=\"loadergif\"></span><h2>Loading Content</h2></div>";
  
	//gets # parameters from url
    function getHashByName(name)
    {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\#&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(window.location.href);
        if(results == null)
            return "";
        else
            return decodeURIComponent(results[1].replace(/\+/g, " "));
    }
  
    //gets query string parameters from url
    function getParameterByName(name)
    {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(window.location.href);
        if(results == null)
            return "";
        else
            return decodeURIComponent(results[1].replace(/\+/g, " "));
    }
    
    function getFormattedDateString(d)
    {
        return (d.getMonth()+1)+"/"+d.getDate()+"/"+d.getFullYear();
    }

    function getFormattedDateTimeString(d)
    {
        var month = (d.getMonth()+1);
        var day = d.getDate();
        var year = d.getFullYear();
        var hours = d.getHours();
        var minutes = d.getMinutes();
        var ampm = "AM";
        if(hours > 11){
        ampm = "PM";
        hours -= 12;
        } else {
        ampm = "AM";
        }

        if (minutes < 10){
        minutes = "0" + minutes;
        }

        return month+"/"+day+"/"+year+" "+hours+":"+minutes+" "+ampm;
    }

    //wrapper to force JSONP ajax call instead of relying on jquery's $.getjson() to correctly choose JSONP
    function getJSONP(uri,callback)
    {
        $.ajax({
           type: "GET",
           url: uri,
           dataType: "jsonp",
           success: callback
         });
    }  
  
  
  function altGetBlogSummaryListInCategory(originalStart, start, totalPosts, pageForward, blogsPerPage, category, targetId, pagerTargetClass,blogContent)
  {
	
	//recursively call web service to get next post
	var categoryQuery = "";
    if(category.length)
    {
        categoryQuery = "&category="+category;
    }
    
    var startIndexQuery = "";
    if(parseInt(start) > 0)
    {
        startIndexQuery = "&start-index="+start;
    }
    
    var maxResultsQuery = "&max-results=1";//default to 1
	
    
    getJSONP(summaryUri+startIndexQuery+maxResultsQuery+categoryQuery, function(myResultsFeedRoot) {
	
		var i = 0;
		//draft or published?
		var isDraft = true;     
		if(myResultsFeedRoot.feed.entry[i].app$control)
		{
			isDraft = myResultsFeedRoot.feed.entry[i].app$control.app$draft.$t == "yes";
		}
		else
		{
			isDraft = false;
		}
		
		if(!isDraft)
		{
			blogsPerPage--;
			
			//do something with results
			var title = myResultsFeedRoot.feed.entry[i].title.$t;
			var summary = myResultsFeedRoot.feed.entry[i].summary.$t;
			var author = "";
			var links = myResultsFeedRoot.feed.entry[i].link;
			var postId = "";
			var publishedDate = "";
			var updatedDate = "";       
			var thumbnailUrl = "";
			if(myResultsFeedRoot.feed.entry[i].media$thumbnail)
				thumbnailUrl = myResultsFeedRoot.feed.entry[i].media$thumbnail.url;
			
			if(myResultsFeedRoot.feed.entry[i].published)
			{
				var parts = myResultsFeedRoot.feed.entry[i].published.$t.split('T')[0].split('-');
				publishedDate = new Date(parts[0], parts[1]-1, parts[2]);
			}
			if(myResultsFeedRoot.feed.entry[i].updated)
			{
				var parts = myResultsFeedRoot.feed.entry[i].updated.$t.split('T')[0].split('-');
				updatedDate = new Date(parts[0], parts[1]-1, parts[2]);
			}
				
			if(myResultsFeedRoot.feed.entry[i].author)
				author = myResultsFeedRoot.feed.entry[i].author[0].name.$t;
			var tag = "";
			var bloggerNameTag = "";
			var shipNameTag = "";
			var tagPrefix = "";
			if(myResultsFeedRoot.feed.entry[i].category)
			{
				var tag = "";
				for(iii = 0; iii < myResultsFeedRoot.feed.entry[i].category.length; iii++)
				{
					var term = myResultsFeedRoot.feed.entry[i].category[iii].term;
					var displayTerm = term;
					
					if(term.split('_').length == 2)	
					{
						displayTerm = term.split('_')[1];
						tagPrefix = term.split('_')[0];
						
						if(tagPrefix.toLowerCase() == 'b')
							bloggerNameTag = displayTerm;
						else if(tagPrefix.toLowerCase() == 's')
							shipNameTag = displayTerm;
					}
					
					tag += "<a href=\"?category="+term+"\">"+displayTerm+"</a>";
				}
			}
			
			for(ii = 0; ii < links.length; ii++)
			{
				if(links[ii].rel == "self")
					postId = links[ii].href.split("default/")[1];
			}
			var postUri = singlePostUri.split(postIdPlaceholder)[0] + postId + singlePostUri.split(postIdPlaceholder)[1];
	
			var finalBlurbStyling = "";
			
			if(blogsPerPage > 0)//blogs left to find in this request?
			{
				if(pageForward)
				{		
					start++
				}
				else
				{
					start--;
				}
			}
			
			if(blogsPerPage == 0 || (start == 0 || start > totalPosts))
			{
				finalBlurbStyling = " style=\"border-bottom:0px black solid;\" ";
			}
	
            var markup = [""];
			markup.push("<div class=\"blogentryblurb\""+finalBlurbStyling+">");
				markup.push("<div>");
				markup.push("<h1>"+title+"</h1>");
				markup.push("<div class=\"blogentrysubheading\">");
				if(bloggerNameTag.length)
				{					
					markup.push("<i>by</i> "+bloggerNameTag+" ");
				}
				markup.push("ON "+getFormattedDateString(updatedDate));
				if(shipNameTag.length)
				{
					markup.push(" | <i>from the "+shipNameTag+"</i>");
				}
				markup.push("</div>");
				if(thumbnailUrl.length)
				{
					markup.push("<div class=\"thumbnail\">");
					markup.push("<img src=\"" + thumbnailUrl + "\"/>");
					markup.push("</div>");
				}
				markup.push("<div>");
				markup.push($.trim(summary.substr(0,270))+"...");   
				markup.push(" <a href=\""+blogUrl+"?id="+postId+"\">MORE</a>");
				markup.push("</div>");  
				markup.push("</div>"); 
				markup.push("<div class=\"taglist\">");
				markup.push(tag);    
				markup.push("</div><div class=\"clearfloat\"></div>"); 
			markup.push("</div>");
			
			if(pageForward)
				blogContent = blogContent+markup.join("");	
			else
				blogContent = markup.join("")+blogContent;	
			
			
		}
		
		//figure out if we should make another call
		if(blogsPerPage > 0)//blogs left to find in this request?
		{			
			if(start > 0 && start <= totalPosts)//not past end of blog list?
			{
				altGetBlogSummaryListInCategory(originalStart, start, totalPosts, pageForward, blogsPerPage, category, targetId, pagerTargetClass,blogContent)
			}
			else
			{
				if(pageForward)
				{
					altGetBlogListPager(originalStart, start, totalPosts, blogSummariesPerPage, category, targetId, pagerTargetClass)
				}
				else
				{
					altGetBlogListPager(start, originalStart, totalPosts, blogSummariesPerPage, category, targetId, pagerTargetClass)
					if(start == 1)
						location.hash = "";
					else
						location.hash = "#s="+start;
				}
				
				
				$("#"+targetId).html(blogContent);	
			}
		}
		else
		{
			if(pageForward)
			{
				altGetBlogListPager(originalStart, start, totalPosts, blogSummariesPerPage, category, targetId, pagerTargetClass)
			}
			else
			{
				altGetBlogListPager(start, originalStart, totalPosts, blogSummariesPerPage, category, targetId, pagerTargetClass)
				if(start == 1)
					location.hash = "";
				else
					location.hash = "#s="+start;
			}
			
			$("#"+targetId).html(blogContent);	
		}
	
	
    });
	
  }
  
function altGetBlogListPager(low, high, totalPosts, blogsPerPage, category, listTargetId, pagerTargetClass)
{
	if(low >= 1)
		low--;
	
	if(high < totalPosts)
		high++;
		
	var pagerMarkup = [""];
	pagerMarkup.push("<div>");
	//step back 'num' posts
	if(low > 0)
	{
		pagerMarkup.push("<a class=\"nextPage\" href=\"#s="+low+"\">Next</a>");
	}           

	if(high < totalPosts)
	{
		pagerMarkup.push("<a class=\"prevPage\" href=\"#s="+high+"\">Previous</a>");
	}     
	pagerMarkup.push("</div>");

	$("."+pagerTargetClass).html(pagerMarkup.join(""));
	
	$(".prevPage").click(function()
	{     
		$("#"+listTargetId).html(loadingDiv);
		$("."+pagerTargetClass).html("");
		altGetBlogSummaryListInCategory(high, high, totalPosts, true, blogsPerPage, category, listTargetId, pagerTargetClass,"");
		//return false;
	}); 
	
	$(".nextPage").click(function()
	{           
		$("#"+listTargetId).html(loadingDiv);
		$("."+pagerTargetClass).html("");
		altGetBlogSummaryListInCategory(low, low, totalPosts, false, blogsPerPage, category, listTargetId, pagerTargetClass,"");
		//return false;
	});
}
