I see 2 problems. First, 2 different event control activities are going on simultaneously. jQuery has its own event wiring and control, and you have added the JS onclick. Both are working at the same time, consuming cycles. Second, the Dialog code is an unconventional pattern, and could cause slowness (I'm not sure). It will cause other problems that you just haven't found yet.
A more conventional pattern for a Dialog is below. It will need some tweaking for your purposes.
//create a dialog box to display country choices upon user request
var countryChooser = $('#countryChoices').dialog({
autoOpen: false,
//bgiframe: true,
height: 400,
width: 700,
resizable: false,
draggable: true,
title: "Click to select a country",
open: function () {
$('#regions').tabs({
event: "click",
})
},
buttons: { "Close/ continue location input" : function(){
$(this).dialog("close");
}
}
});
//enable the button to open and re-open the country choice dialog box
$('#countryOpener').click(function (){
countryChooser.dialog('open');
return false;
});