
//Start phpRequest Object
function HTMLRequest(url) {
  //Set some default variables
	this.parms = new Array();
	this.parmsIndex = 0;
	
	//Set the server url
	this.server = url;
	
	//Add two methods
	this.execute = HTMLRequestExecute;
	this.getPlainText = HTMLRequestExecute;
	this.add = HTMLRequestAdd;
}

function HTMLRequestAdd(name,value) {
	//Add a new pair object to the params
	this.parms[this.parmsIndex] = new Pair(name,value);
	this.parmsIndex++;
}

function HTMLRequestExecute(tipo) {
  //Set the server to a local variable
	var targetURL = this.server;
	var httpRequest;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	try {
		httpRequest=new ActiveXObject("Msxml2.XMLHTTP")
	} catch (e) {
		try {
			httpRequest=new ActiveXObject("Microsoft.XMLHTTP")
		} catch (E) {
			alert("You must have Microsofts XML parsers available")
		}
	}
	@else
		alert("You must have JScript version 5 or above.")
		httpRequest=false
		alerted=true
	@end @*/
	//Try to create our XMLHttpRequest Object
	
	if (!httpRequest) {
		try {
			httpRequest = new XMLHttpRequest();
		} catch (e){
			//alert('Erro ao criar a conexao!');
			return;
		}
	}
  
  //Make the connection and send our data
	try {
		var txt = "";
		if (this.parms.length > 0 ){
			for(var i in this.parms) {
			  txt = txt+'&'+this.parms[i].name+'='+this.parms[i].value;
			}
		}
		httpRequest.open("POST", targetURL, false); 
		if (tipo == "xml") {
			httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		} else {
			httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		}
		
		httpRequest.send(txt);
	}catch (e){
		//alert('Ocorreu um erro ao chamar a pagina externar: '+e);
		return false;
	} 
	
  //Make sure we received a valid response
	switch(httpRequest.readyState) {
		case 1,2,3:
			//alert('Ready State inalido: '+httpRequest.status);
			return false;
			break;
		case 4:
			if(httpRequest.status !=200) {
				//alert('O servidor retornou um codigo de erro: '+httpRequest.status);
				return false;
			} else {
				if (tipo == "xml") {
					var response = httpRequest.responseXML;
				} else {
					var response = httpRequest.responseText;
				}
			}
			break;
	}
	return response;
}

//Utility Pair class
function Pair(name,value) {
	this.name = name;
	this.value = value;
}

function recuperarPagina(url_pagina){
    var conteudo = "";
    req = new HTMLRequest(url_pagina);
    var response = req.getPlainText();
    return response;
}

