var sagscroller_constants={navpanel:{height:'16px',downarrow:'down.gif',opacity:0.6,background:'white'},loadingimg:{src:'ajaxloading.gif',dimensions:[100,15]}}
function sagscroller(options){this.setting={mode:'manual',inittype:'stunted',pause:3000,animatespeed:500,ajaxsource:null,rssdata:null,refreshsecs:0,navpanel:{show:true,cancelauto:false}}
jQuery.extend(this.setting,options)
options=null
this.curmsg=0
var slider=this
jQuery(function($){var data=document.getElementById('last-activity').innerHTML
slider.$slider=$('#'+slider.setting.id)
if(slider.setting.inittype=="onload"){$(window).load(function(){slider.init($)})}else{slider.init($)}
$("#last-activity").mouseenter(function(){slider.stopscroll();});$("#last-activity").mouseleave(function(){slider.reloadul(data)});})}
sagscroller.prototype={addnavpanel:function(){var slider=this,setting=this.setting
var $navpanel=$('<div class="sliderdesc"><div class="sliderdescbg"></div><div class="sliderdescfg"><div class="sliderdesctext"></div></div></div>').css({position:'absolute',width:'100%',left:0,top:-1000,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().appendTo(this.$slider)
$navpanel.css({top:this.$slider.height()-parseInt(sagscroller_constants.navpanel.height),height:sagscroller_constants.navpanel.height}).find('div').css({height:'100%'})},resetuls:function(){var $tempul=this.$mainul
this.$mainul=this.$secul.css({zIndex:1000})
this.$secul=$tempul.css({zIndex:999})
this.$secul.css('top',this.ulheight)},reloadul:function(newhtml){this.$slider.find('ul').remove()
this.ulheight=null
this.curmsg=0;this.$slider.append(newhtml)
this.init($)},setgetoffset:function($li){var recaldimensions=(this.setting.ajaxsource||this.setting.rssdata)&&this.setting.inittype=="onload"
if(this.curmsg==this.$lis.length)
return(!this.ulheight||recaldimensions)?this.ulheight=this.$mainul.height():this.ulheight
else{if(!$li.data('toppos')||recaldimensions)
$li.data('toppos',$li.position().top)
return $li.data('toppos')}},scrollmsg:function(repeat){var slider=this,setting=this.setting
var ulheight=this.ulheight||this.$mainul.height()
var endpoint=-this.setgetoffset(this.$lis.eq(this.curmsg))
this.$mainul.animate({top:endpoint},setting.animatespeed,function(){slider.curmsg=(slider.curmsg<slider.$lis.length+1)?slider.curmsg+1:0
if(slider.curmsg==slider.$lis.length+1){slider.resetuls()
slider.curmsg=1}
if(repeat)
slider.scrolltimer=setTimeout(function(){slider.scrollmsg(repeat)},setting.pause)})
var secendpoint=endpoint+ulheight
this.$secul.animate({top:secendpoint},setting.animatespeed)},stopscroll:function(){if(this.$mainul){this.$mainul.add(this.$secul).stop(true,false)
clearTimeout(this.scrolltimer)}},init:function($){var setting=this.setting
this.$mainul=this.$slider.find('ul:eq(0)').css({zIndex:1000})
this.$lis=this.$mainul.find('li')
if(setting.navpanel.show)
this.addnavpanel()
this.$secul=this.$mainul.clone().css({top:this.$mainul.height(),zIndex:999}).appendTo(this.$slider)
this.scrollmsg(setting.mode=="auto")}}
