var playlistlaenge=0;
var plusZeile=0;
var player=null;
var time=null;
try {
	var playlistReady = playerReady;
} catch (err){
}

playerReady = function(obj) {
	setTimeout(function(){checkPlaylistLoaded(obj)}, 1);
        player = document.getElementsByName(obj.id)[0];
        player.addModelListener('TIME', 'timeMonitor');
	try {
		playlistReady(obj);

	} catch (err){
	}
}

/*      function timeMonitor(obj)
      {
        time = obj.position;
        gid('time').innerHTML = obj.position;
      };

      function gid(name)
      {
        return document.getElementById(name);
      };*/


function itemHandler(obj) {
	var item = obj['index'];
	var playlist = $("#"+obj['id']).next();
	var currentItem = 0;
	playlist.children().each(function(){
		if (currentItem == item) {
			$(this).addClass("playing");
		} else {
			$(this).removeClass("playing");
		}
		currentItem++;
	});
}


function checkPlaylistLoaded(obj) {
	var player = document.getElementById(obj['id']);
	var jsPlaylist = player.getPlaylist();
        //console.log('playlistOB:'+jsPlaylist);
        if (jsPlaylist!=null){
          playlistlaenge=jsPlaylist.length;
	  if (jsPlaylist.length > 0) {
		var playlist = createPlaylist(obj);
		populatePlaylist(player, jsPlaylist, playlist);
		player.addControllerListener("PLAYLIST","playlistHandler");
		player.addControllerListener("ITEM","itemHandler");
	   } else {
	        setTimeout(function(){checkPlaylistLoaded(obj)}, 150);
	   }
        }else{
           setTimeout(function(){checkPlaylistLoaded(obj)}, 150);
        }
        var playlistDIV=$('.jw_playlist_playlist');
        if (playlistlaenge > 1){
            playlistDIV.height(playlistlaenge*35 + plusZeile*15);
            $('#channels').css('margin-top','20px');
            $('#vonbis').css('margin-top','27px');

        }else{
             playlistDIV.remove();
            $('#channels').css('margin-top','55px');
            $('#vonbis').css('margin-top','62px');

        }
    /*$.each($.browser, function(i, val) {
      $("<div>" + i + " : <span>" + val + "</span>")
                .appendTo(document.body);
    });*/

        var browser=$.browser;
        if (browser.msie && (browser.version=='7.0' || browser.version=='6.0')){
           if (playlistlaenge >1){
           $('#info').css('margin-top',playlistlaenge*35 + plusZeile*15+'px');
              //var test=$('.player').height();
              //var test2=4;
           }else{
              h2=heightNow+5;
              h1=h2+""; 
              $('#info').css('margin-top',h1+'px');
           }
        }
        var playerDIV=$('.player');
        var h=heightNow;
        if (h <280 && playlistlaenge == 1  ){
            $('#mediaDetails').css('margin-top','30px');
        }else{
            $('#mediaDetails').css('margin-top','10px');
        }
        //console.log(browser);
        //console.log(playlistlaenge+' '+ playlistDIV);
}

function createPlaylist(obj){
	var playerDiv = $("#"+obj['id']);
	playerDiv.after("<div class='jw_playlist_playlist'></div>");
	return playerDiv.next();
}

function playlistHandler(obj){
	var player = document.getElementById(obj['id']);
	var jsPlaylist = player.getPlaylist();
	var playerDiv = $("#"+obj['id']);
	var playlist = playerDiv.next();
	populatePlaylist(player, jsPlaylist, playlist);
}

function populatePlaylist(player, jsPlaylist, playlist){
	playlist.empty();
	for (var i=0;i<jsPlaylist.length;i++) {
		var jsItem = jsPlaylist[i];
		var alternate = "even";
		if (i % 2) {
			alternate = "odd";
		}
		playlist.append("<div class='jw_playlist_item "+alternate+"'>"+dump(jsItem)+"</div>");
	}
	var playlistItem = 0;
	playlist.children().each(function(){
		var currentItem = playlistItem;
		$(this).click(function () {
			player.sendEvent("ITEM", currentItem);
                        //console.log(currentItem);
		});
		playlistItem++;
	});
}

function dump(arr) {
	//var output = "<div class='jw_playlist_image_div'><img src='${image}' class='jw_playlist_image' /></div><div class='jw_playlist_title'>${title}</div><div class='jw_playlist_description'>${description}</div><div class='clear'></div>";
        var output = "<div class='jw_playlist_image_div'><img src='' class='jw_playlist_image' /></div><div class='jw_playlist_description'>${description}</div><div class='clear'></div>";
	var variables = getVars(output);
	for (var j=0; j<variables.length; j++) {
		var variable = variables[j];
		var varName = variable.replace('${','').replace('}','');
		var value = arr[varName];
		if (!value) {
			value = '';
		}
		output = output.replace(variable, value);
	}
        if (variable=='${description}'){
             zeichenlaenge=value.length;
             if(zeichenlaenge > 53){
                 plusZeile++;
             }
        }
	output = output.replace("<div class='jw_playlist_image_div'><img src='' class='jw_playlist_image' /></div>","");
	return output;
}

function dumpText(arr) {
	var dumped_text = "";
	if(typeof(arr) == 'object') {
		for(var item in arr) {
			var value = arr[item];		
			if(typeof(value) == 'object') {
				dumped_text += "<div class='"+item+"'>";
				dumped_text += dump(value);
				dumped_text += "</div>";
			} else {
				dumped_text += "<div class='"+item+"'>"+ value + "</div>";
			}
		}
	} else {
		dumped_text += arr+" ("+typeof(arr)+")";
	}
	return dumped_text;
}

function getVars(str){
	return str.match(/\$\{(.*?)\}/g);
}

