var closed_news			= false;
var cur_page			= 1;

$(window).bind('statechange', function() {
	var state = History.getState();

	// Reload ad tags
	if (typeof(BL.Ads) != 'undefined') {
		BL.Ads.reloadAllTheTags();
	}

	if (state.data.type == 'feed') {
		loadfromsidebar_handle(state.data.obj_id, state.data._h);
	} else if (state.data.type == 'blog') {
		loadfromsidebar_handle('blog', state.data.blog_id);
	} else if (state.data.type == 'search') {
		var searchstring = state.data.searchstring;

		cur_feed_mode		= 'search';
		BL.Content.setEndlessScrolling(false);

		$('#reader_content').hide();
		BL.Sidebar.deselectAll();
		BL.Content.hideNews();
		$('#message_getstarted').hide();

		$('#search_content').show();
		$('#search_content .search_results').html('').css('height', '200px').activity();

		$.ajax({
			type:		'GET',
			url:		'/ajax/'+ glob_lang +'/fullsearch/'+ searchstring,
			complete:	function() {
				$('#search_content .search_results').css('height', 'auto').activity(false);
			},
			success:	function(res) {
				$('#search_content .search_results').html(res);
			},
			error:		function() {
				
			}
			//dataType:	'json'
		});
	}
});

$(document).delegate('form.search.ajax', 'submit', function()
{
	var searchstring = encodeURIComponent($(this).find('.text_field').val());
	
	History.pushState({type:'search', searchstring:searchstring}, "Search blog", "/"+ glob_lang +"/search/"+ searchstring);

	return false;
}).delegate('a.ajax.blog-profile', 'click', function() {
	var blog_id = parseInt($(this).attr('data-blog-id'));

	History.pushState({type:'blog', blog_id:blog_id}, getCurTitle(), $(this).attr('href'));

	return false;
});

if ( typeof(BL) == 'undefined') {
	var BL = {};
}

BL.Content = function() {
	return {
		setEndlessScrolling:	function(enabled) {
			fill_older_enabled = enabled;

			/*
			if (enabled) {
				$('#footer').addClass('fixed').css('opacity', 0)
					.mouseover(function() { footerShow = true;checkfooter(); })
					.mouseout(function() { footerShow = false;setTimeout('checkfooter();', 500); });
			} else {
				$('#footer').removeClass('fixed').removeAttr('onmouseover').removeAttr('onmouseout').css('opacity', 1);
			}
			*/
		},
		markNewsAsRead:	function(elem) {
			$.post('/ajax/news/markasread?ajax_key='+ glob_ajax_key);
			$(elem).parents('.message-temp.news').slideUp(200);
			closed_news = true;
		},
		showNews:		function() {
			if (num_following <= 0 || closed_news) {
				return false;
			}

			$('#feedmessages .news').show();
		},
		hideNews:		function() {
			$('#feedmessages .news').hide();
		}
	}
}();

BL.Sidebar = function()
{
	var _private = {
		current_type:	cur_feed_mode,
		group_id:		0,
		blog_id:		0
	};

	// LE FULHACK
	if (cur_feed_mode == 'liked') {
		_private.current_type = 'like';
	} else if (cur_feed_mode == 'blog') {
		_private.blog_id = cur_blog_id;
	} else if (cur_feed_mode == 'group') {
		_private.group_id = cur_feed_id;
	}

	return {
		deselectAll:	function()
		{
			$('.sidebar_wrapper_wrapper .sidebar-pressable').removeClass('active open');
			$('.sidebar_wrapper_wrapper ul.sidebar-bloglist').hide();
		},
		changeCounters: function(blog_id, num_amount)
		{
			num_amount = parseInt(num_amount) || 0;

			if (num_amount == 0)
			{
				return false;
			}

			var blog = $('.sidebar_blog[data-blog-id='+ blog_id +']');
			var sidebar = blog.parents('.side-item.group');

			blog.find('.count').html( parseInt(blog.find('.count').html()) + num_amount );

			var group_link = sidebar.children('.ajax');
			if (group_link.length > 0) {
				group_link.find('.count').html( parseInt(group_link.find('.count').html()) + num_amount );
			}

			$('#total_sidebar_count').html( parseInt($('#total_sidebar_count').html()) + num_amount );
		},
		moveBlog: function(blog_id, target_group_id, group_name)
		{
			var blog = $('#b'+ blog_id);
			var blog_name = blog.attr('title');
			var num_unread = parseInt(blog.find('.count').html());

			this.removeBlog(blog_id);
			this.addBlog(blog_name, blog_id, target_group_id, num_unread, group_name);
		},
		addBlog: function(blog_name, blog_id, group_id, num_unread, group_name)
		{
			num_unread = num_unread || 0;
			group_id = group_id || 1;
			group_name = group_name || 'N/A';

			num_following += 1;

			var new_elem = $('<li class="side-item sidebar_blog" data-blog-id="'+ blog_id +'">'
				+'<a id="b'+ blog_id +'" data-id="'+ blog_id +'" class="ajax sidebar-pressable" title="'+ blog_name +'" href="#" data-href="#f=loadfromsidebar&m=blog&b='+ blog_id +'">'
					+'<span class="name">'+ blog_name +' <span class="number">(<span id="b'+ blog_id +'_count" class="count">0</span>)</span></span>'
				+'</a>'
			+'</li>');

			var group = $('.side-item[data-group-id='+ group_id +']');
			if (group.length == 0) {
				var group_elem = $('<li class="side-item group sidebar-grp" data-group-id="'+ group_id +'">'
					+'<a id="f'+ group_id +'" class="sidebar-pressable ajax group open" data-id="g'+ group_id +'" title="'+ group_name +'" data-href="#f=loadfromsidebar&m=group&fid='+ group_id +'" href="/'+ glob_lang +'/feed/group/'+ group_id +'">'
						+ group_name +' <span class="number">(<span id="f'+ group_id +'_count" class="count">0</span>)</span>'
						+'<span class="grp-toggel toggle-open"></span>'
					+'</a>'
					+'<ul class="sidebar-bloglist">'
						+'<li class="sidebar_toggle">'
							+'<a class="toggle_sidebar" data-group-id="'+ group_id +'" data-is-hidden="true" onclick="feedsidebartoggle(this, \''+ LANG['unupdated_show'] +'\', \''+ LANG['unupdated_hide'] +'\'); return false;" href="#showall">'+ LANG['unupdated_show'] +'</a>'
						+'</li>'
					+'</ul>'
				);

				$('#sidebar_list').prepend(group_elem);
			}

			$('#sidebar_wrapper').show();
			$('#message_getstarted').remove();

			var obj_toggle;
			if (group_id == 1) {
				obj_toggle = $('.side-item[data-group-id='+ group_id +'] .sidebar_toggle');
			} else {
				obj_toggle = $('.side-item[data-group-id='+ group_id +'] .sidebar_toggle');
			}

			if (num_unread == 0) {
				new_elem.addClass('noposts');
				
				obj_toggle.show().next().show().prepend(new_elem);

				if ($('.toggle_sidebar[data-group-id='+ group_id +']').attr('data-is-hidden') == 'true') {
					$('.side-item[data-group-id='+ group_id +'] .unupdated').hide();
				}
			} else {
				obj_toggle.before(new_elem);

				this.changeCounters(blog_id, num_unread);
			}
		},
		removeBlog: function(blog_id)
		{
			var blog = $('.sidebar_blog[data-blog-id='+ blog_id +']');
			var sidebar = blog.parents('.side-item.group');

			var blog_num_unread = parseInt(blog.find('.count').html());
			this.changeCounters(blog_id, -blog_num_unread);

			num_following -= 1;

			blog.remove();

			var num_unread_blogs = sidebar.find('.noposts').length;

			if (num_unread_blogs == 0)
			{
				sidebar.find('.sidebar_toggle').hide();
			}
		},
		checkUnread: function()
		{
			var num_unread = this.getNumUnread();

			if (num_unread == 0) {
				$('#markasread').addClass('btn-disabled').attr('disabled', true);
				$('#feed_1 .message-temp').show();
			} else {
				$('#markasread').removeClass('btn-disabled').removeAttr('disabled');
				$('#feed_1 .message-temp').hide();
			}
		},
		getNumUnread: function()
		{
			var num_unread = NaN;

			switch (_private.current_type)
			{
			case 'all':
				var num_unread = parseInt($('#total_sidebar .count').html());
				break;
			case 'group':
				var num_unread = parseInt($('#f'+ _private.group_id +' .count').html());
				break;
			case 'blog':
				var num_unread = parseInt($('#b'+ _private.blog_id +' .count').html());
				break;
			case 'like':
				var num_unread = parseInt($('#feedposts .post').filter(':visible:not(.post-read):not(tmp_read)').length);
				break;
			}

			return num_unread;
		},

		setAll: function()
		{
			_private.current_type = 'all';

			BL.Content.setEndlessScrolling(true);

			$('#markasread').html(LANG['feed_markread_all']);

			BL.Content.showNews();
			$('#message_getstarted').show();
		},
		/*
		setAddBlog: function()
		{
			_private.current_type = 'addblog';

			$('#feed_messages .unfollow').hide();
			$('#shoopwoop').append($('#selectgroup_mes'));
			$('#sidebar_wrapper .side-item.active').removeClass('active');
			$('#sidebar_wrapper .sidebar-bloglist').hide();
		},
		*/
		setGroup: function(group_id)
		{
			_private.current_type = 'group';
			_private.group_id = group_id || 0;

			BL.Content.setEndlessScrolling(true);

			$('#markasread').html(LANG['feed_markread_group']);
		},
		setBlog: function(blog_id)
		{
			_private.current_type = 'blog';
			_private.blog_id = blog_id || 0;

			BL.Content.setEndlessScrolling(true);

			$('#markasread').html(LANG['feed_markread_blog']);
		},
		setLike: function()
		{
			_private.current_type = 'like';
			BL.Content.setEndlessScrolling(true);
		},
		getType: function()
		{
			return _private.current_type;
		},
		getGroup: function()
		{
			return _private.group_id;
		},
		getBlog: function()
		{
			return _private.blog_id;
		}
	};
}();

