	function CloseDetailedView() 
	{
		var detailed = jQuery('#detailed_view');
		detailed.hide();
	}

	function showDetailedView(num) 
	{
		var detailed = jQuery('#detailed_view');
		//detailed.show();
		detailed.dialog({ width:650, height: 350, title: 'VectorTrace Details', position: 'top' });
		detailed.dialog('open');
		
		var tbody = jQuery('#resusts_table_rows');

		tbody.empty();
		for(var i = 0; i < detailed_results[num].length; i++) 
		{
			var tr = '<tr>'; //start table from stratch 
			for(var j = 0; j < detailed_results[num][i].length; j++) 
			{
				tr += '<td>' + detailed_results[num][i][j] + '</td>';
			}
			tr += '</tr>';
			tbody.append(tr);
		}
	}

	function scrollToBottom(num) 
	{
		var objDiv = jQuery("#server_data_"+num);
		objDiv.scrollTop = objDiv.scrollHeight;
	}

	function AddServerData(serverNum, hop,time1,time2,time3,best,ip,hostname,asn,country) 
	{
		detailed_results[serverNum][detailed_results[serverNum].length] = new Array(hop,time1,time2,time3,best,ip,hostname,asn,country);
		serverNum++; //adjust for non array index notation
		jQuery( '#server_data_'+serverNum ).html( jQuery( '#server_data_'+serverNum ).html() + hostname+'<br />');
		scrollToBottom(serverNum);
	}

	function AddServerResult(serverNum, ipaddress, name) 
	{
		serverNum++; //adjust for non array index notation
		jQuery( '#server_result_'+serverNum ).html( jQuery( '#server_result_'+serverNum ).html() + '<strong>'+ipaddress+'</strong><br />'+name)
	}

	function AddServerResultBest(serverNum, ipaddress,best, name) 
	{
		serverNum++; //adjust for non array index notation
		jQuery( '#server_result_'+serverNum ).html( jQuery( '#server_result_'+serverNum ).html( ) + '<strong>'+ipaddress+'</strong>&nbsp;&nbsp&nbsp best='+best+'ms<br />'+name)
	}

	function AddServerTimeoutData(serverNum, lastdnssenthop, hostname, ipaddress, time1, time2, time3, count) 
	{
		serverNum++; //adjust for non array index notation
		jQuery( '#server_result_'+serverNum ).html( jQuery( '#server_result_'+serverNum ).html() + lastdnssenthop+' '+hostname+' '+ipaddress+' '+time1+' '+time2+' '+time3+' '+count+'<br />')
	}


//globally use varible
	var detailed_results = new Array(3);
	for(var i = 0; i < detailed_results.length; i++)
	{
		detailed_results[i] = new Array()
	}
