window.addEvent( itEventType, function(e) {

	// Days to go countdown...
	if ($('dtgtext') && $('dtgcount') ) {
		var target=new Date(2009, 11, 9) //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 ($('mainpointstool')) {
		window.addEvent( 'domready', function(e) { loadMainPoints(); });
	}
});

var _itdelay = 60000;
var _ititemstodisplay = 5;
var _iturl = '/indepth/budget2010/mainpoints/index.rss';
var _itlasttxt = "";

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

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

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

      var xmldoc = xml.documentElement;
      var itemlist = xmldoc.getElementsByTagName('item');
      for(var i=0; i<itemlist.length; i++) {
        var el = itemlist[ i ];
        if (i > _ititemstodisplay) { break; }

				//console.log( el );

				var title = getTitle( el );

 				//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.setHTML( title );
        li.injectInside( mp );
        new Fx.Style(li, 'opacity', {wait: true} ).start(1);
      }

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


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

function getTitle( el ) {

	//console.log( el );

	var str = [];

	for(var i=0; i<el.childNodes.length; i++) {

		var child = el.childNodes[ i ];
	
		if (child.nodeType == 1 && child.nodeName == 'title') {
			if (child.hasChildNodes()) {
				for(var j=0; j<child.childNodes.length; j++) {
					str.push( child.childNodes[j].nodeValue );
				}
			}
		}
	}

	return str.join(' ');

}

