var prevURL, nextURL;
var videos, ytplayer, currentVideo;
var columns = new Array;
var autostart = false;

var paginationURLs = {};
paginationURLs.recent = "/js/video-recent-json/";
paginationURLs.popular = "/js/video-popular-json/";

var paginationURL = paginationURLs.recent;


var videoId;
var coloboxElement; //this variable keeps track of the colorBox so we can close it.


function loadVideos(jsonURL) {
 jQuery.ajax({
  url: jsonURL,
  dataType: 'json',
  success: function(data) {
    
    columns = new Array;
    for(var n=0;n<4;n++){
      columns[n] = new Array;
    }

    if (data.offset == 0) {
       prevOffset = (data.total_videos*1)-numVideos;
    } else {
       prevOffset = (data.offset*1) - numVideos;
    }
    
    if (data.offset == 0 || ((data.offset*1+numVideos)<=data.total_videos)) {
       nextOffset = (data.offset*1)+numVideos;
    } else {
       nextOffset = (0*1);
    }
 
    prevURL = paginationURL + prevOffset;
    nextURL = paginationURL + nextOffset;

    videos = data.videos;
    jQuery.each(videos, function(i,item) {columns[i%4].push(item);})
    
    jQuery('.media-list').each(function(i,currCol) {
        jQuery(this).empty().hide(); //clear current column
        jQuery("#tmplVideos").tmpl( columns[i] ).appendTo(currCol); //take template add in videos
        jQuery(this).fadeIn('fast');
     });
    updateSocialLinks();  
  }
 });


}


//youtube ga tracking

function onYouTubePlayerReady(playerId) {
    ytplayer = document.getElementById("ytplayer");
    ytplayer.addEventListener("onStateChange", "onytplayerStateChange");

    if (autostart) {ytplayer.playVideo();}
}

function onytplayerStateChange(newState) {
	switch (newState){
		case -1: action_name="Nonstarted"; break;
		case 0: action_name="Ended"; break;
		case 1: action_name="Play";break;
		case 2: action_name="Paused";break;
		case 3: action_name="Buffering"; break;
		case 5: action_name="Cued"; break;
	}
	
	var label= "http://www.youtube.com/watch?v=" + videoId;
	if(typeof action_name !== "undefined")
	{
		timestamp = Math.round(ytplayer.getCurrentTime()); //rounded timestamp
		_gaq.push(['_trackEvent', 'Videos', action_name, label, timestamp]);	
	}
	
}
