
/**
 * AJAX.
 *
 * @param strURL url        kam se odesle pozadavek
 * @param callBackFunction  obsluzna funkce odpovedi
 * @param method            metoda prenosu (POST, GET, ..)
 *
 * @author Richard 'ret' Riman (ret@space4web.org)
 */
HTTPRequest = function(strURL, callBackFunction, method)
{
    var self = this;
    if (typeof(XMLHttpRequest) != "undefined")
    { // Mozilla/Safari
        var XHR = new XMLHttpRequest();
    } else
    {
        try
        { // IE
            var XHR = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e)
        {
            try
            {
                var XHR = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e)
            {
                return null;
            }
        }
    }
    XHR.open(method, strURL, true);
    XHR.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XHR.onreadystatechange = onreadystatechangeFunction;
    function onreadystatechangeFunction() {
        if (XHR.readyState == 4)
        {
            if (XHR.status == 200)
            {
                eval(callBackFunction + "(" + XHR.responseText + ")");
            }
        }
    }
    if (method == "POST")
    {
        XHR.send(arguments[3]);
    } else
    {
        XHR.send(null);
    }
};

/**
 * Zobrazi soutezni odkaz, pokud dana soutez je aktualni.
 * Note: AJAXova callback funkce.
 */
function showContest(data)
{
    //debug(data);
    if (data.active)
    {
        contest = document.getElementById("contest");
        contest.style.display = "inherit";
        contest.title = "Klepněte pro účast v soutěži o ceny.";
        contest.onclick = function()
        {
            window.open(
                contest.getAttribute("href"),
                "contest",
                "Left=300, Top=300, Toolbar=0, Location=0, Directories=0, Status=0, Menubar=0, Scrollbars=0, Resizable=0, Copyhistory=0, Width=400, Height=200"
            );
            return false;
        }
    }
};

/**
 * Schova soutezni tlacitko.
 */
function hideContest()
{
    document.getElementById("contest").style.display = "none";
};

/**
 * Inicializace souteze - zobrazi soutez, je-li uzivatel prihlasen
 *                        a zavesi prislusny obsluzny event.
 */
function initContest()
{
    if (!document.getElementsByTagName)
        return; // no javascript

    // is user loged in?
    if (document.getElementById("mod-login") != null)
        return;

    // show contest
    //var contest;
    if (contest = document.getElementById("contest"))
    {
        var data = contest.getAttribute("href").split("?");
        HTTPRequest(data[0], "showContest", "POST", data[1]);
    }
};
