var currFontSizeTemp = "";
var currBlogFontSize = "12px";
var BlogTabs_MainMenu = $("#BlogTabs_MainMenu");
var ContentBottom_AboutCol = $('#ContentBottom_AboutCol');
var openCss_1 = {"background-image":"url(/graphics/BG/NavOrangeDot.gif)", "background-repeat":"no-repeat", "background-position":"0px 5px"};
var closeCss_1 = {"background-image":"url(/graphics/BG/NavOrangeDot.gif)", "background-repeat":"no-repeat", "background-position":"0px 7px"};

var OpenIMGSource2 = "url(/graphics/BG/NavOrangeDot.gif)";
var closedIMGSource2 = "url(/graphics/BG/NavOrangeDot.gif)";
//background:url(/graphics/BG/NavOrangeDot.gif) 0px 5px no-repeat;

var currentPaginationNum = 1;
var paginationPagesCount = 0;

$(document).ready(document_Ready);

function document_Ready(){
	var BlogNav_Lv1 = $('#GenUL UL');
	var ULLv1 = $('.ULLv1');
	var ULLv2 = $('.ULLv2');
	var Lv2Arrow = $('.Lv2Arrow');
	
	BlogNav_Lv1.click(function(e){
		var setThis = $(this);
		
		if(setThis.next().css("display") == "block"){
			setThis.next().hide(0);
			setThis.closest("UL").toggleClass("ON");
		}
		else{
			setThis.closest("UL").toggleClass("ON");
			setThis.next().show(0);
		}
	});
	
	ULLv1.click(function(e){
		var idElem = $(this);
		
		if(idElem.next("UL").css("display") == "none"){
			idElem.children().css(closeCss_1);
		}
		else{
			idElem.children().css(openCss_1);
		}
	});
	
	Lv2Arrow.click(function(e){
		var idElem = $(this);
		if(idElem.children().css("backgroundImage") == OpenIMGSource2 == idElem.children().css("backgroundImage")){
			idElem.children().css(closeCss_1);
		}
		else{
			idElem.children().css(openCss_1);
		}
	});
	
	// expand blog navigation after load
	var blogID = $("#currentBlogID").val();
	// if BlogID is null, blog is in listing view
	if (blogID != null) 
	{
		var activePostLink = $("li a[href='/Blog/P/" + blogID + "']");
		var parents = activePostLink.attr("id").split(".");
		$("#" + parents[2]).trigger("click");
		var Lv2Li = $("#" + parents[0] + parents[2]);
		Lv2Li.trigger("click");
		Lv2Li.parent().css(openCss_1);
	}

	assignEventHandlers();
	handlePagination();
}

function assignEventHandlers(){
	BlogTabs_MainMenu.click( function(){ $.scrollTo(ContentBottom_AboutCol,1500); });
	$(".PaginationNum").click(PageinationNum_Click);
	$(".PaginationNext").click(incrementPagination);
	$(".PaginationPrevious").click(decremementPagination);
}


function PageinationNum_Click(){
	var sender = $(this);
	showPaginationPageNum( sender.attr("PageNum") );
}


function handlePagination(){
	var listItems = $(".BlogListItem");
	// hide non-page-1 items
	paginationPagesCount = parseInt( $("#PagesCount").val() );
	showPaginationPageNum(1);
}


function incrementPagination(){
	showPaginationPageNum( currentPaginationNum+1 );
}

function decremementPagination(){
	showPaginationPageNum( currentPaginationNum-1 );
}

function showPaginationPageNum(num){
	num = parseInt(num);
	if(num > paginationPagesCount)
	{
		num = paginationPagesCount;
	}
	if(num < 1){
		num = 1;
	}
	
	currentPaginationNum = num;
	var currentPage = $(".PaginationNum[PageNum = "+ num +"]");
	
	$(".BlogListItem").hide();
	$(".BlogListItem[PageNum = "+ num +"]").show();
	
	$(".PaginationNum").hide();
	
	$(".PaginationNum[PageNum != "+ num +"]").css({fontWeight:"normal", textDecoration: "none"});
	currentPage.css({fontWeight:"bold", textDecoration: "underline"});
	
	currentPage.show();
	if (num != paginationPagesCount){
		$(".PaginationNum[PageNum = " + (num + 1) + "]").show();
	}
	if (num > 1){
		$(".PaginationNum[PageNum = " + (num - 1) + "]").show();
	}
	
	$(".PaginationElipsis").remove();
	
	// show page 1 and last page
	$(".PaginationNum[PageNum = 1]").show();
	$(".PaginationNum[PageNum = "+ paginationPagesCount +"]").show();
	
	if(currentPaginationNum > 2){
		$(".PaginationNum[PageNum = 1]").after("<span class='PaginationElipsis'>...</span>");
	}
	if(currentPaginationNum < paginationPagesCount-2){
		$(".PaginationNum[PageNum = "+ paginationPagesCount +"]").before("<span class='PaginationElipsis'>...</span>");
	}
	
	$(".paginationComma").remove();
	var comma = "<span class='paginationComma' style='margin:0px; padding:0px;'>, </span>";
	if (num > 1){
		currentPage.prev(".PaginationNum").after(comma);
	}
	if (num < paginationPagesCount){
		currentPage.after(comma);
	}
}


function changeBlogFontSize(Sign){
	currFontSizeTemp = $('.ContentCol').css("font-size");
	currStringLength = $('.ContentCol').css("font-size").length - 2;
	currBlogFontSize = currFontSizeTemp.substr(0,currStringLength);
	
	currLineHeightTemp = $('.ContentCol').css("line-height");
	currStringLineLength = $('.ContentCol').css("line-height").length - 2;
	currBlogLineHeight = currLineHeightTemp.substr(0,currStringLineLength);
	
	var newFontSize;
	var newLineHeight;
	
	if(Sign == "+"){
		if(currBlogFontSize < 20){
			newFontSize = parseInt(currBlogFontSize) + 2;
			var fontSizeString = newFontSize + "px";
			$('.ContentCol').css("font-size", fontSizeString);
			$('.PostedInfo2').css("font-size", fontSizeString);
			
			newLineHeight = parseInt(currBlogLineHeight) + 2;
			var lineHeightString = newLineHeight + "px";
			$('.ContentCol').css("line-height", lineHeightString);
			$('.PostedInfo2').css("line-height", lineHeightString);
			//$('.ContentCol div').css("font-size", fontSizeString);
			$('#DebuggOutput_Content').html($('#DebuggOutput_Content').html() + "<div> Plus " + newFontSize + " | " + fontSizeString +" px</div>");
		}
	}
	else if(Sign == "-"){
		if(currBlogFontSize > 12){
			newFontSize = parseInt(currBlogFontSize) - 2;
			var fontSizeString = newFontSize + "px";
			$('.ContentCol').css("font-size", fontSizeString);
			$('.PostedInfo2').css("font-size", fontSizeString);
			
			
			newLineHeight = parseInt(currBlogLineHeight) - 2;
			var lineHeightString = newLineHeight + "px";
			$('.ContentCol').css("line-height", lineHeightString);
			$('.PostedInfo2').css("line-height", lineHeightString);
			
			//$('.ContentCol div').css("font-size", fontSizeString);
			$('#DebuggOutput_Content').html($('#DebuggOutput_Content').html() + "<div> Minus " + newFontSize + " | " + fontSizeString +" | px</div>");
		}
		else{
			$('.PostedInfo2').css("font-size", "9px");
		}
	}
}

function changeBlogFontColor(hexColorHash){
	$('.ContentCol').css("color", hexColorHash);
}




