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
    }
}