/*
 * 2 moznosti pouziti parametru KAM:
 * a) Použít ho jako obsah do elementu v HTML tak, že vyplníme ID tohoto elementu do parametru kam.
 * b) Použít ho jako parametr zvolené funkce, kterou jsme si někde napsali (čili existuje) a jejíž název napíšeme opět do parametru kam. Zadává se jen název funkce bez závorek a nepíše se to do apostrofů. Funkce bude potom zavolána jako když má jeden parametr - výstup souboru. Tedy zadáme-li jako parametr kam například mojefunkce, bude nakonec zavolána funkce mojefunkce('nejaky vystup')
*/

function ajax(stranka, kam)
{
	//kdyby to tu nebylo, bude problem pri vice volanich najednou (kouslo by se to)  
    var httpRequest;
    
    if(typeof window.ActiveXObject != 'undefined')
    {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {  
        httpRequest = new XMLHttpRequest();
    }
    httpRequest.open("GET", stranka, true);
    httpRequest.onreadystatechange= function () 
    {
        processRequest(httpRequest, kam) 
    };
    httpRequest.send(null);
}


function processRequest(httpRequest, kam) 
{
    if (httpRequest.readyState == 4)
    {
        if(httpRequest.status == 200)
        {
            if (typeof kam == 'string') 
            {
                document.getElementById(kam).innerHTML = httpRequest.responseText;
            }
            if (typeof kam == 'function') 
            {
                kam(httpRequest.responseText);
            }
        }
        else
        {
            alert("Chyba pri nacitani stanky " + httpRequest.status +" : "+ httpRequest.statusText);
        }
    }
    else
    {
        if (typeof kam == 'string' && kam != '') 
        {
            document.getElementById(kam).innerHTML = 'Cekejte...';
        }
    }
       
} 
