function BlogDisplay(containerId, noOfItems) {
	this.containerId=containerId;
	this.noOfItems=noOfItems;
	this.categoriesModuleId = "";
	
}
	
BlogDisplay.prototype.associateCategoriesModule = function(categoriesModuleId){

	this.categoriesModuleId = categoriesModuleId;
	var blogDisplayObj = this;	
	
	$("#"+ categoriesModuleId + " .content .division .category .title").find('a').each(function(){
	
		var categoryUrl = $(this).attr('class');
			var category = "all";
			if(categoryUrl) {
				var categoryArr = jQuery.trim(categoryUrl).split("category-");
				categoryArr = jQuery.trim(categoryArr[1]).split(" ");
				category = categoryArr[0] ? categoryArr[0] : "all";
			}
			 $(this).attr('href', 'javascript:blogDisplay.display("' + category + '");');
	});
}
BlogDisplay.prototype.display = function(categoryValue){

	$("#"+ this.categoriesModuleId + " .content .division li.category ").removeClass("selected");
	$("#"+ this.categoriesModuleId + " .content .division ").find("li.category-" + categoryValue).addClass("selected");
	
	var blogDisplayObj = this;
	if (window.ActiveXObject && window.GetObject) {
		var typeValue = "html";
	}
	else{
		typeValue = "xml";
	}
	$.ajax({
      url: "/eos/feed/",
      type: "GET",
	  cache: false,
      data: ({type:"blog",num:blogDisplayObj.noOfItems,category:categoryValue}),
      dataType: typeValue,
      success:  function(data){
			if (window.ActiveXObject && window.GetObject) {				
				var dom = new ActiveXObject('Microsoft.XMLDOM');
				dom.loadXML(data);
				blogWrapper = blogDisplayObj.createBlog(dom);
			}
			else {
				blogWrapper = blogDisplayObj.createBlog(data);
			}
			$("#"+ blogDisplayObj.containerId).empty();
			$("#"+ blogDisplayObj.containerId).append(blogWrapper);
	}
   });
}

BlogDisplay.prototype.createBlog = function(xmlDom){
	var blogDisplayObj = this;
	blogWrapper = document.createElement('ul');
	$(blogWrapper).attr("class","articles");
	var title, description,linkBlog,author,date;
	$(xmlDom).find('item').each(function(){
		title = $(this).children("title").text();
		linkBlog = $(this).children("link").text();
		author = $(this).children("author").text();		
		description = $(this).children("description").text();
		date = $(this).children("pubDate").text();
		
		blogItem = blogDisplayObj.createBlogItems(title, author,linkBlog,description,date);
		$(blogWrapper).append(blogItem);
	});
	var footTitleString = '<div class="newMore"><div class="nav_meta"><ul><li class="more"><a href="/blog/">View All</a></li></ul></div></div>'
	$(blogWrapper).append(footTitleString);
	return blogWrapper;
}

String.prototype.fixDate = function(){

	var dateArray = jQuery.trim(this).split(",");
    dateArray = jQuery.trim(dateArray[1]).split(" ");
    var dateString;
	var monthfullName = getMonthFullName(dateArray[1]);
    //dateString =""+ dateArray[1]+" "+dateArray[0]+","+dateArray[2];
	dateString =""+ monthfullName+" "+dateArray[0]+","+dateArray[2];
    return dateString;
}
    
BlogDisplay.prototype.createBlogItems = function(title, author, link, description,date){
	blogItem= document.createElement('li');
	$(blogItem).attr("class","article");
	var titleString = '<div class="title"><h4><a  href="'+ link +'">'+ title +'</a></h4></div>'
	var authorString = '<div class="author">Posted by<a>'+ " " +author +'</a></div>'
	var descriptionString = '<div class="description"><p>'+description + '</p></div>';
	var dateString ='<div class="date">'+date.fixDate()+ '</div>';
	var postCommentString = '<div class="activity"><a class="comment" href="'+ link + '#comments">Post Comments' + '</a></div>';

	$(blogItem).append(titleString);
	$(blogItem).append(authorString);
	$(blogItem).append(dateString);
	$(blogItem).append(descriptionString);
	$(blogItem).append(postCommentString);
	
	return blogItem;
}

var MonthNameMapping = {
	"jan": "January",
	"feb": "Febuary",
	"mar": "March",
	"apr": "April",
	"may": "May",
	"jun": "June",
	"jul": "July",
	"aug": "August",
	"sep": "September",
	"oct": "October",
	"nov": "November",
	"dec": "December"
};

function getMonthFullName(monthShortName){
	var shortName = monthShortName.toLowerCase(); 
	shortName = jQuery.trim(shortName);
	var fullName = MonthNameMapping[shortName] ? MonthNameMapping[shortName] : "";
	return fullName;
}
	
