<!--
var siteAddress = "infinitedynamics.com";

function writeEmailAddress(addressee,subject) {
  var emailAddress = addressee + "@" + siteAddress;
  if (writeEmailAddress.arguments.length < 2) {
    subject = "Inquiry from " + siteAddress;
    }
  document.write("<a href=\"mailto:" + emailAddress + "?subject=" + subject + "\">" + emailAddress + "</a>");
  }

function createMouseovers() {
  var overExt = "_on";
  if (document.getElementsByTagName) {
    var imgs = document.getElementsByTagName("IMG")
    var i, dotAt, imgFile, imgExt, preloads = new Array(imgs.length);
    for (i = 0; i < imgs.length; i++) {
      if (hasClassName(imgs[i], "mouseover")) {
        dotAt  = imgs[i].src.lastIndexOf(".");
        if (dotAt > 0) {
          imgFile = imgs[i].src.substr(0,dotAt);
          imgExt  = imgs[i].src.substr(dotAt+1);
          if (imgFile.lastIndexOf(overExt) == imgFile.length - overExt.length) {
            // do nothing; image is already on
            }
          else {
            eval("imgs[i].onmouseover = function () {this.src = '" + imgFile + overExt + "." + imgExt + "'};");
            eval("imgs[i].onmouseout = function () {this.src = '" + imgFile + "." + imgExt + "'};");
            preloads[i]     = new Image;
            preloads[i].src = imgFile + overExt+ "." + imgExt;
            }
          }
        }
      }
    }
  }

/* HELPER FUNCTIONS */

String.prototype.trim = function() {
  var s = this.replace(/^\s*/, "");
  return s.replace(/\s*$/, "");
  }

// Iterates through all class names for an object and returns true if specified class name is found
function hasClassName(obj, className) {
  if (obj && obj.className) {
    var objClass = obj.className.trim();
    arrClasses = objClass.split(" ");
    for (var c=0; c<arrClasses.length; c++) {
      if (className == arrClasses[c])
        return true;
      }
    }
  return false;
  }

// helper function for adding events (from http://www.dustindiaz.com/top-ten-javascript/)
function addEvent(obj, type, fn, useCapture) {
  if (obj == null)
    obj = window;
  if (obj.addEventListener) {
    obj.addEventListener( type, fn, useCapture );
    }
  else if (obj.attachEvent) {
    obj["e"+type+fn] = fn;
    obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
    obj.attachEvent( "on"+type, obj[type+fn] );
    }
  else {
    obj["on"+type] = obj["e"+type+fn];
    }
  }

addEvent(window,'load',function() { createMouseovers() },false);
//-->