function blog_follow_feed(_obj, _u) {
	var blog_id = $(_obj).attr('data-blog-id');

	var loader_timeout_id = loaderTimeout(_obj);
	ajax_button_disable(_obj);

	$(_obj).html(LANG['unfollow']).removeClass('btn-grn-bg').addClass('btn-grey-bg following');

	$.ajax({
		type:		"POST",
		url:		_u,
		data:		{},
		complete:	function() {
			clearTimeout(loader_timeout_id);
			$(_obj).activity(false);
		},
		success:	function(data) {
			var blogname = $('.bloginfo .name').html();

			$(_obj).attr('data-href', '#f=blog_unfollow_feed&u='+ data.jhref);

			BL.Sidebar.addBlog(blogname, blog_id, 1, data.blog_num_unread);

			$('#selectunfollow').hide();

			if (blogname.length > 20)
			{
				blogname = blogname.substr(0, 20) +'...';
			}

			$('#selectgroup_mes .blogname').html(blogname);
			$('#selectgroup_mes').appendTo($(_obj).parent()).html();
			$('#selectgroup_mes').attr('rel', data.id);
			$('#selectgroup_mes').show();
			$('#selectgroup_mes .select_group').show();
			$('#selectgroup_mes .create_group').hide();
			//$('#total_main_count').html(data.jcount);
			$('#chgroupselect').val(0).attr('name', data.id);
		},
		error:		function() {
			$(_obj).html(LANG['follow']).removeClass('btn-grey-bg following').addClass('btn-grn-bg');
			ajax_button_enable(_obj);
		},
		dataType:	'json'
	});
}

function blog_unfollow_feed(_obj, _u) {
	var blog_id = $(_obj).attr('data-blog-id');

	var loader_timeout_id = loaderTimeout(_obj);
	ajax_button_disable(_obj);

	$(_obj).html(LANG['follow']).removeClass('btn-grey-bg following').addClass('btn-grn-bg');

	$.ajax({
		type:		"POST",
		url:		_u,
		data:		{},
		complete:	function() {
			clearTimeout(loader_timeout_id);
			$(_obj).activity(false);
		},
		success:	function(data) {
			var blogname = $('.bloginfo .name').html();

			$(_obj).attr('data-href', '#f=blog_follow_feed&u='+ data.jhref);

			$('#selectgroup_mes').hide();
			$('#shoopwoop').append($('#selectgroup_mes'));

			BL.Sidebar.removeBlog(blog_id);
		},
		error:		function() {
			$(_obj).html(LANG['unfollow']).removeClass('btn-grn-bg').addClass('btn-grey-bg following');
			ajax_button_enable(_obj);
		},
		dataType:	'json'
	});
}

function toggle_popover(_this, data) {
	obj = $('#'+ data.id);

	if (obj.length == 0) {
		return false;
	}

	if ($(_this).hasClass('pressed')) {
		$(_this).removeClass('pressed');
		obj.slideUp(100);
	} else {
		$(_this).addClass('pressed');
		obj.slideDown(100);
	}

	return false;
}

$(null).ready(function() {
	$(document).delegate('.topbutton_dropdown a', 'click', function() {
		/*
		var type = $(this).parents('.topbutton_dropdown').attr('data-type');
		$('#topbutton_'+ type).html($(this).html());
		*/

		var url		= $(this).attr('href');
		var type	= $(this).parents('.topbutton_dropdown').attr('data-type');

		History.pushState({
			type:		'feed',
			obj_id:		cur_feed_mode,
			_h: {
				m:			cur_feed_mode,
				url:		url,
				cat_id:		type == 'category' ? ""+$(this).attr('data-cat-id') : ""+cur_cat_id,
				top_pos:	type == 'country' ? ""+$(this).attr('data-top-pos') : ""+cur_top_pos
				}
			}, getCurTitle(), url);

		return false;
	});
	$(document).delegate('.topbutton_dropdown', 'click', function(e) {
		// WHY IS THIS NOT WORKING FUCKING CRAP
		e.preventDefault();
		e.stopPropagation();
		return false;
	});

	$(document.body).delegate(".mark_postlink", "mouseup", function(e){
		e.preventDefault();
		e.stopPropagation();
		var post_div = get_post_div(this);

		if ( ! post_div.hasClass('post-read')) {
			post_div.find('.markasread').click();
		}

		//return handle_url(this);
	});

	feedClickBindings();
	if (typeof(window.cur_feed_type) == "undefined")
	{
		window.cur_feed_type = "list";
	}
	if (typeof(window.fill_older_enabled) == "undefined")
	{
		BL.Content.setEndlessScrolling(false);
	}

	/*
	* Set bindings for endless 	
	*/
	$(window).scroll(function(){
		if (fill_older_enabled == true && $(window).height() + $(window).scrollTop() > $('.fill_older_list').offset().top-50 && $('.fill_older_list').offset().top - $(window).height() - $(window).scrollTop() > -400) {

			BL.Content.setEndlessScrolling(false);

			//console.log(cur_feed_mode, cur_feed_type, tmp_feed_type);

			if (cur_feed_mode == 'popular') {
				fill_like(cur_top_pos, cur_cat_id, (cur_page+1));
				cur_page += 1;
			} else if (cur_feed_mode == 'toplist') {
				fill_toplist(cur_top_pos, cur_cat_id, (cur_page+1));
				cur_page += 1;
			} else if (cur_feed_type == 'list' || tmp_feed_type == 'list') {
				$('.fill_older_list').click();
			} else if (cur_feed_type == 'cluster') {
				$('#gifvmoarblogs').click();
			}
		}
	});
});

