	function fillSelect(obj, resource_array , fk_name, fk_value, form){

	  // check if object exisits.
	  var exists = eval(resource_array+"[0]");
	  if((typeof exists != 'object') && (typeof exists != 'array')) return false;

	  resetSelect(obj);

	  if(obj.name == "state_id")
  		resetSelect(form.region_id);

  	/*
	  if(obj.name == "state_id" || obj.name == "region_id")
		  resetSelect(form.city_id);
		*/

	  /* The field area is disable for the moment    
	  if(obj.name == "state_id" || obj.name == "region_id" || obj.name == "city_id")
		resetSelect(form.area_id);
	  */

	  for(i=0; i < eval(resource_array+".length"); i++){
		if(eval(resource_array+"["+i+"]."+fk_name) == fk_value)
		  obj.options[obj.options.length]  = new Option(eval(resource_array+"["+i+"].name"),eval(resource_array+"["+i+"].id"));
	  }
	}
	
	function resetSelect(obj){
	  while (obj.options.length>1) {
  		deleteIndex=obj.options.length-1;
  		obj.options[deleteIndex]=null;
	  }  		
  }