
// Instantiate and configure Loader: 
var getListUrl = "getList.cgi";
var rand = new Date().getTime();
var loader = new YAHOO.util.YUILoader({
  require: ["animation", "base","button","connection","dom","element","event","fonts","json","layout","reset","yahoo","jwPlayer"],
  loadOptional: true,
  combine: true,
  onSuccess: function() { YAHOO.util.Event.onDOMReady(page.init); }
});

//custom uploader specific functions
loader.addModule({
  name: "jwPlayer",
  type: "js",
  fullpath: "player/swfobject.js?rand="+rand
});
loader.insert();

//page scope
var page = {

  //used for the player
  player: null,

  //called when everything is set
  init: function() { 
    var viewportWidth = YAHOO.util.Dom.getViewportWidth();
    var viewportHeight = YAHOO.util.Dom.getViewportHeight();

    //setup layout
    var layoutFull = new YAHOO.widget.Layout(YAHOO.util.Dom.get("main"), {
      units: [
        { position: "top", height: 50, body: "top" },
        { position: "center", body: "center" }
      ]
    });

    //on resize (attempt to!) resize the player
    layoutFull.on("resize", function() { 
      var viewportWidth = YAHOO.util.Dom.getViewportWidth();
      var viewportHeight = YAHOO.util.Dom.getViewportHeight();
      page.player.style.height = (viewportHeight-50) + 'px';
      page.player.style.width = (viewportWidth) + 'px';
    });

    //once the layout has rendered, setup the player
    layoutFull.on("render", function() { 
      var s1 = new SWFObject('player/player.swf','ply',(viewportWidth),(viewportHeight-50),'9','#ffffff');
      s1.addParam('id','mediaplayer');
      s1.addParam('allowfullscreen','true');
      s1.addParam('allowscriptaccess','always');
      s1.addParam('wmode','opaque');
      s1.addParam('flashvars','file=' + getListUrl + '?' + rand +'&playlist=left&playlistsize=250&backcolor=F2F2F2');
      s1.write('mediaspace');
    });

    //render the layout!
    layoutFull.render();
  },

  //called when a playlist item is clicked
  playFile: function(info) {

    //grab the playlist
    var data = page.player.getPlaylist()[info.index];

    //setup the dlownload area
    var area = YAHOO.util.Dom.get("dArea");
    area.style.visibility = "visible";

    //remove old link and make a new one!
    var link    = document.createElement('A');
    link.href      = data.file;
    link.innerHTML = data.description;
    area.removeChild(YAHOO.util.Dom.get("dLink"));
    link.id = "dLink";
    area.appendChild(link);
  }
};

//called when player is ready, must be setup oustide of scope :(
function playerReady(obj) {

    
  var id = document.getElementById('playerId');
  //save the player and add our select item event
  page.player = document.getElementById('ply');
  page.player.addViewListener("ITEM","page.playFile");
  setTimeout(function() { page.playFile({index: 0}); }, 2000);
}
