var g_max_scale = 15000000;
var g_min_scale = 500;
var g_track     = null;
var g_knob      = null;
var g_out       = null;
var g_in        = null;
sliderScaleChanged = new gtEventHandler();


sliderSetMapScale = function(scale)
{
  var slider_value = double2Slider(g_min_scale, g_max_scale, scale, 0, 100);
  onSliderMove(slider_value);
  g_knob.setValue(slider_value);
} // end sliderSetMapScale()


function sliderAdjustSizes(height)
{
  g_track = gtGetElementByName("imgTrack");
  g_knob  = gtGetElementByName("btnKnob");
  g_out   = gtGetElementByName("btnZO");
  g_in    = gtGetElementByName("btnZI");
  g_knob.onRelease = onSliderRelease;
  g_knob.onMove    = onSliderMove;
  gtSetHeight(g_track, height);
  g_track.onresize();
} // end sliderAdjustSizes()


function sliderSetBusy(busy)
{
  g_knob.setDisabled(busy);
  g_in.setDisabled(busy);
  g_out.setDisabled(busy);
  document.body.style.cursor = (busy) ? "wait" : "auto";
} // end sliderSetBusy()


// ----------------------------------------------------------------------
//   Slider handling
// ----------------------------------------------------------------------


function onSliderRelease(slider_value)
{
  var map_scale = niceScale(slider2Double(g_min_scale, g_max_scale, 0, 100, slider_value));
  sliderScaleChanged.raise(map_scale, false);
} // end onSliderRelease()


var s_prev_scale = 0;
function onSliderMove(slider_value)
{
  var map_scale = niceScale(slider2Double(g_min_scale, g_max_scale, 0, 100, slider_value));
  if (map_scale != s_prev_scale)
  {
    sliderScaleChanged.raise(map_scale, true);
    s_prev_scale = map_scale;
  }
} // end onSliderMove()

