// Ajax
var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject() {
  var xmlHttp;
  if (window.ActiveXObject) {
    try {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e) {
      xmlHttp = false;
    }
  } else {
    try {
      xmlHttp = new XMLHttpRequest();
    }
    catch(e) {
      var xmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
                                      'MSXML2.XMLHTTP.5.0',
                                      'MSXML2.XMLHTTP.4.0',
                                      'MSXML2.XMLHTTP.3.0',
                                      'MSXML2.XMLHTTP',
                                      'Microsoft.XMLHTTP');
      for (var i=0; i<xmlHttpVersions.length && !xmlHttp; i++) {
        try {
          xmlHttp = new ActiveXObject(xmlHttpVersions[i]);
        }
        catch (e) {}
      }                                
                                      
      xmlHttp = false;
    }
  }
  if (!xmlHttp) {
    alert('Error Creating XMLHttpRequest Object');
  } else {
    return xmlHttp;
  }
}

function process(id) {
  if (id>0) {
    if (xmlHttp.readyState==4 || xmlHttp.readyState==0) {
      try {
        mdata = encodeURIComponent(document.getElementById("t_answer").value);
        xmlHttp.open("POST","index.php",true);
        xmlHttp.setRequestHeader( 
                                 'Content-Type', 
                                 'application/x-www-form-urlencoded; charset=UTF-8' 
                                );
        var params = "cmd=responses&fetch="+id+
                     "&data=";//+mdata;
        xmlHttp.onreadystatechange = handleServerResponse;
        xmlHttp.send(params);
      }
      catch (e) {
        alert("Can`t connect to server:");
      }
    }
  }
}

function handleServerResponse() {
  if (xmlHttp.readyState==4) {
    if (xmlHttp.status==200) {
      response = xmlHttp.responseText;
//alert (document.getElementById("t_answer").innerHTML);
//    document.getElementById("t_answer").innerHTML += "\r\n\r\n" + response;
	InsertAtCursor(document.MyForm.t_answer, response);
//      document.MyForm.t_answer.value += "\r\n\r\n" + response;
    } else {
      alert('There was a problem accessing the server:'+xmlHttp.statusText);
    }
  }
}




function InsertAtCursor(fld, val) 
{
	if (document.selection) 
	{
		//ie support
		fld.focus();
		sel = document.selection.createRange();
		sel.text = val;
	}
	else if (fld.selectionStart || fld.selectionStart == "0") 
	{
		//moz/netscape support
		var startPos = fld.selectionStart;
		var endPos = fld.selectionEnd;
		fld.value = fld.value.substring(0, startPos) + val + fld.value.substring(endPos, fld.value.length);
	} 
	else 
	{
		fld.value += val;
	}
}
