// Date parser and useful arrays
function parseDate(dateStr,asDO) {
	/* ASSUMES RSS date, NOT ATOM
		e.g. Fri, 20 Nov 2009 10:00:00 +1000
	*/
	datearr = dateStr.split(" ");
	pdate	= datearr[1];
	pmonth	= datearr[2];
	pyear	= datearr[3];
	ptime   = datearr[4].split(":");
	phour   = ptime[0];
	pmin    = ptime[1];
	psec    = ptime[2];
	if (asDO == 1) { // return Date object
		for (var mi=0;mi<Mths.length;mi++) {
			if (pmonth == Mths[mi]) { pmonth = mi; }
		}
		return new Date(pyear,pmonth,pdate,phour,pmin,psec);
	} else if (asDO == 2) { // return truncated string
		return pdate+" "+pmonth;
	} else { // return cleaned string
		return pdate+" "+expMonth(pmonth)+" "+pyear;
	}
}
var Mths   = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var Months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

function expMonth(wMth) { // return full month name from truncated version
	var retStr = wMth;
	for (var mi=0;mi<Mths.length;mi++) {
		if (wMth == Mths[mi]) { retStr = Months[mi]; }
	}
	return retStr;
}

// general AJAX utils
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest(); //Not IE
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP"); //IE
	} else {
		alert("Your browser doesn't support the XmlHttpRequest object.");
	}
}
function loadXmlDoc(url,callback){	
	if (req.readyState == 4 || req.readyState == 0) {		
		req.open("GET", url, true);			
		req.onreadystatechange = callback; 			
		req.send(null);		
	}
}
var req = getXmlHttpRequestObject();