var t = false;
var w = false;
var s = 0;
var anim = ['<b>.</b>..', '.<b>.</b>.', '..<b>.</b>'];

function initAutoSave(interval)
{
    if (document.getElementById("autoSaveResult") && interval > 0)
        setInterval('autoSave()', interval);
}

function autoSave()
{
    if (http)
    {
        var esc = window.encodeURIComponent ? encodeURIComponent : escape;
        var code = document.getElementById("cat").value;
        var param1 = document.getElementById("code1").value;
        var param2 = document.getElementById("code2").value;
        var param3 = document.getElementById("code3").value;
        var param4 = document.getElementById("code4").value;
        var subject = document.getElementById("bs") ? document.getElementById("bs").value : '';
        if (updateRTE)
            updateRTE("bm");
        var body = document.getElementById("bm").value;
        if (document.getElementById("hdnbm"))
            body = document.getElementById("hdnbm").value;
        if (body)
        {
            http.open('get', 'AJAXAutoSave?cat=' + code +
                             '&code1=' + param1 +
                             '&code2=' + param2 +
                             '&code3=' + param3 +
                             '&code4=' + param4 +
                             '&bs=' + esc(subject) +
                             '&bm=' + esc(body));
            http.onreadystatechange = handleAutoSaveResponse;
            document.getElementById("autoSaveResult").innerHTML = 'Autosaving ...';
            http.send(null);
        }
    }
}

function handleAutoSaveResponse()
{
    if (http.readyState == 4 && http.status == 200)
    {
        var response = http.responseText;
        document.getElementById("autoSaveResult").style.visibility = 'visible';
        document.getElementById("autoSaveResult").innerHTML = response ? response : '';
    }
}

function animateWait(patternStr)
{
    document.getElementById("searchStatus").innerHTML = document.getElementById("code2").value + ' &quot;' + patternStr + '&quot; ' + anim[s];
    s++;
    if (s > 2)
        s = 0;
}

function sendDelayedRequest(event, formType)
{
    var keyCode = event.which ? event.which : event.keyCode;
    if (keyCode == 13)
        return false;
    document.getElementById("searchStatus").innerHTML = document.getElementById("code1").value;
    if (t)
        clearTimeout(t);
    t = setTimeout("sendRequest('" + formType + "', 1, 0)", 1000);
    return true;
}

function sendRequest(formType, page, resetSortBy)
{
    if (http)
    {
        var esc = window.encodeURIComponent ? encodeURIComponent : escape;
        var patternStr = document.getElementById("utf").value;
        w = setInterval("animateWait('" + esc(patternStr) + "')", 300);
        if (formType == 'user')
        {
            var countryCode = document.getElementById("country").value;
            http.open('get', 'AJAXFindUser?utf=' + esc(patternStr) + '&country=' + countryCode);
        }
        else if (formType == 'amazon')
        {
            var category = document.getElementById("cat").value;
            var sortBy = resetSortBy == 0 && document.getElementById("soon") ? document.getElementById("soon").value : false;
            var siteIndex = document.getElementById("sc").value;
            http.open('get', 'AJAXAmazonSearch?utf=' + esc(patternStr) + '&sc=' + siteIndex + '&cat=' + category + (sortBy ? '&soon=' + sortBy : '') + (page > 1 ? '&p=' + page : ''));
        }
        http.onreadystatechange = handleResponse;
        http.send(null);
    }
}

function handleResponse()
{
    if (http.readyState == 4 && http.status == 200)
    {
        if (w)
            clearInterval(w);
        document.getElementById("searchStatus").innerHTML = document.getElementById("code3").value;
        var response = http.responseText;
        if (response)
        {
            document.getElementById("searchResults").style.visibility = 'visible';
            document.getElementById("searchResults").innerHTML = response;
        }
    }
}

function initAmazon()
{
    document.getElementById("utf").value = 'chess';
    sendRequest('amazon', 1, 0);
}

