    function reloadComponent(sRequestUrl, sModuleName, sComponentName, sBlockName, oParams)
    {
        if (sBlockName == null)
        {
            sBlockName = 'main';
        }

        if (oParams == null)
        {
            oParams = {};
        }

        sId = sModuleName + '-' + sComponentName + '-' + sBlockName;
        if (document.getElementById(sId) == null)
        {
            return false;
        }

        oSend = {};
        oSend.module = sModuleName;
        oSend.component = sComponentName;
        oSend.block = sBlockName;
        oSend.params = oParams;

        sendRequest(sRequestUrl, oSend, sId);
        return true;
    }

    function setComponentBody(sComponentId, sComponentBody)
    {
        oComponent = document.getElementById(sComponentId);
        if (oComponent != null)
        {
            oComponent.innerHTML = sComponentBody;
        }
        return;
    }

    function sendRequest(sRequestUrl, oParams, sId)
    {
        var oReq = new JsHttpRequest();
        oReq.onreadystatechange = function()
        {
            if (oReq.readyState == 4)
            {
                setComponentBody(sId, oReq.responseJS.body);
            }
        } 
        oReq.open(null, sRequestUrl, true);
        oReq.send(oParams);
    }