function fill_toplist(top_pos, cat_id, page) {
	$('.gifvmoarblogs_holder .place_for_spinner').activity(loader_options_button);
	$('#gifvmoarblogs').css('visibility', 'visible');

	$.ajax({
		type:		'GET',
		url:		'/ajax/'+ glob_lang +'/feed_toplist/'+ page +'/'+ cat_id +'/'+ top_pos,
		dataType:	'json',
		complete:	function() {
			$('.gifvmoarblogs_holder .place_for_spinner').activity(false);
			$('#gifvmoarblogs').css('visibility', 'hidden');
		},
		success:	function(ret) {
			$('#feed_4').show().append(ret.c1);

			if (ret.has_more == 1) {
				BL.Content.setEndlessScrolling(true);
			}
		},
		error:		function () {
			
		}
	})
}

function fill_like(top_pos, cat_id, page) {
	$('.gifvmoarblogs_holder .place_for_spinner').activity(loader_options_button);
	$('#gifvmoarblogs').css('visibility', 'visible');

	$.ajax({
		type:		'GET',
		url:		'/ajax/'+ glob_lang +'/filllike/'+ top_pos +'/'+ cat_id +'/'+ page,
		dataType:	'json',
		complete:	function() {
			$('.gifvmoarblogs_holder .place_for_spinner').activity(false);
			$('#gifvmoarblogs').css('visibility', 'hidden');
		},
		success:	function(ret) {
			if (ret.status != 'ok') {
				return false;
			}

			$('#feed_4').show().append(ret.c);

			if (ret.ff == 1) {
				BL.Content.setEndlessScrolling(true);
			} else {
				BL.Content.setEndlessScrolling(false);
			}
		},
		error:		function() {
			
		}
	});
}

function feedClickBindings()
{	
	/*
	$('div.post').unbind('hover').hover(function(){
		show_post_controllers(this);
	},function(){
		hide_post_controllers(this);
	});
	$('div.blog_cluster').unbind('hover').hover(function(){
		show_blog_controllers(this);
	},function(){
		hide_blog_controllers(this);
	});
	*/
}

function get_post_div(_obj)
{
	return $(_obj).parents('div.post:eq(0)');
}

function get_blog_div(_obj)
{
	return $(_obj).parents('div.blog_cluster:eq(0)');
}

function remove_addblog_popover()
{
	var popover = $('#addblog_popover').filter(':visible');
	
	if (popover.length == 0)
	{
		return;
	}

	popover.fadeOut('fast');
	$.post('/ajax/introductions?ajax_key='+ glob_ajax_key, {memkey: 'popover::followmore::1'});
}

/*
function feed_addblog(_obj)
{
	BL.Sidebar.setAddBlog();

	window.history.pushState(null, "Add blog", "/"+ glob_lang +"/feed/add-blog");

	remove_addblog_popover();

	if ($('#feed_toplist').html() == '') {
		$('#feed_toplist').activity();

		$.ajax({
			type:		'GET',
			url:		'/ajax/feed_toplist',
			complete:	function () {
				$('#feed_toplist').activity(false);
			},
			success:	function (res) {
				$('#feed_toplist').html(res);
			},
			error:		function() {
				
			}
		});
	} else {
		$('#feed_toplist').show();
	}
	
	$('#reader_content, #content .start_help').hide();
	$('#search_content').show();
	$('#search_content .search_box input.text_field').val('').focus();
	$('#search_content .search_results').html('');

	fill_older_enabled = false;
}
*/

$(document).delegate('#search_content .pages a', 'click', function()
{
	if ($(this).attr('href') == '')
	{
		return;
	}

	var page = $(this).attr('data-page');
	var search_string = $(this).attr('data-search-string');

	$('#search_content .search_results').html('').css('height', '200px').activity();
	$.ajax({
		type:		'GET',
		url:		'/ajax/'+ glob_lang +'/fullsearch/'+ search_string +'/'+ page,
		complete:	function() {
			$('#search_content .search_results').css('height', 'auto').activity(false);
		},
		success:	function(res) {
			$('#search_content .search_results').html(res);
		},
		error:		function() {
			
		}
		//dataType:	'json'
	});

	return false;
});

function toggle_readpost(_obj,_href) {
	var loader_timeout_id = loaderTimeout(_obj);
	ajax_button_disable(_obj);

	var post_div = get_post_div(_obj);
	var is_read = post_div.hasClass('post-read');
	
	if (is_read) {
		post_div.removeClass('post-read');
		$(_obj).html(mark_post_read_lang);
	} else {
		post_div.addClass('post-read');
		$(_obj).html(mark_post_unread_lang);
	}

	$.ajax({
		type:		'POST',
		url:		_href,
		data:		{},
		complete:	function() {
			clearTimeout(loader_timeout_id);
			$(_obj).activity(false);
		},
		success:	function(ret) {
			$(_obj).attr('data-href','#f=toggle_readpost&u='+ret.jhref).html(ret.jtext);
			
			if (ret.jcase == 'read') {
				markpost(_obj, ret);
			} else {
				unmarkpost(_obj, ret);
			}
		},
		error:		function() {
			if (is_read) {
				post_div.addClass('post-read');
				$(_obj).html(mark_post_unread_lang);
			} else {
				post_div.removeClass('post-read');
				$(_obj).html(mark_post_read_lang);
			}

			ajax_button_enable(_obj);
		},
		dataType:	'json'
	});

	return false;
}

function readall() {
	var href = '/ajax/markasread/';
	
	if (cur_feed_mode == 'group') {
		href += 'group/'+ cur_feed_id;
		count_id = $('#f'+ cur_feed_id +'_count').html();
	} else if(cur_feed_mode == 'blog') {
		href += 'blog/'+ cur_blog_id;
		count_id = $('#b'+ cur_blog_id +'_count').html();
	} else {
		var count_id = $('#total_sidebar_count').html();
	}

	href += '?ajax_key='+ glob_ajax_key;
	poststoread = parseInt(count_id);
	
	if (poststoread > 20) {
		reply = confirm(reply_markasread);
	} else {
		reply = true;
	}
	
	if ( ! reply) {
		return false;
	}

	$.post(href, {}, function(r) {
		if (r.status == 'ok') {
			read_update_numbers(r.jcount)
			
			BL.Sidebar.checkUnread();
			
			return loadPosts(false, false);
		}
	},'json');

	return false;
}

