var thisTrakkie = ''; 
var thisTrakkieId = '';
var thisTrakkieUserNumber = '';
var chatAction = '';
var	chatSendMessage;
var	chatTargetTrakkieId;
var	chatTargetTrakkie;
var	chatSourceTrakkieId;
var end_current_session = false;;

	var gm_http_request = false;
	var gmurl;

	var gminterval = 10; //seconds

	function chatLogin() {
		if(thisTrakkie == '') { // get trakkie name from login box
			thisTrakkie = document.getElementById("loginusername").value;
		}
		sessLogin(); // check active sessions - do this as part of getmessages
		gmRequest(); // start get messages from other trakkies
	}


	function gmRequest() {
	

		gm_http_request = false;

		if (window.XMLHttpRequest) { // Mozilla, Safari,...
		
			gm_http_request = new XMLHttpRequest();
			if (gm_http_request.overrideMimeType) {
				gm_http_request.overrideMimeType('text/xml');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				gm_http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
				gm_http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}

		if (!gm_http_request) {
			alert('Giving up :( Cannot create an XMLHTTP instance');
			return false;
		}
		gm_http_request.onreadystatechange = getmessages;
		var r=new Date().getTime();
		gmurl = 'js/getmessages.php?t=' + thisTrakkie + '&r='+r;
		
		gm_http_request.open('GET', gmurl, true);
		gm_http_request.send(null);
		if(end_current_session) {
			sess_http_request.abort();
			return;
			
		}
			
		setTimeout('gmRequest()',gminterval*1000);


	}
	

	function getmessages() {
		
		try {
		if (gm_http_request.readyState == 4) {
			if (gm_http_request.status == 200) {
				//document.getElementById("tdash_taxi_response").innerHTML =  gm_http_request.responseText + '-' + chatTargetTrakkie;
				if(gm_http_request.responseText  != "**no message in queue**") {
					//alert('getmessages.js:' + gm_http_request.responseText);
					if(gm_http_request.responseText.substr(0,chatTargetTrakkie.length).toLowerCase()  ==  chatTargetTrakkie.toLowerCase()) { // if incoming trakkie corresponds with chat trakkie
						//alert(gm_http_request.responseText);
						showTaxiMessage(gm_http_request.responseText);
					} else {
						showChatMessage(gm_http_request.responseText);
					}
				}
			} else   {   // gm_http_request.status != 200
				document.getElementById("inbound").innerHTML = '<font color="red">FAIL:'+gm_http_request.status + '</font>';
			}
		}
		} catch(e) {}

	}


function showTaxiMessage(inboundMsgTxt) { // for taxi chat only
		var inboundMsg = inboundMsgTxt.split("||");
		var taxiDriver = inboundMsg[0].split(":")[0];
		tdashboardOn(true);
		document.getElementById("tdash_taxi_response").innerHTML =  inboundMsg[1];
		if(inboundMsg.length > 2) {
			document.getElementById("tdash_taxi_response2").innerHTML =  inboundMsg[2];
		} else {
			document.getElementById("tdash_taxi_response2").innerHTML =  '';
		}
		//EvalSound('Audio1');
		if(inboundMsg[1].match("declined your hail")) {
			lastTaxi = '';
			PlaySound('taxi_decline.mp3');
		} else {
			PlaySound('taxi_accept.mp3');
		}
		
		document.getElementById("tdash_taxi_info1").innerHTML = "taxi response "; 	
}

function showChatMessage(inboundMsgTxt) { // for normal chat
		document.getElementById("inbound1").innerHTML = document.getElementById("inbound2").innerHTML;
		document.getElementById("inbound2").innerHTML = document.getElementById("inbound3").innerHTML;
		document.getElementById("inbound3").innerHTML = inboundMsgTxt;
	
}