// JavaScript Document

function getAjax(){
	var ajax = false;
	if(window.XMLHttpRequest){//Mozzila
		ajax = new XMLHttpRequest();
		ajax.overrideMimeType('text/xml; charset=iso-8859-1');  
	} else if(window.ActiveXObject){//IE
		ajax = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return ajax;
}
/*
Modo de usar:

//criar o objeto que vai receber a resposta. É tipo uma classe VO
var obj = new Object();
obj.resposta = function(respostaArray){
		//se quiser parsear no padrão do fácil use parseXML()
	alert("resultado do ajax foi:"+rparseXML(espostaArray)[0]);
}
//usar a função [para enviar o ajax, passando os parametros e a página que vai receber o ajax
sendAjax(new Array(), obj, "templates/flash/result.xml");
*/
function sendAjax(arrayVariaveis, obj, arquivo){
//	alert("arrayVariaveis:"+arrayVariaveis);
	var variaveis = "?ajax&";
	for(var i = 0; i < arrayVariaveis.length; i++){
		variaveis += ""+arrayVariaveis[i][0]+"="+arrayVariaveis[i][1];
		//arquivo=1&
		if(arrayVariaveis.length-1 > i){
			//tem próximo
			variaveis += "&";
		}
	}
	//
	if(arquivo == null || arquivo == undefined){
		arquivo = "includeAjax.php";
	}
	var ajax = new getAjax();
	if(ajax){
		ajax.onreadystatechange = function(){
			if(ajax.readyState == 4){
				if(ajax.status == 200){
					//alert("foi"+parseXML(ajax.responseText));
					obj.resposta(ajax.responseText);
					//document[funcao](parseXML(ajax.responseText));
				} else {
					obj.resposta(new Array(false, "erro ao efetuar"));
					//document[funcao](new Array(false, "erro ao efetuar"));
				}
			}//end if
		}
		ajax.open("GET", arquivo+variaveis, true);
		ajax.send(null);
	}
}
function parseXML(str){
	
	/*
	array de parametros tem que enviar assim:
		arrayParametros[N][0] nome do parametro
		arrayParametros[N][1] valor do parametro
	*/
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(str);
  }
catch(e)
  {
  		try //Firefox, Mozilla, Opera, etc.
    	{
    	parser=new DOMParser();
    	xmlDoc=parser.parseFromString(str,"text/xml");
		}catch(e) {
	  		alert(e.message);
		}
  }

	
	
	return retornaArrayDoXML(xmlDoc);
}
function retornaArrayDoXMLRSS(str){
	//retorna Array
	var xmlDoc = parseXML(str);
	var array = new Array();
	
}
function retornaArrayDoXML(xmlDoc){
	try{
		var array = new Array();
		array[0] = (Number(xmlDoc.getElementsByTagName("sucesso")[0].childNodes[0].nodeValue.toString()) > 0)? true : false;
		array[1] = xmlDoc.getElementsByTagName("resposta")[0].childNodes[0].nodeValue.toString();
		array[2] = xmlDoc.getElementsByTagName("comentario")[0].childNodes[0].nodeValue.toString();
		return array;
	}catch(e){
		alert("erro inesperado na resposta");
	}
}

	