function showLink()
{
    alert("Link To This Video:\n http://www.govtech.com/videos/?video="+curVideoPk);     
}

function autoStartNextVideo()
{    
    with(autoPlayCounter)   // have to do this to get the global var ( this func is called from another context)
    {
        if(autoPlayCounter > 9)  // we can only play 10 videos before the player stops
            return; 
        autoPlayCounter++;
    }
    
    var newTile = curTile +1;
    if(newTile >= 10 || curChannel.videos.length <= newTile)
    { 
        loadTiles(curChannel, curPage+1);
    	newTile = 0;  // wrap around
    }
    
    curTile = newTile;
    startVideo_part2(tilesArray[newTile])  
}

function startSponsoredVideo(id)
{   
    //alert("id: "+id);
    document.autoPlayCounter = 0;  // reset the autoplay
    for( i in sponsoredChannel.videos)
    {
         if(sponsoredChannel.videos[i].pk == id)
         {
             curTile =  i;
             break;
         }
    }
   
    var video = sponsoredChannel.videos[curTile];
    selectChannel(sponsorMenuId, sponsoredChannel);
    startVideo_part2(video);
}

function startVideo(tile_id)
{
    document.autoPlayCounter = 0;  // reset the autoplay
    curTile = tile_id;
    startVideo_part2(tilesArray[tile_id]) ;  
}


function startVideo_part2(video)
{
    setVideoInfo(video);
    setAdFields(video.delveID);
    
    if(curChannel.id == sponsorChannelId )
    {
    	DelvePlayer.doLoadMedia(video.delveID, true);
    }
    else
    {
    	DelvePlayer.doLoadMedia(video.delveID, true);
        // DelvePlayer.doLoadMediaWithAdConfigurationChannel(video.delveID, true, 0, 'e99fef5f62f54bf9a11ea5397ca329b2');
    }
}

function setVideoInfo(video)
{  
    $("#id_cur_title").text(video.title);
    $("#id_cur_summary").text(video.summary);  

    $("#id_sponsor_link").text(video.linkText);

    if(video.linkText != '')
    {
        $("#id_sponsor_link").attr('href', video.linkUrl);
    }
    
    if(video.bodyLength >10)
    {
    	$("#id_cur_button").attr('href', video.url);
    	$("#id_cur_button").show();
    }
    else
    {
        $("#id_cur_button").hide();
    }
}


function setAdFields(delveId)
{
    reloadAd('frame_ad_R2', delveId);
    reloadAd('frame_ad_T2', delveId);
  
}


function selectChannel(new_menu_id, new_channel)
{  
    $('#id_current_topic').text(new_channel.title);
    $('#id_topic_list').addClass('hideMenu');
  
    curChannel = new_channel;
    $(function() {
        loadTiles(curChannel, 0);
    });
    if( initialVideoID > 0)
    {
        setVideoInfo(curVideo);
        DELVE_ID = curVideo.delveID;  // DELVE_ID   is used to select the original ads
    }
    else
    { 
    	DELVE_ID = curChannel.videos[0].delveID;
    }
}

function loadPage(page)
{
	loadTiles(curChannel, page)
}

function next10()
{ 
	loadTiles(curChannel, curPage+1)
}

function prev10()
{
	loadTiles(curChannel, curPage-1)
}


