var RegionData = Array();
var CityData = Array();

function psLoadCountry(obj){
	val = obj.options[obj.selectedIndex].value;
	if (val == 0) return false;

	if (RegionData[val])
	{
		psSetRegion(RegionData[val],obj);
		return;
	}

	reqMain = new JsHttpRequest();
	reqMain.caching = false;
	reqMain.open('GET','/?cmd=load_countries_s1',true);
	var sdata = Array();
	sdata['id'] = val;
	reqMain.send(sdata);
	reqMain.onreadystatechange = function(){
		if (reqMain.readyState == 4){
			if (reqMain.responseJS){
				RegionData[val] = reqMain.responseJS.PageContent;
				psClearSelect(obj.form.elements['doc_region']);
				psClearSelect(obj.form.elements['doc_city']);
				psSetRegion(RegionData[val],obj);
			}
		}
	}
}

function psSetRegion(data,obj)
{
	if (data !== null )
	{
		n = 0;
		for (var prop in data){
			obj.form.elements['doc_region'].options[n] = new Option(data[prop].name,data[prop].id);
			n++;
		}
		obj.form.elements['doc_region'].disabled=false;
	}
}

function psLoadRegion(obj){
	val = obj.options[obj.selectedIndex].value;
	if (val == 0) return false;

	if (CityData[val])
	{
		psSetCity(CityData[val],obj);
		return;
	}

	reqMain = new JsHttpRequest();
	reqMain.caching = false;
	reqMain.open('GET','/',true);
	var sdata = Array();
	sdata['cmd'] = 'load_countries_s1';
	sdata['id'] = val;
	reqMain.send(sdata);
	reqMain.onreadystatechange = function(){
		if (reqMain.readyState == 4){
			if (reqMain.responseJS){
				CityData[val] = reqMain.responseJS.PageContent;
				psClearSelect(obj.form.elements['doc_city']);
				psSetCity(CityData[val],obj);
			}
		}
	}
}

function psSetCity(data,obj)
{
	if (data !== null )
	{
		n = 0;
		for (var prop in data){
			obj.form.elements['doc_city'].options[n] = new Option(data[prop].name,data[prop].id);
			n++;
		}
		obj.form.elements['doc_city'].disabled=false;
	}
}






function psClearSelect(sel)
{
	while (sel.childNodes.length) {
		if (sel.firstChild.tagName == 'OPTGROUP') {
			while (sel.firstChild.childNodes.length) {
				sel.firstChild.removeChild(sel.firstChild.firstChild);
			}
		}
		sel.removeChild(sel.firstChild);
	}
}
