var dn = {};

dn.index = function(){
	var init = function(){		
		$("#categories a").click(categoryClick);
		$("#categories a:first").click();		
		
	}
	
	var pagerClick = function(){
		$("#pager li").removeClass("active");
		$(this).addClass("active");
		
		if(config.currentPage != $("#pager .active").html()){			
			config.currentPage = $("#pager .active").html();
			loadContent();
		}
	}

	var categoryClick = function(){
		if(!$(this).hasClass("active")){
			$("#categories .active").removeClass("active");
			$(this).addClass("active");	
			
			config.category = ($(this).html() == "All") ? "":$(this).html();
			loadContent();
		}
		
	}
	
	var config = {
			perPage:25,
			currentPage:1, 
			category:'',
			totalRecords:0,
			totalPaged:0
		};
	
	function loadContent(){
		$.post("/content/list", config,
				function(data){
					$("#contentList li").remove();
						
					config.totalPaged = data.items.length;
					config.totalRecords = data.pagingTotal;
					
					for(var count=0; count<config.totalPaged; count++){
						displayItem(data.items[count]);
					}
					
					buildPager();
				},
				"json");
	}
	
	function buildPager(){
		var totalPages = Math.round(config.totalRecords/config.perPage);
		var page;
		var li; 

		$("#pager ul li").remove();
		
		for(var count=0; count<totalPages; count++){
			page = count + 1;
			li = $("<li />").html(page);
				
			if(page == config.currentPage)
				li.addClass("active");
			
			li.click(pagerClick);
		
			$("#pager ul").append(li);
		}		
		
		
	}
	
	function displayItem(item){
		var li = $("<li />");
		var title = $("<a />").html(item.name.value).attr("href", "http://" + item.url.value);
		
		li.append($("<h1 />").append(title));
		li.append($("<div class='author' />").html(item.author.value));
		li.append($("<div class='category' />").html(item.category.value));
		li.append($("<div class='created' />").html(item.createdAt.value));
		li.append($("<p />").html(item.description.value));
		
		$("#contentList").append(li);
	}
	
	function formatDate(dateString){
		var date = new Date(dateString);
		return(date.getMonth()+1 + "-" + date.getDate() + "-" + date.getFullYear());
		
	}
	
	
	return {
		init: init
	}
}();



