Art = {
  _current: null,
  AVAILABLE: [],
  change: function( index ) { 
    this.hide();
    this.setArtToIndexAndTrack( index );
  },
  hide: function() { 
    this.setArtToIndexAndTrack( null );
  },
  setArt: function( path ) {
    var art = $('art'); 
    art.setStyle({ background: path ? "url(" + path + ") no-repeat" : 'none' });
  },
  setArtToCurrent: function() {
    this.setArtToIndex( this._current );
  },
  setArtToIndex: function( index ) {
    this.setArt(( typeof index == 'number' ) ? this.AVAILABLE[index] : index );
  },
  setArtToCurrentAndTrack: function() {
    this.setArtToIndexAndTrack( this._current );
  },
  setArtToIndexAndTrack: function( index ) {
    this.setCurrent( index );
    this.setArtToCurrent();
  },
  setDefaultOrRandom: function() {
    var page = location.pathname.split('/').last();
    var index;
    switch( page ) {
      case '':                               index = this.findAvailableArtMatching( /art-1.jpg/ ); break;
      case 'work':                           
      case 'eachday':                        index = this.findAvailableArtMatching( /art-4.jpg/ ); break;
      case 'notoriety':                      index = this.findAvailableArtMatching( /art-5.jpg/ ); break;
      case 'growshow':                       index = this.findAvailableArtMatching( /art-6.jpg/ ); break;
      case 'contact':                        index = this.findAvailableArtMatching( /art62.jpg/ ); break;
      case 'about':                          
      case 'approach':                       index = this.findAvailableArtMatching( /art29.jpg/ ); break;
      case 'areas-of-expertise':             index = this.findAvailableArtMatching( /art28.jpg/ ); break;
      case 'blog':                           index = this.findAvailableArtMatching( /art-8.jpg/ ); break;
      case 'client-work':                    
      case 'smithsonian':                    index = this.findAvailableArtMatching( /art79.jpg/ ); break;
      case 'museum-of-contemporary-art-la':  index = this.findAvailableArtMatching( /art70.jpg/ ); break;
      case 'myfaves':                        index = this.findAvailableArtMatching( /art13.jpg/ ); break;
      case 'cc':                             index = this.findAvailableArtMatching( /art38.jpg/ ); break;
      case 'help-faq-prototype':             index = this.findAvailableArtMatching( /art51.jpg/ ); break;
      case 'pottery-barn':                   index = this.findAvailableArtMatching( /art12.jpg/ ); break;
      case 'zero-g':                         index = this.findAvailableArtMatching( /art36.jpg/ ); break;
      case 'agromin':                        index = this.findAvailableArtMatching( /art24.jpg/ ); break;
      case 'logo-identity':                  index = this.findAvailableArtMatching( /art86.jpg/ ); break;
      case 'giving-back':                    
      case 'blackbook':                      index = this.findAvailableArtMatching( /art40.jpg/ ); break;
      case 'quartermaster':                  index = this.findAvailableArtMatching( /art77.jpg/ ); break;
      case 'is-it-mobile':                   index = this.findAvailableArtMatching( /art13.jpg/ ); break;
      default:          index = this.getRandomIndex();
    }
    this.setArtToIndexAndTrack( index );
  },
  setCurrent: function( index ) {
    if( index !== undefined ) {
      this._current = index;
    } else {
      var current = this._current;
      while( this._current == current ) { this._current = this.getRandomIndex(); }
    }
    return this._current;
  },
  getRandomPath: function() {
    return this.AVAILABLE[ this.getRandomIndex() ];
  },
  getRandomIndex: function() {
    return Math.floor( Math.random() * this.AVAILABLE.length );
  },
  findAvailableArtMatching: function( re ) {
    for( var i in this.AVAILABLE ) {
      if( this.AVAILABLE[i].match && this.AVAILABLE[i].match( re )){ return Number(i); }
    }
  }
};