var requestTwitterObj = null;
var requestVZObj = null;
var requestSHObj = null;
var months = new Array("Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec");

	function processTweets() {
		if (requestObj.readyState == 4) {
			if (requestObj.status == 200) {
				var newsTitles = requestObj.responseXML.getElementsByTagName("item");
				var newHTML = "<ul>";
				for (var i=0; i < newsTitles.length && i < 3; i++) {
					var tweet = newsTitles[i].getElementsByTagName("description")[0].firstChild.nodeValue;
					if(tweet.indexOf("DrueKataoka: ") == 0)
						tweet = tweet.substring(13);
					var pubDate = new Date(Date.parse(newsTitles[i].getElementsByTagName("pubDate")[0].firstChild.nodeValue));
					newHTML = newHTML + "<li>" + tweet + ' <span class="tweet-date">' + tweetDateToString(pubDate) + "</span></li>";
				}
				newHTML = newHTML + "</ul>";
				document.getElementById("twitter-feed").innerHTML = newHTML;
			} 
		}
	}

	function tweetDateToString(tweetTime) {
		var d = new Date();
		var diff = Math.floor((d.getTime() - tweetTime.getTime())/1000); //Convert to secs
		if(diff < 60) {
			return ("about " + diff + " seconds ago");
		}
		diff = Math.floor(diff/60); //Convert to minutes
		if(diff < 60) {
			return ("about " + diff + " minute" +  ((diff == 1) ? "" : "s") + " ago");
		}
		diff = Math.floor(diff/60); //Conver to hours
		if(diff < 24) {
			return ("about " + diff + " hour" +  ((diff == 1) ? "" : "s") + " ago");
		}
		var minsPrefix = (tweetTime.getMinutes() < 10) ? "0" : "";
		return (tweetTime.getHours() + ":" + minsPrefix + tweetTime.getMinutes() + " " + months[tweetTime.getMonth()] + " " + tweetTime.getDate());
	}

	function getTweets() {
		if (window.XMLHttpRequest) // from Mozilla's Getting Started with AJAX page
			requestObj = new XMLHttpRequest();
		else if (window.ActiveXObject)
			requestObj = new ActiveXObject("Microsoft.XMLHTTP");
		
		requestObj.onreadystatechange = processTweets;
		requestObj.open('GET', "./twitter.php", true);
		requestObj.send(null); 
	}
	
	function getStyleHug() {
		if (window.XMLHttpRequest) // from Mozilla's Getting Started with AJAX page
			requestSHObj = new XMLHttpRequest();
		else if (window.ActiveXObject)
			requestSHObj = new ActiveXObject("Microsoft.XMLHTTP");
		
		requestSHObj.onreadystatechange = processSH;
		requestSHObj.open('GET', "./blogs.php?feed=sh", true);
		requestSHObj.send(null); 
	}
	
	function getValleyZen() {
		if (window.XMLHttpRequest) // from Mozilla's Getting Started with AJAX page
			requestVZObj = new XMLHttpRequest();
		else if (window.ActiveXObject)
			requestVZObj = new ActiveXObject("Microsoft.XMLHTTP");
		
		requestVZObj.onreadystatechange = processVZ;
		requestVZObj.open('GET', "./blogs.php?feed=vz", true);
		requestVZObj.send(null); 
	}
	
	function processVZ() { processBlog(requestVZObj, "valleyzen-content"); }
	function processSH() { processBlog(requestSHObj, "stylehug-content"); }

	function processBlog(requestBlogObj, divId) {
		if (requestBlogObj.readyState == 4) {
			if (requestBlogObj.status == 200) {
				var blogEntries = requestBlogObj.responseXML.getElementsByTagName("item");
				var blogHTML = "<ul>\n";
				
				blogHTML += '<li><span class="headline"><a href="' + getXMLValue(blogEntries[0], "feedburner:origLink") + '">' + getXMLValue(blogEntries[0], "title") + '</a></span>';
				blogHTML += "<div>" + cleanPost(getXMLValue(blogEntries[0], "description")) + "</div></li>\n";
				
				/*for (var i=1; i < blogEntries.length && i < 4; i++) {
					blogHTML += '<li><span class="headline"><a href="' + getXMLValue(blogEntries[i], "link") + '">' + getXMLValue(blogEntries[i], "title") + "</a></span></li>\n";
				}*/
				blogHTML = blogHTML + "</ul>\n";
				document.getElementById(divId).innerHTML = blogHTML;
			} 
		}
	}

	function getXMLValue(xmlNode, attr) {
		return xmlNode.getElementsByTagName(attr)[0].firstChild.nodeValue;
	}
	
	function cleanPost(str) {
		//alert(str);
		if(str.indexOf("<![CDATA[") == 0) {
			str = str.substring(9, str.length - 3);
		}
		str = str.replace(/<[^>]*>/gi, "");
		return str;
	}

