var DATE = 1;
var NAME = 0;

function makeSortFxn(type) {

  return function () {

    var articles = $$('.article');

    articles = articles.sortBy(function(s) {

      if (type == NAME) return s.childElements()[type].innerHTML;
	else return new Date(s.childElements()[type].innerHTML);

    });

    if (type == DATE) articles.reverse();

    articles.each(function(a, index) {
      Element.insert('articles', {'bottom': a});

    });

  };

}

var sortByName = makeSortFxn(NAME);
var sortByDate = makeSortFxn(DATE);

var vis = null;

function showDiv(e) {

  if (vis != null) document.getElementById(vis).style.display = "none";
  document.getElementById(e).style.display = "block";
  vis = e;

}

function getRecentHeadlines(url) {

  new Ajax.Request(url, {

    method: 'get',
    contentType: 'text/xml',
    onSuccess: function(transport) {

	var oXml = zXmlDom.createDocument();

        oXml.loadXML(transport.responseText);

        var root = oXml.documentElement;

	var exp = '//category/article';

	var articles = zXPath.selectNodes(root, exp);
	
	articles = $A(articles);
	
	var sorted = articles.sortBy(function(s) {
		var date = zXPath.selectSingleNode(s, './date');
		return new Date(date.text);
	});

	sorted.reverse();

	for (var i = 0; i < 4; i++) {
		var title = zXPath.selectSingleNode(sorted[i], './title');
		var date = zXPath.selectSingleNode(sorted[i], './date');
		var id = sorted[i].getAttribute('id');
		var dateObj = new Date(date.text);
		$('news').insert({'bottom': '<li><a href="http://planning.fas.harvard.edu/c/index.html#' + id + '">' + title.text + 
			' (' + (dateObj.getMonth() + 1) + '/' + dateObj.getDate() + '/' 
			+ dateObj.getFullYear() + ')</a></li>'});
		
	}
	
    }

  });

}
