
MooTools.More={version:"1.2.4.4",build:"6f6057dc645fdb7547689183b2311063bd653ddf"};var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,stopPropagation:false,modifiers:{x:"left",y:"top"}},initialize:function(){var b=Array.link(arguments,{options:Object.type,element:$defined});this.element=document.id(b.element);this.document=this.element.getDocument();this.setOptions(b.options||{});var a=$type(this.options.handle);this.handles=((a=="array"||a=="collection")?$$(this.options.handle):document.id(this.options.handle))||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=(Browser.Engine.trident)?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(false)};this.attach();},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this;},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);return this;},start:function(c){if(c.rightClick){return;}if(this.options.preventDefault){c.preventDefault();}if(this.options.stopPropagation){c.stopPropagation();}this.mouse.start=c.page;this.fireEvent("beforeStart",this.element);var a=this.options.limit;this.limit={x:[],y:[]};for(var d in this.options.modifiers){if(!this.options.modifiers[d]){continue;}if(this.options.style){this.value.now[d]=this.element.getStyle(this.options.modifiers[d]).toInt();}else{this.value.now[d]=this.element[this.options.modifiers[d]];}if(this.options.invert){this.value.now[d]*=-1;}this.mouse.pos[d]=c.page[d]-this.value.now[d];if(a&&a[d]){for(var b=2;b--;b){if($chk(a[d][b])){this.limit[d][b]=$lambda(a[d][b])();}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid};}this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop);},check:function(a){if(this.options.preventDefault){a.preventDefault();}var b=Math.round(Math.sqrt(Math.pow(a.page.x-this.mouse.start.x,2)+Math.pow(a.page.y-this.mouse.start.y,2)));if(b>this.options.snap){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});this.fireEvent("start",[this.element,a]).fireEvent("snap",this.element);}},drag:function(a){if(this.options.preventDefault){a.preventDefault();}this.mouse.now=a.page;for(var b in this.options.modifiers){if(!this.options.modifiers[b]){continue;}this.value.now[b]=this.mouse.now[b]-this.mouse.pos[b];if(this.options.invert){this.value.now[b]*=-1;}if(this.options.limit&&this.limit[b]){if($chk(this.limit[b][1])&&(this.value.now[b]>this.limit[b][1])){this.value.now[b]=this.limit[b][1];}else{if($chk(this.limit[b][0])&&(this.value.now[b]<this.limit[b][0])){this.value.now[b]=this.limit[b][0];}}}if(this.options.grid[b]){this.value.now[b]-=((this.value.now[b]-(this.limit[b][0]||0))%this.options.grid[b]);}if(this.options.style){this.element.setStyle(this.options.modifiers[b],this.value.now[b]+this.options.unit);}else{this.element[this.options.modifiers[b]]=this.value.now[b];}}this.fireEvent("drag",[this.element,a]);},cancel:function(a){this.document.removeEvent("mousemove",this.bound.check);this.document.removeEvent("mouseup",this.bound.cancel);if(a){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element);}},stop:function(a){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);if(a){this.fireEvent("complete",[this.element,a]);}}});Element.implement({makeResizable:function(a){var b=new Drag(this,$merge({modifiers:{x:"width",y:"height"}},a));this.store("resizer",b);return b.addEvent("drag",function(){this.fireEvent("resize",b);}.bind(this));}});Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:false,precalculate:false,includeMargins:true,checkDroppables:true},initialize:function(b,a){this.parent(b,a);b=this.element;this.droppables=$$(this.options.droppables);this.container=document.id(this.options.container);if(this.container&&$type(this.container)!="element"){this.container=document.id(this.container.getDocument().body);}var c=b.getStyles("left","top","position");if(c.left=="auto"||c.top=="auto"){b.setPosition(b.getPosition(b.getOffsetParent()));}if(c.position=="static"){b.setStyle("position","absolute");}this.addEvent("start",this.checkDroppables,true);this.overed=null;},start:function(a){if(this.container){this.options.limit=this.calculateLimit();}if(this.options.precalculate){this.positions=this.droppables.map(function(b){return b.getCoordinates();});}this.parent(a);},calculateLimit:function(){var d=this.element.getOffsetParent(),g=this.container.getCoordinates(d),f={},c={},b={},i={},k={};["top","right","bottom","left"].each(function(o){f[o]=this.container.getStyle("border-"+o).toInt();b[o]=this.element.getStyle("border-"+o).toInt();c[o]=this.element.getStyle("margin-"+o).toInt();i[o]=this.container.getStyle("margin-"+o).toInt();k[o]=d.getStyle("padding-"+o).toInt();},this);var e=this.element.offsetWidth+c.left+c.right,n=this.element.offsetHeight+c.top+c.bottom,h=0,j=0,m=g.right-f.right-e,a=g.bottom-f.bottom-n;if(this.options.includeMargins){h+=c.left;j+=c.top;}else{m+=c.right;a+=c.bottom;}if(this.element.getStyle("position")=="relative"){var l=this.element.getCoordinates(d);l.left-=this.element.getStyle("left").toInt();l.top-=this.element.getStyle("top").toInt();h+=f.left-l.left;j+=f.top-l.top;m+=c.left-l.left;a+=c.top-l.top;if(this.container!=d){h+=i.left+k.left;j+=(Browser.Engine.trident4?0:i.top)+k.top;}}else{h-=c.left;j-=c.top;if(this.container==d){m-=f.left;a-=f.top;}else{h+=g.left+f.left;j+=g.top+f.top;}}return{x:[h,m],y:[j,a]};},checkAgainst:function(c,b){c=(this.positions)?this.positions[b]:c.getCoordinates();var a=this.mouse.now;return(a.x>c.left&&a.x<c.right&&a.y<c.bottom&&a.y>c.top);},checkDroppables:function(){var a=this.droppables.filter(this.checkAgainst,this).getLast();if(this.overed!=a){if(this.overed){this.fireEvent("leave",[this.element,this.overed]);}if(a){this.fireEvent("enter",[this.element,a]);}this.overed=a;}},drag:function(a){this.parent(a);if(this.options.checkDroppables&&this.droppables.length){this.checkDroppables();}},stop:function(a){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed,a]);this.overed=null;return this.parent(a);}});Element.implement({makeDraggable:function(a){var b=new Drag.Move(this,a);this.store("dragger",b);return b;}});;function initLfmImageZoom(_options)
{var options=$extend({rel:'imagezoom'},_options||{});var elements=$$('a[rel^='+options.rel+']');if(elements.length==0)return false;elements.addEvent('click',function(el)
{this.blur();var sEl=this;var imgCap="";if(this.getElements("img").length>0)
sEl=this.getElements("img")[0];if((sEl.alt)&&(sEl.alt!=""))
imgCap=sEl.alt;else if(sEl.title)
imgCap=sEl.title;else if(sEl.parentNode.title)
imgCap=sEl.parentNode.title;var _options=$extend({image:this.href,caption:imgCap,startElement:sEl},options||{});_options.image=this.href;_options.caption=imgCap;var imagezoom=new LfmImageZoom(_options);imagezoom.preloadImage();imagezoom.show();return false;});}
var LfmImageZoom=function(_options)
{var options=$extend({image:false,caption:"",enableCaptions:true,startElement:false,ratio:0.9,x:10,y:10,initWidth:50,initHeight:50,draggable:true,loadImage:"imagezoom/images/loading.gif",loadDelay:150,duration:800,closeDuration:500,transition:Fx.Transitions.Cubic.easeOut,startOpacity:0.6,closeText:'Close',rel:'imagezoom',showCaptionBar:true,overlay:false,overlayColor:"#000",overlayOpacity:.75},_options||{});var box=document.createElement("div");var instance=this;this.preloadImage=function(){if(options.image!=false){var img=new Image();img.src=options.image;img.style.visibility="hidden";img.style.position="absolute";img.style.top="-9999999999px";img.setAttribute("id","imagezoom-"+options.image);$$('body')[0].appendChild(img);}}
this.getImage=function(){if(($('imagezoom-'+options.image))&&($('imagezoom-'+options.image).width!="0")){var img=$('imagezoom-'+options.image).clone();img.setAttribute("id","");img.style.position="relative";img.style.top="0px";img.style.visibility="visible";}else{instance.preloadImage();window.setTimeout(function(){instance.getImage();},50);}
return img;}
this.show=function(){if(options.image!=false){box.style.position="absolute";box.style.overflow="hidden";box.setAttribute("id","imagezoom-open-"+options.image);if(options.startElement!=false)
options.startElement.blur();var x=options.x;var y=options.y;var boxWidth=options.initWidth;var boxHeight=options.initHeight;if(options.startElement!=false){x=options.startElement.getPosition().x;y=options.startElement.getPosition().y;boxWidth=options.startElement.offsetWidth;boxHeight=options.startElement.offsetHeight;}
box.style.left=x+"px";box.style.top=y+"px";box.style.width=boxWidth+"px";box.style.height=boxHeight+"px";var fx=new Fx.Morph(box);fx.set({opacity:options.startOpacity});box.className="imagezoom";$$('body')[0].appendChild(box);box.style.cursor="pointer";box.addEvent("click",function(){var fx=new Fx.Morph(box,{duration:200});fx.start({opacity:0}).chain(function(){$$('body')[0].removeChild(box);});});this.loadImage();}}
this.loadImage=function(){box.toggleClass('loading');if($('imagezoom-'+options.image)){var el=$('imagezoom-'+options.image);if(el.width!="0"){var newEl=new Image();newEl.src=options.image;window.setTimeout(function(){instance.insertImage(newEl)},options.loadDelay);}else{window.setTimeout(function(){instance.loadImage();},50);}}else{instance.preloadImage();window.setTimeout(function(){instance.loadImage();},50);}}
this.insertImage=function(img)
{box.removeEvents("click");box.style.cursor="default";box.style.overflow="visible";var w=img.width,h=img.height;var winSize=window.getSize(),winX=winSize.x,winY=winSize.y;var winScroll=window.getScroll(),winScrollX=winScroll.x,winScrollY=winScroll.y;var winScrollSize=window.getScrollSize(),winScrollSizeX=winScrollSize.x,winScrollSizeY=winScrollSize.y;var maxX=winX*options.ratio,maxY=winY*options.ratio;if(w>maxX)
{var xRatio=maxX/w;w*=xRatio;h*=xRatio;}
if(h>maxY)
{var yRatio=maxY/h;w*=yRatio;h*=yRatio;}
img.style.width=w+"px";img.style.height=h+"px";img.className='image';var ptop=(winY/2)+winScrollY-(h/2);var pleft=(winX/2)+winScrollX-(w/2);var fx=new Fx.Morph(box,{duration:options.duration,transition:options.transition});fx.start({top:ptop,left:pleft,width:w,height:h,opacity:1}).chain(function(){box.toggleClass('loading');if(options.overlay==true){if(!$('imagezoom_overlay')){var overlay=$(document.createElement("div"));overlay.setAttribute("id","imagezoom_overlay");overlay.style.backgroundColor=options.overlayColor;overlay.setOpacity(0);$$('body')[0].appendChild(overlay);}else{var overlay=$('imagezoom_overlay');}
overlay.style.width=winScrollSizeX+"px";overlay.style.height=winScrollSizeY+"px";var overlayfx=new Fx.Morph(overlay,{duration:600});overlayfx.start({opacity:options.overlayOpacity});}
var close=$(document.createElement("div"));close.innerHTML="<span>"+options.closeText+"</span>";close.className="close";close.addEvent("click",function(){instance.close(true);});var loading=box.getElements(".loading");if(loading.length>0)
box.removeChild(loading[0]);var elements=[close,img];for(var i=0;i<elements.length;i++){var elFx=new Fx.Morph(elements[i],{duration:600});elFx.set({opacity:0});box.adopt(elements[i]);elFx.start({opacity:1});}
var caption;if((options.caption!="")&&(options.enableCaptions==true)){caption=document.createElement("div");caption.className="caption";caption.innerHTML="<p>"+options.caption+"</p>";box.appendChild(caption);}
instance.addSetNavigation();if(box.getElements(".caption").length>0){caption=box.getElements(".caption")[0];var cfx=new Fx.Morph(caption,{duration:200});cfx.set({opacity:0});if(options.showCaptionBar==true){caption.className+=" visibleCaption";var cStartFx=new Fx.Morph(caption,{duration:600});cStartFx.start({opacity:1});}
box.addEvent("mouseenter",function(){cfx.start({opacity:1}).chain(function(){caption.className+=" visibleCaption";});});box.addEvent("mouseleave",function(){cfx.start({opacity:0}).chain(function(){caption.className=caption.className.replace(/visibleCaption/g,"");});});close.addEvent("mouseenter",function(){cfx.start({opacity:0}).chain(function(){caption.className=caption.className.replace(/visibleCaption/g,"");});});box.getElements(".image")[0].addEvent("click",function(){var action="show";if(caption.className.indexOf("visibleCaption")!=-1)
action="hide";if(action=="show")
cfx.start({opacity:1}).chain(function(){caption.className+=" visibleCaption";});else
cfx.start({opacity:0}).chain(function(){caption.className=caption.className.replace(/visibleCaption/g,"");});});}
if(options.draggable==true)
var move=new Drag.Move(box,{handle:img});});}
this.addSetNavigation=function(){var links=$$(document.links).filter(function(link){if((link.rel)&&(link.rel.indexOf(options.rel)!=-1))
return true;else
return false;});var set=false;for(var i=0;i<links.length;i++){if((links[i].href.indexOf(options.image)!=-1)&&(links[i].rel)&&(links[i].rel.indexOf(options.rel+'['!=-1))){var rel=links[i].getAttribute("rel");set=instance.scanRel("after",options.rel+"[",this.scanRel("before","]",rel));}}
if(set!=false){var prevLink=false;var nextLink=false;var setLinks=new Array();for(i=0;i<links.length;i++){if(links[i].rel.indexOf(options.rel+"["+set+"]")!=-1){setLinks[setLinks.length]=links[i];}}
for(i=0;i<setLinks.length;i++){var link=setLinks[i];if((link.href.indexOf(options.image)!=-1)&&(link.rel)&&(link.rel.indexOf(options.rel!=-1))){if(i!=0)
prevLink=setLinks[i-1];if(i!=setLinks.length-1)
nextLink=setLinks[i+1];}}
if((prevLink!=false)||(nextLink!=false)){if(box.getElements(".caption").length==0){var caption=document.createElement("div");caption.className="caption";box.appendChild(caption);}else{var caption=box.getElements(".caption")[0];}}
if(prevLink!=false){var previousButton=$(document.createElement("div"));previousButton.className="previous";var prevCap='';if(prevLink.title)
prevCap=prevLink.title;var prevEl=prevLink;if(prevLink.getElements("img").length>0)
prevEl=prevLink.getElements("img")[0];previousButton.addEvent("click",function(){var newOptions=$unlink(options);var imagezoomPrev=new LfmImageZoom($extend(newOptions,{image:prevLink.href,caption:prevCap,rel:options.rel,startElement:prevEl,showCaptionBar:true}));instance.close();imagezoomPrev.show();});caption.appendChild(previousButton);}
if(nextLink!=false){var nextButton=$(document.createElement("div"));nextButton.className="next";var nextCap='';if(nextLink.title)
nextCap=nextLink.title;var nextEl=nextLink;if(nextLink.getElements("img").length>0)
nextEl=nextLink.getElements("img")[0];nextButton.addEvent("click",function(){var newOptions=$unlink(options);var imagezoomNext=new LfmImageZoom($extend(newOptions,{image:nextLink.href,caption:nextCap,rel:options.rel,startElement:nextEl,showCaptionBar:true}));instance.close();imagezoomNext.show();});caption.appendChild(nextButton);}}}
this.scanRel=function(where,needle,string){var newstring='';if(where=="after"){var startpos=string.indexOf(needle)+needle.length;var endpos=string.length;}else if(where=="before"){var startpos=0;var endpos=string.indexOf(needle);}
for(var i=startpos;i<endpos;i++){newstring+=string.charAt(i);}
return newstring;}
this.close=function(hideOverlay){var img=box.getElements(".image")[0];box.removeChild(img);var close=box.getElements(".close")[0];box.removeChild(close);var caption=box.getElements(".caption");if(caption.length>0)
box.removeChild(caption[0]);var s=box.getElements(".s");for(var i=0;i<s.length;i++)
box.removeChild(s[i]);var x=options.x;var y=options.y;var boxWidth=options.initWidth;var boxHeight=options.initHeight;if(options.startElement!=false){x=options.startElement.getPosition().x;y=options.startElement.getPosition().y;boxWidth=options.startElement.offsetWidth;boxHeight=options.startElement.offsetHeight;}
if((hideOverlay==true)&&($('imagezoom_overlay'))){var oFx=new Fx.Morph($('imagezoom_overlay'),{duration:options.closeDuration});oFx.start({opacity:0}).chain(function(){$$('body')[0].removeChild($('imagezoom_overlay'));});}
var fx=new Fx.Morph(box,{duration:options.closeDuration});fx.start({left:x,top:y,width:boxWidth,height:boxHeight,opacity:options.startOpacity}).chain(function(){fx.start({opacity:0}).chain(function(){$$('body')[0].removeChild(box);});});}};if(!$defined(Site))var Site={};Site.Kaosmoz=new Class({Implements:[Options,Events],options:{},initialize:function(options)
{this.initLinks();initLfmImageZoom({rel:'LfmImageZoom'});},initLinks:function()
{$$('a').each(function(el)
{if(el.getProperty('rel')=='external')el.setProperty('target','_blank');var myMorph=new Fx.Morph(el,{duration:1000,link:'cancel',transition:Fx.Transitions.Expo.easeOut});el.store('origColor',el.getStyle('color'));el.addEvents({'mouseenter':function(evt){myMorph.start({'color':'#f00'});},'mouseleave':function(evt){myMorph.start({'color':this.retrieve('origColor')});}});});}});window.addEvent('domready',function()
{new Site.Kaosmoz();});;