/*
	author: Metronet LTD (http://www.metronet.ie)
	requires: mootools 1.3
*/
Element.implement({getFullHeight:function(){return this.offsetHeight.toInt()+this.getStyle("marginTop").toInt()+this.getStyle("marginBottom").toInt()},getFullWidth:function(){return this.offsetWidth.toInt()+this.getStyle("marginLeft").toInt()+this.getStyle("marginRight").toInt()}});Mnet.Gallery=new Class({Implements:Options,options:{fadeDuration:700,display:0,thumbFaded:0.5,thumbFadeDuration:200,addHolderLink:true,imageElements:"img",align:"left"},initialize:function(d,f,a,c){this.setOptions(c);this.holder=$(d);this.images=this.holder.getElements(this.options.imageElements);if(f){this.thumbnails=$(f).getElements(a)}this.currentIndex=-1;this.maxIndex=this.images.length-1;if(this.maxIndex<0){return}var e=(this.options.align=="right")?"right":"left";this.images.each(function(h,g){h=h.setStyles({position:"absolute",opacity:0});if(e!="left"){h.setStyle(e,"0px")}h.set("tween",{link:"cancel",duration:Mnet.getDuration(this.options.fadeDuration)});if(h.get("tag")=="a"||h.getParent().get("tag")=="a"){this.options.addHolderLink=false}},this);if(this.options.addHolderLink){this.holder.setStyles({cursor:"pointer"}).addEvent("click",this.next.bind(this))}if(this.thumbnails){this.thumbnails.each(function(h,g){h.setStyles({cursor:"pointer",opacity:this.options.thumbFaded}).set("tween",{link:"cancel",duration:Mnet.getDuration(this.options.thumbFadeDuration)}).addEvent("click",function(){this.display(g)}.bind(this)).addEvent("mouseover",function(){h.tween("opacity",1)}.bind(this)).addEvent("mouseout",function(){if(g!=this.currentIndex){h.tween("opacity",this.options.thumbFaded)}}.bind(this))},this)}var b=this.images[this.options.display];if(b.get("tag")!="img"){b=b.getElement("img")}if(!b||b.complete){this.display(this.options.display,true)}else{b.onload=this.display.bind(this,[this.options.display,true])}},display:function(a,b){if(this.currentIndex==a){return}this.holder.setStyle("height",this.images[a].getFullHeight());if(this.currentIndex>=0){this.images[this.currentIndex].tween("opacity",0);if(this.thumbnails){this.thumbnails[this.currentIndex].tween("opacity",this.options.thumbFaded)}}if(b){this.images[a].setStyle("opacity",1)}else{this.images[a].tween("opacity",1)}if(this.thumbnails){this.thumbnails[a].set("opacity",1)}this.currentIndex=a;if(this.options.onDisplay){this.options.onDisplay.apply(this,[a,this.images[a]])}},prev:function(){var a=this.currentIndex-1;this.display(a<0?this.maxIndex:a)},next:function(){var a=this.currentIndex+1;this.display(a>this.maxIndex?0:a)},link:function(){var c=this.images[this.currentIndex];var b=c.getParent();if(b.get("tag")=="a"){if(b.hasEvent("click")){b.fireEvent("click")}else{var a=b.href;if($type(a)=="function"){(a)()}else{if($type(a)=="string"&&a!=""){document.location.href=a}}}}},unload:function(){this.holder=null;this.images=null;this.thumbnails=null}});
