
 /* JavaScript stuff for www.UpDn.co.uk */
 
// var fsize= 3542397; // size of image file in bytes
 var fsize=12473608; // size of image file in bytes
 var time1=0;        // start time
 var time2=0;        // end time
 var timed=0;        // time taken (ms)

 var rSpeed=new Array('56kbit', '512kbit', '1Mbit', '2Mbit', '10Mbit', '20Mbit', '<b>Yours</b>');
 var rWidth=new Array(       3,        25,      50,     100,      500,     1000,              0);
 var rSized=new Array(0, 0, 0, 0, 0, 0, 0);

 var testRuns =0;
 var testTotal=0;


 function showLink(i) {
  var urls=new Array(
   '<a href="http://www.updn.co.uk" title="Virgin Media Broadband Speed Test">Virgin Media Speed Test</a>'
  ,'[url=http://www.updn.co.uk/]Virgin Media Broadband Speed Test[/url]'
  );
  var linkCode=document.getElementById('linkCode');
  linkCode.value=urls[i];
 } 


 function doChart() {
  doSizes();
  var chart=document.getElementById('chart'); var html=''; var bar='';
  html+='<table cellpadding="0" border="0">';
  html+='<tr>';
  html+=' <td class="tcol">Speed</td>';
  html+=' <td class="tcol">Comparison</td>';
  html+='</tr>';
  for(r=0; r<rSpeed.length; r++) {
   if(r==rSpeed.length-1) { bar='rbar'; } else { bar='gbar'; }
   html+='<tr>';
   html+=' <td class="rtxt">'+rSpeed[r]+':</td>';
   html+=' <td class="gbox"><div class="'+bar+'" style="width:'+rSized[r]+'px;"></div></td>';
   html+='</tr>';
  }
  html+='</table>';
  chart.innerHTML=html;
 }


 function doSizes() {
  var high=0;          for(r=0; r<rSpeed.length; r++) { if(rWidth[r]>high) { high=rWidth[r]; } }
  var mult=(500/high); for(r=0; r<rSpeed.length; r++) { rSized[r]=Math.floor(rWidth[r]*mult); if(rSized[r]<=0) { rSized[r]=1; } }
 }

 
 function test_start() {
  var speedtest=document.getElementById('speedtest');
  speedtest.onload=function() { test_stop() }
  var today = new Date();
  document.getElementById('speedtest_button').value='Running Test...';
  document.getElementById('speedtest_button').disabled=true;
  document.getElementById('speedtest_button').style.cursor='progress';
  document.getElementsByTagName('body')[0].style.cursor   ='progress';
  time1=today.getTime();
  speedtest.src='http://homepage.ntlworld.com/video_/rainbow.png?'+time1;
 }
 

 function test_stop() {
  if(time1>0) {
   var today = new Date();
   var time2=today.getTime();
   timed=time2-time1;
   time1=0;
   time2=0;
   show_speed(timed);
  }
  document.getElementById('speedtest_button').value='Run Another Test';
  document.getElementById('speedtest_button').style.cursor='pointer';
  document.getElementsByTagName('body')[0].style.cursor   ='auto';
 }
 

 function show_speed(timed) {
  var speed_kps = Math.round(fsize/timed);
  var speed_mbt = Math.round((speed_kps*80)/1024)/10;
  var barwidth=speed_mbt*50;
  var results=document.getElementById('results');
  var average=0;	
  rWidth[rWidth.length-1]=barwidth;
  doChart();
  testRuns++;
  testTotal+=speed_mbt;
  average=Math.floor(testTotal*10/testRuns)/10;
  results.innerHTML='Last Test:<h3>'+speed_mbt+'Mbit</h3>Average Speed:<h4>'+average+'Mbit</h4>';
  document.getElementById('speedtest_button').disabled=false;
 }
 

 /* External Links */
 
 function extLinks() {
  if(!document.getElementsByTagName) { return; }
  var links=document.getElementsByTagName('a');
  var lnk=''; var rel=''; var ext=/external/;
  for(l=0; l<links.length; l++) {
   lnk=links[l];
   rel=lnk.getAttribute('rel');
   if(ext.test(rel)) { lnk.target='_blank'; }
  }
 }


 function showMap() {
  var mapdiv =document.getElementById('mapdiv');
  var mapdiv2=document.getElementById('mapdiv2');
  mapdiv.style.visibility='visible';
  mapdiv2.innerHTML='<iframe style="width:718px; height:570px;" src="fault-map.php" border="0" frameborder="no" scrolling="no"></iframe>';
 }
 

 function hideMap() {
  var mapdiv =document.getElementById('mapdiv');
  var mapdiv2=document.getElementById('mapdiv2');
  mapdiv.style.visibility='hidden';
  mapdiv2.innerHTML='';
 }
