<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Diagnostic</title>
<link rel="stylesheet" type="text/css" href="wifi_style.css"></link>
<script type="text/javascript" src="js/prototype/prototype.js"></script>
<script type="text/javascript" src="js/bramus/jsProgressBarHandler.js"></script>
<style> 
td{font-size:0.8em;font-weight:bold;padding:1%;text-align:left;width:10%}
a.hypername
{
	color: black;
	text-decoration: none;
}
a.hypername:hover
{
	color: black;
	text-decoration: underline;
}
a.hypername:visited
{
	color: black;
}
</style>
</head>
<body>
<div id="wrap">
	<div id="tabs">
		<ul>
			<li><a href="reading_html"><span>Readings</span></a></li>
			<li><a href="flashChartConf"><span>Chart</span></a></li>
			<li id="current"><a href="servlet2"><span>Setup</span></a></li>
			<li><a href="retrieveSet"><span>Data</span></a></li>
		</ul>
	</div>
	<div id='header'> &#160; </div>
	<div id="sidebar">
		<ul>
			<li><a href="servlet2">TX Configuration</a></li>
			<li><a href="commandConf"> VC Configuration </a></li>
			<li><a href="management"> Management </a></li>
			<li><a href="security"> Security </a></li>
			<li style="font-weight: bold"><a style="color: #000000" href="diagnostic_html"> Diagnostic </a></li>
			<li><a href="login?logout=1"> Logout </a></li>
		</ul>
	</div>
	<div id="main">
		<div style="display:inline-block;height:100px;text-align:center;font-weight:bold;" name="msgboard" id="msgboard">
			<span name="boardmsg" id="boardmsg">Loading ...</span>
		</div>
		<div style="display:none" name="dashboard" id="dashboard">
			<table width="100%" border="0" name='diagtb' id='diagtb'>
			<tr>
				<td>Name</td>
				<td>Latest</td>
				<td>Power</td>
				<td>Battery</td>
				<td>Signal Strength</td>
				<td>Success Rate</td>
				<td>Update</td>
			</tr>
			</table>
		</div>
	</div>
</div>
<script type="text/javascript"> 
var manualPB1 = new Array();
var manualPB2 = new Array();
var NUMOFTRANSMITTER=0;
var everSet =0;
var xmlhttp;
 	
function request(url)
{
    var params="user=datetime&seq=12345678";
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp!=null)
	{
		xmlhttp.open("POST",url,true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.setRequestHeader("Content-length", params.length);
        xmlhttp.setRequestHeader("Connection", "close");
	    xmlhttp.onreadystatechange=stateChanged;
		xmlhttp.send(params);
	}
	else
	{
		alert("Your browser does not support XMLHTTP.");
	}
}
 
