
    var isSuperiorBrowser;
    if (window.XMLHttpRequest)
    {
        isSuperiorBrowser = true;
    }
    else if(window.ActiveXObject)
    {
        isSuperiorBrowser = false;
    }

    function rewriteRegion(regionName, content)
    {
        reg = document.getElementById(regionName);
        reg.innerHTML = "";
        reg.innerHTML = content;
        self.focus();
        return true;
    }

    function nullifyRegion(regionName)
    {
        reg = document.getElementById(regionName);
        reg.innerHTML = "";
        return true;
    }

    function reloadRegion(url, regionName, names, values, method)
    {
        if(isSuperiorBrowser)
        {
            req = new XMLHttpRequest();
        }
        else
        {
            req = new ActiveXObject("Microsoft.XMLHTTP");
        }

        var postPayload = "";
        for(i = 0; i < names.length; i++)
        {
            postPayload += names[i] + "=" + encodeURIComponent(values[i]);
            if(i < names.length-1)
            {
                postPayload += "&";
            }
        }

        req.open("POST", url, false);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
        req.send(postPayload);
        rewriteRegion(regionName, req.responseText);
    }

    function reloadImage(url, imgId)
    {
        reg = document.getElementById(imgId);
        reg.src = url;
        return true;
    }

    function submitForm(theForm, regionName)
    {
        action = theForm.action;
        method = theForm.method;
        var currentElement;
        var names = new Array();
        var values = new Array();

        for(i=0; i < theForm.elements.length; i++)
        {
            currentElement = theForm.elements[i];
            if(theForm.elements[i].name.length <=0) {
               continue;
            }
            if(theForm.elements[i].type == 'checkbox')
            {
                if(!theForm.elements[i].checked)
                {
                    continue;
                }
            }
            names[i] = currentElement.name;
            values[i] = currentElement.value;
        }

        reloadRegion(action, regionName, names, values, theForm.method.value);
    }

    function makeVisible(regionName)
    {
        reg = document.getElementById(regionName);
        reg.style.display = 'block';
    }