function itemSet( idText, vText, idValue, vValue, sDataRetrieved ) {

	document.getElementById(idText).value = vText;
	document.getElementById(idValue).value = vValue;
	document.getElementById(idText).style.backgroundColor='#00ff00';
	

	displaySet( sDataRetrieved, 'none' );
	
	
	return false
}


function displaySet( sDataRetrieved, nState ) {
	if( nState == undefined )
		nState = 'none';
		
	if (document.layers)
		document.layers[sDataRetrieved].display = nState;
	else if (document.all)
		document.all[sDataRetrieved].style.display = nState;
	else if (document.getElementById)
		document.getElementById(sDataRetrieved).style.display = nState;
}

function displayCheck( sDataRetrieved ) {
	if (document.layers)
		return document.layers[sDataRetrieved].display;
	else if (document.all)
		return document.all[sDataRetrieved].style.display;
	else if (document.getElementById)
		return document.getElementById(sDataRetrieved).style.display;
}


function createHttpRequest() {
	if( typeof XMLHttpRequest != "undefined" ) {
		return new XMLHttpRequest();
	} else if( window.ActiveXObject ) {
		var versions = ["MSXML2.XMLHttp.5.0",
				"MSXML2.XMLHttp.4.0",
				"MSXML2.XMLHttp.3.0",
				"MSXML2.XMLHttp",
				"Microsoft.XMLHttp"];
		for( var i=0; i<versions.length; i++ ) {
			try {
				var ret=new ActiveXObject( versions[i] );
				return ret;
			} catch( oException ) {
				// nulla
			}
		}
	}
	
	alert( "Il browser in uso è obsoleto" );
}

function retrieveData( responseType, sId, sString, sDataRetrieved ) {
//	var sString = document.getElementById( sId ).value;
	var url = "http://news.centrodiascolto.it/retriever.php";
	var xhr = createHttpRequest();

	displaySet( sDataRetrieved, 'block' );
	
//	document.getElementById( sDataRetrieved ).display = 'block';
	xhr.open( "get", url + "?output=" + responseType + "&" + sId + "=" + sString, true );
	xhr.onreadystatechange = function() {
		processResponse( xhr, responseType, sDataRetrieved );
	}
	xhr.send( null );
	recall();
}

function processResponse( xhr, responseType, sDataRetrieved ) {
	if( xhr.readyState == 4 && xhr.status == 200 ) {
		var rp = new ResponseProcessor( xhr, sDataRetrieved, responseType );
		rp.produceHtml();
	}
}

function ResponseProcessor( xhr, container, responseType ) {
	this.EMPTY_RESPONSE = "Nessun impiegato presente.";
	this.xhr = xhr;
	this.container = container;
	this.responseType = responseType;
}

ResponseProcessor.prototype = {
	produceHtml:function() {
	
	//	if( this.isEmptyResponse() ) {
//				return;
//			}
		
		var responseType = this.responseType.toLowerCase();
		switch( responseType ) {
			case "plain":
				this.processPlain();
				break;
			case "xml":
				this.processXml();
				break;
			case "json":
				this.processJson();
				break;
			default:
				this.processHtml();
		}
	},
	
	
	processHtml: function() {
		var html = this.xhr.responseText;
		this.fillContainer( html );
	},
	
	fillContainer: function( content ) {
		var header = "";
		
		document.getElementById( this.container ).innerHTML = header+content;
	}
};
