function sagscroller(a){this.setting={mode:"manual",inittype:"stunted",pause:3e3,animatespeed:500,ajaxsource:null,rssdata:null,refreshsecs:0,navpanel:{show:true,cancelauto:false}};jQuery.extend(this.setting,a);a=null;this.curmsg=0;this.addloadingpanel(jQuery,"preload");if(this.setting.rssdata)google.load("feeds","1");var b=this;jQuery(function(a){b.$slider=a("#"+b.setting.id);if(b.setting.ajaxsource||b.setting.rssdata)b.$slider.empty();b.addloadingpanel(jQuery,"show");if(b.setting.ajaxsource)b.getajaxul(b.setting.ajaxsource);else if(b.setting.rssdata){b.fetchfeeds()}else{if(b.setting.inittype=="onload")a(window).load(function(){b.init(a)});else b.init(a)}})}var sagscroller_constants={navpanel:{height:"16px",downarrow:"thm/sagscroller/down.gif",opacity:.6,title:"Go to Next Content",background:"black"},loadingimg:{src:"thm/sagscroller/ajaxloading.gif",dimensions:[100,15]}};sagscroller.prototype={getajaxul:function(a){var b=jQuery,c=this;this.stopscroll();this.$loadingpanel.show();b.ajax({url:a,async:true,error:function(a){c.$slider.html("Error fetching content.<br />Server Response: "+a.responseText)},success:function(b){c.reloadul(b);if(c.setting.refreshsecs>0)setTimeout(function(){c.getajaxul(a)},c.setting.refreshsecs*1e3)}})},addloadingpanel:function(a,b){var c=sagscroller_constants.loadingimg;if(b=="preload"){var d=new Image(c.dimensions[0],c.dimensions[1]);d.src=c.src;this.$loadingimg=a(d).css({position:"absolute",zIndex:1003})}else{var e=[this.$slider.width(),this.$slider.height()];var f=a("<div />").css({position:"absolute",left:0,top:0,background:"black",opacity:.5,width:e[0],height:e[1],zIndex:1002}).appendTo(this.$slider);this.$loadingimg.css({left:e[0]/2-c.dimensions[0]/2,top:e[1]/2-c.dimensions[1]/2}).appendTo(this.$slider);this.$loadingpanel=f.add(this.$loadingimg)}},addnavpanel:function(){var a=this,b=this.setting;var c=$('<div class="sliderdesc"><div class="sliderdescbg"></div><div class="sliderdescfg"><div class="sliderdesctext"></div></div></div>').css({position:"absolute",width:"100%",left:0,top:-1e3,zIndex:"1001"}).find("div").css({position:"absolute",left:0,top:0,width:"100%"}).eq(0).css({background:sagscroller_constants.navpanel.background,opacity:sagscroller_constants.navpanel.opacity}).end().eq(1).css({color:"white"}).end().eq(2).css({textAlign:"center",cursor:"pointer",paddingTop:"2px"}).html('<img src="'+sagscroller_constants.navpanel.downarrow+'"/>').end().end().appendTo(this.$slider);var d=c.find("div.sliderdesctext").attr("title",sagscroller_constants.navpanel.title).click(function(){a.stopscroll();a.scrollmsg(b.mode=="auto"&&!b.navpanel.cancelauto?true:false)});c.css({top:this.$slider.height()-parseInt(sagscroller_constants.navpanel.height),height:sagscroller_constants.navpanel.height}).find("div").css({height:"100%"})},resetuls:function(){var a=this.$mainul;this.$mainul=this.$secul.css({zIndex:1e3});this.$secul=a.css({zIndex:999});this.$secul.css("top",this.ulheight)},reloadul:function(a){this.$slider.find("ul").remove();this.ulheight=null;this.curmsg=0;this.$slider.append(a);this.init($)},setgetoffset:function(a){var b=(this.setting.ajaxsource||this.setting.rssdata)&&this.setting.inittype=="onload";if(this.curmsg==this.$lis.length)return!this.ulheight||b?this.ulheight=this.$mainul.height():this.ulheight;else{if(!a.data("toppos")||b)a.data("toppos",a.position().top);return a.data("toppos")}},scrollmsg:function(a){var b=this,c=this.setting;var d=this.ulheight||this.$mainul.height();var e=-this.setgetoffset(this.$lis.eq(this.curmsg));this.$mainul.animate({top:e},c.animatespeed,function(){b.curmsg=b.curmsg<b.$lis.length+1?b.curmsg+1:0;if(b.curmsg==b.$lis.length+1){b.resetuls();b.curmsg=1}if(a)b.scrolltimer=setTimeout(function(){b.scrollmsg(a)},c.pause)});var f=e+d;this.$secul.animate({top:f},c.animatespeed)},stopscroll:function(){if(this.$mainul){this.$mainul.add(this.$secul).stop(true,false);clearTimeout(this.scrolltimer)}},init:function(a){var b=this.setting;this.$loadingpanel.hide();this.$mainul=this.$slider.find("ul:eq(0)").css({zIndex:1e3});this.$lis=this.$mainul.find("li");if(b.navpanel.show)this.addnavpanel();this.$secul=this.$mainul.clone().css({top:this.$mainul.height(),zIndex:999}).appendTo(this.$slider);this.scrollmsg(b.mode=="auto")},fetchfeeds:function(){var a=this,b=this.setting.rssdata;this.stopscroll();this.$loadingpanel.show();this.entries=[];this.feedsfetched=0;for(var c=0;c<b.feeds.length;c++){var d=new google.feeds.Feed(b.feeds[c][1]);d.setNumEntries(b.entries);d.load(function(b){return function(c){a.storefeeds(c,b)}}(b.feeds[c][0]))}},storefeeds:function(a,b){var c=!a.error?a.feed.entries:"";if(c==""){alert("Google Feed API Error: "+a.error.message)}for(var d=0;d<c.length;d++){a.feed.entries[d].label=b}this.entries=this.entries.concat(c);this.feedsfetched+=1;if(this.feedsfetched==this.setting.rssdata.feeds.length){if(this.setting.rssdata.groupbylabel){this.entries.sort(function(a,b){var c=a.label.toLowerCase(),d=b.label.toLowerCase();return c<d?-1:c>d?1:0})}else{this.entries.sort(function(a,b){return new Date(b.publishedDate)-new Date(a.publishedDate)})}this.formatfeeds()}},formatfeeds:function(){function a(a,b){var c=new Date(a);var d=b.indexOf("datetime")!=-1?c.toLocaleString():b.indexOf("date")!=-1?c.toLocaleDateString():"";return"<span class='datefield'>"+d+"</span>"}var b="<ul>";var c=this,d=this.setting.rssdata,e=this.entries;for(var f=0;f<e.length;f++){b+='<li><a href="'+e[f].link+'" target="'+d.linktarget+'">'+e[f].title+"</a>"+'<div class="rsscontent">'+(/description/.test(d.displayoptions)?e[f].content:e[f].contentSnippet)+"</div>"+'<div class="rsslabel">'+(/label/.test(d.displayoptions)?"<b>Source("+(f+1)+"):</b> "+e[f].label+" ":"")+(/date/.test(d.displayoptions)?a(e[f].publishedDate,d.displayoptions):"")+"</div>"+"</li>\n\n"}b+="</ul>";this.reloadul(b);if(c.setting.refreshsecs>0)setTimeout(function(){c.fetchfeeds()},c.setting.refreshsecs*1e3)}}