function readblog(_obj,_url)
{
	var blog_div = get_blog_div(_obj);
	var blog_id = blog_div.attr('rel');

	blog_div.find('.markasread').each(function(){
		$(this).attr('href', $(this).attr('href').replace('/read/','/unread/')).html(mark_post_unread_lang);
	});
	blog_div.find('.post').addClass('post-read');

	loader_timeout_id = setTimeout(
			function() { 
				blog_div.find('span.blog_bar_loader').show()
					.activity(loader_options_button);
			},
			1000
	);

	$.post(_url,{},function(ret) {
		clearTimeout(loader_timeout_id);
		markblog(_obj,ret);
	},'json');

	return false;
}

function read_update_numbers(_number_of_read)
{
	var obj_to_null = new Array();

	if (cur_feed_mode == 'blog') {
		$('#b'+ cur_blog_id +'_count').html('0');
		obj_to_null.push('#f'+ cur_feed_id +'_count', '#total_sidebar_count'); 
	} else if(cur_feed_mode == 'group') {
		$('#f'+ cur_feed_id).parent().find('span.count').html('0');
		obj_to_null.push('#total_sidebar_count');
	} else if(cur_feed_mode == 'all') {
		$('#total_sidebar_count').html('0');
		$('#sidebar_list').find('span.count').html('0');
	}

	var new_count = 0;
	
	if(cur_feed_mode == 'blog' || cur_feed_mode == 'group') {
		decrease_counters(obj_to_null,_number_of_read);
	}

	return false;
}

function decrease_counters(_ids_to_null, _number) {
	for (var i = 0; i < _ids_to_null.length; i++) {
		new_count = parseInt($(_ids_to_null[i]).html()) - _number;
		
		if (new_count < 1) {
			new_count = 0;
		}

		$(_ids_to_null[i]).html(new_count);
		
		if('#total_sidebar_count' == _ids_to_null[i]) {
			updateTitle(new_count);
		}
	}
}

function markblog(_obj,ret)
{
	var obj_to_null = new Array();
	var blog_div = get_blog_div(_obj);
	//blog_div.removeClass('unread');
	//blog_div.find('span.blog_bar_loader').hide().activity(false);
	//blog_div.find('span.number_of_unread').html(0);
	//blog_div.find('span.number_of_unread_box').hide();
	//blog_div.find('.blog_is_read_controller').show();
	//blog_div.find('.number_of_unread_box').addClass('hide');
	blog_div.find('.show_more_posts a span').hide();
	blog_div.find('.show_more_posts a').attr('disabled','disabled');
	blog_div.find('.read_bloglink').attr('disabled','disabled');
	//toggle_blog_expand(_obj);

	if (ret != false)
	{
		obj_to_null.push('#b'+ret.jbloggid+'_count','#f'+ret.jfeedid+'_count','#total_sidebar_count');
		decrease_counters(obj_to_null,ret.jcount);
	}

	return true;
}

function toggle_blog_expand(_obj)
{
	ajax_button_disable(_obj);

	var blog_div = get_blog_div(_obj);
	var post_box = blog_div.find('.post_box');

	if (post_box.css('display') == 'none' && $(_obj).hasClass('blog_is_read_controller'))
	{
		$(_obj).html(hide_read_posts_lang);
	} else {
		$(_obj).html(show_read_posts_lang);
	}

	posttoggle(_obj, post_box);
	return false;
}

function blog_expand_read(_obj,_u)
{
	var blog_div = get_blog_div(_obj);
	var loader_holder = $(_obj).nextAll('.place_for_spinner');

	ajax_button_disable(_obj);
	loader_id = loaderTimeout(loader_holder);

	$.post(_u,{},function(ret) {
		clearTimeout(loader_timeout_id);
		loader_holder.activity(false);

		$(_obj).removeClass('blog_is_read_old').addClass('blog_is_read_controller').attr('data-href','#f=toggle_blog_expand').html(hide_read_posts_lang);
		
		if(isNaN(ret.c1))
		{
			var posts = blog_div.find('div.posts');
			posts.append(ret.c1);
			if(isNaN(ret.c2))
			{
				posts.append(ret.c2);
			}
			if(isNaN(ret.c3))
			{
				posts.append(ret.c3);
			}
			if(isNaN(ret.c4))
			{
				posts.append(ret.c4);
			}
		}

		if(ret.ff == 1){
			blog_div.find('.show_more_posts a').attr('data-href','#f=fill_older_cluster&u='+ret.olderurl).show().find('span').hide();
		}
		feedClickBindings();
	},'json');

	return false;
}

function feedsidebartoggle(_this,_text1,_text2)
{
	$(_this).parents('.sidebar_toggle:first').next('.unupdated').toggle();
	$(_this).text($(_this).text() == _text1 ? _text2 : _text1);

	var is_hidden = $(_this).text() == _text1;
	$(_this).attr('data-is-hidden', is_hidden);

	return false;
}

function markpost(_obj, ret)
{
	var obj_to_null = new Array();
	var post_div = get_post_div(_obj);
	var blog_div = get_blog_div(_obj);

	var blog_id = post_div.attr('data-blog-id');

	/*
	// CLUSTER
	var num = parseInt($('#sidebar_list .sidebar_blog[data-blog-id='+ blog_id +'] .count').html());
	if (num && parseInt(num) > 0)
	{
		if(num == 1 && ! blog_div.find('.number_of_unread_box').hasClass('hide'))
		{
			markblog(_obj, false);
		} else {
			$('#sidebar_list .sidebar_blog[data-blog-id='+ blog_id +'] .count').html(num - 1);
		}
	}
	*/

	obj_to_null.push('#b'+ ret.jbloggid +'_count','#f'+ ret.jfeedid +'_count','#total_sidebar_count');
	decrease_counters(obj_to_null,1);
	post_div.addClass('post-read');
	
	BL.Sidebar.checkUnread();
	
	return true;
}

function unmarkpost(_obj,ret)
{
	var obj_to_null = new Array();
	var post_div = get_post_div(_obj);
	var blog_div = get_blog_div(_obj);

	var blog_id = post_div.attr('data-blog-id');
	//var num = parseInt($('#sidebar_list .sidebar_blog[data-blog-id='+ blog_id +'] .count').html());
	//$('#sidebar_list .sidebar_blog[data-blog-id='+ blog_id +'] .count').html(num);

	blog_div.find('.show_more_posts a').removeAttr('disabled');
	blog_div.find('.read_bloglink').removeAttr('disabled');
	
	obj_to_null.push('#b'+ret.jbloggid+'_count','#f'+ret.jfeedid+'_count','#total_sidebar_count');
	decrease_counters(obj_to_null,-1);
		
	post_div.removeClass('tmp_read');//.removeClass('post-read');
	blog_div.find('span.number_of_unread_box').show();
	blog_div.find('.read_bloglink').show();
	
	BL.Sidebar.checkUnread();
	
	return true;
}

