var url = '/js/speed_test.php';
var testImg; 
var delay = 100; 
var nb = -1;
var number = 0;
var maxDelay = 10000;
var timer1 = 0; 
var timer2 = 0;
var res = '';
var imgs = ['random350x350.jpg',
                        'random500x500.jpg',
                        'random750x750.jpg',
                        'random1200x1200.jpg',
                        'random1300x1300.jpg',
                        'random1500x1500.jpg',
                        'random1900x1900.jpg',
                        'random2000x2000.jpg'];
var sizes = [245388,
                        505544,
                        1118012,
                        1944802,
                        2303780,
                        4468241,
                        4895667,
                        7907740]; 
function imgCheck() {
        if(imgs[number] != null) {
        testImg = new Image();
        timer1 = new Date().getTime();
        testImg.src='http://pr-cy.ru/images/'+ imgs[number] +"?dummy=" + timer1;
        nb = 0;
        setTimeout("timeout()",delay);
        $('#contentBlock').append("<div class=steptest>Тест скорости скачивания - этап " + (number+1    ) + "...</div>");
        } else {
                setTimeout("timeout()",delay);
        }
}

function startTest() {
        $('#contentBlock').html("<b>Подождите, идет тест скорости:</b><br /><br />");
        $('#testBtn').hide();
        $('#loadingBar').show();
        imgCheck();
}

function timeout() {
        nb++;
        if ((nb*delay>=maxDelay) || (number >= imgs.length)) {
                number = 3;
                $('#contentBlock').append("<div class=steptest2>Тест скорости загрузки...</div>");
                data = '';
                for(var i=0; i<sizes[number]; i++){
                        data += Math.floor(Math.random() * (9 - 0 + 1)) + 0;
                } 
                
                var postContent = "Content-Disposition: form-data; name=\"data\"\r\n"+
                "\r\n"+ data + "\r\n"; 
                
                timer1 = new Date().getTime();
                $.ajax({
                        url:    url+'?type=up&'+new Date().getTime(),
                        type:   'POST',
                        data : { "mem" : postContent},
                        success: function(response) {
                          getData();
                        }
                });
        } else {
                if (testImg.complete) {
                        timer2 = new Date().getTime();
                        res += (timer2-timer1) + '_';
                        number++;
                        imgCheck();
                } else {
                        setTimeout("timeout()",delay)
                }
        }
}

function getData() {
                timer2 = new Date().getTime();
                res = (timer2-timer1) + 'R' + res;
                $.ajax({
                        url:    url+'?type=calc&res='+res+'&'+new Date().getTime(),
                        type:   'GET',
                        success: function(response) {
                          $('#contentBlock').html(response);
                          $('#loadingBar').hide();
                        }
                });
}
