var xmlHttp = createXmlHttpRequestObject();
var lastName = "x";
var lastGender = "x";

function createXmlHttpRequestObject ()
{
	var xmlHttp;
	if ( window.ActiveXObject ) {
		try {
			xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );
		}
		catch ( e ) {
			xmlHttp = false;
		}
	} else {
		try {
			xmlHttp = new XMLHttpRequest();
		}
		catch ( e ) {
			xmlHttp = false;
		}
	}
	if ( !xmlHttp ) {
		alert( "Fehler beim erstellen eines XMLHttpRequest-Objektes" );
	} else {
		return xmlHttp;
	}
}

function process ()
{
	if ( xmlHttp.readyState == 4 || xmlHttp.readyState == 0 ) {
		name = encodeURIComponent( document.getElementById( "myname" ).value );
		gender = encodeURIComponent( document.getElementById( "mygender" ).value );
		if ((lastName != name )||( lastGender != gender)) {
			xmlHttp.open("GET", "transmogrifiere.php?name=" + name + "&gender=" + gender, true );
			xmlHttp.onreadystatechange = handleServerResponse;
			xmlHttp.send( null );
			lastName = name;
			lastGender = gender;
		} else {
			setTimeout('process()', 300 );
		}
	} else {
		setTimeout('process()', 300 );
	}
}

function handleServerResponse ()
{
	if ( xmlHttp.readyState == 4 ) {
		if ( xmlHttp.status == 200 ) {
			xmlResponse = xmlHttp.responseXML;
			xmlDocumentElement = xmlResponse.documentElement;
			helloMessage = xmlDocumentElement.firstChild.data;
			document.getElementById( "mymessage" ).innerHTML = '<i>' + helloMessage + '</i>';
			setTimeout( 'process()', 300 );
		} else {
			alert( "Problem beim Zugriff auf den Server: " + xmlHttp.statusText );
		}
	}
}

