// stores the reference to the XMLHttpRequest object
var xmlHttp = createXmlHttpRequestObject();
// retrieves the XMLHttpRequest object
function createXmlHttpRequestObject()
{
	// will store the reference to the XMLHttpRequest object
	var xmlHttp;
	// if running Internet Explorer
	if(window.ActiveXObject)
	{
		try
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e)
		{
			xmlHttp = false;
		}
	}
	// if running Mozilla or other browsers
	else
	{
		try
		{
			xmlHttp = new XMLHttpRequest();
		}
		catch (e)
		{
			xmlHttp = false;
		}
	}
	// return the created object or display an error message
	if (!xmlHttp)
		alert("Error creating the XMLHttpRequest object.");
	else
		return xmlHttp;
}

// make asynchronous HTTP request using the XMLHttpRequest object
function checkEmail()
{
	if(document.form2.main_email.value == "") {document.getElementById("email_message").innerHTML = ''; return;}
	// proceed only if the xmlHttp object isn't busy
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
		// execute the quickstart.php page from the server
		xmlHttp.open("GET", "check_email.php?email=" + document.form2.main_email.value, true);
		// define the method to handle server responses
		xmlHttp.onreadystatechange = handleServerResponse;
		// make the server request
		xmlHttp.send(null);
	}
	else
		// if the connection is busy, try again after one second
		setTimeout('checkEmail()', 1000);
}

// executed automatically when a message is received from the server
function handleServerResponse()
{
	// move forward only if the transaction has completed
	if (xmlHttp.readyState == 4)
	{
		// status of 200 indicates the transaction completed successfully
		if (xmlHttp.status == 200)
		{
			// extract the XML retrieved from the server
			xmlResponse = xmlHttp.responseXML;
			// obtain the document element (the root element) of the XML structure
			xmlDocumentElement = xmlResponse.documentElement;
			// get the text message, which is in the first child of
			// the the document element
			helloMessage = xmlDocumentElement.firstChild.data;
			// update the client display using the data received from the server
			//alert(helloMessage);
			if(helloMessage == "yes")
				document.getElementById("email_message").innerHTML = "<font size='2' color='red'><i>Your Email ID already exists. Please try some other Email ID</i></font>";
			else
				document.getElementById("email_message").innerHTML = '';
		}
		// a HTTP status different than 200 signals an error
		else
		{
			//alert("There was a problem accessing the server: " + xmlHttp.statusText);
		}
	}
}


function handleServerResponse_list()
{ 
	// move forward only if the transaction has completed
	if (xmlHttp.readyState == 4)
	{ 
		// status of 200 indicates the transaction completed successfully
		if (xmlHttp.status == 200)
		{
			// extract the XML retrieved from the server
				xmlResponse = xmlHttp.responseXML;
				// obtain the document element (the root element) of the XML structure
				xmlDocumentElement = xmlResponse.documentElement;
				// get the text message, which is in the first child of
				// the the document element
				helloMessage = xmlDocumentElement.firstChild.data;
				// update the client display using the data received from the server
				if(helloMessage != 'no record')
				{
					var var_response = helloMessage.split(",");
					for(var i = 0; i < var_response.length; i++)
					{
						var_response_option = var_response[i].split("~");
						$var_response_text = var_response_option[0];
						$var_response_value = var_response_option[1];
						document.frmAdd.state.options[i+1] = new Option($var_response_text, $var_response_value.toLowerCase());
					}
				}
				else
				{
					 for(i=document.frmAdd.state.options.length-1;i>=0;i--)
						document.frmAdd.state.remove(i);
					document.frmAdd.state.options[0] = new Option('--Select State--', '');
					
					for(i=document.frmAdd.db_city_id.options.length-1;i>=0;i--)
						document.frmAdd.db_city_id.remove(i);
					document.frmAdd.db_city_id.options[0] = new Option('--Select City--', '');
				}
		}
	}
}


