var sI = {
  addEvent: function(elm, evType, fn, useCapture) {
    // addEvent cross-browser event handling for IE5+, NS6 and Mozilla
    // By Scott Andrew
    if (elm.addEventListener) {
      elm.addEventListener(evType, fn, useCapture); 
      return true;
    } else if (elm.attachEvent) {
      var r = elm.attachEvent('on' + evType, fn);
      return r;
    } else {
      elm['on' + evType] = fn;
    }
  },

  init: function() {

    // get the images
    if (!document.getElementsByTagName || !document.getElementById)
      return;

	sI.caption = document.getElementById('img_caption');
	sI.heading = document.getElementById('img_heading');
    var imgs = document.getElementsByTagName('img');
	var idx = 0;

    for (var i = 0; i < imgs.length; i++) {

      if ((' ' + imgs[i].className + ' ').indexOf(' swapmain ') != -1) {
		sI.main = imgs[i];
	  }
      if ((' ' + imgs[i].className + ' ').indexOf(' swap ') != -1) {
	    sI.imgs[idx] = imgs[i].src.replace(/sm_/,'lg_');
		sI.addEvent(imgs[i], 'click', sI.swap, false);
		imgs[i].slot = idx++;
	  }
    }
  },

  swap: function(e) {
    var img;
    if (e && e.target)
      img = e.target;
    if (window.event && window.event.srcElement)
      img = window.event.srcElement;
    if (!img)
      return;
    
	sI.main.src = sI.imgs[img.slot];
	sI.heading.firstChild.nodeValue = img.getAttribute('alt');
	sI.caption.firstChild.nodeValue = img.title;
  },

  imgs: [],
  main: 'main image',
  heading: 'main heading',
  caption: 'main title'
}

sI.addEvent(window, 'load', sI.init, false);