function GetXmlHttpObject()
{
    xmlhttp=null;
	if (window.XMLHttpRequest)
  	{
		xmlhttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
    return xmlhttp;
 
}

function createTransmitter(id)
{
	if(document.getElementById('diagtbrw'+(id+1))==null)
	{
		var tr=document.createElement("tr");
		tr.name='diagtbrw'+(id+1);
		tr.id='diagtbrw'+(id+1);
		var td=document.createElement("td");
		var anchor=document.createElement("a");
		anchor.name='name'+id;
		anchor.id='name'+id;
		anchor.className='hypername';
		td.appendChild(anchor);
		tr.appendChild(td);
		td=document.createElement("td");
		td.name='time'+id;
		td.id='time'+id;
		tr.appendChild(td);
		td=document.createElement("td");
		td.name='r'+id+'a';
		td.id='r'+id+'a';
		tr.appendChild(td);
		td=document.createElement("td");
		td.name='r'+id+'b';
		td.id='r'+id+'b';
		tr.appendChild(td);
		td=document.createElement("td");
		td.name='r'+id+'c';
		td.id='r'+id+'c';
		var span=document.createElement("span");
		span.name='RSSI'+id;
		span.id='RSSI'+id;
		td.appendChild(span);
		tr.appendChild(td);
		td=document.createElement("td");
		td.name='r'+id+'d';
		td.id='r'+id+'d';
		var span=document.createElement("span");
		span.name='RATE'+id;
		span.id='RATE'+id;
		td.appendChild(span);
		tr.appendChild(td);
		td=document.createElement("td");
		td.name='r'+id+'e';
		td.id='r'+id+'e';
		tr.appendChild(td);
		document.getElementById('diagtb').appendChild(tr);
		var RSSI = "RSSI"+id;
		manualPB1[id] = new JS_BRAMUS.jsProgressBar(
			$(RSSI),
			0,
			{
				showText	: true,
				animate		: false,
				width		: 154,
				height		: 11,
				boxImage	: 'images/bramus/custom1_box.gif',
				barImage	: 'images/bramus/custom1_bar.gif'
			}
		);
		var RATE = "RATE"+id;
		manualPB2[id] = new JS_BRAMUS.jsProgressBar(
			$(RATE),
			0,
			{
			showText	: true,
			animate		: false,
			width		: 154,
			height		: 11,
			boxImage	: 'images/bramus/custom1_box.gif',
			barImage	: 'images/bramus/custom1_bar.gif'
			}
		);
	}
}

function removeTransmitter(id)
{
	var curr_node=document.getElementById('diagtbrw'+(id+1));
	if(curr_node!=null)
	{
		document.getElementById('diagtb').removeChild(curr_node);
	}
}

function stateChanged()
{
	if (xmlhttp.readyState==4)
	{
		if(xmlhttp.status==200)
		{
			document.getElementById("msgboard").style.display="none";
			document.getElementById("dashboard").style.display="inline-block";

			var response = xmlhttp.responseText;
			var res=response.split("\n");
			res=res.slice(2,res.length-2);
			var i=0;
			
			prev_NUMOFTRANSMITTER = NUMOFTRANSMITTER;
			NUMOFTRANSMITTER = res.length-1;
			
			for(i=prev_NUMOFTRANSMITTER;i<NUMOFTRANSMITTER;i++)
				createTransmitter(i);
			
			for (i=0; i< NUMOFTRANSMITTER; i++){
				var getStr = res[i].split(",");
				if(getStr.length >=3 ){
					document.getElementById("name"+i).innerHTML=getStr[0];
					document.getElementById("time"+i).innerHTML=getStr[1];
					if(getStr[1]=="Lost")
						document.getElementById("time"+i).style.color="red";
					else
						document.getElementById("time"+i).style.color="black";
					var item = getStr[2].split(" ");	
					if(item.length >=2)
					{
						if(item[1]=="1")
							document.getElementById("r"+i+"a").innerHTML="AC Adaptor";
						else
							document.getElementById("r"+i+"a").innerHTML="Battery";
					}
					else
						document.getElementById("r"+i+"a").innerHTML="";
					item = getStr[3].split(" ");
					var batteryV = item[1];
					if(batteryV>0.9)
					{
						document.getElementById("r"+i+"b").innerHTML=item[1] + "V";
						document.getElementById("r"+i+"b").style.color = "black";
					}
					else
					{ 
						document.getElementById("r"+i+"b").innerHTML=item[1] + "V Low Battery";
						document.getElementById("r"+i+"b").style.color = "red";
					}
					item = getStr[4].split(" ");						
					var itemsub =item[1].split("%");
					if(item.length >=1&&document.getElementById('RSSI'+i+'_percentImage')!=null)
						manualPB1[i].setPercentage(itemsub[0]);
					item = getStr[5].split(" ");					
					itemsub =item[1].split("%");
					if(item.length >=1&&document.getElementById('RATE'+i+'_percentImage')!=null)
						manualPB2[i].setPercentage(itemsub[0]);
					item = getStr[6].split(" ");
					if(item.length>=2)
					{
						document.getElementById("r"+i+"e").innerHTML=item[1];
						if(item[1].indexOf("Cont.")!==0)
							document.getElementById("r"+i+"e").innerHTML+=" sec";
					}
					item = getStr[7].split(" ");
					if(item.length>=2)
					{
						document.getElementById("name"+i).href="servlet2?MAC="+item[1];
					}
				}
			}

			for(i=NUMOFTRANSMITTER;i<prev_NUMOFTRANSMITTER;i++)
				removeTransmitter(i);
			
			if(NUMOFTRANSMITTER==0)
			{
				document.getElementById("boardmsg").innerHTML="No device detected";
				document.getElementById("msgboard").style.display="block";
				document.getElementById("dashboard").style.display="none";
			}
		}
		else
		{
			document.getElementById("boardmsg").innerHTML="No response";
			document.getElementById("msgboard").style.display="block";
			document.getElementById("dashboard").style.display="none";
		}
	}
}
 
setInterval("request('diagnostic')",2000);

</script>
</body>
</html>
