var _states = new Object;
var _cities = new Object;

function _load_states( targetid, name, onchange, country ){

	var target = d.getElementById(targetid);

	_states[targetid] = new Object;
	_states[targetid].name = name;
	_states[targetid].onchange = new Function(onchange);

	_load_part( 
		target,
		'/albums/jsstates.cdiml?country='+country,
		_import_states );
}

//
// Import states selection
//
function _import_states(){
	var sel = _get_select(
		_get_frame_document(arguments[0][0]).getElementById('state_'));
	_remove_buffer(arguments[0][0]);

	var target = arguments[1];
	var targetid = target.id;
	var seldata = _states[targetid];

	sel.name = seldata.name;
	sel.id = seldata.name + '_';

	if( typeof(seldata.onchange) != 'undefined') {
		sel.onchange = seldata.onchange;
	}

	_clear_container(target);
	target.appendChild(sel);

    // Calling onchange method
    if( typeof(seldata.onchange) != 'undefined' ){
    	//window.alert('calling state onchange function');
    	seldata.onchange();
	}
	_states[targetid] = undefined;
}


//
// Function load cities to container 
//

function _load_cities( targetid, name, onchange, state ){
    _cities[targetid] = new Object;
	_cities[targetid].name = name;
	_cities[targetid].onchange = new Function(onchange);
	_cities[targetid].target = d.getElementById(targetid);

	_load_part( 
		_cities[targetid].target,
		'/albums/jscities.cdiml?state='+state,
		_import_cities );
}

//
// Import cities selection
//
function _import_cities(){

	var sel = _get_select(
		_get_frame_document(arguments[0][0]).getElementById('city_'));
	_remove_buffer(arguments[0][0]);

	var target = arguments[1];
	var targetid = target.id;

	sel.name = _cities[targetid].name;
	sel.id = _cities[targetid].name+'_';

	if( typeof(_cities[targetid].onchange) != 'undefined') {
		sel.onchange = _cities[targetid].onchange;
	}

	_clear_container(target);
	target.appendChild(sel);

	_load_cities_target = undefined;

    // Calling onchange method
    if( typeof(_cities[targetid].onchange) != 'undefined' ){
    	_cities[targetid].onchange();
	}
	_cities[targetid] = undefined;
}
