function clickContentListPager(containerId) {

	if ($('div.lastContents-' + containerId + ' ul.pager li.next a ').length == 1) {
		$('div.lastContents-' + containerId + ' ul.pager li.next a ').click();
	} else {
		$('div.lastContents-' + containerId + ' ul.pager li:nth-child(2) a').click();
	}
	
}

function advisorImposeMaxLength(Event, Object, MaxLen) {
	return (Object.value.length <= MaxLen)||(Event.keyCode == 8 ||Event.keyCode==46||(Event.keyCode>=35&&Event.keyCode<=40));
}

function initModalDialog(dialogObjClass, dialogTitle) {
    $(document).ready(function(){
            $("." + dialogObjClass).dialog({
            	autoOpen	: false,
            	modal		: true,
            	draggable	: false,
            	resizable	: false,
            	width		: '550px',
            	title		: dialogTitle,
            	closeText	: 'Chiudi',
            	dialogClass : dialogObjClass
            });
    });
}

/* Live Board Stuff below */

var _container = '';
sendLiveMessage = function() {
	$(this).addClass('waiting');
	_container = $(this).closest('div.liveboard');
	_msg = $('textarea', _container).val();
	_contentID = $(".submit_contentID", _container).val();
	
	if(typeof _msg != 'undefined' && _msg.length > 0) {
		$.post(CONTEXT_PATH + '/live/sendComment.action',{"text":_msg,"contentID":_contentID}, function(json) {
			if(json == 0) {
				$('textarea', _container).val('');
				$('.liveboard-output-error', _container).hide();
				
				_sel = '.liveboard-output-success';
				slowlyShow(_sel);
				setTimeout("slowlyHide('"+_sel+"')", 5000);
			} else {
								
			}
			$(this).removeClass('waiting');
		});
	}

	return false;
}

$(function(){
	$('.message-send').click(sendLiveMessage);
});

function slowlyHide(selector) {
	slowlyMotion(selector, 'hide');
}
function slowlyShow(selector) {
	slowlyMotion(selector, 'show');
}
function slowlyMotion(selector, type) {
	if(_container != '') {
		element = $(selector, _container);
		if(type == 'show') {
			element.fadeIn(500);
		} else {
			element.fadeOut(500);
		}		
	}
}

function toggleSuggestionForSpeaker(commentID) {
	$.post(CONTEXT_PATH + '/json/suggestForSpeaker.action',
			{"commentId":commentID},
			function(response) {
				_value = response.suggestedForSpeaker;
				_element = $("a.suggest[message-id=" + commentID + "]"); 
				_element.toggleClass("off").toggleClass("on");
				return false;
			});	
	return false;
}

function toggleSelectionBySpeaker(commentID) {
	$.post(CONTEXT_PATH + '/json/approveBySpeaker.action',
			{"commentId":commentID},
			function(response) {
				_element = $("a.select[message-id=" + commentID + "]"); 
				_value = response.approvedBySpeaker;
				_element.toggleClass("off").toggleClass("on");
				return false;
			});
	return false;
}

function refreshLiveBoard(widgetID, contentIDsArrayStr, allowSpeakerSuggestion, allowSpeakerSelection, approvedBySpeaker, suggestedForSpeaker, immediateShowing, showMessageOrdinal, userCanToggle) {
	_thisContainer = $('#'+widgetID);
	var messageIDs = [];
	var itemIDs = '';
	$('div.liveboard-item', _thisContainer).each(function(i,e) {
		_mid = $(this).attr('message-id');
		itemIDs += _mid + ';';
		messageIDs[messageIDs.length] = _mid;
	});
	$.post(CONTEXT_PATH + '/json/findNewUpdates.action',
		{	"itemIDs":itemIDs, "contentIDsArrayStr":contentIDsArrayStr,
			"approvedBySpeakerStr":approvedBySpeaker,"suggestedForSpeakerStr":suggestedForSpeaker},
		function(response) {
			_commentsToRemove = response.commentToRemoveIDs;
			for(_j=0; _j<=_commentsToRemove.length;_j++) {
				$('div.liveboard-item[message-id='+_commentsToRemove[_j]+']', _thisContainer).fadeOut(500).remove();
			}
			
			_commentsToAdd = response.newComments;
			if(typeof _commentsToAdd != 'undefined' && _commentsToAdd.length > 0) {
				if(immediateShowing) {
					//for(_j=_commentsToAdd.length -1; _j>=0;_j--) {
					for(_j=0; _j < _commentsToAdd.length; _j++) {
						_c = buildCommentRow(_commentsToAdd[_j], allowSpeakerSuggestion, allowSpeakerSelection, showMessageOrdinal, userCanToggle);
						$('div.liveboard-stream', _thisContainer).prepend(_c);
					}
					
					$($('div.liveboard-item.hidden', _thisContainer).get().reverse()).each(function(i,e){
						$(this).hide().removeClass('hidden').addClass('justShownMessage').fadeIn(700);
						setTimeout('removeJustShownMessage('+$(this).attr('message-id')+')', 3000);
					});
				} else {
					_previousHiddenMsg = $('div.liveboard-item.hidden').size();
					_totalHiddenMsg = _previousHiddenMsg + _commentsToAdd.length;
					if(_totalHiddenMsg == 1) {
						_m = "1 nuovo messaggio";
					} else {
						_m = _totalHiddenMsg + " nuovi messaggi";
					}
					_openLink = '<a href="#" onclick="return showNewMessages(\''+_thisContainer.attr('id')+'\', '+_commentsToAdd.length+');">'+_m+'</a>';
					$('div.liveboard-updates', _thisContainer).html(_openLink).fadeIn();
					//for(_j=_commentsToAdd.length -1; _j>=0;_j--) {
					for(_j=0; _j < _commentsToAdd.length; _j++) {
						_c = buildCommentRow(_commentsToAdd[_j], allowSpeakerSuggestion, allowSpeakerSelection, showMessageOrdinal, userCanToggle);
						$('div.liveboard-stream', _thisContainer).prepend(_c);
					}
				}
			}
			refreshAllOrdinals();
	});
}

