function addNewBoardMessageJson(boardMessageId, boardName, num) {
	var newMesg = $("#newMessageTextfield"+boardMessageId).val();
	
	$.getJSON(
		urlAddBoardMessage,
		{
			message: newMesg,
			boardName: boardName
		},
		function(jsonResp) {
			for(arg in jsonResp) {
				$("#newMessageForm"+boardMessageId+" span.error").remove();
				if(jsonResp[0][0]!='SUCCESS') {
					out = '<span class="error">'+jsonResp[0][1]+'</span>';
					$("#newMessageForm"+boardMessageId).append(out);
				} else {
					$("#newMessageTextfield"+boardMessageId).val("");
					if($("#boardListMessages"+boardMessageId+" div.wrappager ul.pager li:first").attr("id")=='prev'){
						//Non sto visualizzando la prima pagina
						refreshFirstPage(boardMessageId, boardName, num, boardMessageId);
					} else {
						//Sto visualizzando la prima pagina
						synchronizeMessages(boardMessageId, boardName, num);
					}
				}
			}
		}
	);
	return false;
}

function deleteBoardMessageJson(boardMessageId, boardName, num, messageId) {
	var resultAnswer = confirm("Delete board messsage " + messageId + "?");
	if (resultAnswer) {
		$.getJSON(
			urlDeleteBoardMessage,
			{
				id: messageId
			},
			function(jsonResp) {
				for(arg in jsonResp) {
					$("#newMessageForm"+boardMessageId+" span.error").remove();
					if(jsonResp[0][0]!='SUCCESS') {
						out = '<span class="error">'+jsonResp[0][1]+'</span>';
						$("#newMessageForm"+boardMessageId).append(out);
					} else {
						refreshFirstPage(boardMessageId, boardName, num);
					}
				}
			}
		);
	}
	return false;
}

function refreshFirstPage(boardMessageId, boardName, num) {
	linkAction('boardMessages'+boardMessageId, '/tamtamy/unifiedMessage/boardMessage-containerId('+boardMessageId+')-firstResult(0)-numberOfResult('+num+')-boardName('+boardName+')-orderByDesc(creationDate).action', 'null');
}

function synchronizeMessages(boardMessageId, boardName, num) {
	$.getJSON(
		urlCheckNewBoardMessages,
		{
			jsonNumberOfMessagesPerPage: num,
			jsonOrder: 'orderByDesc(creationDate)',
			jsonBoardName: boardName
		},
		function(jsonResp) {
			// duplicato da togliere
			var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
			var replacement = "<a href=\"$1\">$1</a>";

			var mesgAlreadyPresentIds = new Array();
			$("#boardMessages"+boardMessageId+" .boardMessageListElement").each(
				function(i) {
					currentOldId = $(this).attr("id");
					mantain=false;
					for(arg in jsonResp){
						newMesgId = boardMessageIdBase+jsonResp[arg][0];
						if(currentOldId == newMesgId) {
							mantain=true;
						}
					}
					if(mantain) {
						mesgAlreadyPresentIds[i] = currentOldId;
					} else {
						//Remove old message
						$("#"+currentOldId).parent().slideUp("fast",
							function() {
								$("#"+currentOldId).parent().remove();
							}
						);
					}
				}
			);
			for(arg in jsonResp) {
				newMesgId = boardMessageIdBase+jsonResp[arg][0];
				var mesgAlreadyPresentIds_index = -1;
				if(navigator.appName == 'Microsoft Internet Explorer'){
			        for(i = 0; i < mesgAlreadyPresentIds.length; i++){
			            if(mesgAlreadyPresentIds[i] == newMesgId){
			            	mesgAlreadyPresentIds_index = i;
			            	break;
			            }
			        }
				}else{
					mesgAlreadyPresentIds_index = mesgAlreadyPresentIds.indexOf(newMesgId);
				}
				if(mesgAlreadyPresentIds_index >= 0) {
					//Untouch
				} else {
					//Add
					if(jsonResp[arg][0]!=undefined){
						out =	'<li ';
						if($("#boardMessages"+boardMessageId+" li:first").attr("class")!='alternate') {
							out	+=	' class="alternate" ';
						}
						out += 	' style="display: none;">'
							+	'	<p id="'+newMesgId+'" class="boardMessageListElement">'
							+	'		<img height="58" width="58" alt="Avatar" src="' +TT_BASE_URL_AVATAR+ '/'+jsonResp[arg][5]+'"/>'
							+	'		<a href="'+urlUser+'/id-'+jsonResp[arg][4]+'.action">'
							+	'			'+jsonResp[arg][1]+''
							+	'		</a>'
							+	'		'+jsonResp[arg][2].replace(regexp,replacement)
							+	'	<span><em>right now</em></span></p>'
							+	'</li>';
						if($("#boardMessages"+boardMessageId+" ul").size() == 0) {
							$("#boardMessages"+boardMessageId).append("<ul class='messages'></ul>");
						}
						if($("#boardMessages"+boardMessageId+" ul li").size() == 0) {
							$("#boardMessages"+boardMessageId+" ul").append(out);
						} else {
							$("#boardMessages"+boardMessageId+" ul li:first").before(out);
						}
						$("#"+newMesgId).parent().slideDown();
						$("#boardMessages"+boardMessageId+" #nocont").remove();
					}
				}
			}
		}
	);
	return false;
}