var size = 5;
var currPost = "";
var currSrc = "";

function getCompanyCategories(){
	awLibrary.categoryGet ("returnOfGetCompanyCategories", "c", "", 0, "CompanyCategoryInfo.Id ASC"); 
} 

function returnOfGetCompanyCategories(obj) { 
	if (obj[0].Result == awLibraryResult.SUCCESS) { 
		alert("Rating results have been received, number of records:" + obj[1].length); 
		for (i=0;i<obj[1].length; i++) {
			alert("Id: " + obj[1][i].Id + " - Name: " + obj[1][i].Name + " - Description: " + obj[1][i].Description); 
		}
	} else {
		alert("ERROR: Rating results couldn’t be received." + obj[0].Detail); 
	}
}

function getPostLeftNav(catId, blogU, iSize, iCurrPost){
	if(isNaN(iSize)){
		size = 5;
	} else {
		size = iSize;
	}
	currPost = iCurrPost;

	blogUrl = blogU;
	
	var filter = "CompanyCategoryInfo.Id ="+catId;

	if(catId == ''){
		filter = "";
	}
	awLibrary.postGet("returnOfGetPostLeftNav", filter, "", "", "", 0, "BlogItemInfo.PublicationDate DESC"); 

 }


function returnOfGetPostLeftNav(obj) { 
	if (obj[0].Result == awLibraryResult.SUCCESS) { 
		var list = $(".sortlist ul");
		var tBlogU = blogUrl.replace(/\.html/, "");
		var tempStr;
		var liClass;
		
		if(obj[1].length > 0){
			var i = 0;
			for(var i=0; i<obj[1].length; i++){
				
				tempStr = "<li"
				tempStr += " id='"+obj[1][i].Id+"' ";
				liClass = "";
				if(i<size){
					liClass = " shown ";
				} else {
					liClass = " hidden ";
				}

				if(obj[1][i].Id == currPost){
					liClass += " current ";
				}	
				
				tempStr += " class='"+liClass+"'";

				tempStr += "><a ";

				if(obj[1][i].Id == currPost){
					tempStr += " class='active' ";
				}				

				tempStr += "href='"+tBlogU+".category."+obj[1][i].Id+".html"+"'>"+obj[1][i].Title+"</a></li>";
				list.append(tempStr);
				
			}
			if(obj[1].length > size){
				$(".sortlist .next").show();
				$(".sortlist .prev").hide();
			} else {
				$(".sortlist .next").hide();
				$(".sortlist .prev").hide();
			}

			$(".sortlist ul li a").bind("click", function(){

				var linkSrc = $(this).attr('href');
				currSrc = linkSrc;
				awLibrary.categoryGet("returnOfPostCategory", "c", "", 1, "", $(this).parent().attr('id'));
				return false;
			 });
		}	
	 }
}

function returnOfPostCategory(obj){
	if (obj[0].Result == awLibraryResult.SUCCESS) { 
		currSrc = currSrc.replace(/\.category\./, "."+obj[1][0].Id+".");
	}
	window.location = currSrc;
}

function getPost (catId, blogU) { 
	blogUrl = blogU;
	var filter = "CompanyCategoryInfo.Id ="+catId;
	if(catId == ''){
		filter = "";
	}
	awLibrary.postGet("returnOfGetPost", filter, "", "", "", 1, "BlogItemInfo.PublicationDate DESC"); 
}

function returnOfGetPost(obj) { 
	if (obj[0].Result == awLibraryResult.SUCCESS) { 
		if(obj[1].length > 0){
			$("#blogheadline").html(obj[1][0].Title);
			//$("#blogdescription").html("" + obj[1][0].Description);
			$("#blogreadmorelink").attr("href", blogUrl+".category."+obj[1][0].Id+".html");
			$("#blogreadmorelink").bind("click", function(){
				var linkSrc = $(this).attr('href');
				currSrc = linkSrc;
				awLibrary.categoryGet("returnOfPostCategory", "c", "", 1, "", obj[1][0].Id);
				return false;
			 });
		} else {
			$("#blogreadmorelink").html("");
		}	
	 } else {
			$("#blogreadmorelink").html("");
	}	
}

function searchForBlogs(keyword, index){
	blogIndex = index;
	if(isNaN(blogIndex)){
		blogIndex = 0;
	}

	var test = awLibrary.postGetKeyword("returnOfSearch", "", "", "", keyword, "", 0, "BlogItemInfo.PublicationDate DESC"); 
}

