/**
 * @author mike
 */

  /**
   * slide some layers
   * 
   */
  var MediaPlayer = Class.create();
  MediaPlayer.prototype = {
    
    initialize: function() {
      this.player = false;
      if(parent.frames[0] && typeof(parent.frames[0].player) != 'undefined') {
        this.init(parent.frames[0].player);
      }
    },
    
    init: function(player) {
      this.player = player;
      this.orgPlaylist = this.player.getConfig().file;
      this.curPlaylist = this.orgPlaylist
      if (this.curPlaylist != this.orgPlaylist) {
        this.load(this.orgPlaylist);
      }
      this.syncControls(this);
    },
    
    start: function(e) {
      if(this.checkPlayer()) {
        if (this.curPlaylist != this.orgPlaylist) {
          this.load(this.orgPlaylist);
        } else {
          this.player.sendEvent("PLAY");
        }
        this.syncControls(this);
        return true;
      }      
      return false;
    },
    
    item: function(i) {
      if(this.checkPlayer()) {
        this.player.sendEvent("ITEM", i);
        this.syncControls(this);
        return true;
      }      
      return false;
    },
    
    stop: function(e) {
      if(this.checkPlayer()) {
        this.player.sendEvent("STOP");
        this.syncControls(this);
        return true;
      }      
      return false;
    },
    
    next: function(e) {
      if(this.checkPlayer()) {
        this.player.sendEvent("NEXT");
        this.syncControls(this);
        return true;
      }      
      return false;
    },
    
    prev: function(e) {
      if(this.checkPlayer()) {
        this.player.sendEvent("PREV");
        this.syncControls(this);
        return true;
      }      
      return false;
    },
    
    mute: function(e) {
      if(this.checkPlayer()) {
        this.player.sendEvent("MUTE");
        this.syncControls(this);
        return true;
      }      
      return false;
    },
    
    load: function(pl) {
      if(this.checkPlayer()) {
        this.curPlaylist = pl;
        this.player.sendEvent("LOAD", pl);
        this.syncControls.delay(1, this);
      }
    },
    
    checkPlayer: function() {
      if(!this.player) {
        alert('Es wurde kein Musikplayer gefunden:-(');
        return false;
      }
      return true;
    },
    
    getPlaylistData: function() {
    	var plst = null;
    	plst = this.player.getPlaylist();
    	if (plst) {
    		var txt = '';
    		for(var itm in plst) { 
          cls  = (itm == this.player.getConfig().item) ? 'plstItemActive' : 'plstItem';
    			txt += '<a class="'+cls+'" href="javascript:void(0)" onclick="player.item('+itm+')">'+(itm*1+1)+'</a>';
    		}
        var tmp = $("playListItems");
    		if (tmp) { tmp.update(txt); }
    	}
    },
    
    syncControls: function(obj) {
      if(obj.player.getConfig().state != "PLAYING") {
        $('playPause').removeClassName('pause');
      } else {
        $('playPause').addClassName('pause');
      }
      if(obj.player.getConfig().mute != true) {
        $('mute').removeClassName('mute_on');
      } else {
        $('mute').addClassName('mute_on');
      }
      obj.getPlaylistData();
    }
    
  };