// to get the list of state on the based of country
function getStateList(v) 
{ 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
		// execute the quickstart.php page from the server
		xmlHttp.open("GET", "/library/ajax/get_state.php?country=" + v, true);
		// define the method to handle server responses
		xmlHttp.onreadystatechange = handleServerResponse_list;
		// make the server request
		xmlHttp.send(null);
	}
	else
		// if the connection is busy, try again after one second
		setTimeout('getStateList()', 1000);
		//alert('skb');
}


function handleServerResponse_city()
{ 
	// move forward only if the transaction has completed
	if (xmlHttp.readyState == 4)
	{ 
		// status of 200 indicates the transaction completed successfully
		if (xmlHttp.status == 200)
		{
			// extract the XML retrieved from the server
				xmlResponse = xmlHttp.responseXML;
				// obtain the document element (the root element) of the XML structure
				xmlDocumentElement = xmlResponse.documentElement;
				// get the text message, which is in the first child of
				// the the document element
				helloMessage = xmlDocumentElement.firstChild.data;
				// update the client display using the data received from the server
				if(helloMessage != 'no record')
				{
					var var_response = helloMessage.split(",");
					for(var i = 0; i < var_response.length; i++)
					{
						var_response_option = var_response[i].split("~");
						$var_response_text = var_response_option[0];
						$var_response_value = var_response_option[1];
						document.frmAdd.db_city_id.options[i+1] = new Option($var_response_text, $var_response_value.toLowerCase());
					}
				}
				else
				{
					 for(i=document.frmAdd.db_city_id.options.length-1;i>=0;i--)
						document.frmAdd.db_city_id.remove(i);
					document.frmAdd.db_city_id.options[0] = new Option('--Select City--', '');
				}
		}
	}
}



// to get the list of city on the based of state
function getCityList(v) 
{ 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
		// execute the quickstart.php page from the server
		xmlHttp.open("GET", "/library/ajax/get_city.php?state=" + v, true);
		// define the method to handle server responses
		xmlHttp.onreadystatechange = handleServerResponse_city;
		// make the server request
		xmlHttp.send(null);
	}
	else
		// if the connection is busy, try again after one second
		setTimeout('getCityList()', 1000);
		//alert('skb');
}


function handleServerResponse_location()
{ 
	// move forward only if the transaction has completed
	if (xmlHttp.readyState == 4)
	{ 
		// status of 200 indicates the transaction completed successfully
		if (xmlHttp.status == 200)
		{
			// extract the XML retrieved from the server
				xmlResponse = xmlHttp.responseXML;
				// obtain the document element (the root element) of the XML structure
				xmlDocumentElement = xmlResponse.documentElement;
				// get the text message, which is in the first child of
				// the the document element
				helloMessage = xmlDocumentElement.firstChild.data;
				// update the client display using the data received from the server
				if(helloMessage != 'no record')
				{
					var var_response = helloMessage.split(",");
					for(var i = 0; i < var_response.length; i++)
					{
						var_response_option = var_response[i].split("~");
						$var_response_text = var_response_option[0];
						$var_response_value = var_response_option[1];
						document.frmAdd.db_location_id.options[i+1] = new Option($var_response_text, $var_response_value.toLowerCase());
					}
				}
				else
				{
					 for(i=document.frmAdd.db_location_id.options.length-1;i>=0;i--)
						document.frmAdd.db_location_id.remove(i);
					document.frmAdd.db_location_id.options[0] = new Option('--Select Location--', '');
				}
		}
	}
}



// to get the list of location on the based of city
function getLocationList(v) 
{ 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
		// execute the quickstart.php page from the server
		xmlHttp.open("GET", "/library/ajax/get_location.php?city=" + v, true);
		// define the method to handle server responses
		xmlHttp.onreadystatechange = handleServerResponse_location;
		// make the server request
		xmlHttp.send(null);
	}
	else
		// if the connection is busy, try again after one second
		setTimeout('getLocationList()', 1000);
		//alert('skb');
}