function refreshAllOrdinals() {
	$('.ordinalText', _thisContainer).each(function(i,e) {
		$(this).html(i+1);
	});
}

function removeJustShownMessage(messageID) {
	$('div[message-id='+messageID+']').removeClass('justShownMessage');
	return false;
}

function showNewMessages(widgetID, offset) {
	_thisContainer = $('#'+widgetID);
	$('div.liveboard-item', _thisContainer).removeClass('hidden');
	$('div.liveboard-updates', _thisContainer).fadeOut();
	return false;
}

function buildCommentRow(commentBean,allowSpeakerSuggestion, allowSpeakerSelection, showMessageOrdinal, userCanToggle) {
	_o = '';
	if(typeof commentBean != 'undefined' ) {
		_o = '<div class="liveboard-item hidden ';
		if(commentBean.suggestedForSpeaker) { _o += 'suggested'; };
		if(commentBean.approvedBySpeaker) { _o += 'selected'; };
		_o += '" message-id="'+commentBean.id+'"><div class="message-image"><img id="lightAvatarImage" src="';
		_o += avatarBaseUrl + '/' + commentBean.userAvatar + '" />';
		if(showMessageOrdinal) {
			_o += '<span class="ordinalText">&nbsp;</span>';
		}
		_o += '</div><div class="message-content">';
		_o += '<div class="row author"><span class="author">'+commentBean.userFullName+'</span></div>';
		_o += '<div class="row text">'+commentBean.comment+'</div>';
		_o += '<div class="row channel"><span class="channel-name">'+commentBean.channelStr+'</span></div>';
		_o += '<div class="row info">';
		_o += '<span class="date">'+commentBean.creationDateStr+'</span>';
		_o += '<span class="liveboard-actions">';

		if(allowSpeakerSelection && userCanToggle) {
			_o += ' <a class="select ';
			if(commentBean.approvedBySpeaker) { _o+='on'; }else{ _o+='off';}
			_o += '" href="#" onclick="return toggleSelectionBySpeaker('+commentBean.id+');" message-id="'+commentBean.id+'" ';
			_o += ' title="Seleziona questo messaggio">select</a>';
		}

		if(allowSpeakerSuggestion && userCanToggle) {
			_o += ' <a class="suggest ';
			if(commentBean.suggestedForSpeaker) { _o+='on'; }else{ _o+='off';}
			_o += '" href="#" onclick="return toggleSuggestionForSpeaker('+commentBean.id+');" message-id="'+commentBean.id+'" ';
			_o += ' title="Suggerisci questo messaggio">suggest</a>';
		}
		_o += '</span></div></div></div>';
	}
	return _o;
}

function showMoreMessages(element, widgetID, contentIDsArrayStr, allowSpeakerSuggestion, allowSpeakerSelection, showMessageOrdinal, userCanToggle) {
	waitClass = 'waiting';
	$(element).addClass(waitClass);
	_lastCID = $('div.liveboard-item:last').attr('message-id');
	$.post(CONTEXT_PATH + '/json/getMoreUpdates.action',
			{"commentId":_lastCID, "contentIDsArrayStr":contentIDsArrayStr},
			function(response) {
				_oldestMessages = response.oldestComments;
				for(_j=0; _j < _oldestMessages.length; _j++) {
					_oldMessage = _oldestMessages[_j];
					_c = buildCommentRow(_oldMessage, allowSpeakerSuggestion, allowSpeakerSelection, showMessageOrdinal, userCanToggle);
					$('div.liveboard-stream', $('#'+widgetID)).append(_c);
					$('div.liveboard-item[message-id='+_oldMessage.id+']').removeClass('hidden').hide().fadeIn(500);
				}
				
				$(element).removeClass(waitClass);
				return false;
			}
	);
	return false;
}

/* Live Board Stuff above */
