var address_fields_can_be_null=false;

/*
hidden, _0
name1, _1
name2, _2
street, _3
zip_code _4 
city _5
country, _6
state, _7
district _8
*/
var fieldname=null;

/*
	reload_states after changin state
*/
function reload_states(fn){
	fieldname=fn;
	country_id = 'id_'+fieldname+'_6';
	new Ajax.Request(
		  '/address/reload_states/', 
		  {
		  method: 'post',
		  onSuccess: reload_states_callback,
		  onFailure: function(resp){document.documentElement.innerHTML = resp.responseText},
		  parameters: { 'country': $(country_id).value }
		  }
	);
}

/*
	reload_states callback
	fill states select
*/
function reload_states_callback(resp,data){	
	state_id = 'id_'+fieldname+'_7';
	ddlb_state = $(state_id);
	ddlb_state.options.length = 0;	
	//ddlb_state.options[ddlb_state.options.length] = new Option('---------', '');			
	if (data){
		states = data['states'];
		states.each(
			function(tuple){
				ddlb_state.options[ddlb_state.options.length] = new Option(tuple[1], tuple[0])
			})
	}
	reload_districts_callback(resp,data);	
}




/*
	reload_districts after changin state
*/
function reload_districts(fn){	
	fieldname=fn;
	country_id = 'id_'+fieldname+'_6'; 
	state_id = 'id_'+fieldname+'_7';
	new Ajax.Request('/address/reload_districts/', 
		  {
		  method: 'post',
		  onSuccess: reload_districts_callback,
		  onFailure: function(resp){document.documentElement.innerHTML = resp.responseText},
		  parameters: { 'country': $(country_id).value,
		  				'state': $(state_id).value }
		  }
	);
}

/*
	reload_districts callbacks
	fill districts select
*/
function reload_districts_callback(resp,data){
	district_id = 'id_'+fieldname+'_8';
	ddlb_district  = $(district_id);
	ddlb_district.options.length = 0;
	
	 
	//ddlb_district.options[ddlb_district.options.length] = new Option('---------', '');
			
	if (data){
		districts = data['districts'];
		districts.each(
			function(tuple){
				ddlb_district.options[ddlb_district.options.length] = new Option(tuple[1], tuple[0])
			})
	}
}

