// Make a POST to the server 
// and pass on any data from browser
// via the XMLHTTPRequest
var lastPing = 0;
function getReviews()
{

	var req = newXMLHttpRequest();
	//register the callback handler function
  	var callbackHandler = getReadyStateHandler(req, loadReviews);
	req.onreadystatechange = callbackHandler;

	req.open("GET", "/reviews.xml", true);
  	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);	
} // talkToServer

// This is the callback functions that gets called
// for the response from the server with the XML data
function loadReviews(testXML) {
	var res = testXML.getElementsByTagName("reviews")[0];

	for(var i = 0; i < 6; i++)	{
		reviews[i + 1] = testXML.getElementsByTagName("content")[i].firstChild.nodeValue;
		preloadImage(i + 1);
	} 
}

function loadReview(view) {
	   if(typeof(reviews[view]) == "undefined")
	   		return false;

		var msg = document.getElementById("press_text");
		msg.innerHTML = reviews[view]; 
		
		var img = document.getElementById("press_image");
		img.src = '/_img/press/press' + view + '.jpg';
}

function preloadImage(view) {
	preloadImg = new Image();
	preloadImg.src = '/_img/press/press' + view + '.jpg';
}

//the following two functions are helper infrastructure to 
//craete a XMLHTTPRequest and register a listner callback function

function newXMLHttpRequest() {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
    		// Try ActiveX
		try { 
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) { 
			// first method failed 
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				 // both methods failed 
			} 
		}
 	}
   	return xmlreq;
} 

function getReadyStateHandler(req, responseXmlHandler) {
	return function () {
	if (req.readyState == 4) {
		if (req.status == 200) {
        		responseXmlHandler(req.responseXML);
		} else {
			//var hellomsg = document.getElementById("hellomsg");
			//hellomsg.innerHTML = "ERROR: "+ req.status;
			alert("ERROR: " + req.status);
      		}
    	}
 	}
}

// Open External Links as Blank Targets via Unobtrusive JavaScript
// http://perishablepress.com/press/2007/11/20/open-external-links-as-blank-targets-via-unobtrusive-javascript/
var reviews = new Array();

if (window.addEventListener){
	window.addEventListener('load', getReviews, false); 
} else if (window.attachEvent){
	window.attachEvent("onload", getReviews);
}
 