function starblog(_obj,_a)
{
	ajax_button_disable(_obj);
	var loader_timeout_id = loaderTimeout(_obj);

	var blog_div = get_blog_div(_obj);
	var blog_id = blog_div.attr('rel');

	blog_div.find('.star-holder').removeClass('star').addClass('unstar').attr('data-href','#f=unstarblog');

	$.ajax({
		type:		'POST',
		url:		'/ajax/starblog/'+blog_id+'?ajax_key='+glob_ajax_key,
		data:		{},
		complete:	function() {
			clearTimeout(loader_timeout_id);
			$(_obj).activity(false);
		},
		success:	function() {
			blog_div.find('.star_control').html('Unstar').attr('data-href','#f=unstarblog&t=yes');
		},
		error:		function() {
			blog_div.find('.star-holder').removeClass('unstar').addClass('star').attr('data-href','#f=starblog');
		},
		dataType:	'json'
	});

	return true;
}

function unstarblog(_obj,_a)
{
	ajax_button_disable(_obj);
	var loader_timeout_id = loaderTimeout(_obj);

	var blog_div = get_blog_div(_obj);
	var blog_id = blog_div.attr('rel');
	
	blog_div.find('.star-holder').removeClass('unstar').addClass('star').attr('data-href','#f=starblog');

	$.ajax({
		type:		'POST',
		url:		'/ajax/unstarblog/'+blog_id+'?ajax_key='+glob_ajax_key,
		data:		{},
		complete:	function() {
			clearTimeout(loader_timeout_id);
			$(_obj).activity(false);
		},
		success:	function() {
			blog_div.find('.star_control').html('Star').attr('href','#f=starblog&t=yes');
		},
		error:		function() {
			blog_div.find('.star-holder').removeClass('star').addClass('unstar').attr('data-href','#f=unstarblog');
		},
		dataType:	'json'
	});

	return true;
}

function unfollow_blog(_obj)
{
	var blog_id = parseInt($(_obj).attr('data-blog-id'));

	if (isNaN(blog_id))
	{
		return false;
	}

	$.ajax({
		type:		'POST',
		url:		'/ajax/unfollow/'+ blog_id +'?ajax_key='+ glob_ajax_key,
		data:		{},
		complete:	function() {
			
		},
		success:	function(ret) {
			var blog_name = $('#b'+ blog_id).attr('title');
			var feed_id = $('#b'+ blog_id).parents('li.sidebar-grp').find('a').filter(':first').attr('id');
			if (typeof(feed_id) == 'undefined')
			{
				feed_id = 1;
			}
			else
			{
				feed_id = feed_id.substr(1);
			}

			var total_sidebar = $('#total_sidebar');
			var data = {m: 'all'};
			loadfromsidebar(total_sidebar, data);

			BL.Sidebar.removeBlog(blog_id);
			//reloadSidebar();

			$('#feed_messages .unfollow').show().find('.blog_name').html(blog_name);
			$('#feed_messages .unfollow').find('a').attr('data-blog-id', blog_id).attr('data-feed-id', feed_id);
		},
		error:		function() {
			
		},
		dataType:	'json'
	});

	return false;
}
function followblog_undo(_obj)
{
	var blog_id = $(_obj).attr('data-blog-id');
	var feed_id = $(_obj).attr('data-feed-id');

	var blog_name = $(_obj).parent().find('.blog_name').html();

	$.ajax({
		type:		'POST',
		url:		'/ajax/follow/'+ blog_id +'/'+ feed_id +'?ajax_key='+ glob_ajax_key,
		data:		{},
		complete:	function() {
			$('#feed_messages .unfollow').hide();
		},
		success:	function(ret) {
			var total_sidebar = $('#total_sidebar');
			var data = {m: 'all'};
			loadfromsidebar(total_sidebar, data);

			BL.Sidebar.addBlog(blog_name, blog_id, feed_id, ret.blog_num_unread);
			//reloadSidebar();
		},
		error:		function() {
			
		},
		dataType:	'json'
	});
}

function unfollowblog(_obj,_u)
{
	var blog_div = get_blog_div(_obj);
	var loader_holder = $(_obj).prev();
	var loader_timeout_id = loaderTimeout(loader_holder);
	
	ajax_button_disable(_obj);

	$.post(_u,{},function(data){
		clearTimeout(loader_timeout_id);
		loader_holder.activity(false);

		var blog_title = blog_div.find('.touch_blog').attr('title');
		
		blog_div.find('.post_box').hide();
		blog_div.find('.number_of_unread_box').hide();
		blog_div.find('.star-holder').hide();
		
		blog_div.unbind();
		blog_div.find('.blog_actions').addClass('alwayshide').hide();
		
		var stopfollow_div = $('#follow_box').clone().removeClass('hide').removeAttr('id');
		stopfollow_div.find('.blogname').html(blog_title);
		stopfollow_div.find('a').attr('data-href', '#f=followblog&u='+ data.jhref);
		blog_div.append(stopfollow_div);
		reloadSidebar();

		ajax_button_enable(_obj);
	},'json');
}
function followblog(_obj, _u)
{
	var blog_div = get_blog_div(_obj);
	var loader_holder = $(_obj).next();
	var loader_timeout_id = loaderTimeout(loader_holder);

	ajax_button_disable(_obj);

	$.post(_u,{},function(data){
		clearTimeout(loader_timeout_id);
		loader_holder.activity(false);

		if (blog_div.find('span.number_of_unread').html() != 0)
		{
			blog_div.find('.post_box').show();
		}

		blog_div.find('.number_of_unread_box').show();
		blog_div.find('.star-holder').show();
		blog_div.find('.blog_actions').removeClass('alwayshide').show();
		
		feedClickBindings();
		reloadSidebar();
		
		blog_div.find('.follow_box').remove();
	},'json');
}

function singlebtn_unfollowblog(_obj, _u)
{
	var loader_timeout_id = loaderTimeout(_obj);
	ajax_button_disable(_obj);

	$(_obj).html(LANG['follow']).removeClass('btn-grey-bg').removeClass('following').addClass('btn-grn-bg');

	$.ajax({
		type:		"POST",
		url:		_u,
		data:		{},
		complete:	function() {
			clearTimeout(loader_timeout_id);
			$(_obj).activity(false);
		},
		success:	function(data) {
			$(_obj).attr('data-href', '#f=singlebtn_followblog&u='+ data.jhref);
			$('#selectgroup_mes').hide();
		},
		error:		function() {
			$(_obj).html(LANG['unfollow']).removeClass('btn-grn-bg').addClass('btn-grey-bg').addClass('following');
			ajax_button_enable(_obj);
		},
		dataType:	'json'
	});
}
function singlebtn_followblog(_obj, _u)
{
	var loader_timeout_id = loaderTimeout(_obj);
	ajax_button_disable(_obj);

	$(_obj).html(LANG['unfollow']).removeClass('btn-grn-bg').addClass('btn-grey-bg').addClass('following');
	
	$.ajax({
		type:		"POST",
		url:		_u,
		data:		{},
		complete:	function() {
			clearTimeout(loader_timeout_id);
			$(_obj).activity(false);
		},
		success:	function(data) {
			$(_obj).attr('data-href', '#f=singlebtn_unfollowblog&u='+ data.jhref);

			var blogname = $('.profile_infobox h1').html();
			$('#selectgroup_mes .blogname').html(blogname);
			$('#selectgroup_mes').appendTo($(_obj).parent()).html();
			$('#selectgroup_mes').attr('rel', data.id);
			$('#selectgroup_mes').show();
			$('#selectgroup_mes .select_group').show();
			$('#selectgroup_mes .create_group').hide();
			$('#total_sidebar_count').html(data.jcount);
			$('#chgroupselect').val(0).attr('name', data.id);
		},
		error:		function() {
			$(_obj).html(LANG['follow']).removeClass('btn-grey-bg').removeClass('following').addClass('btn-grn-bg');
			ajax_button_enable(_obj);
		},
		dataType:	'json'
	});
}

