Expand|Select|Wrap|Line Numbers
- var changeBG;
- function fetchById(id){
- if (document.getElementById){
- var fetch = document.getElementById(id);
- }
- else if (document.layers){
- var fetch = document.layers[id];
- }
- else if (document.all){
- var fetch = document.all[id];
- }
- return fetch;
- }
- function SJAX(url){
- http_request = false;
- if(window.XMLHttpRequest){
- // Mozilla - Safari - Opera
- http_request = new XMLHttpRequest();
- }
- else if(window.ActiveXObject){
- // Internet Explorer
- try{
- http_request = new ActiveXObject("Msxml2.XMLHTTP");
- }
- catch(e){
- try{
- http_request = new ActiveXObject("Microsoft.XMLHTTP");
- }
- catch(e){
- //don't do anything and let !http_request do it's job
- }
- }
- }
- if(!http_request){
- updateData('Error: Cannot create an XMLHttpRequest instance!');
- return false;
- }
- http_request.open('GET',url, false);
- timeout = setTimeout("http_request.abort(); alert('Error: Request timed out!'); timerRunning = false;",1000);
- timerRunning = true;
- http_request.send(null);
- if(timerRunning == true){
- clearTimeout(timeout);
- }
- if(http_request.status == 200){
- if(http_request.readyState == 4){
- var recoil = http_request.responseText;
- if(recoil == "0"){
- alert("DCL " + validatingDCL + " is invalid.");
- }
- else{
- return recoil;
- }
- }
- }
- }
- function runTest(){
- for(i=0;i<document.options.testType.length;i++){
- if(document.options.testType[i].checked==true){
- testType = i;
- }
- }
- // speed = fetchById('speed').checked;
- if(testType == 1){
- timeSpanFull = fetchById('timeSpan').value;
- timeSpan = timeSpanFull.split(".");
- timeSpan[0] = parseInt(timeSpan[0]);
- timeSpan[1] = parseInt(timeSpan[1]);
- if(timeSpan[1] == undefined || isNaN(timeSpan[1])){
- timeSpan[1] = 0;
- }
- if(timeSpan[0] == undefined || isNaN(timeSpan[0])){
- timeSpan[0] = 0;
- }
- good = true;
- updateData('', true);
- x = 0;
- beginTime = new Date();
- trueBeginTime = beginTime;
- updateData("<div style='background: #eee; width: 100%; display: inline-table;'>Begin Time: " + beginTime.getMinutes() + ":" + beginTime.getSeconds() + ":" + beginTime.getMilliseconds() + "</div>",false,false);
- beginTime.setSeconds(beginTime.getSeconds() + timeSpan[0]);
- beginTime.setMilliseconds(beginTime.getMilliseconds() + (timeSpan[1] * 100));
- while(good == true){
- currentTime = new Date();
- hours = currentTime.getHours();
- minutes = currentTime.getMinutes();
- seconds = currentTime.getSeconds();
- milliseconds = currentTime.getMilliseconds();
- if(currentTime > beginTime || x >= 500){
- good = false;
- break;
- }
- x = x + 1;
- updateData(x + ": " + hours + ":" + minutes + ":" + seconds + ":" + milliseconds +" - " + SJAX('ajax.php'));
- }
- elapsedMinutes = minutes - trueBeginTime.getMinutes();
- elapsedSeconds = seconds - trueBeginTime.getSeconds();
- elapsedMilliseconds = milliseconds - trueBeginTime.getMilliseconds();
- updateData("<div style='background: #eee; width: 100%; display: inline-table;'>End Time: " + minutes + ":" + seconds + ":" + milliseconds + " - Total Time: " + elapsedMinutes + ":" + elapsedSeconds + ":" + elapsedMilliseconds + "</div>",false,false);
- }
- else if(testType == 2){
- reqs = Math.ceil(parseInt(fetchById('timeSpan').value));
- good = true;
- updateData('', true);
- x = 0;
- beginTime = new Date();
- trueBeginTime = beginTime;
- updateData("<div style='background: #eee; width: 100%; display: inline-table;'>Begin Time: " + beginTime.getMinutes() + ":" + beginTime.getSeconds() + ":" + beginTime.getMilliseconds() + "</div>",false,false);
- while(good == true){
- currentTime = new Date();
- hours = currentTime.getHours();
- minutes = currentTime.getMinutes();
- seconds = currentTime.getSeconds();
- milliseconds = currentTime.getMilliseconds();
- if(x >= reqs){
- good = false;
- break;
- }
- x = x + 1;
- updateData(x + ": " + hours + ":" + minutes + ":" + seconds + ":" + milliseconds +" - " + SJAX('ajax.php'));
- }
- elapsedMinutes = minutes - trueBeginTime.getMinutes();
- elapsedSeconds = seconds - trueBeginTime.getSeconds();
- elapsedMilliseconds = milliseconds - trueBeginTime.getMilliseconds();
- updateData("<div style='background: #eee; width: 100%; display: inline-table;'>End Time: " + minutes + ":" + seconds + ":" + milliseconds + " - Total Time: " + elapsedMinutes + ":" + elapsedSeconds + ":" + elapsedMilliseconds + "</div>",false,false);
- }
- else if(testType == 3){
- updateData(SJAX('timeout.php'),true);
- }
- else{
- updateData(SJAX('ajax.php'), true);
- }
- }
- function updateData(data,clear,br){
- if(clear == true){
- //Clear the Bottom section
- fetchById('bottom').innerHTML = "";
- }
- if(br == false){
- //Don't add a line break after the line
- br = "";
- }
- else{
- br = "<br />"
- }
- //Populate the Bottom section with more data
- fetchById('bottom').innerHTML = fetchById('bottom').innerHTML + data + br;
- //Change Bottom sections bgcolor to a light yellow for notification
- fetchById('bottom').style.backgroundColor = "#FFC";
- if(data == ""){
- //Clear the field so it doesn't have a break tag
- fetchById('bottom').innerHTML = "";
- }
- //Clear the timeout so you don't have early background changes
- clearTimeout(changeBG);
- //Set the background to change back after 1 second
- changeBG = setTimeout("fetchById('bottom').style.backgroundColor = '#FFF';", 1000);
- }
- function switchVal(elem){
- if(fetchById(elem).checked == true){
- fetchById(elem).checked = false;
- fetchById(elem).focus();
- }
- else{
- fetchById(elem).checked = true;
- fetchById(elem).focus();
- }
- }