var myDiv;
var DriverList;

function setDivs(param)
{
	myDiv = document.getElementById(param);	
	
}
// holds an instance of XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
// creates an XMLHttpRequest instance
function createXmlHttpRequestObject()
{
	// will store the reference to the XMLHttpRequest object
	var xmlHttp;
	// this should work for all browsers except IE6 and older
	try
	{
		// try to create XMLHttpRequest object
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		// assume IE6 or older
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
		"MSXML2.XMLHTTP.5.0",
		"MSXML2.XMLHTTP.4.0",
		"MSXML2.XMLHTTP.3.0",
		"MSXML2.XMLHTTP",
		"Microsoft.XMLHTTP");
		// try every prog id until one works
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
		{
			try
			{
				// try to create XMLHttpRequest object
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e) {}
		}
	}
	// return the created object or display an error message
	if (!xmlHttp)
		alert("Error creating the XMLHttpRequest object.");
	else
		return xmlHttp;
}
// called to read a file from the server
function toggleDriverList(param, driverID )
{
	myDiv = document.getElementById(param);
	
	DriverList = document.getElementById(param + '_DriverList'); 
	
	
	
	
	if (DriverList.style.display == 'block')
	{
		//collapse the list
		DriverList.style.display = 'none';
		DriverList.innerHTML = '';
		
		DriverList = null;
	}
	else
	{
		// only continue if xmlHttp isn't void
		if (xmlHttp)
		{
			// try to connect to the server
			try
			{
				var params = "param=" + escape(param);
				if (typeof driverID != "undefined") //defined this parameter
					params = params + "&id=" + escape(driverID);	
			
				xmlHttp.open("POST", "../include/getDriverList.php", true);
				
				//Send the proper header information along with the request
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.setRequestHeader("Content-length", params.length);
				xmlHttp.setRequestHeader("Connection", "close");			
				
				loading = document.createElement('span');
				loading.setAttribute('id', param + '_loading');
				loading.innerHTML = 'Loading drivers...';
				
				DriverList.appendChild(loading);
				DriverList.style.display = 'block';	
				
				
				xmlHttp.onreadystatechange = handleRequestStateChange;
				
				xmlHttp.send(params);
			
				
			}
			// display the error in case of failure
			catch (e)
			{
				alert("Can't connect to server:\n" + e.toString());
			}
		}
	} //else
}	
// function that handles the HTTP response
function handleRequestStateChange()
{
	
	// display the status of the request
	if (xmlHttp.readyState == 1)
	{
		//load								
	}
	
	// when readyState is 4, we also read the server response
	else if (xmlHttp.readyState == 4)
	{
		// continue only if HTTP status is "OK"
		if (xmlHttp.status == 200)
		{
			try
			{
				// read the message from the server
				response = xmlHttp.responseText;
				
				//myDiv.removeChild(loading);
				
				//myDiv.innerHTML = myDiv.innerHTML + response;
				
				DriverList.innerHTML = response;
					
				if (DriverList.style.display == 'none')
					DriverList.style.display = 'block';	
				
			}
			catch(e)
			{
				// display error message
				//alert("Error reading the response: " + e.toString());
			}
		}
		else
		{
			// display status message
			alert("There was a problem retrieving the data:\n" +
			xmlHttp.statusText);
		}
	}
	myDiv.innerHTML.replace(/Loading drivers.../, '');
}

function popSearchBox(id)
{
	searchBox = document.getElementById('search_form');
	searchBy  = document.getElementById('searchBy');
	
	newPosition = '30px';
	
	if (id == 'name')
		newPosition = '30px';
	else if (id == 'nationality')
		newPosition = '57px';
	else
		newPosition = '83px';
		
	searchBox.style.top = newPosition;
	searchBox.style.visibility = 'visible';
	
	searchBy.value		= id;
	
	
}
