// encoding: utf-8
var listScroller={v:1,defaultConfig:{handle:'listscroller',itemSel:'div.item',windowSize:3,stepSize:1,hideClass:'overflow',startPos:0,showControls:2,flashTimeout:150,wrap:'none',en:{openAll:'Page back',closeAll:'Page forward'},is:{openAll:'Fletta til baka',closeAll:'Fletta áfram'}},config:{'div.scrollable':{}},lists:{},_buildControls:function(a,b,c){var d=document.createElement('div');DOM.addClass(d,this.config[a].handle+'-ctrl');var e=document.createElement('a');e.href='#';var f=e.cloneNode(0);e.className='up';f.className='down';e.title=e.innerHTML=this.config[a][b].openAll;f.title=f.innerHTML=this.config[a][b].closeAll;DOM.appendChild(e,d);DOM.appendChild(document.createTextNode(" \n"),d);DOM.appendChild(f,d);EEvent.add(e,'click',this.movePrev,this,c);EEvent.add(f,'click',this.moveNext,this,c);return d},setPos:function(a,b,c,d){var e=this.config[b.block];b.index=a;this.hideItems(b);DOM.removeClass(c,'at-top');DOM.removeClass(c,'at-bottom');if(a==0){DOM.addClass(c,'at-top')}if(a>=b.items.length-e.windowSize){DOM.addClass(c,'at-bottom')}if(!d){DOM.addClass(c,e.handle+'-changed');setTimeout(function(){DOM.removeClass(c,e.handle+'-changed')},e.flashTimeout)}},focusMove:function(e,a){var b=DOM.get("#"+a)[0],_list=this.lists[a],_config=this.config[_list.block],_newPos;for(var i=0;i<_list.items.length;i++){if(_list.items[i]===e.currentTarget){_newPos=Math.max(Math.min(i-Math.floor(_config.windowSize/2),_list.items.length-_config.windowSize),0);this.setPos(_newPos,_list,b)}}},movers:{'none':{prev:function(a,b){return Math.max(b.index-a.stepSize,0)},next:function(a,b){var c=b.items.length-a.windowSize;return Math.min(b.index+a.stepSize,c)}},'overflow':{prev:function(a,b){return Math.max(b.index-a.stepSize,0)},next:function(a,b){var c=b.items.length-a.windowSize;return Math.min(b.index+a.stepSize,c+(c%a.stepSize))}},'flip':{prev:function(a,b){var c=b.index-a.stepSize;if(c<0){var d=b.items.length-a.windowSize;return d+(d%a.stepSize)}else{return c}},next:function(a,b){var c=b.index+a.stepSize,_bottom=b.items.length-a.windowSize,_absBottom=_bottom+(_bottom%a.stepSize);if(c>_absBottom){return 0}else{return c}}}},moveNext:function(e,a,b){var c=DOM.get("#"+a)[0],_list=this.lists[a],_config=this.config[_list.block],_dir=b?'prev':'next',_mover=this.movers[_config.wrap]||this.movers['none'],_newPos=_mover[_dir](_config,_list);if(_list.index!=_newPos){this.setPos(_newPos,_list,c)}return false},movePrev:function(e,a){return this.moveNext(e,a,1)},hideItems:function(a){var b=this.config[a.block];for(var i=0;i<a.items.length;i++){if(i>=a.index&&i<a.index+b.windowSize){DOM.removeClass(a.items[i],b.hideClass)}else{DOM.replaceClass(a.items[i],b.hideClass,b.hideClass,true)}}},firstRun:true,init:function(a,b){var c=this.config;if(a){Object.merge(c,a)}for(var d in c){a=(this.firstRun)?(c[d]=Object.beget(this.defaultConfig,c[d])):c[d];a.wrap=(a.wrap&&/^(none|overflow|flip)$/.test(a.wrap))?a.wrap:'none';var e=DOM.get(d,b);for(var i=0;i<e.length;i++){_blockDOMId=DOM.aquireId(e[i]);var f=DOM.get(a.itemSel,e[i]);var g=(a.startPos=='random')?Math.floor(Math.random()*f.length):a.startPos;this.lists[_blockDOMId]={index:g,block:d,items:f};this.setPos(g,this.lists[_blockDOMId],e[i],true);for(var j=0;j<f.length;j++){EEvent.add(f[j],'focus',this.focusMove,this,_blockDOMId)}if(a.showControls&&f.length>0){var h=(a.showControls!=2);var k=(a.showControls>=2);var l=DOM.getLang(f[0])||'en';var m=(f[0].tagName.lc()==='li')?f[0].parentNode:null;if(h){var n=this._buildControls(d,l,_blockDOMId);DOM.insertBefore(n,m||f[0])}if(k){var o=this._buildControls(d,l,_blockDOMId);DOM.insertAfter(o,m||f[f.length-1])}}DOM.addClass(e[i],a.handle+'-active')}}this.firstRun=false}};