function scrollObj(wndoId,lyrId,horizId){var wn=document.getElementById(wndoId);this.id=wndoId;scrollObj.col[this.id]=this;this.animString="scrollObj.col."+this.id;this.load(lyrId,horizId);if(wn.addEventListener){wn.addEventListener('DOMMouseScroll',scrollObj.doOnMouseWheel,false);}
wn.onmousewheel=scrollObj.doOnMouseWheel;}
scrollObj.printEnabled=false;if(isIE)
scrollObj.defaultSpeed=scrollObj.prototype.speed=2;else
scrollObj.defaultSpeed=scrollObj.prototype.speed=5;scrollObj.defaultSlideDur=scrollObj.prototype.slideDur=500;scrollObj.timerSpeed=95;scrollObj.direction=270;scrollObj.isPlaying=false;scrollObj.isSupported=function(){if(document.getElementById&&document.getElementsByTagName&&document.addEventListener||document.attachEvent){return true;}
return false;}
scrollObj.col={};scrollObj.prototype.on_load=function(){}
scrollObj.prototype.on_scroll=function(){}
scrollObj.prototype.on_scroll_start=function(){}
scrollObj.prototype.on_scroll_stop=function(){}
scrollObj.prototype.on_scroll_end=function(){}
scrollObj.prototype.on_update=function(){}
scrollObj.prototype.on_glidescroll=function(){}
scrollObj.prototype.on_glidescroll_start=function(){}
scrollObj.prototype.on_glidescroll_stop=function(){}
scrollObj.prototype.on_glidescroll_end=function(){}
scrollObj.prototype.load=function(lyrId,horizId){var wndo,lyr;if(this.lyrId){lyr=document.getElementById(this.lyrId);lyr.style.visibility="hidden";}
this.lyr=lyr=document.getElementById(lyrId);if(!scrollObj.printEnabled){this.lyr.style.position='absolute';}
this.lyrId=lyrId;this.horizId=horizId||null;wndo=document.getElementById(this.id);this.y=0;this.x=0;this.shiftTo(0,0);this.getDims(wndo,lyr);lyr.style.visibility="visible";this.ready=true;this.on_load();}
scrollObj.prototype.shiftTo=function(x,y){if(this.lyr){this.lyr.style.left=(this.x=x)+"px";this.lyr.style.top=(this.y=y)+"px";}}
scrollObj.prototype.getX=function(){return this.x;}
scrollObj.prototype.getY=function(){return this.y;}
scrollObj.prototype.getDims=function(wndo,lyr){this.wd=this.horizId?document.getElementById(this.horizId).offsetWidth:lyr.offsetWidth;this.maxX=(this.wd-wndo.offsetWidth>0)?this.wd-wndo.offsetWidth:0;this.maxY=(lyr.offsetHeight-wndo.offsetHeight>0)?lyr.offsetHeight-wndo.offsetHeight:0;}
scrollObj.prototype.updateDims=function(){var wndo=document.getElementById(this.id);var lyr=document.getElementById(this.lyrId);this.getDims(wndo,lyr);this.on_update();}
scrollObj.prototype.initScrollVals=function(deg,speed){if(!this.ready)return;if(this.timerId){clearInterval(this.timerId);this.timerId=0;}
scrollObj.direction=deg;this.speed=speed||scrollObj.defaultSpeed;this.fx=(deg==0)?-1:(deg==180)?1:0;this.fy=(deg==90)?1:(deg==270)?-1:0;this.endX=(deg==90||deg==270)?this.x:(deg==0)?-this.maxX:0;this.endY=(deg==0||deg==180)?this.y:(deg==90)?0:-this.maxY;this.lyr=document.getElementById(this.lyrId);this.lastTime=new Date().getTime();this.on_scroll_start(this.x,this.y);this.timerId=setInterval(this.animString+".scroll()",scrollObj.timerSpeed);}
scrollObj.prototype.scroll=function(){var now=new Date().getTime();var d=(now-this.lastTime)/200*this.speed;if(d>0){var x=this.x+Math.round(this.fx*d);var y=this.y+Math.round(this.fy*d);if((this.fx==-1&&x>-this.maxX)||(this.fx==1&&x<0)||(this.fy==-1&&y>-this.maxY)||(this.fy==1&&y<0))
{this.lastTime=now;this.shiftTo(x,y);this.on_scroll(x,y);}else{clearInterval(this.timerId);this.timerId=0;this.shiftTo(this.endX,this.endY);this.on_scroll(this.endX,this.endY);this.on_scroll_end(this.endX,this.endY);scrollObj.direction=(scrollObj.direction==90)?270:90;scrollObj.isPlaying=false;setPlayPause();}}}
scrollObj.prototype.ceaseScroll=function(){if(!this.ready)return;if(this.timerId){clearInterval(this.timerId);this.timerId=0;}
this.on_scroll_stop(this.x,this.y);scrollObj.isPlaying=false;setPlayPause();}
scrollObj.prototype.initScrollByVals=function(dx,dy,dur){if(!this.ready||this.sliding)return;this.startX=this.x;this.startY=this.y;this.destX=this.destY=this.distX=this.distY=0;if(dy<0){this.distY=(this.startY+dy>=-this.maxY)?dy:-(this.startY+this.maxY);}else if(dy>0){this.distY=(this.startY+dy<=0)?dy:-this.startY;}
if(dx<0){this.distX=(this.startX+dx>=-this.maxX)?dx:-(this.startX+this.maxX);}else if(dx>0){this.distX=(this.startX+dx<=0)?dx:-this.startX;}
this.destX=this.startX+this.distX;this.destY=this.startY+this.distY;this.glideScrollPrep(this.destX,this.destY,dur);}
scrollObj.prototype.initScrollToVals=function(destX,destY,dur){if(!this.ready)return;this.startX=this.x;this.startY=this.y;this.destX=-Math.max(Math.min(destX,this.maxX),0);this.destY=-Math.max(Math.min(destY,this.maxY),0);this.distY=this.destY-this.startY;this.distX=this.destX-this.startX;this.glideScrollPrep(this.destX,this.destY,dur);}
scrollObj.prototype.glideScrollPrep=function(destX,destY,dur){this.slideDur=(typeof dur=='number')?dur:scrollObj.defaultSlideDur;this.per=Math.PI/(2*this.slideDur);this.sliding=true;this.lyr=document.getElementById(this.lyrId);this.startTime=new Date().getTime();this.timerId=setInterval(this.animString+".doGlideScroll()",10);this.on_glidescroll_start(this.startX,this.startY);}
scrollObj.prototype.doGlideScroll=function(){var elapsed=new Date().getTime()-this.startTime;if(elapsed<this.slideDur){var x=this.startX+Math.round(this.distX*Math.sin(this.per*elapsed));var y=this.startY+Math.round(this.distY*Math.sin(this.per*elapsed));this.shiftTo(x,y);this.on_glidescroll(x,y);}else{clearInterval(this.timerId);this.timerId=0;this.sliding=false;this.shiftTo(this.destX,this.destY);this.on_glidescroll(this.destX,this.destY);this.on_glidescroll_stop(this.destX,this.destY);if(this.distX&&(this.destX==0||this.destX==-this.maxX)||this.distY&&(this.destY==0||this.destY==-this.maxY)){this.on_glidescroll_end(this.destX,this.destY);}}}
scrollObj.handleMouseWheel=function(id,delta){var wndo=scrollObj.col[id];var x=wndo.x;var y=wndo.y;wndo.on_scroll_start(x,y);var ny;ny=12*delta+y
ny=(ny<0&&ny>=-wndo.maxY)?ny:(ny<-wndo.maxY)?-wndo.maxY:0;wndo.shiftTo(x,ny);wndo.on_scroll(x,ny);}
scrollObj.doOnMouseWheel=function(e){var delta=0;if(!e)e=window.event;if(e.wheelDelta){delta=e.wheelDelta/120;}else if(e.detail){delta=-e.detail/3;}
if(delta){scrollObj.handleMouseWheel(this.id,delta);}
if(e.preventDefault)e.preventDefault();e.returnValue=false;}
scrollObj.GeckoTableBugFix=function(){}
function getLayerOffset(el,oCont,sOff){var off="offset"+sOff.charAt(0).toUpperCase()+sOff.slice(1);var val=el[off];while((el=el.offsetParent)!=oCont)
val+=el[off];var clientOff=off.replace("offset","client");if(el[clientOff])val+=el[clientOff];return val;}
writeStyleSheet=function(file,screen){var css='<link rel="stylesheet" href="'+file+'"';if(screen!==false){css+=' media="screen"';}
document.write(css+' />');}
function addLinkCSS(file,screen){if(!document.createElement)return;var el=document.createElement("link");el.setAttribute("rel","stylesheet");el.setAttribute("type","text/css");if(screen!==false){el.setAttribute("media","screen");}
el.setAttribute("href",file);document.getElementsByTagName('head')[0].appendChild(el);}
scrollObj.prototype.setUpLoadLinks=function(controlsId){var wndoId=this.id;var el=document.getElementById(controlsId);var links=el.getElementsByTagName('a');var cls,parts;for(var i=0;links[i];i++){cls=scrollObj.get_DelimitedClass(links[i].className);parts=cls.split('_');if(parts[0]=='load'&&parts[1]==wndoId&&parts.length>2){var lyrId=parts[2];var horizId=parts[3]?parts[3]:null;Event.add(links[i],'click',function(wndoId,lyrId,horizId){return function(e){scrollObj.col[wndoId].load(lyrId,horizId);if(e&&e.preventDefault)e.preventDefault();return false;}}(wndoId,lyrId,horizId));}}}
scrollObj.prototype.setUpScrollControls=function(controlsId,autoHide,axis){var wndoId=this.id;var el=document.getElementById(controlsId);if(autoHide&&axis=='v'||axis=='h'){scrollObj.handleControlVis(controlsId,wndoId,axis);Scrollbar_Co.addEvent(this,'on_load',function(){scrollObj.handleControlVis(controlsId,wndoId,axis);});Scrollbar_Co.addEvent(this,'on_update',function(){scrollObj.handleControlVis(controlsId,wndoId,axis);});}
var links=el.getElementsByTagName('a'),cls,eType;for(var i=0;links[i];i++){cls=scrollObj.get_DelimitedClass(links[i].className);eType=scrollObj.getEv_FnType(cls.slice(0,cls.indexOf('_')));switch(eType){case'mouseover':case'mousedown':scrollObj.handleMouseOverDownLinks(links[i],wndoId,cls);break;case'scrollToId':scrollObj.handleScrollToId(links[i],wndoId,cls);break;case'scrollTo':case'scrollBy':case'click':scrollObj.handleClick(links[i],wndoId,cls);break;}}}
scrollObj.handleMouseOverDownLinks=function(linkEl,wndoId,cls){var parts=cls.split('_');var eType=parts[0];var re=/^(mouseover|mousedown)_(up|down|left|right)(_[\d]+)?$/;if(re.test(cls)){var eAlt=(eType=='mouseover')?'mouseout':'mouseup';var dir=parts[1];var speed=parts[2]||null;var deg=(dir=='up')?90:(dir=='down')?270:(dir=='left')?180:0;Event.add(linkEl,eType,function(e){scrollObj.col[wndoId].initScrollVals(deg,speed);});Event.add(linkEl,eAlt,function(e){scrollObj.col[wndoId].ceaseScroll();});if(eType=='mouseover'){Event.add(linkEl,'mousedown',function(e){scrollObj.col[wndoId].speed*=3;});Event.add(linkEl,'mouseup',function(e){scrollObj.col[wndoId].speed=scrollObj.prototype.speed;});}
Event.add(linkEl,'click',function(e){if(e&&e.preventDefault)e.preventDefault();return false;});}}
scrollObj.handleScrollToId=function(linkEl,wndoId,cls){var parts=cls.split('_');var id=parts[1],lyrId,dur;if(parts[2]){if(isNaN(parseInt(parts[2]))){lyrId=parts[2];dur=(parts[3]&&!isNaN(parseInt(parts[3])))?parseInt(parts[3]):null;}else{dur=parseInt(parts[2]);}}
Event.add(linkEl,'click',function(e){scrollObj.scrollToId(wndoId,id,lyrId,dur);if(e&&e.preventDefault)e.preventDefault();return false;});}
scrollObj.scrollToId=function(wndoId,id,lyrId,dur){var wndo=scrollObj.col[wndoId];var el=document.getElementById(id);if(el){if(lyrId){if(document.getElementById(lyrId)&&wndo.lyrId!=lyrId){wndo.load(lyrId);}}
var lyr=document.getElementById(wndo.lyrId);var x=getLayerOffset(el,lyr,'left');var y=getLayerOffset(el,lyr,'top');wndo.initScrollToVals(x,y,dur);}}
scrollObj.handleClick=function(linkEl,wndoId,cls){var wndo=scrollObj.col[wndoId];var parts=cls.split('_');var eType=parts[0];var dur_re=/^([\d]+)$/;var fn,re,x,y,dur;switch(eType){case'scrollTo':fn='scrollTo';re=/^(null|end|[\d]+)$/;x=re.test(parts[1])?parts[1]:'';y=re.test(parts[2])?parts[2]:'';dur=(parts[3]&&dur_re.test(parts[3]))?parts[3]:null;break;case'scrollBy':fn='scrollBy';re=/^(([m]?[\d]+)|null)$/;x=re.test(parts[1])?parts[1]:'';y=re.test(parts[2])?parts[2]:'';if(!isNaN(parseInt(x))){x=-parseInt(x);}else if(typeof x=='string'){x=x.indexOf('m')!=-1?x.replace('m',''):x;}
if(!isNaN(parseInt(y))){y=-parseInt(y);}else if(typeof y=='string'){y=y.indexOf('m')!=-1?y.replace('m',''):y;}
dur=(parts[3]&&dur_re.test(parts[3]))?parts[3]:null;break;case'click':var o=scrollObj.getClickParts(cls);fn=o.fn;x=o.x;y=o.y;dur=o.dur;break;}
if(x!==''&&y!==''){if(x=='end'){x=wndo.maxX;}
if(y=='end'){y=wndo.maxY;}
if(x==='null'||x===null){x=wndo.x;}
if(y==='null'||y===null){y=wndo.y;}
x=parseInt(x);y=parseInt(y);dur=!isNaN(parseInt(dur))?parseInt(dur):null;if(fn=='scrollBy'){Event.add(linkEl,'click',function(e){scrollObj.col[wndoId].initScrollByVals(x,y,dur);if(e&&e.preventDefault)e.preventDefault();return false;});}else if(fn=='scrollTo'){Event.add(linkEl,'click',function(e){scrollObj.col[wndoId].initScrollToVals(x,y,dur);if(e&&e.preventDefault)e.preventDefault();return false;});}}}
scrollObj.getClickParts=function(cls){var parts=cls.split('_');var re=/^(up|down|left|right)$/;var dir,fn='',dur,ar,val,x='',y='';if(parts.length>=4){ar=parts[1].match(re);dir=ar?ar[1]:null;re=/^(to|by)$/;ar=parts[2].match(re);if(ar){fn=(ar[0]=='to')?'scrollTo':'scrollBy';}
val=parts[3];re=/^([\d]+)$/;dur=(parts[4]&&re.test(parts[4]))?parts[4]:null;switch(fn){case'scrollBy':if(!re.test(val)){x='';y='';break;}
switch(dir){case'up':x=0;y=val;break;case'down':x=0;y=-val;break;case'left':x=val;y=0;break;case'right':x=-val;y=0;}
break;case'scrollTo':re=/^(end|[\d]+)$/;if(!re.test(val)){x='';y='';break;}
switch(dir){case'up':x=null;y=val;break;case'down':x=null;y=(val=='end')?val:-val;break;case'left':x=val;y=null;break;case'right':x=(val=='end')?val:-val;y=null;}
break;}}
return{fn:fn,x:x,y:y,dur:dur}}
scrollObj.getEv_FnType=function(str){var re=/^(mouseover|mousedown|scrollBy|scrollTo|scrollToId|click)$/;if(re.test(str)){return str;}
return'';}
scrollObj.get_DelimitedClass=function(cls){if(cls.indexOf('_')==-1){return'';}
var whitespace=/\s+/;if(!whitespace.test(cls)){return cls;}else{var classes=cls.split(whitespace);for(var i=0;classes[i];i++){if(classes[i].indexOf('_')!=-1){return classes[i];}}}}
scrollObj.handleControlVis=function(controlsId,wndoId,axis){var wndo=scrollObj.col[wndoId];var el=document.getElementById(controlsId);if((axis=='v'&&wndo.maxY>0)||(axis=='h'&&wndo.maxX>0)){el.style.visibility='visible';}else{el.style.visibility='hidden';}}
function scrollStop(){scrollObj.col['ticker'].ceaseScroll();scrollObj.isPlaying=false;setPlayPause();}
function scrollStart(){scrollObj.col['ticker'].initScrollVals(scrollObj.direction,scrollObj.prototype.speed);scrollObj.isPlaying=true;setPlayPause();}
function setDirection(direction){scrollObj.col['ticker'].ceaseScroll();scrollObj.direction=direction;scrollStart();}
function doPlayPause(){if(scrollObj.isPlaying)scrollStop();else scrollStart();}
function setPlayPause(){switch(scrollObj.isPlaying){case false:img="play_off";break;case true:img="pause_off";break;}
MM_swapImage('Play','',eval(img+'.src'),1);}
function doPlayPauseHover(){switch(scrollObj.isPlaying){case false:img="play_on";break;case true:img="pause_on";break;}
MM_swapImage('Play','',eval(img+'.src'),1);}
function isIE(){return/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent);}
function swapImgOn(imgName){if(document.images){document[imgName].src= eval(imgName+'_on'+'.src');}}	
function swapImgOff(imgName){if (document.images){document[imgName].src= eval(imgName+'_off'+'.src');}}