function sortFeed(_obj,h)
{
	$(_obj).parent().children('a').removeClass('pressed');
	$(_obj).addClass('pressed');

	switch (h.c) {
	case 'cluster':
		cur_feed_type = 'cluster';
		break;
	case 'feed':
		cur_feed_type = 'list';
		break;
	case 'toplist':
	case 'upandcoming':
		cur_toplist_type = h.c;
		//return;
		break;
	default:
		return false;
	}
   
	return loadPosts(false, false);
}

var tmp_feed_type;
var cur_ajax_request = null;
function loadPosts(href, is_sidebar, _h)
{
	$('#search_content').hide();
	$('#reader_content').show();

	$('#gifvmoarblogs').hide();
	//fill_older_enabled = false;
	var ajax = '';
	var ajax_end = '';

	var post_data = {is_sidebar:is_sidebar};

	if (href != false) {
		ajax = strip_ajax(href);
	} else if (cur_feed_mode == 'popular') {
		if (typeof(_h.url) == 'undefined') {
			ajax = '/ajax/'+ glob_lang +'/popular';
			cur_page = 1;
		} else {
			ajax = '/ajax'+ _h.url;
		}
	} else if (cur_feed_mode == 'toplist') {
		if (typeof(_h) == 'undefined' || typeof(_h.url) == 'undefined') {
			ajax = '/ajax/'+ glob_lang +'/feed_toplist';
		} else {
			ajax = '/ajax'+ _h.url.replace('blogs', 'feed_toplist');
		}
		post_data = {type:cur_toplist_type};
	} else if (cur_feed_mode == 'blog-profile') {
		ajax = '/ajax/'+ glob_lang +'/blog-profile';
		post_data = {blog_id:_h};
	} else if (cur_feed_mode == 'what-is-bloglovin') {
		ajax = '/ajax/'+ glob_lang +'/what-is-bloglovin';
	} else {
		ajax = '/ajax/'+ glob_lang +'/';

		tmp_feed_type = cur_feed_type;
		if (cur_feed_mode == 'group') {
			ajax_end += 'group/'+cur_feed_id;
		} else if(cur_feed_mode == 'blog') {
			ajax_end += 'blog/'+cur_blog_id;
			tmp_feed_type = 'list';
		} else if(cur_feed_mode == 'liked') {
			ajax_end += 'liked/0';
			tmp_feed_type = 'list';
		} else if (cur_feed_type == 'cluster') {
			tmp_feed_type = 'cluster';
		} else {
			tmp_feed_type = 'list';
		}
		
		if (tmp_feed_type == 'cluster') {
			ajax += 'fillcluster/';
		} else {
			ajax += 'fillfeed/';
		}
		cur_feed_type = tmp_feed_type;
		
		ajax += ajax_end+'?ajax_key='+glob_ajax_key;
	}

	feedloader();
	
	fill_older_enabled = false;
	if (cur_ajax_request != null) cur_ajax_request.abort();
	cur_ajax_request = $.post(ajax, post_data, fillfeed, "json");
	
	return false;
}

function fill_older_cluster(_obj, _url)
{
	var blog_div = get_blog_div(_obj);
	var loader_holder = $(_obj);

	ajax_button_disable(_obj);
	loader_id = loaderTimeout(loader_holder);

	$.post(_url,{},function(ret) {
		clearTimeout(loader_timeout_id);
		loader_holder.activity(false);
		
		if(ret.c)
		{
			blog_div.find('div.posts').append(ret.c);
		}
		
		if(ret.ff == 1){
			$(_obj).attr('data-href','#f=fill_older_cluster&u='+ret.olderurl);
			$(_obj).show();

			var tmp_num = parseInt(blog_div.find('.rest_posts_number').html())-21;
			if(tmp_num < 1)
			{
				tmp_num = 0;
				blog_div.find('.show_more_posts a span').hide();
			}
			blog_div.find('.rest_posts_number').html(tmp_num);

		}else{
			$(_obj).hide();
		}
		feedClickBindings();
	},'json');

}

function fill_older_list(_obj, _url)
{
	ajax_button_disable(_obj);
	$(_obj).css('visibility','');
	$('.older-holder .place_for_spinner').activity(loader_options_button);

	$.ajax({
		type: 'POST',
		url: _url,
		data: {},
		complete: function(){
		},
		success: function(ret){
			if(ret.c)
			{
				$('#feed_4').append(ret.c);
			}
			if(ret.ff == 1){
				$(_obj).attr('data-href','#f=fill_older_list&u='+ret.olderurl);
				BL.Content.setEndlessScrolling(true);
			}
			$(_obj).css('visibility','hidden');
			$('.older-holder .place_for_spinner').activity(false);
			feedClickBindings();
		},
		error: function(){
			$(_obj).css('visibility','hidden');
			$('.older-holder .place_for_spinner').activity(false);
			BL.Content.setEndlessScrolling(false);
		},
		dataType: 'json'

	});
}

