
// ############################################################################
// #### SUPPORTING LIBRARIES ##################################################
// ############################################################################

// from the Javascript Bible, 6th Edition, page 757

function addEvent(elem, evtType, func) {
  if (elem.addEventListener) {
    elem.addEventListener(evtType, func, false);
  } else if (elem.attachEvent) {
    elem.attachEvent("on" + evtType, func);
  } else {
    elem["on" + evtType] = func;
  }
}

function removeEvent(elem, evtType, func) {
  if (elem.removeEventListener) {
    elem.removeEventListener(evtType, func, false);
  } else if (elem.detachEvent) {
    elem.detachEvent("on" + evtType, func);
  } else {
    elem["on" + evtType] = null;
  }
}

// ############################################################################
// #### XHTML/CSS SUPPORT #####################################################
// ############################################################################
//      NOTE: SMELLS.

// preload a single image (for rollovers)
function preloadImage (imageSrc) {
  if (document.images) {
    var img = new Image();
    img.src = imageSrc;
    if (!document.preloadedImages) { document.preloadedImages = new Array(); };
    document.preloadedImages[document.preloadedImages.length] = img;
  };
}

// preload all images
function preloadImages() {
  preloadImage("/images/wingart/toplinks/intro-over.gif");
  preloadImage("/images/wingart/toplinks/news-over.gif");
  preloadImage("/images/wingart/toplinks/history-over.gif");
  preloadImage("/images/wingart/toplinks/manual-over.gif");
  preloadImage("/images/wingart/toplinks/maps-over.gif");
  preloadImage("/images/wingart/toplinks/citguilds-over.gif");
  preloadImage("/images/wingart/toplinks/playnow-over.gif");
  preloadImage("/images/wingart/toplinks/contact-over.gif");
}

// mouseOver: highlight
function mouseOver(img, link)
{
  img.src = '/images/wingart/toplinks/'+link+'-over.gif';
}

// mouseOut: back to normal
function mouseOut(img, link)
{
  img.src = '/images/wingart/toplinks/'+link+'.gif';
}

// align the background div which is inserted for IE5+
function alignBackground()
{
  if (document.getElementById) {
    if (document.getElementById('backgrounddiv')) {
      document.getElementById('backgrounddiv').style.display = 'block';
      document.getElementById('backgrounddiv').style.height = document.getElementById('contentdiv').offsetHeight;
    }
    if (document.getElementById('cbackgrounddiv')) {
      document.getElementById('cbackgrounddiv').style.display = 'block';
      document.getElementById('cbackgrounddiv').style.height = document.getElementById('ccontentdiv').offsetHeight;
    }
  }
}

// ############################################################################
// #### JAVALON FUNCTIONS #####################################################
// ############################################################################

function startJavalon(elem) {
  var wname = "JAvalon" + String((new Date()).getTime());
  var win = window.open("/javalon/index.html",wname,"status=yes,toolbar=no,location=no,menubar=no,scrollbars=no,resizable=yes,width=785,height=540,top=20,left=20");
  win.isJAvalon = true;
  elem.target = wname;
  win.focus();
  return true;
}


// ############################################################################
// #### ATTACHING EVENTS ######################################################
// ############################################################################

if (!window.isJAvalon) {

  addEvent(window, "load", preloadImages);
  addEvent(window, "load", alignBackground);

}
