function Replace(totalValue,oldValue,newValue)
{
	while(totalValue.indexOf(oldValue) > -1)
		totalValue=totalValue.replace(oldValue,newValue);
			return totalValue;
}

function loadXML(url, Body, Title, Limit) {
	FeedLimit = Limit;
	rssBody = document.getElementById(Body);
	xmlhttp=null;
      // code for Mozilla, Firefox, Opera, etc.
      if (window.XMLHttpRequest) {
            xmlhttp=new XMLHttpRequest();
      }
      // code for IE
      else if (window.ActiveXObject) {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      if (xmlhttp!=null) {
            xmlhttp.onreadystatechange=state_Change;
            xmlhttp.open("GET",url,true);
            xmlhttp.send(null);
      } else {
            alert("Your browser does not support XMLHTTP.");
      }
}

function state_Change() {
      // if xmlhttp shows "loaded"
      if (xmlhttp.readyState==4) {
            if (xmlhttp.status==200) {
                  populateNews(xmlhttp.responseText);
            }
      }
}

function populateNews(txtXML) {
      var xmlDOM;
      var xmlDOMFF;

      if (window.ActiveXObject) {
      // code for IE
            xmlDOM = new ActiveXObject("Microsoft.XMLDOM");
            xmlDOM.async=false;
            xmlDOM.loadXML(txtXML);
      }
      else if (document.implementation && document.implementation.createDocument) {
      // code for Mozilla, Firefox, Opera, etc.
            xmlDOMFF = new DOMParser();
            xmlDOM = xmlDOMFF.parseFromString(txtXML,"text/xml");
     }else{
            alert('Your browser cannot handle this script.');
            return false;
      }

	  items = xmlDOM.getElementsByTagName('item');

		var buffer = "";
		
		if(FeedLimit == '0') {
			limit = items.length; 
		}
		else {
			limit = parseInt(FeedLimit); 
		}

      //selbox.options[0] = new Option('None', '');
      //for (var i = 0 ; i < root.length ; i++) {
 	  for (var i = 0 ; i < limit; i++) 
	  	{
            //var item = items[i];
            //var valu = item.getElementsByTagName("value")[0].firstChild.nodeValue;
            //var desc = item.getElementsByTagName("description")[0].firstChild.nodeValue;
            //selbox.options[i+1] = new Option(desc, valu);
			var output = (document.all) ? Replace(rssBody.innerHTML,"(::Link::)",getNode('link',i)) 
									   : Replace(rssBody.innerHTML,"%28::Link::%29",getNode('link',i));
			var htlink = getNode('link',i);
			var stripped = htlink.replace(/\/?/ig,"")
			//var bm = stripped.replace(/http:bb-vm-spsListsPublic AnnouncementsDispForm.aspx[^>]ID=/ig,"")
			var bm = stripped.replace(/http:www.roadtowork.comnews.html#/ig,"")
			output = Replace(output,"::BM::",bm);
			output = Replace(output,"(::Title::)",getNode('title',i));
			var dateString = getNode('pubDate',i);  
			var myDate = new Date(dateString); 
			var curr_date = myDate.getDate();
			var curr_month = myDate.getMonth();
			var curr_year = myDate.getFullYear();

			output = Replace(output,"(::Pubdate::)",curr_date + "/" + curr_month + "/" + curr_year);
			output = Replace(output,"(::Description::)",getNode('description',i) + "<br/><img src='../img/break.gif'  width='490' height='8'/><br/>");
			var htstring = getNode('title',i);
			var stripped = htstring.replace(/(<([^>]+)>)/ig,"");
			//var readmorelink = '<a href="about/news.html#' + bm + '"class="hlink" target="_top">read more...</a>'
			var readmorelink = '<a href="' + htlink + '"class="hovsm" target="_top">more&gt;</a>'
			output = Replace(output,"(::ShortDescription::)",String(stripped).substring(0,200) + " " + readmorelink + "<br/>");
			buffer+=output;			
		}
		rssBody.innerHTML = buffer;
		document.getElementById('rssBodyTemplate').style.visibility="visible";
		document.getElementById('loader').style.display="none";
	}

function getNode(TagName, node)
{
	var currentNode = (node == null) ? xmlDOM.getElementsByTagName(TagName) : 
					items[node].getElementsByTagName(TagName);
	if(currentNode.length > 0)
		return currentNode[0].firstChild.nodeValue;
}

function TimeStampToDate(xmlDate)
{
    var dt = new Date();
    var dtS = xmlDate.slice(xmlDate.indexOf('T')+1, xmlDate.indexOf('.'))
    var TimeArray = dtS.split(":");
    dt.setUTCHours(TimeArray[0],TimeArray[1],TimeArray[2]);
    dtS = xmlDate.slice(0, xmlDate.indexOf('T'))
    TimeArray = dtS.split("-");
    dt.setUTCFullYear(TimeArray[0],TimeArray[1],TimeArray[2]);
    return dt;
}