window.addEvent( 'domready', function(e) {

	// Days to go countdown...
	if ($('dtgtext') && $('dtgcount') ) {
		var target=new Date(2008, 9, 14) //Month is 0-11 in JavaScript
		var today=new Date()
		var dtg = Math.ceil((target.getTime()-today.getTime())/(86400000));
		if (dtg <= 1) {
			dtg = "01";
			$('dtgtext').setHTML( 'day to go' );
		} else if (dtg < 10) {
			dtg = "0" + dtg;
		}

		$('dtgcount').setOpacity( 0 ).setHTML( dtg );
		new Fx.Style($('dtgcount'), 'opacity', {duration: 500} ).start(1);
	}

	// Main Points
	if ($('mainpoints')) {
		window.addEvent( 'domready', function(e) { loadMainPoints(); });
	}
});

var delay = 60000;
var itemstodisplay = 5;
var url = '/indepth/uselections2008/xml/mainpoints.xml';
var lasttxt = "";

function loadMainPoints() {
  var request = new XHR({
    method: 'get',
    onSuccess: function(txt, xml) {

      //console.log( "Start" );
      if (lasttxt == txt) {
        //console.log( "No Change" );
        window.setTimeout("loadMainPoints();", delay);
        return;
      }
      lasttxt = txt;

      var mp = $('mainpoints');
      mp.setHTML('');

      var xmldoc = xml.documentElement;
      var itemlist = xmldoc.getElementsByTagName('li');
      for(var i=0; i<itemlist.length; i++) {
        var el = itemlist[ i ];
        if (i > itemstodisplay) { break; }
 				if (el.childNodes.length == 0
					|| el.childNodes[0].nodeValue == '') {
					continue;
				}
        var li = new Element( 'li' ).setOpacity( 0 );
        // TODO: Need to recurse el not just take firstChild
        li.setHTML( el.childNodes[0].nodeValue );
        li.injectInside( mp );
        new Fx.Style(li, 'opacity', {wait: true} ).start(1);
      }

			if (itemlist.length > itemstodisplay) {
	      var li = new Element( 'li' ).setOpacity( 0 );
	      li.setHTML( '<a id="moremainpoints" href="mainpoints/">More ...</a>' );
	      li.injectInside( mp );
	      new Fx.Style(li, 'opacity', {wait: true} ).start(1);
			}


      window.setTimeout("loadMainPoints();", delay);
    }
  }).send( url + "?ts=" + (new Date()).getTime() );
}
