var xmlHttp;

function stateChange()
{
	document.forms.FormAdress.elements.StreetId.options.length = 0;
	document.forms.FormAdress.elements.StreetId.options[0] = new Option("подождите ...", "0");
	var nStreetId = document.forms.FormAdress.elements.StreetId.value;
    var nCityId = document.forms.FormAdress.elements.CityId[document.forms.FormAdress.elements.CityId.selectedIndex].value;
    var requestURL = 'get_streets.php?city_id='+nCityId;
    var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0;
    var url = requestURL;
    var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; 

	try
    {
    	xmlHttp = new ActiveXObject(strObjName);
    }
    catch (e)
    {
    	xmlHttp=false;
    }
    
    if (!xmlHttp)
    {
	    try
	    {
	    	xmlHttp = new XMLHttpRequest();
	    }
	    catch (e)
	    {
	    	xmlHttp=false;
	    }
	}

    xmlHttp.onreadystatechange = ModeChangeCallBackHandler;
    xmlHttp.open('GET', url, true);
    xmlHttp.send(null);
}

function ModeChangeCallBackHandler()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
    { 
    	var strValue
        var strValues = xmlHttp.responseText.split(";");
        document.forms.FormAdress.elements.StreetId.options.length = 0;
        document.forms.FormAdress.elements.StreetId.options[0] = new Option("- - - выберите - - -", "0");
        for(i = 0; i < strValues.length; i++)
        {
        	strValue = strValues[i].split("=");
			document.forms.FormAdress.elements.StreetId.options[i+1] = new Option(strValue[1], strValue[0]);
        }
    }
}