function rssReadImgWidthSet(a){a.width=(-1!=navigator.userAgent.indexOf("MSIE"))&&a.width>235?"235px":"auto"}var NewsFeed=Class.create();NewsFeed.prototype={initialize:function(b,d,e,f,c,a,g){this.id=b;this.displaybox=$(this.id);this.url=d;this.appendedid=e?e:"rssreader_";this.displayFactory=f?f:new defaultNewsFactory();this.dateStrategy=c?c:new defaultDateStrategy();this.isIE=window.navigator.userAgent.indexOf("MSIE")>0;this.articles=[];this.channelXref={title:"title",description:"desc",subtitle:"desc",link:"url"};this.feedXref={title:"title",description:"desc",summary:"desc",link:"url",content:"content",updated:"updt",pubDate:"updt"};this.sortDescending=a===null?true:a;this._injectBehaviors();this._initAjax(g)},_injectBehaviors:function(){if(document.getElementById(this.appendedid+"name")){this.linkElem=document.getElementById(this.appendedid+"name")}else{this.linkElem=this.displayFactory.createName();if(this.linkElem){this.displaybox.appendChild(this.linkElem)}}if(document.getElementById(this.appendedid+"desc")){this.descElem=document.getElementById(this.appendedid+"desc")}else{this.descElem=this.displayFactory.createDescription();if(this.descElem){this.displaybox.appendChild(this.descElem)}}this.blockElem=document.createElement("div");this.blockElem.className="rssreader_block";this.waitcontainer=document.createElement("div");var b=document.createElement("img");b.src="ub/images/wait.gif";b.style.margin="0 0 0 169px";b.style.width="16px";b.style.height="16px";var a=document.createElement("span");a.innerHTML=" Loading...";this.waitcontainer.className=this.id+"message";this.waitcontainer.appendChild(b);this.waitcontainer.appendChild(a);this.blockElem.appendChild(this.waitcontainer);this.displaybox.appendChild(this.blockElem)},_initAjax:function(d){if(d){var a={};if(this.isIE){a.responseXML=new ActiveXObject("Microsoft.XMLDOM");a.responseXML.async="false";a.responseXML.loadXML(d)}else{try{var c=new DOMParser();a.responseXML=c.parseFromString(d,"text/xml")}catch(b){a.responseXML=null}}this._ajaxResponse(a)}else{this._callAjax()}new PeriodicalExecuter(this._callAjax.bindAsEventListener(this),900)},_callAjax:function(){new Ajax.Request(this.url,{method:"get",onSuccess:this._ajaxResponse.bindAsEventListener(this),onFailure:this._errorHandler.bindAsEventListener(this),asynchronous:true})},_ajaxResponse:function(b){var a=b.responseXML;if(a){if(a.getElementsByTagName("rss").length){this._processRSSfeed(a.getElementsByTagName("rss")[0],false)}else{if(a.getElementsByTagName("feed").length){this._processATOMfeed(a.getElementsByTagName("feed")[0])}else{if(this._getElementNS("rdf","RDF",a,0)){this._processRSSfeed(this._getElementNS("rdf","RDF",a,0),true)}}}}},_processATOMfeed:function(a){this._sendChannel(a);this._sendItems(a.getElementsByTagName("entry"))},_processRSSfeed:function(a,b){if(b){this._sendChannel(a.getElementsByTagName("channel")[0])}else{a=a.getElementsByTagName("channel")[0];this._sendChannel(a)}this._sendItems(a.getElementsByTagName("item"))},_sendChannel:function(a){var c={url:"#",title:"Untitled Feed",desc:""};for(var b=0;b<a.childNodes.length;b++){switch(a.childNodes[b].nodeName){case"title":case"description":case"subtitle":case"link":if(a.childNodes[b].firstChild){c[this.channelXref[a.childNodes[b].nodeName]]=a.childNodes[b].firstChild.nodeValue}else{if(a.childNodes[b].nodeName=="link"&&a.childNodes[b].getAttribute("href")){c[this.channelXref[a.childNodes[b].nodeName]]=a.childNodes[b].getAttribute("href")}}break;default:break}}if(this.linkElem){this.linkElem.innerHTML=c.title;this.linkElem.href=c.url}if(this.descElem){this.descElem.innerHTML=c.desc}},_sendItems:function(a){if(this.waitcontainer){Element.remove(this.waitcontainer);this.waitcontainer=null}for(var c=0;c<a.length;c++){var d={title:"Untitled",desc:"",content:"",url:"#",updt:0};for(var b=0;b<a[c].childNodes.length;b++){switch(a[c].childNodes[b].nodeName){case"title":case"description":case"summary":case"link":case"content":case"updated":case"pubDate":if(a[c].childNodes[b].firstChild){d[this.feedXref[a[c].childNodes[b].nodeName]]=a[c].childNodes[b].firstChild.nodeValue;if(a[c].childNodes[b].nodeName=="updated"){d.updt=this._convertATOMDate(d.updt)}else{if(a[c].childNodes[b].nodeName=="pubDate"){d.updt=this._convertRSSDate(d.updt)}}}else{if(a[c].childNodes[b].nodeName=="link"&&a[c].childNodes[b].getAttribute("href")){d[this.feedXref[a[c].childNodes[b].nodeName]]=a[c].childNodes[b].getAttribute("href")}}break;default:break}}if(d.content==""){try{d.content=this._getElementTextNS("content","encoded",a[c],0)}catch(f){}}if(this.articles[d.title+"_"+d.updt]){this.articles[d.title+"_"+d.updt].Update(d.title,d.updt,d.desc,d.content,d.url)}else{this.articles[d.title+"_"+d.updt]=new Article(this.displayFactory,this.dateStrategy,this.blockElem,this.id,d.title,d.updt,d.desc,d.content,d.url,this.sortDescending)}}if(typeof(Shadowbox)!="undefined"){Shadowbox.setup()}},_convertATOMDate:function(a){if(a.length==24&&a.substr(-1,1)=="Z"){a=a.substr(0,19)+"Z"}if(a.length==20){var b=a.substr(5,2);if(b.length>1&&b.substr(0,1)=="0"){b=b.substr(1,1)}return new Date(a.substr(0,4),parseInt(b,10)-1,a.substr(8,2),a.substr(11,2),a.substr(14,2),a.substr(17,2))}return -1},_convertRSSDate:function(b){var c=/^(?:(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), )?(\d{1,2}) ([a-zA-Z]{3}) (\d{2,4}) (\d{2}):(\d{2})(?:[:](\d{2}))? (UT|GMT|EST|EDT|CST|CDT|MST|MDT|PST|PDT|A|B|C|D|E|F|G|H|I|M|N|Y|Z|(?:[+\-]\d{4}))\s*$/;var a=c.exec(b);if(a===null){return -1}else{return new Date(a[3],this._translateMonth(a[2]),a[1],a[4],a[5],a[6])}},_translateMonth:function(b){var a={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};return a[b]},_getElementNS:function(d,c,a,b){return(d&&this.isIE)?a.getElementsByTagName(d+":"+c)[b]:a.getElementsByTagName(c)[b]},_getElementTextNS:function(e,d,b,c){var a=this._getElementNS(e,d,b,c);if(a){return(a.childNodes.length>1)?a.childNodes[1].nodeValue:a.firstChild.nodeValue}return""},_errorHandler:function(a){alert("An error occured while receiving news.")}};var Article=Class.create();Article.prototype={initialize:function(l,k,m,b,j,n,f,h,a,g){this.displayFactory=l;this.dateStrategy=k;var c={desc:this._initDesc.bind(this),link:this._initLink.bind(this),time:this._initTime.bind(this),content:this._initContent.bind(this),message:this._initMessage.bind(this)};this.divElem=this.displayFactory.createArticle();if(this.divElem){this.divElem.obj=this;this.placed=false;var d=this.dateStrategy.getArticleOrdering();for(var e in d){if(c[d[e]]){c[d[e]](m,b,j,n,f,h,a,g)}}if(!this.placed){m.appendChild(this.divElem)}}},_initDesc:function(c,h,f,g,e,d,b,a){this._AddDesc(e)},_initLink:function(c,h,f,g,e,d,b,a){this.aElem=this.displayFactory.createArticleLink();if(this.aElem){this.aElem.innerHTML=f;this.aElem.href=b;this.divElem.appendChild(this.aElem)}},_initTime:function(c,h,f,g,e,d,b,a){this._AddTime(g)},_initContent:function(c,h,f,g,e,d,b,a){this._AddContent(d)},_initMessage:function(j,b,h,k,e,f,a,g){var c=j.getElementsByTagName("div");if(c.length){if(g){for(var d=0;!this.placed&&d<c.length;d++){if(c[d].className=="rssreader_msg"&&k>c[d].obj.GetTime()){j.insertBefore(this.divElem,c[d]);this.placed=true}}}else{for(var d=0;!this.placed&&d<c.length;d++){if(c[d].className=="rssreader_msg"&&k<c[d].obj.GetTime()){j.insertBefore(this.divElem,c[d]);this.placed=true}}}}},GetTime:function(){return this.time},SetTime:function(a){if(this.timeElem&&a!=this.GetTime()){this.time=a;this.timeElem.innerHTML=this.dateStrategy.execute(a.getMonth(),a.getDate(),a.getFullYear(),a.getHours(),a.getMinutes())}},_AddTime:function(a){if(a){this.timeElem=this.displayFactory.createArticleTime();if(this.timeElem){this.SetTime(a);if(this.divElem){this.divElem.appendChild(this.timeElem)}}}},GetTitle:function(){return this.aElem?this.aElem.innerHTML:""},SetTitle:function(a){if(this.aElem&&a!=this.GetTitle()){this.aElem.innerHTML=a}},_AddDesc:function(a){if(a){this.descElem=this.displayFactory.createArticleDescription();if(this.descElem){this.descElem.innerHTML=this._formatText(a);if(this.divElem){this.divElem.appendChild(this.descElem)}}}},GetDesc:function(){return this.descElem?this.descElem.innerHTML:-1},SetDesc:function(a){if(a!=this.GetDesc()){if(this.descElem){this.descElem.innerHTML=this._formatText(a)}else{this._AddDesc(a)}}},_AddContent:function(a){if(a){this.contentElem=this.displayFactory.createArticleContent();if(this.contentElem){this.contentElem.innerHTML=this._formatText(a);this.divElem.appendChild(this.contentElem)}}},GetContent:function(){if(this.contentElem){return this.contentElem.innerHTML}return -1},SetContent:function(a){if(a!=this.GetContent()){if(this.contentElem){this.contentElem.innerHTML=this._formatText(a)}else{this._AddContent(a)}}},GetURL:function(){return this.aElem?this.aElem.href:""},SetURL:function(a){if(this.aElem&&a!=this.GetURL()){this.aElem.href=a}},Update:function(d,e,c,b,a){if(d){this.SetTitle(d)}if(e){this.SetTime(e)}if(c){this.SetDesc(c)}if(b){this.SetContent(b)}if(a){this.SetURL(a)}},_formatText:function(a){a=a.replace(/<!--.*-->/g,"");a=a.replace(/<(\/div|\/h[1-9])[^>]*>/ig,"<br />");a=a.replace(/<(?!\/?(?:p|a|href|img|br))([^> ]+)[^>]*>/ig,"");return a.length>350?a.substring(0,350)+"&hellip;":a}};var defaultNewsFactory=Class.create();defaultNewsFactory.prototype={initialize:function(){},createName:function(){var a=document.createElement("a");a.className="rssreader_name";return a},createDescription:function(){var a=document.createElement("div");a.className="rssreader_desc";return a},createArticle:function(){var a=document.createElement("div");a.className="rssreader_msg";return a},createArticleLink:function(){var a=document.createElement("a");a.target="_blank";a.fontWeight="bold";return a},createArticleTime:function(){var a=document.createElement("div");a.className="rssreader_date";return a},createArticleDescription:function(){var a=document.createElement("div");a.className="rssreader_adesc";return a},createArticleContent:function(){return document.createElement("div")}};var briefNewsFactory=Class.create();briefNewsFactory.prototype=Object.extend(new defaultNewsFactory(),{createArticleTime:function(){return null},createDescription:function(){return null},createArticle:function(){var a=document.createElement("div");a.className="rssreader_briefmsg";return a},createArticleDescription:function(){return null}});var eventNewsFactory=Class.create();eventNewsFactory.prototype=Object.extend(new briefNewsFactory(),{createArticleTime:function(){var a=document.createElement("div");a.className="rssreader_eventdate";return a}});var defaultDateStrategy=Class.create();defaultDateStrategy.prototype={p_months:["January","February","March","April","May","June","July","August","September","October","November","December"],initialize:function(){},execute:function(d,b,c,a,e){return this._translateMonth(d)+" "+b+", "+c+" "+this._convertTime(a,e)},getArticleOrdering:function(){return["link","time","desc","content","message"]},_convertTime:function(a,c){var b="AM";if(a.length>1&&a.substr(0,1)=="0"){a=a.substr(1,1)}a=parseInt(a,10);if(a>11){b="PM"}a%=12;if(a==0){a=12}return a+":"+(c<10?"0":"")+c+" "+b},_translateMonth:function(a){return this.p_months[a]}};var eventDateStrategy=Class.create();eventDateStrategy.prototype=Object.extend(new defaultDateStrategy(),{p_months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],p_suffices:["th","st","nd","rd","th","th","th","th","th","th"],execute:function(d,b,c,a,e){return this._translateMonth(d)+(d==4?" ":". ")+b+this._daySuffix(b)+":"},getArticleOrdering:function(){return["time","link","desc","content","message"]},_daySuffix:function(a){return this.p_suffices[a.toString().substr(-1,1)]}});