/*DEPENDENCIA gametube-functions.js*/
//classe ajax
function AjaxRequest()
{
	this._requestSend=false;	
	this.createObjectMSXMLHttp = function()
	{
		var versoes = [ "MSXML2.XMLHttp.5.0",
						"MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
						"MSXML2.XMLHttp","Microsoft.XMLHttp"
				];
		
				for (var i = 0; i < versoes.length; i++) {
					try {
						var objetoXMLHttp = new ActiveXObject(versoes[i]);
						return objetoXMLHttp;
					} catch (ex) {
						//nada aqui
					}
				}
				return false;
	}
	this.getXMLHttp	= function()
	{
		if (window.XMLHttpRequest) { // Mozilla, Safari, ...
			return new XMLHttpRequest();
		} else if (window.ActiveXObject) { // IE
			return this.createObjectMSXMLHttp();
		}
		else
		{
			return false;
		}
	}
	
	//responde se tem suporte a ajax
	this.hasSuport = function()
	{
		return this.XMLHttp;
	}
	
	//funcao que retorna uma resposta via ajax
	this.request = function (url,method,objRet,objMsg)
	{	
		var ajax = this;	
		//valida o request
		if(this._requestSend )
		{
			return;
		}
		this._requestSend = true;
		
		var XMLHttp = this.XMLHttp;
		ajax.objRet = objRet;
		ajax.objMsg = objMsg;
		XMLHttp.open(method, url, true);
		XMLHttp.onreadystatechange = function() 
		{	
			//após ser processado - chama função processarXML que vai varrer os dados
	   		if(XMLHttp.readyState == 4 ) 
	   		{
				if (XMLHttp.status == 200) 
				{				
					ajax.parseXML(XMLHttp.responseXML);			
				}
				else 
				{
					ajax.sendMsg('Erro ao carregar os dados-Código 2 Status' + XMLHttp.status  );
					return;
				}
			   
	    	}
	 	}
	 	ajax.XMLHttp.send(null);
	}
	
   this.parseXML = function (obj)
   {
		try
		{
			//pega a tag livro do XML
			var capsula   = obj.getElementsByTagName("capsula");
			//total de elementos contidos na tag livro
			if(capsula.length > 0) 
			{
				
				 //percorre o arquivo XML paara extrair os dados         
				 for(var i = 0 ; i < capsula.length ; i++) 
				 {
					var item = capsula[i];
					//contéudo dos campos no arquivo XML
					var dados    =  item.getElementsByTagName("dados")[0].firstChild.nodeValue;
					this.sendData(dados);
			    }
			
		     }
	     }
	     catch(e)
	     {
	     	this.sendMsg("Erro ao retornar dados.");
	     }
   }
   
   this.sendMsg = function (msg)
   {     
		this.objMsg.innerHTML=replaceAll(msg,"/_","&");

   }
      
   this.sendData = function (dados)
   {     
		this.objRet.innerHTML=decodeEntityName(dados,false,'');
   }

	//inica a variavel de classe (obrigatorio ser apos as funcoes pois usa elas)
	this.XMLHttp = this.getXMLHttp();
}
 