function fillfeed(responseText)
{
	// fix to clicking super fast on the sidebar, don't load the stuff we're not on!
	if (responseText.mode != cur_feed_mode) {
		return false;
	}
	//console.info('Now loading,', responseText.mode, cur_feed_mode, cur_feed_type);

	if (responseText.result == 'fail')
	{
		$('#feed_1').html('<div class="message-temp fail">'+ responseText.message +'</div>');
		return;
	}

	$('#search_content').hide();
	$('#reader_content').show();

	$('#feed_1').activity(false).html('');
	$('#feed_2').html('');
	$('#feed_3').html('');
	$('#feed_4').html('');

	if (cur_feed_mode == 'popular' || cur_feed_mode == 'toplist') {
		$('#topbutton_country span').html(responseText.country);
		$('#topbutton_country_popdown').html(responseText.countries);
		$('#topbutton_category span').html(responseText.category);
		$('#topbutton_category_popdown').html(responseText.categories);
	}

	if (typeof(responseText.cat_id) != 'undefined') {
		cur_cat_id = responseText.cat_id;
	}
	if (typeof(responseText.top_pos) != 'undefined') {
		cur_top_pos = responseText.top_pos;
	}

	if (cur_feed_mode == 'popular' && typeof(responseText.result) != "undefined") {
		$('#feed_1').html(responseText.posts);
		feedClickBindings();
		updateFeedControllers();
		BL.Content.setEndlessScrolling(true);
	} else if (cur_feed_mode == 'what-is-bloglovin') {
		$('#feed_1').html(responseText.content);
		feedClickBindings();
		updateFeedControllers();
		return;
	}

	cur_feed_mode = responseText.mode;
	cur_blog_id = responseText.blog_id;

	if (cur_feed_mode == 'blog-profile') {
		$('#feed_1').show().html(responseText.bloginfo);
		$('#feed_2').show().html(responseText.content);
	} else {

		if (typeof(responseText.feed_id) != 'undefined' &&  responseText.feed_id != 0) {
			cur_feed_id = responseText.feed_id;
		}
		
		if (typeof(responseText.c1) != 'undefined' && isNaN(responseText.c1)) {
			$('#feed_1').html(responseText.c1).show();
		}
		if (typeof(responseText.c2) != 'undefined' && isNaN(responseText.c2)) {
			$('#feed_ads1').show();
			$('#feed_2').html(responseText.c2).show();
		}
		
		if (typeof(responseText.c3) != 'undefined' && isNaN(responseText.c3)) {
			$('#feed_ads2').show();
			$('#feed_3').html(responseText.c3).show();
		}
		
		if (typeof(responseText.c4) != 'undefined' && isNaN(responseText.c4)) {
			$('#feed_ads3').show();
			$('#feed_4').html(responseText.c4).show();
		} else {
			$('#feed_4').html('');
		}

		if (typeof(responseText.ff) != 'undefined' && responseText.ff == 1) {
			if(tmp_feed_type == 'list') {
				$('.fill_older_list').attr('data-href','#f=fill_older_list&u='+responseText.olderurl).show();
				BL.Content.setEndlessScrolling(true);
			}
		} else {
			BL.Content.setEndlessScrolling(false);
		}
	}

	if(cur_feed_type == 'cluster' && tmp_feed_type !== 'list') {
		if(responseText.has_next == 1) {
			$('#gifvmoarblogs').show();
			$('#gifvmoarblogs').attr('data-href','#f=getmoreblogs&u=/ajax/getclusterchunk/'+ responseText.next +'/feed_all');
			BL.Content.setEndlessScrolling(true);
		} else {
			$('#gifvmoarblogs').hide();
		}
	}

	if (cur_feed_mode == 'toplist' && responseText.has_more == 1) {
		BL.Content.setEndlessScrolling(true);
		if (cur_toplist_type == 'upandcoming') {
			BL.Content.setEndlessScrolling(false);
		}
	}

	feedClickBindings();
	_gaq.push(['bl._trackPageview','/feed']);
		
	updateFeedControllers();

	scroll_to_top_of_feed();
	//$('#reader_content').height('auto');
}

function scroll_to_top_of_feed()
{
	var scroll_to = $('div.container').offset().top-10;

	// Check if we are below the feed and jump up; never jump down
	if ($(window).scrollTop() > scroll_to)
	{
		$(window).scrollTop(scroll_to);
	}
}

function getmoreblogs(_obj,_url) {
	ajax_button_disable(_obj);
	$(_obj).css('visibility','');
	$('.gifvmoarblogs_holder .place_for_spinner').activity(loader_options_button);

	$.ajax({
		type: 'POST',
		url: _url,
		data: {},
		complete: function(){
			$(_obj).css('visibility','hidden');
			$('.gifvmoarblogs_holder .place_for_spinner').activity(false);
		},
		success: function(ret){
			if (ret.status != 'ok') {
				return;
			}

			if (ret.chunk)
			{
				$('#feed_4').append(ret.chunk);
			}
			if (ret.has_next == 1)
			{
				$(_obj).attr('data-href','#f=getmoreblogs&u=/ajax/getclusterchunk/'+ ret.next +'/feed_all');
				BL.Content.setEndlessScrolling(true);
			} else {
				$(_obj).hide();
				BL.Content.setEndlessScrolling(false);
			}

			$('#feed_4').show().html($('#feed_4').html()+ret.chunk);
			
			feedClickBindings();
		},
		error: function(){
			BL.Content.setEndlessScrolling(false);
		},
		dataType: 'json'
	});

	return false;
}

function updateFeedControllers()
{
	if (cur_feed_mode == 'blog-profile' || cur_feed_mode == 'what-is-bloglovin' || (cur_feed_mode == 'all' && $('#total_sidebar_count').html() == 0)) {
		//$('#markasread_holder').hide();
		return;
	}

	$('#topbutton_country').hide();
	$('#topbutton_category').hide();
	$('#markasread').show();
	$('#switch_view').hide();
	$('#topblogswitch').hide();

	console.log(cur_feed_mode, cur_feed_type);

	if (cur_feed_mode == 'blog') {
		//$('#markasread_holder').show();
		$('#switcher_popover').hide();
	} else if (cur_feed_mode == 'liked' || cur_feed_mode == 'toplist' || cur_feed_mode == 'popular') {
		//$('#markasread_holder').hide();
		$('#markasread').hide();
		$('#switcher_popover').show();
	} else {
		//$('#markasread_holder').show();
		$('#switcher_popover').show();
		$('#switch_view').show();
	}

	if (cur_feed_mode == 'toplist') {
		$('#topblogswitch').show();
	}
	if (cur_feed_mode == 'popular' || cur_feed_mode == 'toplist') {
		//$('#markasread_holder').show();
		$('#topbutton_country').show();
		$('#topbutton_category').show();
	}

	if (cur_feed_type == 'cluster') {
		$('a.show_blog_cluster').addClass('pressed');
		$('a.show_all_posts').removeClass('pressed');
		$('#reader_content').addClass('layout_cluster').removeClass('layout_smallimages');
	} else if (cur_feed_type == 'list') {
		$('a.show_blog_cluster').removeClass('pressed');
		$('a.show_all_posts').addClass('pressed');
		$('#reader_content').addClass('layout_smallimages').removeClass('layout_cluster');
	}
}

function feedloader()
{
	//$('#reader_content').height( $(window).height() );
	scroll_to_top_of_feed();

	$('#selectgroup_mes').hide();
	$('#feed_1').html('<div style="width:200px;height:200px;">').activity();
	$('#feed_2').hide();
	$('#feed_3').hide();
	$('#feed_4').hide();
	$('#feed_ads1').hide();
	$('#feed_ads2').hide();
	$('#feed_ads3').hide();
}


function toggle_save(_obj,_url)
{
	loader_timeout_id = loaderTimeout(_obj);

	var post_div = get_post_div(_obj);
	var does_like = ! post_div.find('.placeforyou').is(':visible');

	if (does_like)
	{
		post_div.find('.placeforyou').show();
		$(_obj).find('.text').html(LANG['unlike']);
	}
	else
	{
		post_div.find('.placeforyou').hide();
		$(_obj).find('.text').html(LANG['like']);
	}

	BL.Sidebar.checkUnread();

	$.ajax({
		type:		'POST',
		url:		_url,
		data:		{},
		complete:	function() {
			clearTimeout(loader_timeout_id);
			$(_obj).activity(false);
		},
		success:	function(ret) {
			if (ret.jhref != '/fail/')
			{
				$(_obj).html(ret.jtext).attr('data-href','#f=toggle_save&u='+ret.jhref).attr('title',ret.mtitle).removeClass('like-btn like-btn-dis').addClass(ret.mclass);
				if(ret.jmodule == 'save')
				{
					post_div.find('.placeforyou').show();
					post_div.find('.noonelikesmeemo').hide();
				}
				else
				{
					post_div.find('.placeforyou').hide();
					post_div.find('.noonelikesmeemo').show();
				}
			} else {
				if (does_like)
				{
					$(_obj).attr('href', $(_obj).attr('href').replace('/unsave/', '/save/'));
				} else {
					$(_obj).attr('href', $(_obj).attr('href').replace('/save/', '/unsave/'));
				}
			}
		},
		error:		function() {
			if (does_like)
			{
				post_div.find('.placeforyou').show();
				$(_obj).find('.text').html(LANG['unlike']);
			} else {
				post_div.find('.placeforyou').hide();
				$(_obj).find('.text').html(LANG['like']);
			}
		},
		dataType:	'json'
	});

	return false;
}

