var amp = unescape('%26');

function toggleDisplay(elementId)
{
    if (document.getElementById)
    {
        object = document.getElementById(elementId);
        if (object.style.display == "none") { object.style.display = ""; }
        else { object.style.display = "none"; }
    }
}

function setClass(elementId, theClass)
{
    if(document.getElementById) { object = document.getElementById(elementId); }
    else if (document.all) { object = document.all[elementId]; }
    object.className = theClass;
}

function setFocus(elementId)
{
    if(document.getElementById) { object = document.getElementById(elementId); }
    else if (document.all) { object = document.all[elementId]; }
    object.focus();
}

function urlencode(uri)
{
    if (encodeURIComponent) { return encodeURIComponent(uri); }
    if (escape) { return escape(uri); }
}

var ajaxGet = function(url, callback)
{
    var _cb = callback;

    var createRequestObject = function()
    {
        var httpRequest;

        // Mozilla, Safari,...
        if (window.XMLHttpRequest)
        {
            httpRequest = new XMLHttpRequest();
//            if (httpRequest.overrideMimeType)
//            {
//                httpRequest.overrideMimeType('text/xml');
//            }
        }
        // IE
        else if (window.ActiveXObject)
        {
            try { httpRequest = new ActiveXObject('Msxml2.XMLHTTP'); }
            catch (e)
            {
                try { httpRequest = new ActiveXObject('Microsoft.XMLHTTP'); }
                catch (e) {}
            }
        }

        return httpRequest;
    }

    var handleResponse = function()
    {
        if (ajax.readyState == 4)
        {
            if (ajax.status == 200)
            {
                _cb(ajax.responseText);
            }
        }
    }

    var ajax = createRequestObject();
    ajax.open('GET', url, true);
    ajax.onreadystatechange = handleResponse;
    ajax.send(null);
}

var ajaxPost = function(url, postString, callback)
{
    var _cb = callback;

    var createRequestObject = function()
    {
        var httpRequest;

        // Mozilla, Safari,...
        if (window.XMLHttpRequest)
        {
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType)
            {
                httpRequest.overrideMimeType('text/xml');
            }
        }
        // IE
        else if (window.ActiveXObject)
        {
            try { httpRequest = new ActiveXObject('Msxml2.XMLHTTP'); }
            catch (e)
            {
                try { httpRequest = new ActiveXObject('Microsoft.XMLHTTP'); }
                catch (e) {}
            }
        }

        return httpRequest;
    }

    var handleResponse = function()
    {
        if (ajax.readyState == 4)
        {
            if (ajax.status == 200)
            {
                _cb(ajax.responseText);
            }
        }
    }

    var ajax = createRequestObject();
    ajax.onreadystatechange = handleResponse;
    ajax.open('POST', url, true);
    ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    ajax.setRequestHeader('Content-length', postString.length);
    ajax.setRequestHeader('Connection', 'close');
    ajax.send(postString);
}