dw_writeStyleSheet=function(file,screen){var css='<link rel="stylesheet" href="'+file+'"';if(screen!==false){css+=' media="screen"';}
document.write(css+' />');}
function dw_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);}
dw_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=dw_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;dw_Event.add(links[i],'click',function(wndoId,lyrId,horizId){return function(e){dw_scrollObj.col[wndoId].load(lyrId,horizId);if(e&&e.preventDefault)e.preventDefault();return false;}}(wndoId,lyrId,horizId));}}}
dw_scrollObj.prototype.setUpScrollControls=function(controlsId,autoHide,axis){var wndoId=this.id;var el=document.getElementById(controlsId);if(autoHide&&axis=='v'||axis=='h'){dw_scrollObj.handleControlVis(controlsId,wndoId,axis);dw_Scrollbar_Co.addEvent(this,'on_load',function(){dw_scrollObj.handleControlVis(controlsId,wndoId,axis);});dw_Scrollbar_Co.addEvent(this,'on_update',function(){dw_scrollObj.handleControlVis(controlsId,wndoId,axis);});}
var links=el.getElementsByTagName('a'),cls,eType;for(var i=0;links[i];i++){cls=dw_scrollObj.get_DelimitedClass(links[i].className);eType=dw_scrollObj.getEv_FnType(cls.slice(0,cls.indexOf('_')));switch(eType){case'mouseover':case'mousedown':dw_scrollObj.handleMouseOverDownLinks(links[i],wndoId,cls);break;case'scrollToId':dw_scrollObj.handleScrollToId(links[i],wndoId,cls);break;case'scrollTo':case'scrollBy':case'click':dw_scrollObj.handleClick(links[i],wndoId,cls);break;}}}
dw_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;dw_Event.add(linkEl,eType,function(e){dw_scrollObj.col[wndoId].initScrollVals(deg,speed);});dw_Event.add(linkEl,eAlt,function(e){dw_scrollObj.col[wndoId].ceaseScroll();});if(eType=='mouseover'){dw_Event.add(linkEl,'mousedown',function(e){dw_scrollObj.col[wndoId].speed*=3;});dw_Event.add(linkEl,'mouseup',function(e){dw_scrollObj.col[wndoId].speed=dw_scrollObj.prototype.speed;});}
dw_Event.add(linkEl,'click',function(e){if(e&&e.preventDefault)e.preventDefault();return false;});}}
dw_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]);}}
dw_Event.add(linkEl,'click',function(e){dw_scrollObj.scrollToId(wndoId,id,lyrId,dur);if(e&&e.preventDefault)e.preventDefault();return false;});}
dw_scrollObj.scrollToId=function(wndoId,id,lyrId,dur){var wndo=dw_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=dw_getLayerOffset(el,lyr,'left');var y=dw_getLayerOffset(el,lyr,'top');wndo.initScrollToVals(x,y,dur);}}
dw_scrollObj.handleClick=function(linkEl,wndoId,cls){var wndo=dw_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=dw_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'){dw_Event.add(linkEl,'click',function(e){dw_scrollObj.col[wndoId].initScrollByVals(x,y,dur);if(e&&e.preventDefault)e.preventDefault();return false;});}else if(fn=='scrollTo'){dw_Event.add(linkEl,'click',function(e){dw_scrollObj.col[wndoId].initScrollToVals(x,y,dur);if(e&&e.preventDefault)e.preventDefault();return false;});}}}
dw_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}}
dw_scrollObj.getEv_FnType=function(str){var re=/^(mouseover|mousedown|scrollBy|scrollTo|scrollToId|click)$/;if(re.test(str)){return str;}
return'';}
dw_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];}}}}
dw_scrollObj.handleControlVis=function(controlsId,wndoId,axis){var wndo=dw_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';}}
