var SqueezeBox={presets:{onOpen:$empty,onClose:$empty,onUpdate:$empty,onResize:$empty,onMove:$empty,onShow:$empty,onHide:$empty,size:{x:600,y:450},sizeLoading:{x:200,y:150},marginInner:{x:20,y:20},marginImage:{x:50,y:75},handler:false,target:null,closable:true,closeBtn:true,zIndex:65555,overlayOpacity:0.5,classWindow:'',classOverlay:'',overlayFx:{},resizeFx:{},contentFx:{},parse:false,parseSecure:false,shadow:true,document:null,ajaxOptions:{}},initialize:function(a){if(this.options)return this;this.presets=$merge(this.presets,a);this.doc=this.presets.document||document;this.options={};this.setOptions(this.presets).build();this.bound={window:this.reposition.bind(this,[null]),scroll:this.checkTarget.bind(this),close:this.close.bind(this),key:this.onKey.bind(this)};this.isOpen=this.isLoading=false;return this},build:function(){this.overlay=new Element('div',{id:'sbox-overlay',styles:{display:'none',zIndex:this.options.zIndex}});this.win=new Element('div',{id:'sbox-window',styles:{display:'none',zIndex:this.options.zIndex+2}});if(this.options.shadow){if(Browser.Engine.webkit420){this.win.setStyle('-webkit-box-shadow','0 0 10px rgba(0, 0, 0, 0.7)')}else if(!Browser.Engine.trident4){var b=new Element('div',{'class':'sbox-bg-wrap'}).inject(this.win);var c=function(e){this.overlay.fireEvent('click',[e])}.bind(this);['n','ne','e','se','s','sw','w','nw'].each(function(a){new Element('div',{'class':'sbox-bg sbox-bg-'+a}).inject(b).addEvent('click',c)})}}this.content=new Element('div',{id:'sbox-content'}).inject(this.win);this.closeBtn=new Element('a',{id:'sbox-btn-close',href:'#'}).inject(this.win);this.fx={overlay:new Fx.Tween(this.overlay,$merge({property:'opacity',onStart:Events.prototype.clearChain,duration:250,link:'cancel'},this.options.overlayFx)).set(0),win:new Fx.Morph(this.win,$merge({onStart:Events.prototype.clearChain,unit:'px',duration:750,transition:Fx.Transitions.Quint.easeOut,link:'cancel',unit:'px'},this.options.resizeFx)),content:new Fx.Tween(this.content,$merge({property:'opacity',duration:250,link:'cancel'},this.options.contentFx)).set(0)};$(this.doc.body).adopt(this.overlay,this.win)},assign:function(a,b){return($(a)||$$(a)).addEvent('click',function(){return!SqueezeBox.fromElement(this,b)})},open:function(d,e){this.initialize();if(this.element!=null)this.trash();this.element=$(d)||false;this.setOptions($merge(this.presets,e||{}));if(this.element&&this.options.parse){var f=this.element.getProperty(this.options.parse);if(f&&(f=JSON.decode(f,this.options.parseSecure)))this.setOptions(f)}this.url=((this.element)?(this.element.get('href')):d)||this.options.url||'';this.assignOptions();var g=g||this.options.handler;if(g)return this.setContent(g,this.parsers[g].call(this,true));var h=false;return this.parsers.some(function(a,b){var c=a.call(this);if(c){h=this.setContent(b,c);return true}return false},this)},fromElement:function(a,b){return this.open(a,b)},assignOptions:function(){this.overlay.set('class',this.options.classOverlay);this.win.set('class',this.options.classWindow);if(Browser.Engine.trident4)this.win.addClass('sbox-window-ie6')},close:function(e){var a=($type(e)=='event');if(a)e.stop();if(!this.isOpen||(a&&!$lambda(this.options.closable).call(this,e)))return this;this.fx.overlay.start(0).chain(this.toggleOverlay.bind(this));this.win.setStyle('display','none');this.fireEvent('onClose',[this.content]);this.trash();this.toggleListeners();this.isOpen=false;return this},trash:function(){this.element=this.asset=null;this.content.empty();this.options={};this.removeEvents().setOptions(this.presets).callChain()},onError:function(){this.asset=null;this.setContent('string',this.options.errorMsg||'An error occurred')},setContent:function(a,b){if(!this.handlers[a])return false;this.content.className='sbox-content-'+a;this.applyTimer=this.applyContent.delay(this.fx.overlay.options.duration,this,this.handlers[a].call(this,b));if(this.overlay.retrieve('opacity'))return this;this.toggleOverlay(true);this.fx.overlay.start(this.options.overlayOpacity);return this.reposition()},applyContent:function(a,b){if(!this.isOpen&&!this.applyTimer)return;this.applyTimer=$clear(this.applyTimer);this.hideContent();if(!a){this.toggleLoading(true)}else{if(this.isLoading)this.toggleLoading(false);this.fireEvent('onUpdate',[this.content],20)}if(a){if(['string','array'].contains($type(a)))this.content.set('html',a);else if(!this.content.hasChild(a))this.content.adopt(a)}this.callChain();if(!this.isOpen){this.toggleListeners(true);this.resize(b,true);this.isOpen=true;this.fireEvent('onOpen',[this.content])}else{this.resize(b)}},resize:function(a,b){this.showTimer=$clear(this.showTimer||null);var c=this.doc.getSize(),scroll=this.doc.getScroll();this.size=$merge((this.isLoading)?this.options.sizeLoading:this.options.size,a);var d={width:this.size.x,height:this.size.y,left:(scroll.x+(c.x-this.size.x-this.options.marginInner.x)/2).toInt(),top:(scroll.y+(c.y-this.size.y-this.options.marginInner.y)/2).toInt()};this.hideContent();if(!b){this.fx.win.start(d).chain(this.showContent.bind(this))}else{this.win.setStyles(d).setStyle('display','');this.showTimer=this.showContent.delay(50,this)}return this.reposition()},toggleListeners:function(a){var b=(a)?'addEvent':'removeEvent';this.closeBtn[b]('click',this.bound.close);this.overlay[b]('click',this.bound.close);this.doc[b]('keydown',this.bound.key)[b]('mousewheel',this.bound.scroll);this.doc.getWindow()[b]('resize',this.bound.window)[b]('scroll',this.bound.window)},toggleLoading:function(a){this.isLoading=a;this.win[(a)?'addClass':'removeClass']('sbox-loading');if(a)this.fireEvent('onLoading',[this.win])},toggleOverlay:function(a){var b=this.doc.getSize().x;this.overlay.setStyle('display',(a)?'':'none');this.doc.body[(a)?'addClass':'removeClass']('body-overlayed');if(a){this.scrollOffset=this.doc.getWindow().getSize().x-b;this.doc.body.setStyle('margin-right',this.scrollOffset)}else{this.doc.body.setStyle('margin-right','')}},showContent:function(){if(this.content.get('opacity'))this.fireEvent('onShow',[this.win]);this.fx.content.start(1)},hideContent:function(){if(!this.content.get('opacity'))this.fireEvent('onHide',[this.win]);this.fx.content.cancel().set(0)},onKey:function(e){switch(e.key){case'esc':this.close(e);case'up':case'down':return false}},checkTarget:function(e){return this.content.hasChild(e.target)},reposition:function(){var a=this.doc.getSize(),scroll=this.doc.getScroll(),ssize=this.doc.getScrollSize();this.overlay.setStyles({width:ssize.x+'px',height:ssize.y+'px'});this.win.setStyles({left:(scroll.x+(a.x-this.win.offsetWidth)/2-this.scrollOffset).toInt()+'px',top:(scroll.y+(a.y-this.win.offsetHeight)/2).toInt()+'px'});return this.fireEvent('onMove',[this.overlay,this.win])},removeEvents:function(a){if(!this.$events)return this;if(!a)this.$events=null;else if(this.$events[a])this.$events[a]=null;return this},extend:function(a){return $extend(this,a)},handlers:new Hash(),parsers:new Hash()};SqueezeBox.extend(new Events($empty)).extend(new Options($empty)).extend(new Chain($empty));SqueezeBox.parsers.extend({image:function(a){return(a||(/\.(?:jpg|png|gif)$/i).test(this.url))?this.url:false},clone:function(a){if($(this.options.target))return $(this.options.target);if(this.element&&!this.element.parentNode)return this.element;var b=this.url.match(/#([\w-]+)$/);return(b)?$(b[1]):(a?this.element:false)},ajax:function(a){return(a||(this.url&&!(/^(?:javascript|#)/i).test(this.url)))?this.url:false},iframe:function(a){return(a||this.url)?this.url:false},string:function(a){return true}});SqueezeBox.handlers.extend({image:function(b){var c,tmp=new Image();this.asset=null;tmp.onload=tmp.onabort=tmp.onerror=(function(){tmp.onload=tmp.onabort=tmp.onerror=null;if(!tmp.width){this.onError.delay(10,this);return}var a=this.doc.getSize();a.x-=this.options.marginImage.x;a.y-=this.options.marginImage.y;c={x:tmp.width,y:tmp.height};for(var i=2;i--;){if(c.x>a.x){c.y*=a.x/c.x;c.x=a.x}else if(c.y>a.y){c.x*=a.y/c.y;c.y=a.y}}c.x=c.x.toInt();c.y=c.y.toInt();this.asset=$(tmp);tmp=null;this.asset.width=c.x;this.asset.height=c.y;this.applyContent(this.asset,c)}).bind(this);tmp.src=b;if(tmp&&tmp.onload&&tmp.complete)tmp.onload();return(this.asset)?[this.asset,c]:null},clone:function(a){if(a)return a.clone();return this.onError()},adopt:function(a){if(a)return a;return this.onError()},ajax:function(b){var c=this.options.ajaxOptions||{};this.asset=new Request.HTML($merge({method:'get',evalScripts:false},this.options.ajaxOptions)).addEvents({onSuccess:function(a){this.applyContent(a);if(c.evalScripts!==null&&!c.evalScripts)$exec(this.asset.response.javascript);this.fireEvent('onAjax',[a,this.asset]);this.asset=null}.bind(this),onFailure:this.onError.bind(this)});this.asset.send.delay(10,this.asset,[{url:b}])},iframe:function(a){this.asset=new Element('iframe',$merge({src:a,frameBorder:0,width:this.options.size.x,height:this.options.size.y},this.options.iframeOptions));if(this.options.iframePreload){this.asset.addEvent('load',function(){this.applyContent(this.asset.setStyle('display',''))}.bind(this));this.asset.setStyle('display','none').inject(this.content);return false}return this.asset},string:function(a){return a}});SqueezeBox.handlers.url=SqueezeBox.handlers.ajax;SqueezeBox.parsers.url=SqueezeBox.parsers.ajax;SqueezeBox.parsers.adopt=SqueezeBox.parsers.clone;
var moopop={width:0,height:0,captureByRel:function(a,b){this.capture((b||document).getElements('a[rel*='+(a||'popup')+']'))},capture:function(a,b,c){if($defined(b)&&$defined(c)){this.width=b;this.height=c}switch($type(a)){case'string':a=$$(a);case'element':case'array':$splat(a).each(this.add_pop_to,this)}this.width=null;this.height=null},add_pop_to:function(a){a.addEvent('click',function(e){e.stop();this.popup(a)}.bind(this));var b=a.get('rel').match(/\[(\d+),\s*(\d+)/)||['',this.width,this.height];var c=a.get('rel').match(/,(r)/)||[];if(b[1])a.store('popupprops','width='+b[1]+', height='+b[2]+(c[1]?', scrollbars=yes, resizable=yes':''))},popup:function(a){window.open(a.get('href'),a.get('name')||'',a.retrieve('popupprops')||'')}};window.addEvent('domready',function(){moopop.captureByRel('popup')});
var Validate=new Class({getOptions: function(){return {validateOnBlur: true,errorClass: 'error',submitUrl: 'index.php',errorString:'Ett fel uppstod, försök igen'};},initialize: function(form,options){this.setOptions(this.getOptions(),options);this.form=$(form);this.elements=this.form.getElements('.validate');this.list=[];this.elements.each(function(el,i){if(this.options.validateOnBlur){el.addEvent('blur', this.validate.bind(this, el));}}.bind(this));this.form.addEvent('submit', function(e){var event = new Event(e);var doSubmit = true;this.elements.each(function(el,i){if(! this.validate(el)){event.stop();doSubmit = false}else{}}.bind(this));if(doSubmit){event.stop();var subBtn = this.form.getElement('input[type=submit]');new Request.JSON({url:this.options.submitUrl + '?ajax=true',onRequest: function() {$('error').set('html','');subBtn.setProperty('value','Skickar...');subBtn.disabled=1;},onComplete: function(jsonObj) {if(jsonObj.result){$('contactForm').set('html',jsonObj.answer);}else{$('error').set('html',jsonObj.answer);subBtn.setProperty('value','Skicka');subBtn.disabled=0;}},onFailure: function() {$('error').set('html','Ett fel uppstod, f&ouml;rs&ouml;k igen');subBtn.setProperty('value','Skicka');subBtn.disabled=0;}}).post($('contactForm'));return false;}else{}}.bind(this));},validate: function(el){var errCls = this.options.errorClass;var valid = true;switch(el.type){case 'text':case 'textarea':if(el.value != ''){if(el.hasClass('femail')){var regEmail = /^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/;valid = el.value.toUpperCase().match(regEmail)?true:false;} else {valid = true;}}else{valid = el.hasClass('required')?false:true;}break;}valid?el.removeClass(errCls):el.addClass(errCls);return valid;}});Validate.implement(new Options);Validate.implement(new Events);
window.addEvent('domready',function(){function m(){$$('.email').each(function(a){var b=a.get('rel').split(':');a.set('href','mailto:'+b[2]+'@'+b[1]+'.'+b[0]);a.set('text',b[2]+'@'+b[1]+'.'+b[0])})}m('');if($('pframe').get('html').trim()==''){$('photo').set('opacity','0')}$$('.conceal').each(function(a){a.set('opacity','0')});$('photo').setStyle('display','block');$$('.menu_item').each(function(el){el.addEvent('mouseover', function(e){$('b'+this.get('id')).fade('in');});el.addEvent('mouseout', function(e){$('b'+this.get('id')).fade('out');});el.addEvent('click',function(e){getPage(e,this);});});$$('.conceal').each(function(el) {el.setStyle('display','block');});SqueezeBox.assign($$('a.boxed'),{parse:'rel'});$$('.frmInp').each(function(a){a.addEvent('focus',function(e){a.addClass('activeInput')});a.addEvent('blur',function(e){a.removeClass('activeInput')})});pageLink();function pageLink(){$$('.pglk').each(function(el){el.addEvent('click',function(e){getPage(e,this);});});}function getPage(e,el){e.stop();var rel = el.get('href');new Request.JSON({url:rel+'&ajax=true',onRequest: function(){$('loader').setStyle('visibility','visible');},onComplete:function(result){$('loader').setStyle('visibility','hidden');if(result.res){$('content').set('html',result.main);if(result.pframe==''){$('content').addClass('widemain');$('photo').fade('out');$('pframe').set('html','');}else{$('pframe').set('html',result.pframe);$('content').removeClass('widemain');$('photo').fade('in');}if(result.validate)var myFormValidation=new Validate('contactForm');m();SqueezeBox.assign($$('a.boxed'),{parse:'rel'});pageLink();}},onFailure: function(){$('loader').setStyle('visibility','visible');}}).send();}});
