  //
  // allow auto-submitting form dropdowns
  //
  function changesubmit(formname, selectname) {
    selectobj = eval('window.document.' + formname + '.' + selectname);
    selected = selectobj.selectedIndex;
    if (selected > 1) {
      formobj = eval('window.document.' + formname);
      formobj.submit();
    }
  }

  //
  // preload images
  //   http://hotwired.lycos.com/webmonkey/reference/javascript_code_library/wm_pl_img/
  //   http://www.pageresource.com/jscript/jpreload.htm
  //

  var imgdir = './template/images/';
  var images = new Array();
  function jsLoadImages() {
    if (document.images) {
      for (var i=0; i < jsLoadImages.arguments.length; i++) {
        images[i] = new Image();
        images[i].src = imgdir + jsLoadImages.arguments[i];
      }
    }
  }

  function preload() {
    jsLoadImages(

      // top of page
      'dr.gif',
      'dancerecords.gif',

      // navigation menu
      'nav/store.gif',
      'nav/store_on.gif',
      'nav/mixes.gif',
      'nav/mixes_on.gif',
      'nav/charts.gif',
      'nav/charts_on.gif',
      'nav/view_cart.gif',
      'nav/view_cart_on.gif',
      'nav/track_order.gif',
      'nav/track_order_on.gif',
      'nav/help.gif',
      'nav/help_on.gif',
      'nav/quicksearch.gif',

      // column headings
      'headings/number.gif',
      'headings/listen.gif',
      'headings/buy.gif',
      'headings/artist.gif',
      'headings/artist_on.gif',
      'headings/title.gif',
      'headings/title_on.gif',
      'headings/label.gif',
      'headings/label_on.gif',
      'headings/price.gif',
      'headings/price_on.gif',
      'headings/style.gif',
      'headings/date.gif',
      'headings/date_on.gif',
      'headings/quantity.gif',
      'headings/each.gif',
      'headings/total.gif',

      // cart
      'buttons/update.gif',
      'buttons/update_on.gif',
      'buttons/remove.gif',
      'buttons/remove_on.gif',

      // buttons
      'buttons/add_to_cart.gif',
      'buttons/add_to_cart_on.gif',
      'buttons/add_to_cart_click.gif',
      'buttons/continue.gif',
      'buttons/continue_on.gif',
      'buttons/continue_click.gif',
      'buttons/continue_shopping.gif',
      'buttons/continue_shopping_on.gif',
      'buttons/continue_shopping_click.gif',
      'buttons/empty_cart.gif',
      'buttons/empty_cart_on.gif',
      'buttons/empty_cart_click.gif',
      'buttons/playall.gif',
      'buttons/playall_on.gif',
      'buttons/playall_click.gif',
      'buttons/proceed_to_checkout.gif',
      'buttons/proceed_to_checkout_on.gif',
      'buttons/proceed_to_checkout_click.gif',
      'buttons/purchase.gif',
      'buttons/purchase_on.gif',
      'buttons/purchase_click.gif',
      'buttons/search.gif',
      'buttons/search_on.gif',
      'buttons/search_click.gif',
      'buttons/submit.gif',
      'buttons/submit_on.gif',
      'buttons/submit_click.gif',
      'buttons/subscribe.gif',
      'buttons/subscribe_on.gif',
      'buttons/subscribe_click.gif',
      'buttons/track.gif',
      'buttons/track_on.gif',
      'buttons/track_click.gif',
/*
      'buttons/.gif',
      'buttons/_on.gif',
      'buttons/_click.gif',
*/

      // etc
      'buttons/in_cart.gif',
      'buttons/in_cart_on.gif',
      'buttons/in_cart_light.gif',
      'buttons/request.gif',
      'buttons/request_on.gif',
      'buttons/restock_alert.gif',
      'buttons/restock_alert_on.gif',

      // misc
      'speaker.gif',
      'onepixel.gif'
    );
  }

