
// function sendMessages (msgboard, newCommentTemplate, formWaitingTemplate, buttonWaitingTemplate, successMsgTemplate, errorMsgTemplate, srcElemId, targetElemId ) {
function sendMessages (msgboard, botonEnviar) {

	var nombre = $F("nombre");
	var email = $F("email");
	var comentario = $F("comentario");

	comentario = encodeURIComponent(comentario);
	nombre = encodeURIComponent(nombre);

	if (nombre=="") {
		alert("Ingrese su nombre por favor.");
		$("nombre").focus();
		return false;
	}

	if (!validaEmail($("email"))) {
		$("email").focus();
		return false;
	}

	if (comentario=="" || comentario=="Escribe tu mensaje...") {
		alert("Ingrese un mensaje valido por favor.");
		$("comentario").focus();
		return false;
	}

	var oldButtonContent = $(botonEnviar).innerHTML;
	replaceLoading(botonEnviar, loaderImage);

	var url = '/app/application';
	var pars = 	"action=msgBoard"+
				"&mensaje="+comentario+
				"&nombreAutor="+nombre+
				"&msgboard="+msgboard+
				"&email="+email;

	new Ajax.Request(url,{	
		method:'POST',
		parameters: pars,
		encoding: 'ISO-8859-1',
		requestHeaders: {Accept: 'application/x-json'},
		onSuccess : function() {
			$(botonEnviar).innerHTML = oldButtonContent;
			$("nombre").value = "";
			$("email").value = "";
			$("comentario").value = "";
			$("aprobacion").show();
			$("comentar").hide();
			//alert("Su mensaje será publicado cuando el administrador lo apruebe.");
		},
		onFailure: function(){
			alert("Failure");
		}
	});

}

function getMessages(msgboardId, quantity, hours) {

	if (msgboardId == '' || msgboardId == null) {
		return;
	}
	if (quantity < 0) {
		return;
	}
	if (hours < 0) {
		return;
	}

	replaceLoading("listaComentarios", loaderImage);

	var url = '/app/application';
	var pars = 	"action=getMessages"+
				"&msgboardId="+msgboardId+
				"&quantity="+quantity+
				"&hours="+hours;

	new Ajax.Request(url,{	
		method:'POST',
		parameters: pars,
		encoding: 'ISO-8859-1',
		requestHeaders: {Accept: 'application/x-json'},
		onSuccess: successGetMessages,
		onFailure: function(){
			target.innerHTML = "<div>Ha ocurrido un problema para listar los comentarios, intente luego.</div>";
		}
	});
}

function successGetMessages(resp) {

	var respData = resp.responseText.evalJSON(true);
	var msg = respData.msg;
	var data = respData.data;
	var error = respData.error;

	var containerComments = $("listaComentarios");
	var templateComments = new Template($("templateComments").innerHTML.replace(/#%7B([a-zA-Z0-9_-]+)%7D/gi, "#{$1}"));

	if (error == "0") {
		var outStr = "";
		data.each(function(item) {
			outStr += templateComments.evaluate(item);
		});
		if (outStr != "") {
			containerComments.innerHTML = outStr;		
		} else {
			containerComments.innerHTML = "<p>No hay comentarios.</p>"
		}
	} else {
		containerComments.innerHTML = "<div>"+respData.errorMsg+"</div>";
	}

}

function getNumberComments(msgBoardsIds) {

	var url = '/app/application';
	var params = "action=getNumberComments&sc="+siteCode+"&msgBoardsIds="+msgBoardsIds;

	new Ajax.Request(url,{	
		method:'POST',
		parameters: params,
		encoding: 'ISO-8859-1',
		requestHeaders: {Accept: 'application/x-json'},
		onSuccess: successGetNumberComments,
		onFailure: function(){
			//target.innerHTML = "<div>Ha ocurrido un problema para listar la cantidad de comentarios, intente luego.</div>";
		}
	});
	
}

function successGetNumberComments(resp) {

	var dataResp = resp.responseText.evalJSON();
	var mapa = $H(dataResp.arreglo);
	if (mapa) {
		mapa.each(function(separa) {
			tmpMsgBoardId = separa.key;
			tmpComment = separa.value;
			if ($('comment_'+tmpMsgBoardId)) {
				$('comment_'+tmpMsgBoardId).innerHTML = tmpComment;
			}
		});
	}

}
