// redefine this function to include support for showing resources.
function printPlaylistData() {
    var plst = null;
    var tmp = document.getElementById("plstDat");
    plst = player.getPlaylist();
    if (plst) {
        var txt = '';
        for(var itm =0;itm < plst.length;itm++) { 
            var description = null;
            var image = null;
            var title = null;
            var duration = null;
            var link = null;
            var completeContent = null;
            var altTag = null;
            var resourcesHTML = null;            
            
            if(plst[itm].description){
                completeContent = plst[itm].description;
                description = plst[itm].description.substring(0,100);
            }
            if(plst[itm].image){
                image = plst[itm].image;
            }
            if(plst[itm].title){
                title = plst[itm].title;
            }
            if(plst[itm].duration){
                duration = parseFloat(plst[itm].duration);
            }
            if(plst[itm].link){
                link = plst[itm].link;
            }
            if(plst[itm]['alttag']){
                altTag = plst[itm]['alttag'];
            }else{
                altTag = title;
            }
            if(plst[itm].resources){
                resourcesHTML = getResourcesHTML(plst[itm].resources.evalJSON());
            }
            txt += '<li class="itemLi" id="itm' + itm + '" name="itm' + itm + '">';
            if(image!==null && image!=="" && image!==undefined && title!==null && title!=="" && title!==undefined ){
                txt += '<a href="javascript:player.sendEvent(\'ITEM\',' + itm + ');" class="small_legacy_wrap">';
                txt +='<img src="'+image +'" alt="'+altTag +'" width="100" height="75"></img></a>';
            }
            txt += '<div class="playlist_large_info">';
            if(duration > 0){
                var mins = Math.floor(duration/60);
                if(parseInt(mins)<10){
                    mins = "0"+mins;
                }
                var secs = Math.round(duration%60);
                if(parseInt(secs)<10){
                    secs = "0"+secs;
                }
                txt += '<div class="itemDuration">'+mins+':'+secs+'</div>';
            }else{
                txt += '<div class="itemDuration"></div>';
            }
            txt += '<div>';
            if(title!==null && title!=="" && title!==undefined ){
                txt += '<a href="javascript:player.sendEvent(\'ITEM\',' + itm + ');"><h4 id="itemtitle'+itm+'" class="itemTitle">'+title+'</h4></a><span id="itemStatus'+itm+'" style="display:none;" class="nowPlayingPlayer"> --- Now Playing</span>';
            }
            if(description!==null && description!=="" && description!==undefined){
                var descid = 'itemdesc'+itm;
                
                if(completeContent.length > description.length){
                    description = description+".....";
                    txt += '<div class="itemDescription" id="'+descid+'">'+description;
                    var showid = 'showMore' + itm;
                    var moreid = 'moreContent' + itm;
                    var lessid = 'lessContent'+itm;
                    txt+= "<a id='"+showid+"' style='display:inline' href=\"javascript:showMoreContent ";
                    txt += "('"+descid+"','"+showid+"','"+lessid+"','"+moreid+"');\" >&nbsp;&nbsp;&rsaquo;&nbsp;more info</a>";
                    txt += "</div>";
                    txt +='<div id="'+ moreid+'" class="hide">'+completeContent+'</div>';
                    txt +='<div id="'+ lessid+'" class="hide">'+description+'</div>';
                }else{
                    txt += '<div class="itemDescription" id="'+descid+'">'+description;
                    txt += "</div>";
                }
            }
            txt +='<div><a href="javascript:player.sendEvent(\'ITEM\',' + itm + ');" class="links">&rsaquo;&nbsp;Play</a>';
            if(link!==null && link!=="" && link!==undefined){
                txt += '<a href='+link+' class="links"">&rsaquo;&nbsp;Download</a>';
            }
            if(resourcesHTML!==null && resourcesHTML!=="" && resourcesHTML!==undefined) {
                txt += getResourceLinkHTML(itm);
                txt += '<div id="resources'+itm+'" style="display:none;">' + resourcesHTML + '</div>';
            }
            txt += '</div></div></div></li>';
        }
        if (tmp) { 
            tmp.innerHTML = txt; 
        }
    } else {
        setTimeout("printPlaylistData()",100);
    }
};

function showLessContent(itemDescid,anchorId,lessDescId,moreDescId){
    var style1 = {"height": ""};
    var parentItem = $(itemDescid).up(2);
    var morecontent = "<a id='"+anchorId+"' style='display:inline' href=\"javascript:showMoreContent('"+itemDescid+"','"+anchorId+"','"+lessDescId+"','"+moreDescId+"')\" >&nbsp;&nbsp;&rsaquo;&nbsp;more info</a>";
    var lessCont = $(lessDescId).innerHTML;
    lessCont = lessCont + morecontent;
    $(itemDescid).innerHTML = lessCont;
    
    var id = anchorId.gsub("showMore", ""); 
    if (!$("resources" + id) || !$("resources" + id).visible()) {   
        $(parentItem).setStyle(style1);
    }
};

function toggle_resources_display(i) {
    var resources_div = $("resources" + i);
    var resources_link = $("toggle_resources_link" + i);
    var parent = $("itm" + i);
    
    if (resources_div.visible()) {
        if (!$('showMore' + i) || $('showMore' + i).innerHTML.include("more info")) { 
            parent.setStyle({"height": ""}); 
        }
        resources_link.innerHTML = '&rsaquo;&nbsp;Show Resources';
    }
    else {
        parent.setStyle({"height": "auto"});
        resources_link.innerHTML = '&rsaquo;&nbsp;Hide Resources';
    }
    resources_div.toggle();
}

function getResourcesHTML(json) {
    fragment = "<br />";
    for (var i=0; i<json.subject.length; i++) {
        fragment += "<h4>" + json.subject[i].name + "</h4>";
        list = json.subject[i].resource;
        for (var j=0; j<list.length; j++) {
            fragment += "<p>" + list[j].site + "&nbsp;";
            fragment += '<a href="' + list[j].url + '" target="_blank">';                                  
            fragment += list[j].title + "</a>";      
            fragment += "&nbsp;Grades " + list[j].gradelevel + "</p>";
        }
        fragment += "<br />";
    }
    return fragment;
}

function getResourceLinkHTML(itm) {
    return '<a class="links" id="toggle_resources_link'+itm+'" href="javascript:toggle_resources_display(' + itm + ')">&rsaquo;&nbsp;Show Resources</a>';
}

