var table, table_hitlijst, table_luisterpaalhits;
var tableLength = 50;

var cols_hitlijst = [
      {p:'mediaType', className: 'mouseover data', colSpan: 3, title:'', type:'mediatype', headerClassName:'hd-mediatype'},
			{p:'title', title:'TITEL', className: 'mouseover data', type:'text', hreffn:getUrl, sort:false},
      {p:'rating', title:'WAARDERING', type:'rating', className:'mouseover data ratingCol', sort:false, defaultsort:true, defaultdesc:false}
    ];

var cols_luisterpaalhits = [
      {type: 'luisterpaalIcoon', colSpan: 3, sort:false, className: 'mouseover cdIcoon data', headerClassName:'hd-mediatype'},
      {type: 'luisterpaalTitle', className: 'mouseover data', sort:false},
      {p:'rating', title:'WAARDERING', type:'rating', className:'mouseover data ratingCol', sort:false, defaultsort:true, defaultdesc:false}
    ];

var tabs_hitlijst = [
  {
  name: 'RATED',
  columns: cols_hitlijst,
  find: function(callback){return communityFunctionalityService.findRatedMediafragmentsForProfile(profileName, 0, tableLength, callback);},
  count: hitlijstCount,
  onrowclick: speler,
  sortOnLoad: false
	}
];

var tabs_luisterpaalhits = [
  {
  name: 'RATED',
  columns: cols_luisterpaalhits,
  find: function(callback){return communityFunctionalityService.findRatedCDsForProfile(profileName, 0, tableLength, callback);},
  count: hitlijstCount,
  onrowclick: speler,
  sortOnLoad: false
	}   
];

function getUrl(obj) {
  switch(obj.typeName){
    case 'audiofragments': return '/speler/ondemand/'+obj.number; break;
    case 'videofragments': return '/speler/ondemand/'+obj.number; break;  
    case 'groups': return '/artiesten/artiest/'+obj.number; break;  
    default: '/'+obj.number;  
  }
}

function speler(url){
  if (/\/speler\/ondemand\/\d+$/.test(url)){
    openSpeler('ondemand', {url: url})
  }
	else if (/\/speler\/luisterpaal\/\d+$/.test(url)){
    openSpeler('luisterpaal', {url: url})
  }
  else{
    document.location = url;
  }
  return false;
}
function hitlijstCount(callback) {
  return communityFunctionalityService.countRatedsForProfile(profileName, done);
  
  function done(count) {
    waitStop();
    //setUitleg(count > 0, isMijnProfiel);
    callback(count);
  }
}

function mediaHeader(){
  return profileName.toUpperCase()+"'S HITLIJST";
	// TODO implement ALLES AFSPELEN here
}

function luisterpaalHeader(){
  return profileName.toUpperCase()+"'S LUISTERPAAL HITS";
  // TODO implement ALLES AFSPELEN here
}

function init() {
  waitStart("666666");
  table_hitlijst = new TabTable('table_hitlijst', tabs_hitlijst);
  table_hitlijst.setHeaderRenderer(mediaHeader);
  table_hitlijst.setSortable(false);
  table_hitlijst.setId('mediafragments');
  table_hitlijst.show();
	
  table_luisterpaalhits = new TabTable('table_luisterpaalhits', tabs_luisterpaalhits);
  table_luisterpaalhits.setHeaderRenderer(luisterpaalHeader);
  table_luisterpaalhits.setSortable(false);
  table_luisterpaalhits.setId('luisterpaalfragments');
  table_luisterpaalhits.show();

}

