
    /**
     * Creates an XMLHttpRequest instance and returns responseText
     * @param {Object} url
     */

    function HttpRequest( url )
    {
        var pageRequest = false; // variable to hold ajax object
        try
        {
        // try to create XMLHttpRequest object
            pageRequest = new XMLHttpRequest();
        }
        catch(e)
        {
        // assume IE6 or older
            var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
                                            'MSXML2.XMLHTTP.5.0',
                                            'MSXML2.XMLHTTP.4.0',
                                            'MSXML2.XMLHTTP.3.0',
                                            'MSXML2.XMLHTTP',
                                            'Microsoft.XMLHTTP');
            // try every prog id until one works
            for (var i=0; i<XmlHttpVersions.length && !pageRequest; i++)
            {
                try
                {
                // try to create XMLHttpRequest object
                pageRequest = new ActiveXObject(XmlHttpVersions[i]);
                }
                catch (e) {} // ignore potential error
            }
        }

        if (pageRequest){ //if pageRequest is not false

            pageRequest.open('GET', url, false); //get page synchronously

            pageRequest.send(null);

            return( embedpage(pageRequest) );

        }
        else {
            alert('Error creating XMLHTTPRequest');
        }
    }

    /**
     * handles the response from server and returns request.responseText
     * @param {Object} request
     */
    function embedpage(request) {

        //if viewing page offline or the document was successfully retrieved online (status code=200)
        if (window.location.href.indexOf("http")==-1 || request.status==200){

            return(request.responseText);

        }
    }


    /**
     * Sets display of an element either to none, or block
     * @param {Object} id
     */
    function setDisplay(id)
    {
        var display = document.getElementById(id).style.display;
        if (display == 'none' ) {
            document.getElementById(id).style.display = 'block';
        } else {
            document.getElementById(id).style.display = 'none';
        }
    }

    function submitArticle(controller)
    {
        var formElements = $('submitUserArticle').serialize();
        var editContent 	= HttpRequest("index.php?route="+controller+"/submit/&task=add&" + formElements);

        if (editContent!=null){
            $('article_submit_result').innerHTML = editContent;
            //$('article_form').style.display = 'none';
        }
    }