whispercast.local = {
  static: {
    assets_base: '../assets/swf/',

    text_color: '808080',
    background_color: '000000',

    link_color: '808080',
    hover_color: 'c0c0c0',

    link_underline: false,
    hover_underline: true,

    heading: null,

    popup_opened_content:
    '<div><a href="#" onclick="whispercast.local.openInPopup();return false">Playerul este deschis în altă fereastră.</a></div>'
  },

  cloneParams: function(local) {
    var L = whispercast.local;

    var params = {};
    for (var i in L.params) {
      params[i] = L.params[i];
    }
    return params;
  },

  setupURL: function(url, standby) {
    var L = whispercast.local;

    var u ={}
    u.regular = url ? url + (L.params.query ? ((url.indexOf('?') < 0)?'?':'&')+L.params.query : '') : null;
    u.standby = standby ? standby + (L.params.query ? ((standby.indexOf('?') < 0)?'?':'&')+L.params.query : '') : null;
    return u;
  },

  setupPage: function() {
    var L = whispercast.local;
    var sheet = whispercast.css.addSheet(undefined);
    whispercast.css.addRule(sheet, 'body', 'color:#'+L.params.text_color+';background-color:#'+L.params.background_color);
    whispercast.css.addRule(sheet, 'a', 'color:#'+L.params.link_color+';'+(L.params.link_underline?'text-decoration:underline':'text-decoration:none'));
    whispercast.css.addRule(sheet, 'a:hover', 'color:#'+L.params.hover_color+';'+(L.params.hover_underline?'text-decoration:underline':'text-decoration:none'));

    whispercast.css.addRule(sheet, '#player', 'width:'+L.params.width+'px;height:'+L.params.height+'px');

    var links = [];
    if (L.static.url.links) {
      for (var i = 0; i < L.static.url.links.length; i++) {
        var url = L.static.url.links[i];
        links.push('<a href="#" title="Comută pe streamul \''+url.name+'\'" onclick="whispercast.local.setURL('+i+',undefined);return false;">'+url.name+'</a>');
      }
    }
    document.getElementById('links').innerHTML = links.join('&nbsp;&middot;&nbsp;');

    if (L.params.affiliate_id) {
      var path = L.params.affiliate_id.split('/');

      var source = path[0];
      whispercast.css.addSheet('affiliates/'+source+'.css');
      for (var index = 1; index < path.length; index++) {
        source = source+'/'+path[index];
      }
        whispercast.css.addSheet('affiliates/'+source+'.css');
    }
  },

  createPlayer: function() {
    var L = whispercast.local;

    var url = L.setupURL(L.params.url.regular, L.params.url.standby);
    whispercast.log('REGULAR: '+url.regular);
    whispercast.log('STANDBY: '+url.standby);
    L.player = new whispercast.player.Player(L.static.assets_base, 'player', L.params.width, L.params.height, L.params.background_color,
      {
        url0: (url.regular != null) ? url.regular : '',
        url_standby0: (url.standby != null) ? url.standby : '',
        font_size: L.params.font_size,
        simple_ui: L.params.small ? 1 : 0,
        static_ui: 1,
        show_ui: 1,
        show_osd: L.params.small ? 0 : 1,
        popup_url: L.params.popup_url ? L.params.popup_url : '',
        hardware_accelerated_fullscreen: (L.params.width > 639) ? 1 : 0,
        play_on_load: L.params.play_on_load ? 1 : 0,
        muted: L.params.muted ? 1 : 0,
        volume: L.params.volume/100,
        video_align_x: L.params.video_align_x,
        video_align_y: L.params.video_align_y,
        url_mapper: (whispercast.local.mapURL != undefined) ? 'whispercast.local.mapURL' : '',
        logger: (L.params.logger != undefined) ? L.params.logger : ''
      }
    );
    L.player.create();
  },
  destroyPlayer: function() {
    var L = whispercast.local;

    if (L.player) {
      L.player.destroy();
      delete L.player;
    }
  },

  setURL: function(index, play) {
    var L = whispercast.local;

    if (L.player) {
      var url = L.setupURL(L.static.url.links[index].regular, L.static.url.links[index].standby);
      L.player.getPlayer().setURL_(0, url.regular, url.standby, (play != undefined) ? play : true);
    }
  }
}
