function apply_html_tag_array_to_dropdown_id( dropdown_id, tag_array ) {

	try {
		var dropdown_obj;

		if ( dropdown_obj = dom_get_object_by_id(dropdown_id) ) {
			return apply_html_tag_array_to_dropdown_obj(dropdown_obj, tag_array);
		}

	}
        catch(e) {
		 _Dom_handle_error(e);
        }

}

function apply_html_tag_array_to_dropdown_obj( dropdown_obj, tag_array ) {

	try {

		var tag_index;
		var cur_tag;
		var active_optgroup = null;

		for ( tag_index in tag_array ) {

			cur_tag = tag_array[tag_index];

			if ( typeof(cur_tag) != 'undefined' ) {

				if ( typeof(cur_tag['tag_name']) != 'undefined' ) {

					if ( cur_tag['tag_name'].toLowerCase() == 'optgroup' ) {
						if ( cur_tag['tag_state'] == 'open' ) {
							active_optgroup = dropdown_add_optgroup_by_dom_obj( dropdown_obj, cur_tag['tag_attribs']['label'] );
						}
						else {
							if ( active_optgroup ) {
								dropdown_close_optgroup_by_dom_obj( dropdown_obj, active_optgroup );
							}

							active_optgroup = null;
						}
					}
					else if ( cur_tag['tag_name'].toLowerCase() == 'option' ) {
						if ( active_optgroup ) {
							dropdown_add_optgroup_option_by_dom_obj( active_optgroup, cur_tag['tag_data'], cur_tag['tag_attribs']['value'] );
						}
						else {
							dropdown_add_option_by_dom_obj( dropdown_obj, cur_tag['tag_data'], cur_tag['tag_attribs']['value'] );
						}
					}

				}
					
			}
		}
		
		if ( active_optgroup ) {
			dropdown_close_optgroup_by_dom_obj( dropdown_obj, active_optgroup );
		}

	}
        catch(e) {
		 _Dom_handle_error(e);
        }

}