function loadTiles(newChannel, page)
{ 
    if(page<0)
        return;
    var firstV = page* 10;
    var vids = newChannel.videos;
    var numVideos = vids.length;
    var lastV  = Math.min(numVideos-1, ((page+1) *10-1));
    if(lastV < firstV)
        return;
    
    // make them all visible
     $('.tile').show();
    
    var tile = 0;    
    for(var v = firstV; v <= lastV ; v++, tile++)
    {
        var vid = newChannel.videos[v];
        $("#video_image_"+tile).attr('src', vid.img);
        $("#video_image_"+tile).attr('alt', vid.title);
        $("#video_title_"+tile).text(vid.title);
        $("#video_abstract_"+tile).text(stripTags(vid.summary));   
	tilesArray[tile] = vid;
    }
 
    // hide the unused tiles
    while(tile < 10)
    {    
        $('#tile_'+tile).hide();
        tile++;
    }
 
    // update the navigation and title
    firstV++;
    lastV++;
    
    if(numVideos >10)
       $('#id_pagination').show();
    else
        $('#id_pagination').hide();

        
    var showpage = page+1;
    var maxPage = numVideos/10 ;
        maxPage += numVideos%10 > 0 ? 1:0;
    var sPage   = Math.max(showpage-2, 1);
    var ePage   = Math.min(sPage+4, maxPage);
    //alert("maxpage: "+maxPage+" spage: "+sPage+" ePage: "+ePage);

    if(page == 0)
       $('#id_prev_page').hide();
    else
        $('#id_prev_page').show();
        
    if(page == maxPage)
       $('#id_next_page').hide();
    else
        $('#id_next_page').show();

    
    var txt = "" ; 
    for (var c = sPage; c <= ePage; c++)
    {
        if(c == showpage)
        {
             txt += "<span class='page_selected'>&nbsp;"+c+"&nbsp;</span>";
        }
        else
        {
            var realpage = c-1;
            txt += "<span class='page_page' onclick='loadPage(" + realpage + ");' >&nbsp;"+c+"&nbsp;</span>";  
        }
        
        if(c < ePage)
          txt +="&nbsp;|&nbsp;";
    }  
    
    $('#id_cur_page').html(txt);
    
    curChannel = newChannel;
    curPage = page;
    curTile = 0;
}


function delvePlayerCallback (playerId, eventName, data)
{
  switch(eventName)
  {
    case 'onPlayerLoad':
    	checkForLinux();    
    	if(initialVideoID == 0)
	{
	     startVideo(0);
	}
	else
	{
	      curTile = -1;                  // so after this video we will play the first tile
	      document.autoPlayCounter = 0;  // reset the autoplay
	     
	      startVideo_part2(curVideo);
	}        
      break;
    case 'onMediaLoad':
//      document.getElementById('player_status').innerHTML  = "Loaded media '" + data.title + "'";
      break;
    case 'onMediaComplete':   
	setTimeout("autoStartNextVideo()", 3000);
        break;
    case 'onChannelLoad':
//        document.getElementById('current_channel').innerHTML   = data.title;
      break;

  }
}

var player_registered = false;

function checkForLinux()
{
    if (navigator.platform.indexOf("Linux")!=-1 || navigator.appVersion.indexOf("X11"))
    {
        registration_interval = setInterval(try_register_player,250);
    }
}

function try_register_player()
{
    if(typeof(DelvePlayer) == "undefined")
    {
        player_registered = false;
    }
    else
    {
        if (DelvePlayer.getPlayers() == null || DelvePlayer.getPlayers().length == 0)
        {
            if (!player_registered && typeof(DelvePlayer) != "undefined")
            {
                DelvePlayer.registerPlayer("delve_player557127o");
                player_registered = (DelvePlayer.getPlayers() != null && DelvePlayer.getPlayers().length > 0);
            }
        }
        else
        {
            player_registered = true;
        }
    }
    if(player_registered)
    {
      clearInterval(registration_interval);
    }   
}

function stripTags(arg)
{
   return arg.replace(/(<([^>]+)>)/gi , "");
}


//############# Initialize Default Vars and Settings
var curVideo = 0;
var curPage = 0;
var curTile = 0;
var autoPlayCounter = 0;  // this counter limits the number of videos that will automatically start playing. To prevent the player from playing forever
var gttvLogo  = 'images/1231793879.gif'; // default images  

var tilesArray= new Array(1,2,3,4,5,6,7,8,9,10,11);

// called by the tiles links
$(function() {
    $('.tiles').click(function(event){
        event.preventDefault();
        var theId = $(this).attr('id');
        var tile_id = theId.substring(theId.length-1);
        startVideo(tile_id);
    });
});

