var rCstart=0x03;
var gCstart=0x8E;
var bCstart=0xD3;

var rDelta=0x10;
var gDelta=0x08;
var bDelta=0x04;

function fullNumber(number){
	return (number<0x10?"0":"")+number.toString(16);
}

function getColor(index){
	rCend=index*rDelta+rCstart;
	gCend=index*gDelta+gCstart;
	bCend=index*bDelta+bCstart;
	return fullNumber(rCend)+fullNumber(gCend)+fullNumber(bCend);
}

function calcSpeed(dt_start,dt_end,size){
	document.getElementById("speed_display").style.display = '';
	document.getElementById("testing_label").style.display = 'none';
	
	var oLink = document.getElementById("start_testing");
	oLink.style.color = '';
	oLink.style.textDecoration = '';
	oLink.onclick = function(){return true};
	oLink.style.cursor = '';
	
	if(dt_end.getTime()==dt_start.getTime) return 515;
	return size*8192000/(dt_end.getTime()-dt_start.getTime());
}

var sppedTable;
var speedCells=new Array();
var valueCells=new Array();
var dimension="á/ceê";
var speedTextes=['4 Ì','2 Ì','1,5 Ì','1 Ì','768 Ê','512 Ê','256 Ê','128 Ê','64 Ê','56 Ê','41,8 Ê','33,6 Ê'];
var speedPrefix=['M','M','M','M','K','K','K','K','K','K','K','K'];
var speedValues=['4000000','2000000','1500000','1000000','768000','512000','256000',
					'128000','64000','56000','41800','33600'];

function setupSpeedTable(table){
	var oLink = document.getElementById("start_testing");
	oLink.style.color = '#000000';
	oLink.style.textDecoration = 'none';
	oLink.onclick = function(){alert('asdfasd'); return false};
	oLink.style.cursor = 'default';
	
	table.style.display = 'none';
	speedTable=table;
	var i=0;
	var rownum=0;
	var tbody;
	var node=null;
	while(node=table.childNodes[i]){
		if(node.nodeName=="TBODY"){
			tbody=node;
			break;
		}
		i++;
	}

	for(i=0;i<12;i++){
		xel=document.createElement("tr");
		xel.className="speed-row";
		var color=getColor(i);
		xel.style.backgroundColor="#"+color;
		xel.style.verticalAlign="middle";
		tbody.appendChild(xel);
		var xcell=document.createElement("td");
		var xcell2=document.createElement("td");
		xcell.innerHTML="<nobr>"+speedTextes[i]+dimension+"</nobr>";
		xcell.className="scale";
		xcell2.className="hide";
		xel.appendChild(xcell);
		xel.appendChild(xcell2);
		speedCells[i]=xcell;
		valueCells[i]=xcell2;

	}
}

function setTableValue(value){
	var i=0;
	while(speedValues[i] && value<speedValues[i])i++;
	valueCells[i].className="showed";
	var fvalue=(value>=1000000?value/1000000:value/1000);
	var kvalue=value/8192;

	fvalue=fvalue.toFixed(2);
	fvalue=fvalue.replace(".",",");

	kvalue=kvalue.toFixed(2);
	kvalue=kvalue.replace(".",",");

	valueCells[i].innerHTML="<nobr>"+fvalue+" "+speedPrefix[i]+dimension+",&#160;"+kvalue+" ÊÁàéò/ñåê"+"</nobr><br/><span style='font-size:0.8em;'>(" +downloaded+" 2048 ÊÁàéò çà "+Math.round((dt_end.getTime()-dt_start.getTime())/1000)+" ñåê.)</span>";
	var j=0;
	while(j<i){
		speedCells[j].className = speedCells[j].className + ' disabled';
		j++;
	}
}
