var _videoTotal = 0;
var _videoCount = 0;
var _pageLength = 100;

function videofy(  pageLength  ) {
	_videoTotal += $('ul.video.library li').length;
	_pageLength	= pageLength;
	
	$('ul.video.library').hide().after('<div class="video library"><div class="clr">.</div></div>');
	$('ul.video.library li').each( function(i) {
		var s = $(this).text();
		var code = s.replace( /http:\/\/www\.youtube\.com\/watch\?v=/, '' );
		var url = ( /http:\/\/gdata\.youtube\.com/.test( code ) ) ? code : 'https://gdata.youtube.com/feeds/api/videos/'+code;
		
		var str = '<script src="'+url+'?alt=json-in-script&callback=videoData" type="text/javascript">';
		str += '</script';
		str += '>';
		$('ul.video.library').before( str );

	});
	
}		

function videoData( data ) {
				var i = _videoCount++;
				if ( data.entry ) {
					var title = data.entry.title.$t;
					var thumb = data.entry.media$group.media$thumbnail[1].url;
					
					var code = '';
					if ( data.entry.id.$t.match( /http:\/\/gdata\.youtube\.com\/feeds\/api\/videos\// ) )
						code = data.entry.id.$t.replace( /http:\/\/gdata\.youtube\.com\/feeds\/api\/videos\//, '' );
					else
						code = data.entry.link[0].href.replace( /http:\/\/www\.youtube\.com\/watch\?v=/,'').replace(/&.*$/, '');
					
					$('div.video.library').prepend( '<iframe style="display: none;" class="video'+i+'" width="560" height="349" src="http://www.youtube.com/embed/'+code+'?rel=0&fmt=22" frameborder="0" allowfullscreen></iframe>' );
					$('div.video.library .clr').before( '<div class="video" onclick="showVideo('+i+');">'
						+ '<img src="' + thumb + '" alt="' + title + '" /><h3>' + title + '</h3></div>' );
					showVideo( i );
					if ( _videoTotal == _videoCount - 1 ) {
						videoPages();
					}
				} else if ( data.feed ) {
					_videoTotal +=  data.feed.entry.length - 1;
					
					for( var t=0; t < data.feed.entry.length; t++ ) {
						videoData( { 'entry': data.feed.entry[t] } );
					}
				}
				
}

function videoPages() {
	var pages = Math.ceil( $('div.video.library > .video').length / _pageLength );
	if ( pages <= 1 ) return;
	
	var list = '<ul class="pages">';
	for ( var page = 0; page < pages; page++ ) {
		$('div.video.library > .video:lt('+(_pageLength)+')' ).wrapAll('<div class="page ' + page + '" />');
		list += '<li><a href="#" onclick="showPage(' + page + '); return false;">' + (page+1) + '</a></li>';
	}
	list += '</ul>';
	$('div.video.library').append( list );
	
	showPage( 0 );
}

function showPage( n ) {
	$('div.video.library .page').hide();
	$('div.video.library .page.'+n).show();
	$('div.video.library ul.pages li').removeClass('current');
	$('div.video.library ul.pages li:nth(' + n + ')').addClass('current');
}

function showVideo( i ) {
	$('div.video.library iframe').hide();
	$('div.video.library iframe.video'+i).show();
}
