function NewsReader() {
   var entryTitle;
   var entryDate;
   var entryCount;
   var entryText;
   var entryBody;
   var newsReader;
   var entryTextLimit;
   var titleTextLimit;
   var fadeDuration;
   var index;
   var total;
   var entries;
   var items;
   var btnPrev;
   var btnNext }
var newsReader;
function InitializeNews(path) {
    newsReader = new NewsReader();
    newsReader.entryTextLimit = 250;
    newsReader.titleTextLimit = 40;
    newsReader.entryTitle = document.getElementById("entryTitle");
    newsReader.entryDate = document.getElementById("entryDate");
    newsReader.entryText = document.getElementById("entryText");
    newsReader.entryCount = document.getElementById("entryCount");
    newsReader.entryBody = document.getElementById("entryBody");
    newsReader.fadeDuration = 0.3;
    newsReader.newsReader = document.getElementById("newsReader");
    newsReader.btnPrev = document.getElementById("btnNewsPrev");
    newsReader.btnNext = document.getElementById("btnNewsNext");
    newsReader.index = 0;
    loadXMLDoc(path + "/Rss/News.aspx", loadNewsEntries, doError) 
}
function loadNewsEntries(result) {
    var authorKey = "news";
    var allEntries = result ? result.responseXML.getElementsByTagName("item") : newsReader.entries;
   var approvedEntries = [];
   for (var i = 0; i < allEntries.length; i++) {
       var author = getElementTextNS("", "author", allEntries[i], 0);
      if (author.toLowerCase().indexOf(authorKey) > -1) {
         approvedEntries.push(allEntries[i]) }
      }
   newsReader.entries = approvedEntries;
   if (!newsReader.total) newsReader.total = newsReader.entries.length;
   var date = parseDate(getElementTextNS("", "pubDate", newsReader.entries[newsReader.index], 0));
   var summary = newsReader.entries[newsReader.index].getElementsByTagName("description")[0].firstChild.nodeValue;
   var link;
   if (navigator.appName.indexOf("Microsoft") != - 1) {
      link = newsReader.entries[newsReader.index].getElementsByTagName("link")[0].firstChild.nodeValue }
   else {
      link = newsReader.entries[newsReader.index].getElementsByTagNameNS("*", "link")[0].firstChild.nodeValue }
   var count = (newsReader.index + 1) + " / " + newsReader.total;
   var title = getElementTextNS("", "title", newsReader.entries[newsReader.index], 0);
   title = title.length > newsReader.titleTextLimit ? title.split(".")[0].substr(0, newsReader.titleTextLimit) + "..." : title;
   title = title.split(".")[0];
   var punctuation = summary.charAt(summary.length - 1);
   var attributes = {
      opacity : {
         from : 1, to : 0}
      };
   var myAnim = new YAHOO.util.Anim(newsReader.entryBody.id, attributes, newsReader.fadeDuration);
   myAnim.onComplete.subscribe(function() {
      setNewsText(link, title, date, summary, count) }
   );
   myAnim.animate() }
function setNewsText(link, title, date, summary, count) {
   if (newsReader.entryBody.style.visibility == "hidden") newsReader.entryBody.style.visibility = "visible";
   newsReader.entryTitle.innerHTML = "<a href='" + link + "' target='_blank' >" + title + "</a>";
   newsReader.entryDate.innerHTML = date;
   newsReader.entryText.innerHTML = cleanHtml(summary);
   newsReader.entryCount.innerHTML = count;
   var attributes = {
      opacity : {
         from : 0, to : 1}
      };
   var myAnim = new YAHOO.util.Anim(newsReader.entryBody.id, attributes, newsReader.fadeDuration);
   myAnim.animate() }
   function parseDate(date) {
       var date = new Date(date);
       return (date.getMonth()+1) + "/" + date.getDate() + "/" + date.getFullYear();
   } 
function cleanHtml(string) {
   var count = 0;
   var charLimit = 175;
   var a = string.indexOf("<");
   var b = string.indexOf(">");
   if (b > a) {
      string = string.substr(0, a) + string.substr(b + 1, string.length) + " ";
      return cleanHtml(string) }
   else {
      var result;
      if (string.length > charLimit) {
         result = string.substr(0, charLimit);
         result = result.substr(0, result.lastIndexOf(" ")) + "... <em>continued</em>" }
      else {
         result = string }
      return result }
   }