function returnOfSearch(obj) {
	if (obj[0].Result == awLibraryResult.SUCCESS) { 

		if(obj[1].length < blogIndex){
			blogIndex = 0;
		}
		var finalEntry = blogIndex + displayNum;
		if(finalEntry > obj[1].length){
			finalEntry = obj[1].length;
		}

		var blogList = $('<div></div>');
		
		var blogStartUrl = blogUrl.replace(/\.html/, '');
		var blogEndUrl = ".html";

		for (i=blogIndex;i<finalEntry; i++){
			
			var listEl = $('<div class="result-line"></div>');;
			
			var listLink = $('<a class="result-link"></a>');
			var listDesc = $('<span class="result-description"></span>');
							
			listLink.attr('href', blogStartUrl +".category."+obj[1][i].Id+blogEndUrl);
			listLink.html(obj[1][i].Title);
			listLink.attr('title', obj[1][i].Title);
			listDesc.html("" + obj[1][i].Description);
			listEl.append(listLink);
			//listEl.append(listDesc);
			
			blogList.append(listEl);
		}
		var pagingDiv = $('<div class="paging"></div>');
		if(blogIndex != 0){
			var prevNumber = blogIndex - displayNum;
			pagingDiv.append('<a class="prev" onclick="javascript: doBlogSearch('+prevNumber+'); return false;" href="#">Back</a>');
		}
		if(finalEntry < obj[1].length){			
			pagingDiv.append('<a class="next" onclick="javascript: doBlogSearch('+finalEntry+'); return false;" href="#">More</a>');
		}			
		blogList.append(pagingDiv);
		$("#blog_results").html(blogList);
		
		$("div.result-line").bind("mouseover", function(){
			$(this).find('a').addClass('search-active');
		});
		
		$("div.result-line").bind("mouseout", function(){
			$(this).find('a').removeClass('search-active');
		});
	 }
}
/** Homepage **/
	function getPostHomepage(blogU, iSize, readMore){
		if(isNaN(iSize)){
			size = 5;
		} else {
			size = iSize;
		}

		readmore = readMore;

		blogUrl = blogU;
		awLibrary.postGet("returnOfGetPostHomepage", "", "", "", "", size, "BlogItemInfo.PublicationDate DESC"); 
	 }


	function returnOfGetPostHomepage(obj) {
		if (obj[0].Result == awLibraryResult.SUCCESS) {
			var output = $("#home div.blog");
			var tBlogU = blogUrl.replace(/\.html/, "");
			var tempStr = "";
			if(obj[1].length > 0){
				for(var i=0; i<obj[1].length; i++){
					if (i == 0) {
						var pubDate = obj[1][i].PublicationDate;
						var month = pubDate.getMonth() + 1;
						var day = pubDate.getDate();
						var year = pubDate.getFullYear();
						$("#home div.blog span.postdate").append(month+"."+day+"."+year);
					}

					//var tempContentStr = obj[1][i].Description;
					
					var contentLength = 175;
					var allContent = obj[1][i].Content.replace(/(<([^>]+)>)/ig,"");

					if(allContent.indexOf("&nbsp;") == 0){
						allContent = allContent.replace(/&nbsp;/,"");
					}
					allContent = allContent.replace(/&nbsp;/g, " ");

					var tempContentStr = allContent.substring(0, contentLength);

					while(allContent.length > contentLength && tempContentStr[contentLength] != null && tempContentStr[contentLength] != " "){
						tempContentStr = allContent.substring(0, contentLength);
						contentLength++;
					}
					
					tempContentStr += "...";

					tempStr += "<div class=\"pagedesc\" style=\"font-size: "+Math.round((2/size)*10)/10+"em;\">";
					tempStr += "<h2>"+obj[1][i].Title+"</h2> <div>";
					tempStr += tempContentStr;
					tempStr += " <a href=\""+tBlogU+".category."+obj[1][i].Id+".html\">"+readmore+"</a>";
					tempStr += "</div></div>";
				}
				output.append(tempStr);
			}
		 }
	}


$(function()
{
	//Slide options down
	$("#blog #sort").each(function(){
		var currId = $(this).attr("rel");
		
		$("#sort em").empty();
		if($("#"+currId).html()==null)
		{
			$("#sort em").append($("#sort_9999").html());
		}
		else
		{	
			$("#sort em").append($("#"+currId).html());
		}
	});
	
	$("#blog #sort").click(function(){
		$("#sort-options").slideToggle("slow");
		$(this).toggleClass("active"); return false;
	});
});

function showMoreEntries(el, showNum){
	var lastIndex = 0;
	var i = 0;
	$(".sortlist li").each(function(){
		if($(this).hasClass('shown')){
		  lastIndex = i;
	      $(this).removeClass('shown');
	      $(this).addClass('hidden');
	    }
	    i++;
	});
	i = 0;
	newLast = showNum + lastIndex;
	$(".sortlist li").each(function(){
	    if(i > lastIndex && i <= newLast){
	        $(this).addClass("shown");
	        $(this).removeClass("hidden");
	    }
	    i++;
	});
	if(newLast+1 >= i){
		$(".sortlist .next").hide();
	} else {
		$(".sortlist .next").show();
	}
	$(".sortlist .prev").show();
	
	return false;
}

function showPrevEntries(el, showNum){
	var firstIndex = -1;
	var i = 0;
	$(".sortlist li").each(function(){
		    if($(this).hasClass('shown') && firstIndex == -1){
				firstIndex = i;
			}
		    $(this).removeClass('shown');
		    $(this).addClass('hidden');
			i++;
	    });

	i = 0;
	var newFirst = firstIndex - showNum;
	if(newFirst < 0){
		newFirst = 0;
		firstIndex = showNum;
	}
	$(".sortlist li").each(function(){
	    if(i < firstIndex && i >= newFirst){
	        $(this).addClass("shown");
	        $(this).removeClass("hidden");
	    }
	    i++;
	});

	if(newFirst == 0){
		$(".sortlist .prev").hide();
	} else {
		$(".sortlist .prev").show();
	}
	$(".sortlist .next").show();

	return false;
}
