

var req = false;
var	newObjOnRequest = false;
// criar o objecto XMLHttpRequest
function startupReq() {
  
	if( window.XMLHttpRequest ) {
	  	//Suporte Nativo! yay!
	  	
	  	try {
			req = new XMLHttpRequest();
		} catch ( e ) {
			req = false;
		}
		
		// IE7?
		if( window.navigator.appName.toLowerCase().match( /microsoft/ ) )
			newObjOnRequest = true;
		
		
	} else if ( window.ActiveXObject ) {
		newObjOnRequest = true; 
		// active x? oh bolas... goto: www.browsehappy.com
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch( e ) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch ( e ) {
			
				req = false;
			
			}
		}
	}
}

startupReq();
var lastUrl;
function getText(url, callback) {
	lastUrl = url;

	if( newObjOnRequest ) {
		startupReq();
	}

	if( req ) {
		req.onreadystatechange = function() {

/**
aviso = window.document.createElement( 'p' );
aviso.innerHTML = "[AJAX:" + url+"] novo estado: " + req.readyState;
window.document.body.insertBefore( aviso, window.document.body.firstChild );
*/


			switch( req.readyState ) {
			
				case 0:
					// unitialized
					break;
				case 1:
					// loading		
					break;
				case 2:
					// loaded
					break;
				case 3:
					// interactive
					break;
				case 4:
					// complete
										
					if( req.status == "200") {

							f = callback;
							f();
							
					} else {
							alert("Ocorreu um erro.\n\nDETALHES:\nErro na comunicação com o servidor. Para nos ajudar, reporte este erro para web@corefactor.pt.\n\nObrigado.");
					}						
					break;
			}
		
		}; 
		req.open("GET", url, true);
		
		req.send("");
	}
}

