function XMLHTTP_Create()

{

	var retval=null;

	try

	{

		retval=new ActiveXObject("Msxml2.XMLHTTP");

	}

	catch(e)

	{

		try

		{

			retval=new ActiveXObject("Microsoft.XMLHTTP");

		} 

		catch(oc)

		{

			retval=null;

		}

	}



	if(!retval && typeof XMLHttpRequest != "undefined") 

	{

		retval=new XMLHttpRequest();

	}



	return retval;

}



function call_async_request(lbl, url, objCombo, objSel)

{

	document.getElementById(lbl).innerText="(loading...)";



	var xmlHttp = XMLHTTP_Create(); 



	if(xmlHttp)

	{				

		xmlHttp.open("GET",url,true);

		

		xmlHttp.onreadystatechange = function()

		{

			if(xmlHttp.readyState == 4) 

			{

				var str = xmlHttp.responseText;

				fillCombo(objCombo, str, objSel);

				document.getElementById(lbl).innerHTML = '';

			} 

		}; 



		xmlHttp.send();

	}

}



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;

}