function cl(obj) { console.log(obj) }

$(function(){
  $(".photos a").fancybox({
    padding: 0,
    transitionIn: 'elastic',
    transitionOut: 'elastic',
    autoScale: false,
    cyclic: true
  })
})

soundManager.url = '/javascript/soundmanager/swf/'
soundManager.wmode = 'transparent'
soundManager.debugMode = false
soundManager.onready(function(oStatus) {
  if (oStatus.success) {
    Player.init(soundManager)
  } else {
    $("div#player").
    addClass("failed").
    html("Unable to load flash.<br />Disable your Flash blocker for music.")
  }
})

var Player = {
  element: null,
  sm: null,
  song: null,
  songs: [],
  playingIndex: null,
  playImg: '/images/play.png',
  pauseImg: '/images/pause.png',
  nextImg: '/images/next.png',
  controlHtml: " \
    <a class='play' href='#playPause'><img src='/images/play.png' /></a> \
    <a class='next' href='#playNext'><img src='/images/next.png' /></a>",

  init: function(sm) {
    this.sm = sm
    this.element = $("#player")

    this.setupBindings()
    this.setupControls()
    this.load($("ul#playlist li:first-child a", this.element))
  },

  load: function(elm) {
    elm = $(elm)
    $(".playing", this.element).html(elm.html())
    this.sm.stopAll()

    i = this.playingIndex = elm.parents("li").index()
    if (!this.songs[i]) {
      this.song = this.sm.createSound({
        id: 'currentlyPlaying'+this.playingIndex,
        url: elm.attr("href"),
        onfinish: this.playNext
      })
    } else {
      this.song = this.songs[i]
    }
    return this
  },

  play: function() {
    $("a.play img", this.element).attr("src", this.pauseImg)
    this.song.play()
  },

  pause: function() {
    this.song.togglePause()
    $("a.play img", this.element).attr("src", (this.song.paused ? this.playImg : this.pauseImg))
  },

  playPause: function() {
    this.song.playState == 0 ? this.play() : this.pause()
  },

  playNext: function() {
    var play = this.song.playState == 1 ? true : false
    this.load($($("ul#playlist li", this.element)[this.playingIndex+1]).find("a"))
    if (play) this.play()
  },

  setupControls: function() {
    $("#sm2-container").css({top:0,left:0})
    $(".control", this.element).html(this.controlHtml)
  },

  setupBindings: function() {
    var player = this
    $("div.playing", this.element).live('click', function(e) {
      e.preventDefault()
      $("ul#playlist", this.element).slideToggle("fast")
    })
    $("ul#playlist a", this.element).live('click', function(e) {
      e.preventDefault()
      player.load(this).play()
      $(this).parents("ul#playlist").slideToggle()
    })
    $("div.control a", this.element).live('click', function(e) {
      e.preventDefault()
      player[this.href.split("#")[1]]()
    })
  }

}