function ImageSwapper(container) {
  var IMAGE_WIDTH = 600
  var container, tabs, images, wnd
  initialize()
  
  function initialize() {
    container = $(container)
    tabs = container.down('.tabs')
    wnd = container.down('.window')
    images = container.down('.images')
    tabs.observe('click', onTabClick)
  }
  
  function onTabClick(e) {
    if (!e.element().match('.tabs *')) return
    var button = e.findElement('button')
    setTab(button)
    setImage(button)
  }
  
  function setTab(button) {
    tabs.down('button.active').removeClassName('active')
    button.addClassName('active')
  }
  
  function setImage(button) {
    var index = tabs.select('button').indexOf(button)
    var offset = index * -IMAGE_WIDTH
    new Effect.Move(images, { x: offset, y: 0, mode: 'absolute' })    
  }
}