/**
 * Animate div show/hide
 * @method posttoggle
 * @param obj jQuery object
 * 
 * @method updateHeight
 * @param obj jQuery object
 */
var height;
var shrinkage = 1;
var easein = 0.01;
var FullHeight = 0;
function posttoggle(_obj, postbox){
	height = postbox.outerHeight();
	if(postbox.css('display') == 'none')
	{
		postbox.show();
		postbox.height('auto');
		ajax_button_enable(_obj);
	}else{
		interval = setInterval( function() {
			updateHeight(_obj, postbox);
		}, 20);
	}
}
function updateHeight(_obj, postbox){
	if(shrinkage > 0.4){
		easein = easein*2;
		shrinkage -= easein;
	}
	height = height*shrinkage;
	postbox.height(height);
	if(height < 1){
		postbox.hide();
		clearInterval(interval);
		ajax_button_enable(_obj);
	}
}

function show_post_controllers(_obj)
{
	$(_obj).find('.controllers').show();
	if($(_obj).hasClass('post-read'))
	{
		$(_obj)./*removeClass('post-read').*/addClass('tmp_read');
	}
}
function hide_post_controllers(_obj)
{
	$(_obj).find('.controllers').hide();
	if($(_obj).hasClass('tmp_read'))
	{
		$(_obj).removeClass('tmp_read');//.addClass('post-read');
	}
}

function show_blog_controllers(_obj)
{
	$(_obj).find('.blog_actions:not(.alwayshide)').show();
}
function hide_blog_controllers(_obj)
{
	$(_obj).find('.blog_actions').hide();
}

function reloadSidebar()
{
	$('#sidebar_wrapper').html('&nbsp;&nbsp;').activity(loader_options_button);
	$.post('/ajax/sidebar/html?ajax_key='+glob_ajax_key,{},function(resp){
		if(resp.status == 'success')
		{
			$('#sidebar_wrapper').html(resp.sidebar);
			feedClickBindings();
		}
		else
		{
			$('#sidebar_wrapper').html('Fail');
		}
	},"json");
}

var menuactive = 0;
var _slideEl = 'ul';
var _duration = null;
var _hide = true;

function loadfromsidebar(_obj, _h) {
	var url = "/"+ glob_lang +"/";

	if (_h.m == "group") {
		url += "feed/group/"+ _h.fid;
	} else if (_h.m == "all") {
		url += "feed/all";
	} else if (_h.m == "blog") {
		url += "feed/blog/"+ _h.b;
	} else if (_h.m == "liked") {
		url += "feed/liked";
	} else if (_h.m == "toplist") {
		url += "blogs";
	} else {
		url += _h.m;
	}

	var obj_id = $(_obj).attr('data-id');
	var state = History.getState();

	var state_url = state.url.replace(window.location.protocol +'//'+ window.location.host, '');

	if (state_url == url) {
		loadfromsidebar_handle(obj_id, _h);
	} else {
		History.pushState({type:'feed', obj_id:obj_id, _h:_h}, getCurTitle(), url);
	}

	return false;
}
function loadfromsidebar_handle(obj_id, _h)
{
	var _obj	= null;
	var blog_id	= null;

	BL.Content.hideNews();
	$('#message_getstarted').hide();

	if (obj_id == "blog") {
		var blog_id = cur_blog_id = _h;
	} else {
		var _obj = $('a[data-id='+ obj_id +']');
	}

	$('#feed_messages .unfollow, .topbutton_dropdown').hide();
	$('.topbutton').removeClass('pressed');

	BL.Sidebar.deselectAll();

	$('#selectgroup_mes').hide().appendTo('#shoopwoop');

	/*
	// Change the text of the "Mark all as read" button
	if (typeof(markasread_text = LANG['feed_markread_'+ _h.m]) != 'undefined')
	{
		$('#markasread').html(markasread_text);
	}
	*/

	//$('#markasread_holder').hide();

	cur_top_pos			= typeof(_h.top_pos) == 'undefined' ? cur_top_pos : _h.top_pos;
	cur_cat_id			= typeof(_h.cat_id) == 'undefined' ? cur_cat_id : _h.cat_id;
	cur_page	= 1;

	switch (_h.m)
	{
	case 'all':
		BL.Sidebar.setAll();
		break;
	case 'group':
		BL.Sidebar.setGroup(_h.fid);
		break;
	case 'blog':
		BL.Sidebar.setBlog(_h.b);
		break;
	case 'liked':
		BL.Sidebar.setLike();
		break;
	default:
	}

	BL.Sidebar.checkUnread();

	if (_h.m == 'blog') {
		var blog_id = parseInt(_h.b);

		$('#unfollow_blog').show().attr('data-blog-id', blog_id);
	} else {
		$('#unfollow_blog').hide().removeAttr('data-blog-id');
	}

	if (_obj != null) {
		if (_h.m == 'blog') {
			_obj.parents('ul.sidebar-bloglist').show();
		} else if (_h.m == 'group') {
			_obj.next('ul.sidebar-bloglist').show();
		}

		_obj.addClass('active');
	}
	
	if (_obj != null && _obj.hasClass('toggle_sidebar'))
	{
		return false;
	}

	cur_blog_id = null;
	cur_feed_id = null;

	if (obj_id == 'blog') {
		cur_feed_mode = 'blog-profile';
	} else {
		cur_feed_mode = _h.m;
	}

	if (typeof(_h.b) != 'undefined') {
		cur_blog_id = _h.b;
	}
	
	if (typeof(_h.fid) != 'undefined') {
		cur_feed_id = _h.fid;
	} else if (cur_blog_id != null) {
		cur_feed_id = $('#b'+ cur_blog_id).parents('li.side-item.group').attr('data-group-id');
	}

	if (cur_feed_id != null) {
		$('#f'+ cur_feed_id).addClass('open');
	}
	
	loadPosts(false, true, _h);

	return false;
}

//#sidebar_list.active a

function hideLevels(_this) {
	$('.sidebar_wrapper_wrapper li').each(function() {
		var _f = false;

		if (_this != null) {
			$('a', this).each(function(i, _el) {
				if ($(_el).attr('data-id') == _this.attr('data-id')) {
					_f = true;
				}
			});
		}

		if ( ! _f) {
			$(_slideEl, this).filter(':not([data-group-id=1] ul)').hide(_duration);
			$(this).removeClass('active');
		}
	});
}

/**
 * Fixa...
 */
function postsReturn(ret)
{
	if(ret.nya && ret.nya > 0)
	{
		updateTitle(ret.total);
	//updateNewPosts(ret.nya);
	}
}

function updateTitle(number)
{
	document.title = 'Bloglovin (' + number + ')';
}

function getCurTitle() {
	var tmp_num 	= parseInt($('#total_sidebar_count').html());
	var tmp_title 	= 'Bloglovin';

	if ( ! isNaN(tmp_num)) {
		tmp_title = 'Bloglovin (' + tmp_num + ')';
	}
	
	return tmp_title;	
}
