   $(document).ready(function()
	{
		timelineActions();
	});
   
   var articleYearsDiv = "#articleYears";
   var articleMonthsDiv = "#articleMonths";
   var articlesDiv = "#articles";
   
   var yearButton = "yearButton";
   var monthButton = "monthButton";
   var changeYearButton = "#changeYearButton";	
   var changeMonthButton = "#changeMonthButton";	
	   
   var yearButtonLike = "[@id^='"+yearButton+"']";
   var monthButtonLike = "[@id^='"+monthButton+"']";
   
   var yearsPage = "/new/selector/read/timeline/years.jsp";
   var monthsPage = "/new/selector/read/timeline/months.jsp";
   var articlesPage = "/new/selector/read/timeline/articlesTimeline.jsp";
   var articlePagingLink = "[@id^='articlePaging']";
   var tempYear = "";
   var tempMonth = "";
     
   function timelineActions()
   {
		addExpanderActions();
		clickYearAction();
   }
   
   function clickYearAction()
   {
   		var beforeFunction = function() {
   			 $(articleYearsDiv).hide("slow");
   			 return true;
   		};
		var dataFunction = function(item) 
		{ 
			var yearId = splitValue(item.id, "-", 1);
			tempYear = yearId;
			var data = {year: yearId};
			return data;
		};
		var callback = function(responseText)
		{
			$(articleMonthsDiv).show("slow");
			changeYearAction();
			clickMonthAction();
		};
		actionPreAndPost(yearButtonLike, dataFunction, articleMonthsDiv, monthsPage, beforeFunction, callback);	
   }    

   function clickMonthAction()
   {
   		var beforeFunction = function() {
   			 $(articleMonthsDiv).hide("slow");
   			 return true;
   		};
		var dataFunction = function(item) 
		{ 
			var monthId = splitValue(item.id, "-", 1);
			tempMonth = monthId;
			var data = {year: tempYear, month: monthId};
			return data;
		};
		var callback = function(responseText)
		{
			$(articlesDiv).show("slow");
			$("#intro").hide("slow");
			changeYearAction();
			changeMonthAction();
			addExpanderActions();
			articlePagingAction();
		};
		actionPreAndPost(monthButtonLike, dataFunction, articlesDiv, articlesPage, beforeFunction, callback);	
   }    

   function articlePagingAction()
   {
   		var beforeFunction = function() 
   		{
   			 $(articlesDiv).hide("slow");
   			 return true;
   		};
		var dataFunction = function(item) 
		{ 
			var pageNo = splitValue(item.id, "-", 1);
			var data = {month: tempMonth, year: tempYear, page: pageNo};
			return data;
		};
		var pagingCallback = function(responseText)
		{
			$(articlesDiv).show("slow");
			changeYearAction();
			changeMonthAction();
			addExpanderActions();
		};
		actionPreAndPost(articlePagingLink, dataFunction, articlesDiv, articlesPage, beforeFunction, pagingCallback);	
   }

   function changeYearAction()
   {
   		$(changeYearButton).unbind();
   		$(changeYearButton).click(function() 
		{ 
			$("#intro").show("slow");
			$(articleYearsDiv).show("slow");
			$(articleMonthsDiv).hide("slow");
			$(articlesDiv).hide("slow");
			return false;
		});
   }    

   function changeMonthAction()
   {
   		$(changeMonthButton).unbind();
   		$(changeMonthButton).click(function() 
		{ 
			$("#intro").show("slow");
			$(articleMonthsDiv).show("slow");
			$(articlesDiv).hide("slow");
			return false;
		});
   }    
   
  function addExpanderActions()
  {
  	$('.expandingPreview').unbind();
  	$('.expandingPreview').expander({
	  slicePoint: 500, 
	  widow: 2,
	  expandText: "| Show the rest ...",
	  expandEffect: 'show', 
	  userCollapseText: 'Hide preview ...'
	});
  }