var xmlHttp = createXmlHttpRequestObject();

function getRosterList()  {
	if (document.addroster.teamID.options[document.addroster.teamID.options.selectedIndex].value == "x")  {
		clearSelect();
	} else {
		processCust();
	}
}

function processCust()  {
	if (xmlHttp)  {
		try  {
			var teamID = document.addroster.teamID.options[document.addroster.teamID.options.selectedIndex].value;
			xmlHttp.open("GET","getroster.php?teamID="+teamID,true);
			xmlHttp.onreadystatechange = handleRequestStateChangeCust;
			xmlHttp.send(null);
		}
		catch (e)  {
			alert("Can't connect to the server: \n" + e.toString());
		}
	}
}

function handleRequestStateChangeCust()  {
	if (xmlHttp.readyState == 4)  {
		if (xmlHttp.status == 200)  {
			try  {
				handleServerResponseCust();
			}
			catch (e)  {
				alert("Error reading the response: " + e.toString());
			}
		} else {
			alert("There was a problem retrieving the data: \n" + xmlHttp.statusText);
		}
	}
}

function handleServerResponseCust()  {
	var xmlResponse = xmlHttp.responseXML;
	if (!xmlResponse || !xmlResponse.documentElement)  {
		throw("Invalid XML structure:\n" + xmlHttp.responseText);
	}
	var rootNodeName = xmlResponse.documentElement.nodeName;
	if (rootNodeName == "parsererror")  {
		throw("Invalid XML structure:\n" + xmlHttp.responseText);
	}
	xmlRoot = xmlResponse.documentElement;
	valueArray = xmlRoot.getElementsByTagName("value");
	var html = "";
	clearSelect();
	for (var x=0;x<valueArray.length;x++)  {
		var thisOption=new Array();
		thisOption["name"] = valueArray.item(x).firstChild.data;
		x++;
		thisOption["id"] = valueArray.item(x).firstChild.data;
		document.getElementById("playerRoster").options[document.getElementById("playerRoster").options.length] = new Option(thisOption["name"],thisOption["id"]);
	}
}


function clearSelect()  {
	var selectList = document.getElementById("playerRoster");
	while(selectList.lastChild){
    	selectList.removeChild(selectList.lastChild);
	}
}

function createXmlHttpRequestObject()  {
	var xmlHttp;
	try  {
		xmlHttp = new XMLHttpRequest();
	}
	catch (e)  {
		var xmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP');
		for (var i=0;i<xmlHttpVersions.length && !xmlHttp; i++)  {
			try  {
				xmlHttp = new ActiveXObject(xmlHttpVersions[i]);
			}
			catch (e)  { }
		}
	}
	if (!xmlHttp)  {
		alert("Error creating the XMLHttpRequest object.");
	} else {
		return xmlHttp;
	}
}
