var Shoutbox = {
	isOwner : false,
	ownerId : false, 
	pageNumber : 1, 
	oBg: '',
	loadMessages : function(ownerId, pageNumber) {
		var container = jQuery('#ltr_baloons');
		container.empty();
		isOwner = this.isOwner;
		this.ownerId = ownerId;
		this.pageNumber = pageNumber;
		var oBg = jQuery('.ltrFeelingBtn').css('background-image');
		jQuery('.ltrFeelingBtn').css('background-image', 'url(/img/loading.gif)');
		jQuery('.ltrFeelingBtn').attr('disabled', 'disabled');

		jQuery.get(
			'/shoutbox/fetch.json', 
			{ownerId: ownerId, page: pageNumber, rnd: Math.random()}, 
			function(response) {
				for (var i in response) {
					if (response[i].message) {
						message = response[i];
						var baloon = '<div class="baloon">'
									+ '	<div class="ltrTopRightRndBg">&nbsp;</div>'
									+ '	<div class="ltrRightClnContent">'
									+ '		<a href="' + message.profileLink + '" class="ltrUserThumbBaloon" ><img src="' + (message.profilePhoto ? message.profilePhoto : '/img/icons/userDefault100.gif') + '" alt="" width="60" /></a>'
									+ '		<div class="ltrBaloonContent">'
									+ '			<p class="ltrFont11"><a href="' + message.profileLink + '"><strong>' + message.senderName + '</strong></a>, ' 
													+ message.timeAgo 
									+ (isOwner ? ' <a href="#" onclick="Shoutbox.deleteMessage(\'' + message.messageId + '\'); return false;">[delete]</a>' : '')
									+ '			</p>'
									+ '			<p>' + message.message + '</p>'
									+ '			<p class="ltrFont11"><a href="#">Comment</a></p>'
									+ '		</div>'
									+ '	</div>'
									+ '	<div class="ltrBottomRightRndBg">&nbsp;</div>'
									+ '</div>';
						container.append(baloon);
					}
				}
				if (response.numPages > 0)
				{
					var pagination = '<div class="paging">'
									+ '<strong>Page</strong> ' + pageNumber + ' of ' + response.numPages + ' : ';
					startPage = pageNumber - 4;
					if (startPage < 1)
						startPage = 1;
					endPage = startPage + 7;
					if (endPage > response.numPages)
						endPage = response.numPages;
					startPage = endPage - 7;
					if (startPage < 1)
						startPage = 1;

					if (startPage > 1)
						pagination += '<a href="#" onclick="Shoutbox.loadMessages(\'' + ownerId + '\', ' + (pageNumber - 1) + '); return false;">&lt;</a>';
					for (var i=startPage; i<=endPage; i++) {
						pagination += i == pageNumber ? '<strong>' + i + '</strong>' : '<a href="#" onclick="Shoutbox.loadMessages(\'' + ownerId + '\', ' + i + '); return false;">' + i + '</a>';
					}
					if (endPage < response.numPages)
						pagination += '<a href="#" onclick="Shoutbox.loadMessages(\'' + ownerId + '\', ' + (pageNumber + 1) + '); return false;">&gt;</a>';
					pagination += '</div>';
					container.append(pagination);
					container.prepend(pagination);
				}
				jQuery('.ltrFeelingBtn').css('background-image', oBg);
				jQuery('.ltrFeelingBtn').attr('disabled', '');
			}, 
			'json'
		);
	}, 

	sendMessage : function(ownerId) {
		var form = jQuery('#shoutboxForm');
		var message = jQuery('#shoutboxMessage').val();
		pageNumber = this.pageNumber;
		if (!message.length) {
			return false;
		}
		var data = 'data[Shoutbox][message]=' + message + '&data[Shoutbox][to_user_id]=' + ownerId;

		var oBg = jQuery('.ltrFeelingBtn').css('background-image');
		this.oBg = oBg;
		jQuery('.ltrFeelingBtn').css('background-image', 'url(/img/loading.gif)');
		jQuery('.ltrFeelingBtn').attr('disabled', 'disabled');

		jQuery.post(form.attr('action'), data, function(response) {
			if (response) {
				eval(response);
				if (sendMessageSuccess) {
					jQuery('#shoutboxMessage').val('');
					jQuery('.ltrFeelingBtn').css('background-image', oBg);
					jQuery('.ltrFeelingBtn').attr('disabled', '');
					Shoutbox.loadMessages(ownerId, pageNumber);
				}
			}
		});
	}, 

	deleteMessage : function(messageId) {
		if (confirm(msg.translate('comments01'))) {
			pageNumber = this.pageNumber;
			ownerId = this.ownerId;
			var data = '?1&data[Shoutbox][message][' + messageId + ']=1';

			var oBg = jQuery('.ltrFeelingBtn').css('background-image');
			jQuery('.ltrFeelingBtn').css('background-image', 'url(/img/loading.gif)');
			jQuery('.ltrFeelingBtn').attr('disabled', 'disabled');

			jQuery.post('/shoutbox/delete', data, function(response) {
				if (response) {
					jQuery('.ltrFeelingBtn').css('background-image', oBg);
					jQuery('.ltrFeelingBtn').attr('disabled', '');
					Shoutbox.loadMessages(ownerId, pageNumber);
				}
			});
		}
	},

	displayError : function (errorText)
	{
		var html = jQuery("<div id='dialogError' style='display:none;'>" + errorText + "</div>");
		jQuery('body').append(html);
		html.css('top', jQuery('.ltrFeelingBtn').offset().top-90);
		html.css('left', jQuery('.ltrFeelingBtn').offset().left);
		html.fadeIn("slow");
		var oBg = jQuery('.ltrFeelingBtn').css('background-image');
		jQuery('.ltrFeelingBtn').css('background-image', this.oBg);
		jQuery('.ltrFeelingBtn').attr('disabled', '');
		setTimeout("jQuery('#dialogError').fadeOut();", 6000);
	}

};