var httpRequest;

function getState(elem){
	if(window.XMLHttpRequest) { // Mozilla, Safari, ...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) httpRequest.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject) { // IE
			try{
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){
				try{
					httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e){}
			}
		 }
	if (!httpRequest) {
		//alert('Giving up, cannot create an XMLHTTP instance');
		return false;
	}
	httpRequest.onreadystatechange = processChange;
	params="girlid="+elem;
	httpRequest.open('POST', 'getstate.php', true);
	httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpRequest.setRequestHeader("Content-length", params.length);
	httpRequest.setRequestHeader("Connection", "close");
	httpRequest.send(params);
}



function processChange(){
	if (httpRequest.readyState == 4){
		if (httpRequest.status == 200){
			//extract httpRequest in form state_girlid;state_id;state_name (sth. like state_1;2;busy) into the appropriate variables
			var responseArray=httpRequest.responseText.split(";");
			var state_name =responseArray.pop();
			var girl_state =responseArray.pop();
			var target_elem=responseArray.pop();
			var gstate=document.getElementById(target_elem);
			//parseInt is essential in next line!
			gstate.innerHTML=state_name;
			switch(parseInt(girl_state)){
			case 1:
				gstate.className="status online";
				//gstate.innerHTML="online";
				break;
			case 2:
				gstate.className="status busy";
				//gstate.innerHTML="busy";
				break;
			case 3:
				gstate.className="status offline";
				//gstate.innerHTML="offline";
				break;
			default:
				gstate.className="status offline";
				gstate.innerHTML="unknown";
			}
		}
		else{
			alert('There was a problem with the request.');
		}
	}
}
