// movie players etc

function flvPlayer(id,movie,thumb,width,height,events,autostart) {
  var player = jwplayer(id);
  //var setupObject = {};
  var pluginsObject = {
	  'logo': {
	    'file': '/static/player/wm.png',
	    'link': '',
	    'hide': false,
	    'margin': 12,
	    'timeout': 30000,
  	    'position': 'top-right',
  	    'linktarget': '_self'
	  },
	  'gapro-1': {
	    accountid: 'UA-3254603-11'
	  }
	  /*
	  'grid-2': {  
         thumbnailwidth: 320,
		 thumbnailheight: 184,
		 distance: 50
	  },
	  'flow-1': {
	    coverwidth: 80,
		coverheight: 45,
		position: 'bottom',
		size: 110,
		fontsize: 11,
		font: 'Tahoma',
		descriptionoffset: 15
	  }
	  */
	};

	if (0) pluginsObject['drelated-1'] = {
        dxmlpath: '/movies/related.xml',
		dposition: 'center',
		dtarget: '_self',
		dskin: '/static/player/grayskin2.swf?12'
	  };

  var setupObject = { 
    flashplayer: "/static/player/player.swf",
    width: width ? width : 640,
    height: height ? height : 434,
	skin: '/static/player/skins/five/five.zip',
	events: events ? events : {},
	file: movie ? movie : '',
	image: thumb ? thumb: '',
	backcolor: 'ffcc00',
	autostart: autostart!==false,
	controlbar: 'bottom',
	plugins: pluginsObject
  };
  player.setup(setupObject);
  return player;
}


function dbg(s1,s2,amaxlen) {
  return;
  var maxlen = amaxlen || 35;
  s2 = s2.length<=maxlen ? s2 : s2.substr(0,maxlen)+'<span class="more" onClick="this.hide();this.next().show();return false;"> ...</span><span style="display:none">'+s2.substr(maxlen,99999)+'</span>';
  $('debuginfo').insert({ top: '<div class="debugitem"><span style="color:green">'+s1+'</span>'+(s2?': '+s2:'')+'</div>' });
}

var MOVIEPLAYER_STDEVENTS = {
}

var MOVIEPLAYER_ALLEVENTS = {
  onVolume: function(e) {
    dbg("onVolume: "+e.volume);
  },
  onBufferChange: function(e) {
    //dbg('onBufferChange',e.bufferPercent.toFixed(1)+'%'); //{"metadata": {"loaded": 30653249, "total": 30653524}, "position": 3.46, "bufferPercent": 99.9991028763936, "duration": 239.72}
  },
  onBufferFull: function(e) {
    dbg('onBufferFull');
  },
  onError: function (e) {
    dbg('onError',e.message);
  },
  onFullscreen: function (e) {
    dbg('onFullscreen',e.fullscreen);
  },
  onMeta: function (e) {
    dbg('onMeta',Object.toJSON(e.metadata),100);
	showMeta(e.metadata);
  },
  onMute: function (e) {
    dbg('onMute');
  },
  onPlaylist: function (e) {
    dbg('onPlaylist',Object.toJSON(e));
	$('info').update('');
  },
  onPlaylistItem: function (e) {
    dbg('onPlaylistItem','index: '+e.index);
	$('info').update('');
  },
  onReady: function (e) {
    dbg('onReady');
  },
  onPlay: function (e) {
    dbg('onPlay', 'oldstate = '+e.oldstate);
  },
  onPause: function (e) {
    dbg('onPause', 'oldstate = '+e.oldstate);
  },
  onBuffer: function (e) {
  },
  onIdle: function (e) {
  },
  onComplete: function (e) {
    dbg('onComplete');
  },
  onTime: function (e) {
    //dbg('onTime');
  }
}

function showMeta(ameta) {
  var meta = ameta ? ameta : jwplayer().getMeta();
  if (!meta || !meta.videocodecid || !meta.audiocodecid) return;
  var metatext = Object.toJSON(meta);
  var t = '';
  var xdur = Math.round(meta.duration);
  var dur = Math.floor(xdur/60) + ':' + (xdur-Math.floor(xdur/60)*60).toPaddedString(2); 
  t += 'Czas: '+dur; //+', '+meta.width+'x'+meta.height+' piksli, '+meta.videoframerate+' fps<BR>';
  try {
    $('info').update(t);
  } catch(e) {
  }
}

function showFullMeta(ameta) {
  var meta = ameta ? ameta : jwplayer().getMeta();
  if (!meta) { dbg('NO META'); return; }
  if (!(meta.videocodecid && meta.audiocodecid))  { dbg('NO META CODECS',Object.toJSON(meta)); return; }
  var metatext = Object.toJSON(meta);
  /*
  ...
  "audiocodecid": "mp4a", "avcprofile": 77, "audiochannels": 2, "aacaot": 2, "videocodecid": "avc1", "duration": 239.72, "width": 640, "type": "metadata", "height": 368, "moovposition": 40, "tags": [], "videoframerate": 25, "audiosamplerate": 44100
  */
  var t = '';
  var xdur = Math.round(meta.duration);
  var dur = Math.floor(xdur/60) + ':' + (xdur-Math.floor(xdur/60)*60).toPaddedString(2); 
  t += '<B>Video</B>: '+dur+', '+meta.width+'x'+meta.height+' piksli, '+meta.videoframerate+' fps, '+meta.videocodecid+(meta.avclevel?' level '+meta.avclevel:'')+' '+'<BR>';
  t += '<B>Audio</B>: '+meta.audiocodecid+', '+meta.audiosamplerate+' Hz, '+(meta.audiochannels==2?'stereo':'mono');
  $('info').update(t);
}


