if (document.all && !document.getElementById) {
    document.getElementById = function(id) {
        return document.all[id];
    }
}

function sethelp(text) {
    helptext    = document.getElementById('helptext');
    helptext.innerHTML=text;
}
function clearhelp() {
    helptext    = document.getElementById('helptext');
    helptext.innerHTML='';
}

/*
function ReplaceAllTextareas() {
    // replace all of the textareas
    var allTextAreas = document.getElementsByTagName("textarea");
    for (var i=0; i < allTextAreas.length; i++) {
        var oFCKeditor = new FCKeditor( allTextAreas[i].name ) ;
        oFCKeditor.BasePath = "/FCKeditor/" ;
        oFCKeditor.ReplaceTextarea() ;
    }
}
*/

function uploadProgress(main_url) {
    upload_req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
        try {
            upload_req = new XMLHttpRequest();
        } catch(e) {
            upload_req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
        try {
            upload_req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                upload_req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                upload_req = false;
            }
        }
    }
    if(upload_req) {
        //progress = document.getElementById('progress');
        //progress.innerHTML = "retrieving...";
        upload_req.onreadystatechange = processUploadReqChange;
        upload_req.open("GET", main_url + '/upload_Progress', true);
        upload_req.send("");
    }
}

function processUploadReqChange() {
    var upload_progress;
    var upload_progress_bar;
    if (document.getElementById) {
        upload_progress = document.getElementById('upload_progress');
        upload_progress_bar = document.getElementById('upload_progress_bar');
        // only if req shows "loaded"
        if (upload_req.readyState == 4) {
            // only if "OK"
            if (upload_req.status == 200 && upload_req.responseText.length > 0) {
                response        = upload_req.responseText.split('|');
                percent         = response[0];
                transfered      = parseInt(response[1]/1024);
                file_size       = parseInt(response[2]/1024);
                transfer_time   = response[3];
                kps             = parseInt(transfered/transfer_time);
                est_time        = (file_size - transfered) / kps;
                if (est_time > 3600) { 
                    est_time = '??'; 
                } else {
                    min         = parseInt(est_time / 60);
                    sec         = parseInt(est_time % 60);
                    if (sec < 10) { sec = '0' + sec; }
                    est_time    = min + ':' + sec;
                }
                if (percent>0) {
                    upload_progress.innerHTML =  '<small>upload status: ' + est_time + ' ' + kps + 'kb/s</small>';
                    if (upload_progress_bar) {
                        upload_progress_bar.style.width = percent + '%';
                    }
                }
            }
        }
    }
}

