var SplashDisplay = new Object();

SplashDisplay.active = false;
SplashDisplay.loc = window.imultibox;
SplashDisplay.statusBarFlashName = 'LD_SplashDisplayStatusBar';
SplashDisplay.showProgressDisplayInterval = false;
SplashDisplay.progressBegan = false;

SplashDisplay.checkSplash = function() {
    if(window.imultibox) {
        if(LD.mb) {
            try {
                LD.mb.updateOverlayHeight((window.innerHeight > document.body.clientHeight ? window.innerHeight : document.body.clientHeight)+'px'); // (document.body.clientHeight-document.getElementById('mikebug').height)
            } catch(e) { }
        }
        SplashDisplay.active = true;
        SplashDisplay.loc = window.imultibox;
        if(!SplashDisplay.showProgressDisplayInterval) {
            SplashDisplay.showProgressDisplayInterval = setInterval('SplashDisplay.showProgressDisplay()', 1200);
            setTimeout("SplashDisplay.showProgressDisplay()", 800);
        }
        return true;
    }
    return false;
};

SplashDisplay.update = function(params) {
    if(!SplashDisplay.active && !SplashDisplay.checkSplash()) {
        return false;
    }
    for(var i in params) {
        switch(i) {
            case 'pr9': break;
            case 'pr8': break;
            case 'pr7': break;
            case 'pr6': break;
            case 'pr5': break;
            case 'pr4': break;
            case 'pr3': break;
            case 'pr2': break;
            case 'pr1': break;
            case 'pr0': break;
            case 'prn1': break;
            case 'timer': 
                        if(params[i] != 10000) {
                            var pp = params[i].split('.');
                            SplashDisplay.loc.document.getElementById(i).innerHTML = 'approximately ' + pp[0] + ':' + this.zeroPad(this.numberFormat((pp[1] * 0.60), 0), 2) + ' minutes left';
                        }
                        break;
            default: try { 
                    SplashDisplay.loc.document.getElementById(i).innerHTML = params[i]; 
                } catch(e) { }
                break;
        }
    }
};

SplashDisplay.count34 = 0;
SplashDisplay.setProgress = function(perc) {
    if(!SplashDisplay.active && !SplashDisplay.checkSplash()) {
        return false;
    }
    try {
        SplashDisplay.progressBegan = true;
        SplashDisplay.loc.document[SplashDisplay.statusBarFlashName].updatePercent(perc);
        if(perc >= 34 && perc <= 35) {
            SplashDisplay.count34++;
            if(SplashDisplay.count34 > 2) {
                SplashDisplay.showProgressUser("Waiting for all expected backlinks to return with proper addresses.. Waiting.." + SplashDisplay.count34 + "s..");
            }
        }
    } catch(e) { }
};

SplashDisplay.runningProgressStream = new Array();
SplashDisplay.showProgressUser = function(str) {
    //SplashDisplay.runningProgressStream = str + "<br />" + SplashDisplay.runningProgressStream;
    var strsize = SplashDisplay.runningProgressStream.length;
    if(strsize > 10) {
        SplashDisplay.runningProgressStream.pop();
    }
    SplashDisplay.runningProgressStream.unshift(str);
};

SplashDisplay.showProgressDisplay = function() {
    try {
        if(!SplashDisplay.checkSplash()) {
            clearInterval(SplashDisplay.showProgressDisplayInterval);
            return false;
        }
        var strsize = SplashDisplay.runningProgressStream.length;
        
        SplashDisplay.loc.document.getElementById('status_output').innerHTML = '';
        for(i=0;i<strsize;i++) {
            SplashDisplay.loc.document.getElementById('status_output').innerHTML += SplashDisplay.runningProgressStream[i] + "<br />" + "\n";
        }
    } catch(e) { }
};


SplashDisplay.numberFormat = function(number, decimals, dec_point, thousands_sep) {
        // Formats a number with grouped thousands
        //
        // version: 906.1806
        // discuss at: http://phpjs.org/functions/number_format
        // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
        // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // +     bugfix by: Michael White (http://getsprink.com)
        // +     bugfix by: Benjamin Lupton
        // +     bugfix by: Allan Jensen (http://www.winternet.no)
        // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
        // +     bugfix by: Howard Yeend
        // +    revised by: Luke Smith (http://lucassmith.name)
        // +     bugfix by: Diogo Resende
        // +     bugfix by: Rival
        // +     input by: Kheang Hok Chin (http://www.distantia.ca/)
        // +     improved by: davook
        // +     improved by: Brett Zamir (http://brett-zamir.me)
        // +     input by: Jay Klehr
        // +     improved by: Brett Zamir (http://brett-zamir.me)
        // +     input by: Amir Habibi (http://www.residence-mixte.com/)
        // +     bugfix by: Brett Zamir (http://brett-zamir.me)
        // *     example 1: number_format(1234.56);
        // *     returns 1: '1,235'
        // *     example 2: number_format(1234.56, 2, ',', ' ');
        // *     returns 2: '1 234,56'
        // *     example 3: number_format(1234.5678, 2, '.', '');
        // *     returns 3: '1234.57'
        // *     example 4: number_format(67, 2, ',', '.');
        // *     returns 4: '67,00'
        // *     example 5: number_format(1000);
        // *     returns 5: '1,000'
        // *     example 6: number_format(67.311, 2);
        // *     returns 6: '67.31'
        // *     example 7: number_format(1000.55, 1);
        // *     returns 7: '1,000.6'
        // *     example 8: number_format(67000, 5, ',', '.');
        // *     returns 8: '67.000,00000'
        // *     example 9: number_format(0.9, 0);
        // *     returns 9: '1'
        // *     example 10: number_format('1.20', 2);
        // *     returns 10: '1.20'
        // *     example 11: number_format('1.20', 4);
        // *     returns 11: '1.2000'
        // *     example 12: number_format('1.2000', 3);
        // *     returns 12: '1.200'
        var n = number, prec = decimals;
    
        var toFixedFix = function (n,prec) {
            var k = Math.pow(10,prec);
            return (Math.round(n*k)/k).toString();
        };
    
        n = !isFinite(+n) ? 0 : +n;
        prec = !isFinite(+prec) ? 0 : Math.abs(prec);
        var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
        var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
    
        var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
    
        var abs = toFixedFix(Math.abs(n), prec);
        var _, i;
    
        if (abs >= 1000) {
            _ = abs.split(/\D/);
            i = _[0].length % 3 || 3;
    
            _[0] = s.slice(0,i + (n < 0)) +
                  _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
            s = _.join(dec);
        } else {
            s = s.replace('.', dec);
        }
    
        var decPos = s.indexOf(dec);
        if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
            s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
        }
        else if (prec >= 1 && decPos === -1) {
            s += dec+new Array(prec).join(0)+'0';
        }
        return s;
};

SplashDisplay.zeroPad = function(num,count){ 
    var numZeropad = num + '';
    while(numZeropad.length < count) {    
        numZeropad = "0" + numZeropad; 
    }
    return numZeropad;
}