// listtags tagname * or # or nothing
// adding parameters to limit number of items (limit:number)
// adding parameters to reverse order (reverse)

version.extensions.listTags = {major: 0, minor: 1, revision: 0};
config.macros.listTags = { text: "" };
config.macros.listTags.handler = function(place,macroName,params)
{ var limit=0;
  for(var t=0; t<params.length; t++) {
		 type = params[t].split(":")[0].toLowerCase();
		 if (type == "limit")
			 limit = parseInt(params[t].split(":")[1]);
		 if (type == "reverse")
			 reverse= true;
		 else
		   reverse = false;
   }
   var tagged = store.getTaggedTiddlers(params[0],params[1]); //Second parameter is field to sort by (eg, title, modified, modifier or text)

var string = "";
if (limit==0) limit = tagged.length; else limit=(limit>tagged.length) ? tagged.length : limit;

	 if (reverse==true) {
for(var r=tagged.length-1;r>=(tagged.length-limit)&&r>=0;r--) {
 if(params[2]) string = string + params[2] + " ";
 string = string + "[[" + tagged[r].title + "]]\n";
}
	 } else {
for(var r=0;r<limit;r++) {
 if(params[2]) string = string + params[2] + " ";
 string = string + "[[" + tagged[r].title + "]]\n";
}
	 }

wikify(string, place, null, null);
}
