
var xmlHttp;

function getRSS(){
  //xmlHttp=GetXmlHttpObject();
  xmlHttp = createXMLHTTPObject();
  //alert(xmlHttp);

  if(xmlHttp == null){
    alert("Your browser does not support AJAX!");
    return;
  }  
 
  var url = "/it/webProxy.jsp";
  
  xmlHttp.onreadystatechange = stateChanged;
  xmlHttp.open("GET", url+'?url='+escape('http://www.gartner.com/it/section.jsp?type=press_releases&format=rss')+'&contentType=text/xml', true);
  xmlHttp.send(null);

}

function stateChanged(){
  obj = document.getElementById("holder"); 

  switch(xmlHttp.readyState){
	case 1 : obj.innerHTML = "loading";
	case 2 : obj.innerHTML = "loaded";
	case 3 : obj.innerHTML = "interactive";
	case 4 : obj.innerHTML = "complete";
  }
  
  obj.innerHTML = "";
  if(xmlHttp.readyState == 4){
	
	var contentType = xmlHttp.getResponseHeader("Content-Type");	
	
	//xml-type
	if(contentType == 'text/xml') {

	    if (xmlHttp.responseXML.documentElement==null){
		   obj.innerHTML = "Error in RSS feed or No Press Releases at this time";
		   return "";
	    }

	    var xmlDoc = xmlHttp.responseXML.documentElement.getElementsByTagName("item");

	    //for(var i=0; i<xmlDoc.length; i++){
	    for(var i=0; i<(xmlDoc.length<8?xmlDoc.length:8); i++){

		 var title = xmlDoc[i].getElementsByTagName('title')[0].childNodes[0].nodeValue;
		 var link = xmlDoc[i].getElementsByTagName('link')[0].childNodes[0].nodeValue;
		 var pubDate = xmlDoc[i].getElementsByTagName('pubDate')[0].childNodes[0].nodeValue;
		 var description = xmlDoc[i].getElementsByTagName('description')[0].childNodes[0].nodeValue;

        if (i == 0)
		{

		   obj.innerHTML += '<a href=' + link + '><h3>' + title + '</h3></a><p class="date">' + pubDate  +'</p> <p class="summary">' + description  +'</p><a href=' + link + '><p class="readmore">Read More </p>';

		}else
		{
		   obj.innerHTML += ' <ul class="press_links"> <li><a href=' + link + '>' + title + '</a> '+ '<span class="graytext">(' + pubDate + ')</span>' +'</li> </ul>';
		 }




	    }
	}
	else {
	  if (xmlHttp.responseText==null){		   
		   obj.innerHTML = "No Press Rreleases at this time";
		   return "";
	  }
	  //any other content-type
	  obj.innerHTML = xmlHttp.responseText;
	}
  }
}

function GetXmlHttpObject(){
  var xmlHttp=null;
  try{
    xmlHttp = new XMLHttpRequest();
  }
  catch(e){
    try{
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e){
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}

var XMLHttpFactories = [	function () {return new XMLHttpRequest()},	
					function () {return new ActiveXObject("Msxml2.XMLHTTP")},	
					function () {return new ActiveXObject("Msxml3.XMLHTTP")},	
					function () {return new ActiveXObject("Microsoft.XMLHTTP")}]; 

function createXMLHTTPObject() {
	var xmlhttp = false;	
	for (var i=0;i<XMLHttpFactories.length;i++){
		try {			
			xmlhttp = XMLHttpFactories[i]();		
		}		
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

