// ************************************************************************************
// IdeasAndComments
// ************************************************************************************
// methods
Competir.Web.UI.Webparts.IdeasAndComments.prototype.showWorkingProgress = function(action)
{
	switch (action)
	{
		case "ideasandcomments.content.render":
			var objContainer = this.getContentsContainer();
			if (objContainer)
			{
				switch (objContainer.tagName.toLowerCase())
				{
					case "object":
					case "embed":
						if (objContainer.showWorkingProgress)
						{
							objContainer.showWorkingProgress();
						}
						break;
					default:
						Competir.Web.UI.Webparts.IdeasAndComments.callBaseMethod(this, "showWorkingProgress");
						break;
				}
			}
			else
			{
				Competir.Web.UI.Webparts.IdeasAndComments.callBaseMethod(this, "showWorkingProgress");
			}
			break;
		default:
			Competir.Web.UI.Webparts.IdeasAndComments.callBaseMethod(this, "showWorkingProgress");
			break;
	}
};
Competir.Web.UI.Webparts.IdeasAndComments.prototype.hideWorkingProgress = function(action)
{
	switch (action)
	{
		case "ideasandcomments.content.render":
			var objContainer = this.getContentsContainer();
			if (objContainer)
			{
				switch (objContainer.tagName.toLowerCase())
				{
					case "object":
					case "embed":
						if (objContainer.hideWorkingProgress)
						{
							objContainer.hideWorkingProgress();
						}
						break;
					default:
						Competir.Web.UI.Webparts.IdeasAndComments.callBaseMethod(this, "hideWorkingProgress");
						break;
				}
			}
			else
			{
				Competir.Web.UI.Webparts.IdeasAndComments.callBaseMethod(this, "hideWorkingProgress");
			}
			break;
		default:
			Competir.Web.UI.Webparts.IdeasAndComments.callBaseMethod(this, "hideWorkingProgress");
			break;
	}
};
Competir.Web.UI.Webparts.IdeasAndComments.prototype.printMessage = function(text)
{
	var objOutput = this.getChild("divOutput");
	if (objOutput)
	{
		Competir.Web.UI.setInnerHTML(objOutput, text);
	}
	else
	{
		alert(text);
	}
};
Competir.Web.UI.Webparts.IdeasAndComments.prototype.clearMessage = function()
{
	var objOutput = this.getChild("divOutput");
	if (objOutput)
	{
		Competir.Web.UI.setInnerHTML(objOutput, "");
	}
};

// event delegates
Competir.Web.UI.Webparts.IdeasAndComments.prototype._onApplicationLoad = function(o)
{
	if (this.get_Mode() == "Regular")
	{
		var objContainer = this.getContentsContainer();
		if (objContainer)
		{
			switch (objContainer.tagName.toLowerCase())
			{
				case "object":
				case "embed":
					var objParent = objContainer.offsetParent;
					if (objParent)
					{
						objContainer.height = objParent.clientHeight;
					}
					break;
				default:
					this.renderContent();
					break;
			}
		}
	}
};
Competir.Web.UI.Webparts.IdeasAndComments.prototype._onOperationStarted = function(sender, args)
{
	switch (sender.get_Command())
	{
		case "ideasandcomments.content.render":
		case "comments.post":
			this.clearMessage();
			this.showWorkingProgress(sender.get_Command());
			break;
	}
};
Competir.Web.UI.Webparts.IdeasAndComments.prototype._onOperationSucceeded = function(sender, args)
{
	switch (sender.get_Command())
	{
		case "ideasandcomments.content.render":
			this.hideWorkingProgress(sender.get_Command());
			var objContainer = this.getContentsContainer();
			if (objContainer)
			{
				switch (objContainer.tagName.toLowerCase())
				{
					case "object":
					case "embed":
						if (objContainer.cargarXML)
						{
							objContainer.cargarXML(sender.get_Result());
						}
						break;
					default:
						Competir.Web.UI.setInnerHTML(objContainer, sender.get_Result());
						break;
				}
			}
			break;
		case "comments.post":
			this.hideWorkingProgress(sender.get_Command());
			if (sender.get_Result() == "true")
			{
				var objTxtComment = this.getChild(this.get_TxtCommentClientID());
				if (objTxtComment)
				{
					objTxtComment.value = "";
				}
				if (this.get_Mode() == "Regular" && this.get_AKInstanciaEstadoPublicacion().toLowerCase() == "publicado")
				{
					this.renderContent();
				}
				this.printMessage("¡Gracias por tu comentario!");
			}
			else
			{
				this.printMessage("Se produjo un error al intentar guardar el comentario.");
			}
			break;
	}
};
Competir.Web.UI.Webparts.IdeasAndComments.prototype._onOperationFailed = function(sender, args)
{
	switch (sender.get_Command())
	{
		case "ideasandcomments.content.render":
			this.hideWorkingProgress(sender.get_Command());
			this.printMessage("Ocurrió un error al intentar obtener los datos.<br/><br/>" + sender.get_LastError().get_message().replace("\r\n", "<br/>"));
			break;
		case "comments.post":
			this.hideWorkingProgress(sender.get_Command());
			this.printMessage("Ocurrió un error al intentar guardar el comentario.<br/><br/>" + sender.get_LastError().get_message().replace("\r\n", "<br/>"));
			break;
	}
};