function checkAntiBotCode(inputCode)
{
    if(!asyncGet('/picgen.jsp?check=1&key=' + inputCode, handleAntiBotCheck, false, null))
        alert('Failure of bot check request');
}

function handleAntiBotCheck(chartHtml, chartXML, params)
{
    if('1' == trimString(chartHtml))
    {
        $('#feedback').aqLayer('hide');
        document.getElementById('feedbackFormID').submit();
    }
    else
    {
        alert('Please write number one more time');
        $('#feedback').aqLayer('hide');
    }        
}

function asyncGet(url, handler, block, parameters)
{
  var xmlHttp = getXMLHttpRequest();
  try {
    xmlHttp.open('GET', url, !block);
    xmlHttp.setRequestHeader('Content-Type', 'text/plain; charset=utf-8');
    xmlHttp.onreadystatechange = function()
    {
      if (xmlHttp.readyState == 4)
      {
        delete xmlHttp.onreadystatechange;
        var localHandler = handler;
        var responseText = xmlHttp.responseText;
        var responseXML = xmlHttp.responseXML;
        handler = null;
        xmlHttp = null;
        localHandler(responseText, responseXML, parameters);
      }
    };
    xmlHttp.send('');
    return true;
  } catch (e)
  {
    delete xmlHttp.onreadystatechange;
    return false;
  }
}

function getXMLHttpRequest()
{
    var xmlhttp=false;
    try
    {
        xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
    }
    catch(e)
    {
        try
        {
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch(E)
        {
            xmlhttp = false;
        }
    }

    if (!xmlhttp && typeof XMLHttpRequest!='undefined')
    {
        try
        {
            xmlhttp = new XMLHttpRequest();
        }
        catch(e)
        {
            xmlhttp=false;
        }
    }
    if (!xmlhttp && window.createRequest)
    {
        try
        {
            xmlhttp = window.createRequest();
        }
        catch (e)
        {
            xmlhttp=false;
        }
    }

    return xmlhttp;
}

function trimString(sInString)
{
    sInString = sInString.replace(/ /g,' ');
    return sInString.replace(/(^\s+)|(\s+$)/g, '');
}

