var XmlHttp5;

function CreateXmlHttp5()
{
	//Creating object of XMLHTTP in IE
	try
	{
		XmlHttp5 = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XmlHttp5 = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(oc)
		{
			XmlHttp5 = null;
		}
	}
	//Creating object of XMLHTTP in Mozilla and Safari 
	if(!XmlHttp5 && typeof XMLHttpRequest != "undefined")
	{
		XmlHttp5 = new XMLHttpRequest();
	}
}

function CellChangersLookup()
{
	// URL to get states for a given client
	var requestURL = CellChangersLookupAjaxUrl;
	CreateXmlHttp5();
	// If browser supports XMLHTTPRequest object
	if(XmlHttp5)
	{
		//Setting the event handler for the response
		XmlHttp5.onreadystatechange = HandleCellChangersLookup;

		//Initializes the request object with POST (METHOD of posting),
		//Request URL and sets the request as asynchronous.
		XmlHttp5.open("POST", requestURL,  true);
			
		// send header for post
		XmlHttp5.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		
		//Sends the request to server
		XmlHttp5.send("");
	}
}

function HandleCellChangersLookup()
{
	// To make sure receiving response data from server is completed
	if(XmlHttp5.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp5.status == 200)
		{
			if(XmlHttp5.responseXML != null){
				DisplayCellChangersTypes(XmlHttp5.responseXML.documentElement);
			}else{
				alert("There was a problem retrieving data from the server (responseXML == null)");
			}
		}
		else
		{
			alert("There was a problem retrieving data from the server (status = " + XmlHttp5.status + ")");
		}
	}
}

function DisplayCellChangersTypes(xmlString)
{
	// display radio buttons for returned Temperature Control Types
	var ccDiv = document.getElementById('ccDiv');
	ccDiv.appendChild(document.createTextNode("Loading Cell Changers..."));
	
	var cellChangerNodes = xmlString.getElementsByTagName("cellChanger");
	var rowcount = cellChangerNodes.length;
	var helpText = "";
	
	if (rowcount > 0)
	{
		ccDiv.innerHTML = "";
		var tableCCs = document.createElement("table");
		tableCCs.className = "radioTable";	
		var hasHelp = 0;
		helpText = "<br><b>Descriptions:</b><br>";
		
		for (i=0; i<rowcount; i++)
		{
			// insert new table
			var name = cellChangerNodes[i].getAttribute("cellChangerName");
			var id = cellChangerNodes[i].getAttribute("cellChangerID");
			var hlpTxt = cellChangerNodes[i].getAttribute("helpText");
			if (hlpTxt != "")
			{
				helpText += name + ": <i>" + hlpTxt + "</i><br><br>";
				hasHelp++;
			}
			
			try {
				var radioButton = document.createElement("<input name='rdoCellChangers' id='rdoCellChangers' type='radio' value='"+ id +"' onClick='uncheckNextTabsRadios(5);' />");
			} catch (e) {
				var radioButton = document.createElement('input');
				radioButton.setAttribute('type', 'radio');
				radioButton.setAttribute('name', 'rdoCellChangers');
				radioButton.setAttribute('id', 'rdoCellChangers');
				radioButton.setAttribute('value', id);
				radioButton.setAttribute('onclick', "uncheckNextTabsRadios(5);");
			}			
			ccDiv.appendChild(tableCCs);
			
			var newRow = tableCCs.insertRow(i);
			var cell1 = newRow.insertCell(0);
			var cell2 = newRow.insertCell(1);
			cell1.width="10px";
			cell1.appendChild(radioButton);
			cell2.innerHTML = name;
		}
		if (hasHelp == 0)
		{
			helpText = "";
		}
		var newRow = tableCCs.insertRow(rowcount);
		var cell1 = newRow.insertCell(0);
		var cell2 = newRow.insertCell(0);
		cell1.innerHTML = helpText;
		cell2.innerHTML = "";
	}
}