function initTopBar()
{
	jQuery('#TopBar input:text')
		.each(function()
			{
				var i = jQuery(this);
				if (jQuery.trim(i.val()) == '')
					i.val(i.attr('title'));
			})
		.click(function()
			{
				var i = jQuery(this);
				if (jQuery.trim(i.val()) == jQuery.trim(i.attr('title')))
					i.val('');
			})
		.blur(function()
			{
				var i = jQuery(this);
				if (jQuery.trim(i.val()) == '')
					i.val(i.attr('title'));
			})	
}

function initFeaturedCampaignCycle()
{
	var fcs = jQuery('#sidebar .widget_text');
	if(fcs.size() > 0)
		fcs.find('.cycle').cycle({timeout: 8000, pause: true});
}

function isPostPage()
{
	return ($('.SinglePost').size() > 0)
}

function initTagPreview()
{
	if(isPostPage())
	{
		var tags = jQuery('.entry a[rel=tag]:lt(3)');
		var tagsNo = tags.size();
		var tagPostsWrapper = jQuery('#RelatedPosts');
		tagPostsWrapper.css('visibility', 'hidden');
		tagPostsWrapper.append('<span>Related posts: </span>');
		
		if(tagsNo > 0)
		{
			getPostByTag(tags, 0, tagPostsWrapper);
		}
	}
}

function getPostByTag(tagLinks, currentTagIndex, resultsWrapper)
{
	var tagLinks = tagLinks;
	var currentTagIndex = currentTagIndex;
	var resultsWrapper = resultsWrapper;
	
	var tagLink = tagLinks.filter(':eq(' + currentTagIndex + ')');

	jQuery
		.ajax({
			url: tagLink.attr('href'),
			success: function(HTML)
				{
					var htmlStr = new String(HTML);
					var regExFilter = new RegExp("(^<[^\^]*<\/head>$)|(<body>)|(<\/body>[^\^]*<\/html>)", "mig");
					htmlStr = htmlStr.replace(regExFilter, "");
					
					var tmpWrapper = jQuery('<div style="display:none"></div>');
					tmpWrapper.appendTo('body');
					tmpWrapper.html(htmlStr);
					
					var res = tmpWrapper.find('.post h2 a[href!=' + location + ']:first');
					if(res.size() > 0)
					{
						var linkWrapper = jQuery('<span>' +  ', </span>');
						res.appendTo(resultsWrapper);
						jQuery('<span class="sep">, </span>').appendTo(resultsWrapper);
					}
					
					tmpWrapper.remove();
					
					var newSearchIndex = currentTagIndex + 1;
					if(newSearchIndex < tagLinks.size())
						getPostByTag(tagLinks, newSearchIndex, resultsWrapper);
					else
					{
						resultsWrapper.find('.sep:last').remove();
						if(resultsWrapper.find('a').size() > 0)
							resultsWrapper.css('visibility', 'visible');
					}
						
				}
		      })
}

function initAuthorRMLinks()
{
	var AuthorBox = $('#AuthorBox');
	if(AuthorBox.size() > 0)
	{
		var description = AuthorBox.find('#Description');
		var readMoreLink = $('<a href="#readmore" class="lnkReadMore">more...</a>');
		description.after(readMoreLink);
		readMoreLink
			.click(function(){
					var lnk = jQuery(this);
					lnk.css('display', 'none');
					lnk.parent().find('#Description').css({height: 'auto', overflow: 'visible'});
					return false;
				})
	}
}

function formatTimeSince(refTime) { // refTime - UNIX timestamp in miliseconds
	var dref = new Date(refTime);
	var refTime = dref.getTime();
	
	var d = new Date();
	refTime = refTime / 1000;
	var timeNow = Math.round(d.getTime()/1000); // d.getTime() returns UNIX timestamp in miliseconds
	var timeSince = Math.round(timeNow - refTime);
	if (timeSince < 60) {
		return 'Posted ' + timeSince + " sec ago";
	} else if (timeSince < 3600) {
		return  'Posted ' + Math.round(timeSince / 60) + " min ago";
	} else if (timeSince < 86400) {

		var hh = Math.floor(timeSince / 3600);
		var mm = Math.round((timeSince - (hh * 3600)) / 60);

		return 'Posted ' + hh + " hours " + mm + " minutes ago";
	} else {
		return 'Posted ' + Math.round(timeSince / 86400) + " days ago";
	}
}

jQuery(function(){
	initTopBar();
	initFeaturedCampaignCycle();
//	initTagPreview();
	initAuthorRMLinks();
})
