//Script by Eirik Backer (http://www.klippoglim.no/ or http://www.kirie.no/)
var ScaleView=new Class({Implements:[Events,Options],options:{css:'scaler',current:'cur',footheight:70,operafix:true,letterbox:true},initialize:function(options){var self=this.setOptions(options);this.el=document.getElement('.'+this.options.css+' img');this.needHelp=Browser.Engine.trident?(Browser.Engine.version<5||(document.documentMode||0)<8):Browser.Engine.webkit;this.links=$$('.'+this.options.css+'-nav a').addEvent('click',function(){self.goto(self.links.indexOf(this));return false});this.loads=$$(Array.combine([this.el.get('src')],this.links.get('href')).map(function(src){return $extend(new Image(),{src:src})}));if(this.links.length){this.float=new Element('a',{href:'javascript:void(0)','class':this.options.css+'-float'}).inject(document.body);this.offset=Hash.map(this.float.addEvent('click',function(e){self.goto(self.dir=='next')}).getSize(),function(v){return v/2});document.addEvents({mousemove:this.mouse.bind(this),keydown:function(e){if(e.code==37||e.code==39)self.goto(e.code==39)}});}
this.goto(0);window.addEvents({keypress:function(e){if(e.code==32||e.code==39||e.code==40)return $type(e.target.value)=='string'},mousewheel:$lambda(!(Browser.Engine.presto&&this.options.operafix)),resize:this.scale.bind(this)});},set:function(s){if(this.el.src==(this.size=s).src&&this.el.retrieve('js'))return;this.el.store('js',this.el.style.width=this.el.style.height='auto');this.scale();this.el.set('src',this.size.get('src'));},scale:function(v){if(((v=window.getSize()).x!=this.x||v.y!=this.y||this.el.src!=this.size.src)){var s=this.size,width=Math.round(v.y*(s.width/s.height));this.x=v.x;this.y=v.y;if(s.width>s.height&&v.x<width)width='50%';this.el.setStyle('width',width);}},goto:function(i){if($type(i)!='number')i=this.loads.get('src').indexOf(this.el.get('src'))+(i?1:-1);var i=this.loads.length==i?0:(i<0?this.loads.length-1:i),self=this;$$(this.links.removeClass(this.options.current)[i]).addClass(this.options.current);if(i=this.loads[i])i.complete?this.set(i):(i.onload=function(){self.set(i)});},mouse:function(e,dir){if((document.body.clientHeight-e.client.y)>this.options.footheight){this.float.style.left=e.client.x-this.offset.x+'px';this.float.style.top=e.client.y-this.offset.y+'px';dir=e.client.x<(document.body.clientWidth/2)?'prev':'next';}
if(this.dir!=dir){this.float.style.display=dir?'block':'none';if(this.dir=dir)this.float.className=this.options.css+'-float '+this.options.css+'-'+dir;}}});window.addEvent('domready',function(){new ScaleView()});