// ************************************************************
// Ajax Manager Object
// ************************************************************
function AjaxManagerIgMusic(objName, usecache)
{
	//Properties
	this.manager = new AjaxManager(objName + ".manager", usecache);
	
	//Methods
	this.Add = _AjaxManagerIgMusic_Add;
	this.AddDefault = _AjaxManagerIgMusic_AddDefault;
	
	function _AjaxManagerIgMusic_AddDefault(url, divId, notify, post, trigger)
	{
		if(notify)
		{
			this.manager.Add(url, DefaultParser, CreateLoading, EvalHtmlJavaScript, DestroyLoading, divId, post);
		}
		else
		{
			this.manager.Add(url, DefaultParser, null, EvalHtmlJavaScript, null, divId, post);
		}
		this.Trigger = trigger;
	}
	
	function _AjaxManagerIgMusic_Add(url, parseMethod, requestBegin, requestEnd, requestError, trigger)
	{
		this.manager.Add(url, parseMethod, requestBegin, requestEnd, requestError);
		this.Trigger = trigger;
	}
}
/* -------------------------------------------------------------
/ Evaluate JavaScript
/ -------------------------------------------------------------*/
function EvalHtmlJavaScript()
{
	//s&oacute; para n&atilde;o dar pau. est&aacute; incorreto
	if(this.RequestError)
	{
		DestroyLoading();
	}
	
	var html = this.httpRequest.responseText;

	var regex = new RegExp("<script[^>]*>[^/]*//VIEW SCRIPT[^<]*</script>");

	if(html.match(regex) != null)
	{
		var result = html.match(regex)[0].toString();
		if (result != null)
		{
			result = result.replace(/<script[^>]*>/, "").replace("</script>", "");
			eval(result);
		}
	}
}

/* -------------------------------------------------------------
/ Default parser
/ -------------------------------------------------------------*/
function DefaultParser()
{
	if(this.httpRequest.status == 200)
	{
		var html = this.httpRequest.responseText;
		
		var div = document.getElementById(this.parameters);
		if(div != null)
		{
			div.innerHTML = html;
			if(genericManager.Trigger)
			{
				genericManager.Trigger();
			}
		}
	}
}