/*
var document.thing = new Array();
function preload() {
  if (document.images) {
    if (typeof(document.thing) == 'undefined') {
      document.thing = new Object();
    }
    document.thing.loadedImages = new Array();
    var cmd;
    var imgnames = new Array('dr', 'dancerecords',  // these have no "_on.gif"
                             'store', 'view_cart', 'track_order', 
                             'order_info', 'about', 'help', 'contact');
    for (var i=0; i<imgnames.length-1; i++) {
      name = imgnames[i];
      document.thing.loadedImages[name] = new Image();
      document.thing.loadedImages[name].src = navdir + name + ".gif";
    }
    for (var i=2; i<imgnames.length-1; i++) {  // skip 'dr' and 'dancerecords'
      name = imgnames[i] + "_on";
      document.thing.loadedImages[name] = new Image();
      document.thing.loadedImages[name].src = navdir + name + "_on.gif";
    }
  }
}
*/


//
// image swap functions
//
function stripdigits(str) {
  var short_str = str;
  var c;
  for (var i=short_str.length-1; i>=0; i--) {
    c = short_str.charAt(i);
//alert(c);
    if (c<"0" || c>"9") {
      break;
    }
  }
  return short_str.substr(0,i+1);
}

function objstr(name) {
  if (document.images) {
    var str1 = "document." + name;
    var str2 = "document.images['" + name + "']";
    if (eval(str1) != 'undefined') {
      return str1;
    } else if (eval(str2) != 'undefined') {
      return str2;
    }
  }
  return '';
}

function imgswap(dir, name, text, suffix) {
  var short_str = stripdigits(name);
//alert('n: ' + name + ', s: ' + short_str);
  var src = dir + short_str + suffix + ".gif";
  var str = objstr(name);
  if (str) {
    eval(str + ".src = '" + src + "'");
  }
      
// REMOVE????
/*
  if (eval("document." + name + ";")) {
    var short_str = stripdigits(name);
    cmd = "document." + name + ".src = '" + dir + short_str + suffix + ".gif';";
    alert(cmd);
  }
  else if (document.images) {
    var short_str = stripdigits(name);
    document.images[name].src = dir + short_str + suffix + ".gif";
  }
*/
  window.status = text;
}

var imgdir = "./template/images/";
function imgover(dir, name, text) {
  imgswap(dir, name, text, '_on');
}
function imgclick(dir, name, text) {
  imgswap(dir, name, text, '_click');
}
function imgout(dir, name) {
  imgswap(dir, name, '', '');
}

// for the nav buttons
var navdir = imgdir + "nav/";
function navover(name) {
  imgswap(navdir, name, '::: ' + stripdigits(name).replace(/[^a-z]/gi, " ") + ' :::', '_on');
}
function navclick(name) {
  imgswap(navdir, name, '::: ' + stripdigits(name).replace(/[^a-z]/gi, " ") + ' :::', '_click');
}
function navout(name) {
  imgswap(navdir, name, '', '');
}


// form 'input type=image' versions of above
var buttonsdir = imgdir + "buttons/";
function inputover(imgobj, imgname, text) {
  var short_str = stripdigits(imgname);
  imgobj.src = buttonsdir + short_str + '_on.gif';
  window.status = text;
}
function inputclick(imgobj, imgname, text) {
  var short_str = stripdigits(imgname);
  imgobj.src = buttonsdir + short_str + '_click.gif';
  window.status = text;
}
function inputout(imgobj, imgname) {
  var short_str = stripdigits(imgname);
  imgobj.src = buttonsdir + short_str + '.gif';
  window.status = '';
}


function popup(win_name,url,w,h) {
  cmd = win_name + " = window.open(url, win_name, 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=auto,resizable,width=" + w + ",height=" + h + "');";
//  alert(cmd);
  eval(cmd);
}


function restock_alert_popup(record_id, referrer) {
  popup('restock_alert_win', './restock_alert.php?id=' + record_id + '&referrer=' + referrer, 500, 450);
}
