var bkRPCFunc = 'rpcjson.php';

function array_values( input )
{
    var tmp_arr = new Array();
    var cnt = 0;

	$.each(input, function(i, val) {
		tmp_arr[cnt++] = val;
		} );
    return tmp_arr;
}

function bkAjaxFillCombo(combobox, dataset, params, vvalue)
{
	var req_url = bkRPCFunc+'?object='+dataset+'&action=lookupdata'
		+ "&__dummy=" + new Date().getTime(); // prevent IE from caching request
	var combo_html = '';
	$(combobox).parent().addClass('bkAjaxLoading');
	if (params != undefined)
	{
		req_url += '&'+params;
	}
	$.getJSON(req_url,
		function(optionlist) {
    		combobox.options.length = 0;
    		combobox.options.add(new Option('',''));
			$.each(optionlist, function(i, val) {
    			var row = array_values(val);
				combobox.options.add(new Option(row[1], row[0]));
			} );
			combo_html = $(combobox).html();

			/* trick - handle html entities which creates problem in russian chars */
			$(combobox).html(combo_html.replace(/&amp;/gi, "&"));
			$(combobox).parent().removeClass('bkAjaxLoading');
			if (vvalue != undefined)
			{
				$(combobox).val(vvalue);
			}
        } );
}