All pastes #127263 Raw Edit

Untitled

public javascript v1 · immutable
·published 2006-08-12 02:59 UTC
rendered paste body
/** * Installation javascript for Gallery * * $Id$ */function display_error(parentElt, text){    var div = document.createElement('div');    div.setAttribute('id', 'step2');    div.style.display = 'none';    div.style.position = 'relative';    div.innerHTML = '\        <i>'+text+'</i>\        ';    parentElt.appendChild(div);            Effect.Appear('div')}function open_http_request(){    var http_request = false;        if ( window.XMLHttpRequest )     {         // Mozilla, Safari, ...        http_request = new XMLHttpRequest();        if ( http_request.overrideMimeType)            http_request.overrideMimeType('text/xml');    }    else if ( windows.ActiveXObject )    {        // IE        try {            http_request = new ActiveXObject("Msxml2.XMLHTTP");        } catch ( e ) {            try {                http_request = new ActiveXObject("Microsoft.XMLHTTP");            } catch ( e ) {}        }    }    return http_request;}function begin_download(){    var pane = document.getElementById('pane');    Effect.SlideUp('step1');        var step2 = document.createElement('div');    step2.setAttribute('id', 'step2');    step2.style.display = 'none';    step2.style.position = 'relative';    step2.innerHTML = '\        <p style="text-align: center;">\        <img src="/images/stock/spinner.gif">\        <br />\        SiteComponents is downloading Gallery. Please wait.</p>\        <div name="status" style="font-size: 9px; font-style: italic;"></div>\        ';    pane.appendChild(step2);            Effect.Appear('step2')        var http_request = open_http_request();        if ( !http_request )    {        display_error("Could not initiate download request.  Please <a href='?setup=manual'>install manually</a>.");        return;    }        var statusTimer;        http_request.onreadystatechange = function()        {            try {                if ( http_request.readyState == 4 )                {                    if ( http_request.status == 200 )                    {                        var xmldoc = http_request.responseXML;                        var resultCode = xmldoc.getElementsByTagName('resultcode').item(0).firstChild.data;                        var resultString = xmldoc.getElementsByTagName('resultstring').item(0).firstChild.data;                                                if ( resultCode == 0 )                        {                            // Success                            clearTimeout(statusTimer);                            begin_extraction();                            return;                        }                        else                        {                            clearTimeout(statusTimer);                            display_error(resultString);                            return;                        }                    }                    else                    {                        display_error("There was a problem initiating the download request.  Please <a href='?setup=manual'>install manually</a>.");                        return;                    }                }            } catch ( e ) {                display_error("There was a problem initiating the download request.  Please <a href='?setup=manual'>install manually</a>.");            }        };            http_request.open('GET', "?setup&command=download", true);    http_request.send(null);        statusTimer = setTimeout(update_download_status, 1000, document.getElementById('status'));}function update_download_status(elt){    var http_request = open_http_request();        if ( !http_request )    {        setTimeout(update_download_status, 1000, elt);        return;    }        http_request.onreadystatechange = function()        {            try {                if ( http_request.readyState == 4 )                {                    if ( http_request.status == 200 )                    {                        var xmldoc = http_request.responseXML;                        var resultCode = xmldoc.getElementsByTagName('resultcode').item(0).firstChild.data;                        var resultString = xmldoc.getElementsByTagName('resultstring').item(0).firstChild.data;                                                if ( resultCode == 0 )                        {                            // Success                            elt.innerHTML = (resultString / 1000) + " kB";                        }                    }                }            } catch ( e ) { }                        setTimeout(update_download_status, 1000, elt);            return;        };            http_request.open('GET', "?setup&command=get_download_status", true);    http_request.send(null);}function begin_extraction(){    var pane = document.getElementById('pane');    Effect.SlideUp('step2');        var step3 = document.createElement('div');    step3.setAttribute('id', 'step3');    step3.style.display = 'none';    step3.style.position = 'relative';    step3.innerHTML = '\        <p style="text-align: center;">\        <img src="/images/stock/spinner.gif">\        <br />\        Please wait while SiteComponents extracts the Gallery package.</p>\        ';    pane.appendChild(step3);            Effect.Appear('step3')        var http_request = open_http_request();        if ( !http_request )    {        display_error("Could not initiate extraction request.  Please <a href='?setup=manual'>install manually</a>.");        return;    }        http_request.onreadystatechange = function()        {            try {                if ( http_request.readyState == 4 )                {                    if ( http_request.status == 200 )                    {                        var xmldoc = http_request.responseXML;                        var resultCode = xmldoc.getElementsByTagName('resultcode').item(0).firstChild.data;                        var resultString = xmldoc.getElementsByTagName('resultstring').item(0).firstChild.data;                                                if ( resultCode == 0 )                        {                            // Success                            show_installation();                            return;                        }                        else                        {                             display_error(resultString);                             return;                        }                    }                    else                    {                        display_error("There was a problem initiating the extraction request.  Please <a href='?setup=manual'>install manually</a>.");                        return;                    }                }            } catch ( e ) {                display_error("There was a problem initiating the extraction request.  Please <a href='?setup=manual'>install manually</a>.");            }        };            http_request.open('GET', "?setup&command=extract", true);    http_request.send(null);}function show_installation(){    var pane = document.getElementById('pane');    Effect.SlideUp('step3');        var step4 = document.createElement('div');    step4.setAttribute('id', 'step4');    step4.style.display = 'none';    step4.style.position = 'relative';    step4.innerHTML = '\        Initial installation complete.<p>\        Please visit the <a href="gallery2/">Gallery setup page</a> to proceed.\        ';    pane.appendChild(step4);            Effect.Appear('step4')    }