var tagSort = function (id) {
	var tagList = document.getElementById("tag-list");
	// alert(tagList);

	// array to store tags for sorting
	var myTags = new Array();
	// nodeList of tag <li> elements
	var tagItems = tagList.getElementsByTagName("LI");
	
	for(var i=0; i<tagItems.length; i++) {
		// create an object to hold popularity and name
		var theTag  = new Object();
		var theLink = tagItems[i].getElementsByTagName('A')[0];
		theTag.pop  = theLink.className.substring(theLink.className.length-1);
		theTag.href = theLink.href;
		theTag.name = theLink.innerHTML;
		
		myTags.push(theTag);
	}
	
	// object sorting callbacks
	var popSort = function(a, b) {
		if(a.pop == b.pop){
			if(a.name == b.name){
				return 0;
			}
			return (a.name < b.name) ? -1 : 1;
		}
		return (a.pop < b.pop) ? -1 : 1;
	}
	
	var abcSort = function(a, b) {
		if(a.name == b.name){
			if(a.pop == b.pop){
				return 0;
			}
			return (a.pop < b.pop) ? -1 : 1;
		}
		return (a.name < b.name) ? -1 : 1;
	}
	
	
	// sort Tags based on link id
	if (id.indexOf("abc") > -1)
		myTags.sort(abcSort);
	else
		myTags.sort(popSort);
	
	// reset tagItems as String
	tagItems = "";
		
	// build list items
	for (var i=0; i<myTags.length; i++) {
		var tag = myTags[i];
		tagItems += "<li><a href=\""+tag.href+"\" class=\"popular-"+tag.pop+"\">"+tag.name+"</a>\n";
	}
	
	// replace OL innerHTML
	tagList.innerHTML = tagItems;
	
	// done.
}

var navigationHandler = function(e) {
	tagSort(this.id);
	YAHOO.util.Event.preventDefault(e);
	return false;
}

YAHOO.util.Event.addListener(['tag-abc', 'tag-pop'], 'click', navigationHandler);