var xmlHttp
var objCombo
var objSel

function XMLHTTP_Create()
{
	var xmlHttp=null;
	try
 	{
 	// Firefox, Opera 8.0+, Safari
 		xmlHttp=new XMLHttpRequest();
 	}
	catch (e)
 	{
 		//Internet Explorer
 		try
  		{
  			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  		}
 		catch (e)
  		{
  			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  		}
 	}
	return xmlHttp;
}

function call_async_request(lbl, url, objCombo, objSel)
{
	document.getElementById(lbl).innerText="(loading...)";

	xmlHttp = XMLHTTP_Create(); 
	
	
	if (xmlHttp==null)
 	{
 		alert ("Browser does not support HTTP Request")
 		return
 	}
 	
	if(xmlHttp)
	{	
		xmlHttp.onreadystatechange = function()
		{
			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
			{
				var str = xmlHttp.responseText;
				//alert (str);
				fillCombo(objCombo, str, objSel);
				document.getElementById(lbl).innerHTML = '';
			} 
		}
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null)
	}
}


function loadWithAJAX(id, lbl_id, objCombo, objSel)
{
	var url = 'states.php?id='+id;
	
	call_async_request(lbl_id, url, objCombo, objSel);
}

function loadCitiesAJAXS(id, lbl_id, objCombo, objSel)
{
	var url = 'cities.php?id='+id;
	
	call_async_request(lbl_id, url, objCombo, objSel);
}

function fillCombo(objCombo, str, objSel)
{
	var arr = str.split(";;;");
	var selid = 1;
	for(var i=0; i<arr.length-1; i++)
	{
		var subArr = arr[i].split(":::");
		var value = subArr[0];
		var text = subArr[1];
		objCombo.options[objCombo.options.length] = new Option(text, value);
		if ( objSel.value == text ) selid = objCombo.options.length;
		
	}
	//alert (objSel.value);
	selid--;
	objCombo.options[selid].selected = true;
}
