var videoYoutube = Class.create
({
 	id: "",
	url: "",
	titulo: "",
	descripcion: "",
	etiquetas: null,
	fecha: null,
	duracion: "",
	reproducciones: 0,
	favoritos: 0,
	comentarios: 0,
	captura: "",
	capturaG: "",
	
	initialize: function (video)
	{
		this.id = video.id;
		this.url = "http://www.youtube.com/watch?v=" + this.id;
		this.titulo = video.title;
		this.descripcion = video.description;
		this.fecha = this.convertirFecha (video.uploaded);
		this.etiquetas = video.tags;
		this.duracion = this.convertirDuracion (video.duration);
		this.reproducciones = video.viewCount? video.viewCount: 0;
		this.favoritos = video.favoriteCount? video.favoriteCount: 0;
		this.comentarios = video.commentCount? video.commentCount: 0;
		this.captura = video.thumbnail.sqDefault;
		this.capturaG = video.thumbnail.hqDefault;
	},

	convertirFecha: function (fechaOriginal)
	{
		var fecha = new Date ();
		var trozos = fechaOriginal.match (/([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})/i);
		var franja = -fecha.getTimezoneOffset () * 60000;
		fecha.setTime (Date.parse(trozos[1] + "/" + trozos[2] + "/" + trozos[3] + " " + trozos[4] + ":" + trozos[5] + ":" + trozos[6]) + franja);
		return fecha;
	},

	convertirDuracion: function (segundos)
	{
		var minutos = Math.floor (segundos / 60);
		segundos -= (minutos * 60);
		return (minutos<10? "0": "") + minutos + ":" + (segundos<10? "0": "") + segundos;
	}
});

var funcionVideosYoutubeRecuperados = null;
function recuperarVideosYoutube (pagina, videosPorPagina, funcionVideosRecuperados)
{
	funcionVideosYoutubeRecuperados = funcionVideosRecuperados;
	var peticion = "http://gdata.youtube.com/feeds/api/videos?author=ViciojuegosVideos&alt=jsonc-in-script&v=2&format=5&start-index=" + ((pagina-1)*videosPorPagina+1) + "&max-results=" + videosPorPagina + "&orderby=published&callback=videosRecibidos";
	
	var script = document.createElement ("script");
	script.type = "text/javascript";
	script.async = true;
    script.src = peticion;
	document.body.appendChild (script);
}

function videosRecibidos (datos)
{
	var videos = new Array (datos.data.items.length);	
	for (var i=0; i<datos.data.items.length; i++) videos[i] = new videoYoutube (datos.data.items[i]);
	funcionVideosYoutubeRecuperados (videos);
}
