CmdUtils.CreateCommand({
  name: "lastfm",
  author: { name: "Juan Pablo Zapata", email: "admin@pendor.com.ar" },  
  homepage: "http://www.pendor.com.ar/ubiquity",  
  description: "Muestra los ultimos temas de un usuario en Last.fm.",
  help: "<b>Uso:</b> lastfm <i>nombre del usuario</i>", 
  icon: "http://cdn.last.fm/flatness/favicon.ico",

  takes: {"nombre de usuario": noun_arb_text},
  //modifiers: {"mostrar": noun_arb_text},
  preview: function(pBlock, campo, mods) {
    var busqueda = campo.text;
    //var mostrar = mods.mostrar.text;
    if( busqueda == "" )
      busqueda = "un usuario";
    pBlock.innerHTML = "Muestra los ultimos 10 temas de " + busqueda + " en Last.FM.";
	if(campo.text.length < 1)
		return;
        
	extraer_pistas(pBlock, busqueda);
  },
  execute: function( campo ) {
    var perfil = "http://www.last.fm/user/" + campo.text;
    Utils.openUrlInBrowser(perfil);
  }
})



var apikey = "199854e33c693ae503636d09e40af9bd";
var apiurl = "http://ws.audioscrobbler.com/2.0/";

var plantilla = 
	  "{for item in pistas}" +
	  "<div style=\"clear: both; padding: 5px 0px;font-size: 11px\">" +
	  "${item.nombre} - " +
	  "${item.artista}" +
	  "</div>" +
	  "{/for}";

function info_pistas(track)
{
	return {
		nombre: track.find("name").text(),
		artista: track.find("artist").text(),
	       };
}



function extraer_pistas(pBlock, busqueda, mostrar)
{
	var pistas = [];

        //if(mostrar < 1)
	//mostrar=5;

	var limite = 10;
	jQuery.ajax({
		type: "GET",
		url: apiurl,
		data: {api_key: apikey, method: "user.getrecenttracks", user: busqueda},
		dataType: "xml",
		success: function(result){
			result = jQuery(result);
			if( result.find("track").length < 1 )
			{
				pBlock.innerHTML = "El usuario <b>" + busqueda + "</b> no existe.";
				return;
			}
			result.find("track").slice(0,limite).each(function(){
				var pista = jQuery(this);
				pistas.push(info_pistas(pista));
			});
			var lista_pistas = {
				pistas: pistas
			};
			pBlock.innerHTML = CmdUtils.renderTemplate(plantilla, lista_pistas);
			
		}
	});
}

