
var SpeakerAutocompleteID="speaker_autocomplete";
var SpeakerInputID="speaker_name";
var SpeakerAutocompleteElem;

function SpeakerAutocomplete(elem)
{
  elem.setAttribute("autocomplete","off");
  var SpeakerURL="wsc_content/plugins/speakers.php";
  var name=elem.value;
  if(name.length<2)
  {
    SpeakerAutocompleteClose();
    return;
  }

  SeakerSendReqPost(SpeakerURL,'speaker_ajax=1&names=1&names_str='+name);
}

function SpeakerAutocompleteCreate(response)
{
  if(!response || response=="")
  {
    SpeakerAutocompleteClose();
    return;
  }
  if(!SpeakerAutocompleteElem)
    SpeakerAutocompleteElem = document.createElement("DIV");
  SpeakerAutocompleteElem.innerHTML=response;
  document.getElementById(SpeakerAutocompleteID).appendChild(SpeakerAutocompleteElem);
}

function SpeakerAutocompleteClose()
{
  if(SpeakerAutocompleteElem)
  {
    document.getElementById(SpeakerAutocompleteID).removeChild(SpeakerAutocompleteElem);
    SpeakerAutocompleteElem=0;
  }

}

function SpeakerInsert(elem)
{
  var SpeakerInputID="speaker_name";
  var SPeakerName=elem.innerHTML;
  SPeakerName=SPeakerName.replace("&amp;","&");
  document.getElementById(SpeakerInputID).value=SPeakerName;
  SpeakerAutocompleteClose();
}

//===================== AJAX REQUEST

var SpeakerRequest;

function SeakerSendReqPost(action_link,parameters)
{
  SpeakerRequest = SeakerCreateRequestObject();
  if(!SpeakerRequest) return false;

  SpeakerRequest.onreadystatechange = SpeakerHandleResponse;
  SpeakerRequest.open('post', action_link, true);
  SpeakerRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  SpeakerRequest.setRequestHeader("Content-length", parameters.length);
  SpeakerRequest.send(parameters);
}

function SeakerCreateRequestObject()
{
      SpeakerRequest = false;
      if (window.XMLHttpRequest)
      { // Mozilla, Safari,...
         SpeakerRequest = new XMLHttpRequest();
         if (SpeakerRequest.overrideMimeType) {
            SpeakerRequest.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            SpeakerRequest = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               SpeakerRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!SpeakerRequest) {
         alert('Cannot use Ajax for sending request');
         return false;
      }
     return SpeakerRequest;
}

function SpeakerHandleResponse()
{
   if(SpeakerRequest.readyState == 4)
   {
      var response = SpeakerRequest.responseText;
      SpeakerAutocompleteCreate(response)
   }
}
