function toggleS(collapsible, link, less, more) {
  var options = {
    duration: 0.2,
    afterFinish: function(e) {
      if (Element.visible(e.element)) {
	link.innerHTML = less;
      } else {
	link.innerHTML = more;
      }
    }
  }
  Effect.toggle($(collapsible), 'slide', options);
}


/*
function toggle2(collapsible, link, less, more) {
  collapsible.slideToggle('normal', function() {
    if (collapsible.is('.collapsed')) {
      collapsible.removeClass('collapsed');
      link.html(more);
    } else {
      link.html(less);
      collapsible.addClass('collapsed');
    }
  });
}
*/

/*
function toggleS(id, link, less, more) {
  if (visible($('#' + id).get(0))) {
    link.innerHTML = more;
  } else {
    link.innerHTML = less;
  }
  $('#' + id).slideToggle('normal');
  return false;
}
*/

function setVisibleAll(parent, className, showHide) {
  document.getElementsByClassName(className, $(parent)).each(
    function (e) {
      if (showHide) {
	Element.show(e);
      } else {
	Element.hide(e);
      }
    });
}


function setImage(parent, className, img) {
  document.getElementsByClassName(className, $(parent)).each(
    function (e) {
      e.src = img;
    });
}

function rememberDatabase(id, dbID) {
  new Ajax.Updater(id, 'myDatabasesAjax.php',
		   { method: 'post', postBody: 'cmd=remember&id=' + escape(dbID)});
}

function forgetDatabase(id, dbID, hideOnForget) {
  new Ajax.Updater(id, 'myDatabasesAjax.php', {
		       method: 'post',
		       postBody: 'cmd=forget&id=' + escape(dbID),
		       onComplete: function() {
		           if (hideOnForget != '') {
			     new Effect.Fade($(hideOnForget));
			   }
		     }});
}

function helpOn() {
  Dialog.alert("A <b>database</b> is a collection of stuff.", {
    windowParameters: { className: 'alphacube',
		        showEffect: Element.show,
 		        hideEffect: Element.hide,
		        width:300, height:100
		     },
		   okLabel: "close",
		   ok: function(win) {
		     return true;
		 }
    });
}

function initResourceLinkEventHandling() {
  Event.observe(window, 'load', function() {
    $$('.toggleDetailsLink').each(function(e) {
      // workaround for Safari
      e.onclick = function() { return false; }
      var collapsible = Selector.findChildElements(e.parentNode.parentNode, ['.longDescription']).first();
      Event.observe(e, 'click', function(ev) {
        toggleS(collapsible, e, 'Hide Details', 'Details');
	Event.stop(ev)
      });
    });
  }, false);
}

function goToSelect(selectID) {
  target = $F(selectID);
  if (target) {
    location.href = $F(selectID);
  }
}
