var TWITTER_GADGET_ID = 'twitter_widget';

var Joselyn = {
  load: function(event)
  {
    var submit = $('join_mailing_list');
    if (submit) {
      Event.observe(submit,'click',Joselyn.onClickJoin);
    }
    if ($(TWITTER_GADGET_ID)) {
      Joselyn.setupTwitter();
    }
  },
  
  setupTwitter: function()
  {
    var twitter = new TWTR.Widget({
      id: TWITTER_GADGET_ID,
      version: 2, type: 'profile', rpp: 5,
      interval: 6000, width: 'auto',
      theme: {
        shell: {
          color: '#ffffff'
        },
        tweets: {
          background: 'transparent',
          color: '#ffffff',
          links: '#b0bf00'
        }
      },
      features: {
        scrollbar: false,
        loop: false,
        live: false,
        hashtags: true,
        timestamp: true,
        avatars: false,
        behavior: 'all'
      }
    });
    
    twitter.render().setUser('joselynhughes').start();
    
    Joselyn.twitHolder = $('twitter_holder');
    Joselyn.twitWidget = $('twitter_widget');
    Joselyn.twitTimeout = 50;
    Joselyn.startTwitterMonitor();
  },
  
  startTwitterMonitor: function() {
    var tweets = Joselyn.twitWidget.select('.twtr-tweets .twtr-tweet');
    if (!tweets.length) {
      setTimeout(Joselyn.startTwitterMonitor, Joselyn.twitTimeout);
      Joselyn.twitTimeout *= 2;
      return;
    }
    
    tweets.each(function(tweet, i) {
      if (i > 0) {
        tweet.hide();
      }
    });
    Joselyn.twitHolder.show();
  },
  
  onClickJoin: function(event)
  {
    event.stop();
    
    event.element().up('form').request({
      onSuccess: Joselyn.doJoin
    });
  },
  doJoin: function(xhr)
  {
    $('mailing_list').innerHTML = xhr.responseText;
  }
};

Event.observe(window, 'load', Joselyn.load);
