var Prototype={K:function(a){return a}};var Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};Object.extend=function(a,c){for(var b in c){a[b]=c[b]}return a};Function.prototype.bind=function(){var a=this,c=$A(arguments),b=c.shift();return function(){return a.apply(b,c.concat($A(arguments)))}};Object.extend(String.prototype,{camelize:function(){var d=this.split("-");if(d.length==1){return d[0]}var b=this.indexOf("-")==0?d[0].charAt(0).toUpperCase()+d[0].substring(1):d[0];for(var c=1,a=d.length;c<a;c++){var e=d[c];b+=e.charAt(0).toUpperCase()+e.substring(1)}return b}});var Enumerable={each:function(b){var a=0;try{this._each(function(d){try{b(d,a++)}catch(f){if(f!=$continue){throw f}}})}catch(c){if(c!=$break){throw c}}},collect:function(b){var a=[];this.each(function(d,c){a.push(b(d,c))});return a},findAll:function(b){var a=[];this.each(function(d,c){if(b(d,c)){a.push(d)}});return a},invoke:function(b){var a=$A(arguments).slice(1);return this.collect(function(c){return c[b].apply(c,a)})},max:function(b){var a;this.each(function(d,c){d=(b||Prototype.K)(d,c);if(a==undefined||d>=a){a=d}});return a},pluck:function(b){var a=[];this.each(function(d,c){a.push(d[b])});return a},reject:function(b){var a=[];this.each(function(d,c){if(!b(d,c)){a.push(d)}});return a}};var $A=Array.from=function(c){if(!c){return[]}if(c.toArray){return c.toArray()}else{var b=[];for(var a=0;a<c.length;a++){b.push(c[a])}return b}};Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse){Array.prototype._reverse=Array.prototype.reverse}Object.extend(Array.prototype,{_each:function(b){for(var a=0;a<this.length;a++){b(this[a])}}});function $H(a){var b=Object.extend({},a||{});Object.extend(b,Enumerable);return b}function $(){var c=[],b;for(var a=0;a<arguments.length;a++){b=arguments[a];if(typeof(b)=="string"){b=document.getElementById(b)}c.push(Element.extend(b))}return c.length<2?c[0]:c}if(!window.Element){var Element=new Object()}Element.extend=function(c){if(!c){return false}if(_nativeExtensions){return c}if(!c._extended&&c.tagName&&c!=window){var b=Element.Methods,a=Element.extend.cache;for(property in b){var d=b[property];if(typeof d=="function"){c[property]=a.findOrStore(d)}}}c._extended=true;return c};Element.extend.cache={findOrStore:function(a){return this[a]=this[a]||function(){return a.apply(null,[this].concat($A(arguments)))}}};Element.Methods={hide:function(){for(var b=0;b<arguments.length;b++){var a=$(arguments[b]);a.style.display="none"}},show:function(){for(var b=0;b<arguments.length;b++){var a=$(arguments[b]);a.style.display=""}},getStyle:function(b,c){b=$(b);var d=b.style[c.camelize()];if(!d){if(document.defaultView&&document.defaultView.getComputedStyle){var a=document.defaultView.getComputedStyle(b,null);d=a?a.getPropertyValue(c):null}else{if(b.currentStyle){d=b.currentStyle[c.camelize()]}}}if(window.opera&&["left","top","right","bottom"].style){if(Element.getStyle(b,"position")=="static"){d="auto"}}return d=="auto"?null:d}};Object.extend(Element,Element.Methods);var _nativeExtensions=false;if(!HTMLElement&&/Konqueror|Safari|KHTML/.test(navigator.userAgent)){var HTMLElement={};HTMLElement.prototype=document.createElement("div").__proto__}Element.addMethods=function(b){Object.extend(Element.Methods,b||{});if(typeof(HTMLElement)!="undefined"){b=Element.Methods;var a=Element.extend.cache;for(property in b){var c=b[property];if(typeof c=="function"){HTMLElement.prototype[property]=a.findOrStore(c)}}_nativeExtensions=true}};Element.addMethods();Element.setStyle=function(a,b){a=$(a);for(k in b){a.style[k.camelize()]=b[k]}};Element.getOpacity=function(b){var a=Element.getStyle(b,"opacity");if(a){return parseFloat(a)}a=(Element.getStyle(b,"filter")||"");if(a.match(/alpha\(opacity=(.*)\)/)){if(a[1]){return parseFloat(a[1])/100}}return 1};Element.setOpacity=function(a,b){a=$(a);if(b==1){Element.setStyle(a,{opacity:0.999999});if(/MSIE/.test(navigator.userAgent)){Element.setStyle(a,{filter:Element.getStyle(a,"filter").replace(/alpha\([^\)]*\)/gi,"")})}}else{if(b<0.00001){b=0}Element.setStyle(a,{opacity:b});if(/MSIE/.test(navigator.userAgent)){Element.setStyle(a,{filter:Element.getStyle(a,"filter").replace(/alpha\([^\)]*\)/gi,"")+"alpha(opacity="+b*100+")"})}}};Element.getInlineOpacity=function(a){return $(a).style.opacity||""};var Effect={};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(b){var c=new Date().getTime();var a=(typeof b.options.queue=="string")?b.options.queue:b.options.queue.position;switch(a){case"front":this.effects.findAll(function(d){return d.state=="idle"}).each(function(d){d.startOn+=b.finishOn;d.finishOn+=b.finishOn});break;case"end":c=this.effects.pluck("finishOn").max()||c;break}b.startOn+=c;b.finishOn+=c;this.effects.push(b);if(!this.interval){this.interval=setInterval(this.loop.bind(this),40)}},remove:function(a){this.effects=this.effects.reject(function(b){return b==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var a=new Date().getTime();this.effects.invoke("loop",a)}});Effect.Queues={instances:$H(),get:function(a){if(typeof(a)!="string"){return a}if(!this.instances[a]){this.instances[a]=new Effect.ScopedQueue()}return this.instances[a]}};Effect.Queue=Effect.Queues.get("global");Effect.DefaultOptions={duration:1,fps:25,sync:false,from:0,to:1,delay:0,queue:"parallel"};Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(a){this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event("beforeStart");if(!this.options.sync){Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).add(this)}},loop:function(c){if(c>=this.startOn){if(c>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish){this.finish()}this.event("afterFinish");return}var b=(c-this.startOn)/(this.finishOn-this.startOn);var a=Math.round(b*this.options.fps*this.options.duration);if(a>this.currentFrame){this.render(b);this.currentFrame=a}}},render:function(a){if(this.state=="idle"){this.state="running";this.event("beforeSetup");if(this.setup){this.setup()}this.event("afterSetup")}if(this.state=="running"){if(this.options.transition){a=this.options.transition(a)}a*=(this.options.to-this.options.from);a+=this.options.from;this.position=a;this.event("beforeUpdate");if(this.update){this.update(a)}this.event("afterUpdate")}},cancel:function(){if(!this.options.sync){Effect.Queues.get(typeof(this.options.queue)=="string"?"global":this.options.queue.scope).remove(this)}this.state="finished"},event:function(a){if(this.options[a+"Internal"]){this.options[a+"Internal"](this)}if(this.options[a]){this.options[a](this)}}};Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke("render",a)},finish:function(a){this.effects.each(function(b){b.render(1);b.cancel();b.event("beforeFinish");if(b.finish){b.finish(a)}b.event("afterFinish")})}});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(b){this.element=$(b);if(/MSIE/.test(navigator.userAgent)&&(!this.element.hasLayout)){Element.setStyle(this.element,{zoom:1})}var a=Object.extend({from:Element.getOpacity(this.element)||0,to:1},arguments[1]||{});this.start(a)},update:function(a){Element.setOpacity(this.element,a)}});Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(b,c){this.element=$(b);var a=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:c},arguments[2]||{});this.start(a)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=Element.getStyle(this.element,"position");this.originalStyle={};["top","left","width","height","fontSize"].each(function(b){this.originalStyle[b]=this.element.style[b]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var a=Element.getStyle(this.element,"font-size")||"100%";["em","px","%"].each(function(b){if(a.indexOf(b)>0){this.fontSize=parseFloat(a);this.fontSizeType=b}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box"){this.dims=[this.element.offsetHeight,this.element.offsetWidth]}if(/^content/.test(this.options.scaleMode)){this.dims=[this.element.scrollHeight,this.element.scrollWidth]}if(!this.dims){this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]}},update:function(a){var b=(this.options.scaleFrom/100)+(this.factor*a);if(this.options.scaleContent&&this.fontSize){Element.setStyle(this.element,{fontSize:this.fontSize*b+this.fontSizeType})}this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish){Element.setStyle(this.element,this.originalStyle)}},setDimensions:function(a,e){var f={};if(this.options.scaleX){f.width=e+"px"}if(this.options.scaleY){f.height=a+"px"}if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var b=(e-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY){f.top=this.originalTop-c+"px"}if(this.options.scaleX){f.left=this.originalLeft-b+"px"}}else{if(this.options.scaleY){f.top=-c+"px"}if(this.options.scaleX){f.left=-b+"px"}}}Element.setStyle(this.element,f)}});Effect.Fade=function(element){var oldOpacity=Element.getInlineOpacity(element);var options=Object.extend({from:Element.getOpacity(element)||1,to:0,afterFinishInternal:function(effect){with(Element){if(effect.options.to!=0){return}hide(effect.element);setStyle(effect.element,{opacity:oldOpacity})}}},arguments[1]||{});return new Effect.Opacity(element,options)};Effect.Appear=function(element){var options=Object.extend({from:(Element.getStyle(element,"display")=="none"?0:Element.getOpacity(element)||0),to:1,beforeSetup:function(effect){with(Element){setOpacity(effect.element,effect.options.from);show(effect.element)}}},arguments[1]||{});return new Effect.Opacity(element,options)};var fileLoadingImage=default_images_url+"/loading.gif";var fileBottomNavCloseImage=default_images_url+"/closelabel.gif";var overlayOpacity=0.8;var borderSize=10;var imageArray=new Array;var activeImage;var overlayDuration=0;var resizeDuration=0;function getWidth(a){a=$(a);return a.offsetWidth}function setWidth(b,a){b=$(b);b.style.width=a+"px"}function getHeight(a){a=$(a);return a.offsetHeight}function setHeight(a,b){a=$(a);a.style.height=b+"px"}function setTop(b,a){b=$(b);b.style.top=a+"px"}function setLeft(b,a){b=$(b);b.style.left=a+"px"}function setSrc(a,b){a=$(a);a.src=b}function setHref(b,a){b=$(b);b.href=a}Array.prototype.removeDuplicates=function(){for(var b=0;b<this.length;b++){for(var a=this.length-1;a>b;a--){if(this[b][0]==this[a][0]){this.splice(a,1)}}}};Array.prototype.empty=function(){for(i=0;i<=this.length;i++){this.shift()}};var Lightbox=Class.create();Lightbox.prototype={initialize:function(){this.updateImageList();var v=document.getElementsByTagName("body").item(0);var g=document.createElement("div");g.setAttribute("id","overlay");g.style.display="none";g.onclick=function(){myLightbox.end()};v.appendChild(g);var o=document.createElement("div");o.setAttribute("id","lightbox");o.style.display="none";o.onclick=function(x){if(!x){x=window.event}if($(x.target||x.srcElement).id=="lightbox"){myLightbox.end()}};v.appendChild(o);var u=document.createElement("div");u.setAttribute("id","outerImageContainer");o.appendChild(u);setWidth("outerImageContainer",255);setHeight("outerImageContainer",255);var n=document.createElement("div");n.setAttribute("id","imageContainer");u.appendChild(n);var f=document.createElement("span");f.setAttribute("id","title");n.appendChild(f);var j=document.createElement("img");j.setAttribute("id","lightboxImage");n.appendChild(j);var r=document.createElement("div");r.setAttribute("id","hoverNav");n.appendChild(r);var s=document.createElement("a");s.setAttribute("id","prevLink");s.setAttribute("href","#");r.appendChild(s);var c=document.createElement("a");c.setAttribute("id","nextLink");c.setAttribute("href","#");r.appendChild(c);var t=document.createElement("div");t.setAttribute("id","loading");n.appendChild(t);var a=document.createElement("a");a.setAttribute("id","loadingLink");a.setAttribute("href","#");a.onclick=function(){myLightbox.end();return false};t.appendChild(a);var m=document.createElement("img");m.setAttribute("src",fileLoadingImage);a.appendChild(m);var e=document.createElement("div");e.setAttribute("id","imageDataContainer");o.appendChild(e);var d=document.createElement("div");d.setAttribute("id","imageData");e.appendChild(d);var q=document.createElement("div");q.setAttribute("id","imageDetails");d.appendChild(q);var h=document.createElement("span");h.setAttribute("id","caption");q.appendChild(h);var b=document.createElement("span");b.setAttribute("id","numberDisplay");q.appendChild(b);var p=document.createElement("div");p.setAttribute("id","bottomNav");d.appendChild(p);var w=document.createElement("a");w.setAttribute("id","bottomNavClose");w.setAttribute("href","#");w.onclick=function(){myLightbox.end();return false};p.appendChild(w);var l=document.createElement("img");l.setAttribute("src",fileBottomNavCloseImage);w.appendChild(l)},updateImageList:function(){if(!document.getElementsByTagName){return}var e=document.getElementsByTagName("a");var a=document.getElementsByTagName("area");for(var c=0;c<e.length;c++){var b=e[c];var f=String(b.getAttribute("rel"));if(b.getAttribute("href")&&(f.toLowerCase().match("lightbox"))){b.onclick=function(){myLightbox.start(this);return false}}}for(var c=0;c<a.length;c++){var d=a[c];var f=String(d.getAttribute("rel"));if(d.getAttribute("href")&&(f.toLowerCase().match("lightbox"))){d.onclick=function(){myLightbox.start(this);return false}}}},start:function(c){hideSelectBoxes();var f=getPageSize();setWidth("overlay",f[0]);setHeight("overlay",f[1]);new Effect.Appear("overlay",{duration:overlayDuration,from:0,to:overlayOpacity});imageArray=[];var b=0;if(!document.getElementsByTagName){return}var a=document.getElementsByTagName(c.tagName);if((c.getAttribute("rel")=="lightbox")){imageArray.push(new Array(c.getAttribute("href"),c.getAttribute("title"),c.getAttribute("name")))}else{for(var d=0;d<a.length;d++){var e=a[d];if(e.getAttribute("href")&&(e.getAttribute("rel")==c.getAttribute("rel"))){imageArray.push(new Array(e.getAttribute("href"),e.getAttribute("title"),e.getAttribute("name")))}}imageArray.removeDuplicates();while(imageArray[b][0]!=c.getAttribute("href")){b++}}var g=getPageScroll();var h=g[1]+(f[3]/10);var j=g[0];setTop("lightbox",h);setLeft("lightbox",j);Element.show("lightbox");this.changeImage(b)},changeImage:function(b){activeImage=b;Element.show("loading");Element.hide("lightboxImage");Element.hide("hoverNav");Element.hide("prevLink");Element.hide("nextLink");Element.hide("imageDataContainer");Element.hide("numberDisplay");Element.hide("title");var a=new Image();a.onload=function(){setSrc("lightboxImage",imageArray[activeImage][0]);myLightbox.resizeImageContainer(a.width,a.height);a.onload=function(){}};a.src=imageArray[activeImage][0]},resizeImageContainer:function(e,b){this.widthCurrent=getWidth("outerImageContainer");this.heightCurrent=getHeight("outerImageContainer");var a=(e+(borderSize*2));var c=(b+(borderSize*2));this.xScale=(a/this.widthCurrent)*100;this.yScale=(c/this.heightCurrent)*100;var f=this.widthCurrent-a;var d=this.heightCurrent-c;if(!(d==0)){new Effect.Scale("outerImageContainer",this.yScale,{scaleX:false,duration:resizeDuration,queue:"front"})}if(!(f==0)){new Effect.Scale("outerImageContainer",this.xScale,{scaleY:false,delay:resizeDuration,duration:resizeDuration})}if((d==0)&&(f==0)){if(navigator.appVersion.indexOf("MSIE")!=-1){pause(250)}else{pause(100)}}setHeight("prevLink",b);setHeight("nextLink",b);setWidth("imageDataContainer",a);this.showImage()},showImage:function(){Element.hide("loading");new Effect.Appear("lightboxImage",{duration:resizeDuration,queue:"end",afterFinish:function(){myLightbox.updateDetails()}});this.preloadNeighborImages()},updateDetails:function(){if(imageArray[activeImage][1]){Element.show("caption");setInnerHTML(document.getElementById("caption"),imageArray[activeImage][1])}if(imageArray[activeImage][2]){Element.show("title");setInnerHTML(document.getElementById("title"),imageArray[activeImage][2])}else{$("lightboxImage").style.paddingTop="10px"}if(imageArray.length>1){Element.show("numberDisplay");setInnerHTML(document.getElementById("numberDisplay"),"Image "+eval(activeImage+1)+" of "+imageArray.length)}Element.show("imageDataContainer");var arrayPageSize=getPageSize();setHeight("overlay",arrayPageSize[1]);myLightbox.updateNav()},updateNav:function(){Element.show("hoverNav");if(activeImage!=0){Element.show("prevLink");document.getElementById("prevLink").onclick=function(){myLightbox.changeImage(activeImage-1);return false}}if(activeImage!=(imageArray.length-1)){Element.show("nextLink");document.getElementById("nextLink").onclick=function(){myLightbox.changeImage(activeImage+1);return false}}this.enableKeyboardNav()},enableKeyboardNav:function(){document.onkeydown=this.keyboardAction},disableKeyboardNav:function(){document.onkeydown=""},keyboardAction:function(d){var a,b;if(d==null){a=event.keyCode;b=27}else{a=d.keyCode;b=d.DOM_VK_ESCAPE}var c=String.fromCharCode(a).toLowerCase();if((c=="x")||(c=="o")||(c=="c")||(a==b)){myLightbox.end()}else{if((c=="p")||(a==37)){if(activeImage!=0){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage-1)}}else{if((c=="n")||(a==39)){if(activeImage!=(imageArray.length-1)){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage+1)}}}}},preloadNeighborImages:function(){if((imageArray.length-1)>activeImage){var a=new Image();a.src=imageArray[activeImage+1][0]}if(activeImage>0){var b=new Image();b.src=imageArray[activeImage-1][0]}},end:function(){this.disableKeyboardNav();Element.hide("lightbox");new Effect.Fade("overlay",{duration:overlayDuration});showSelectBoxes()}};function getPageScroll(){var c,a;if(self.pageYOffset){a=self.pageYOffset;c=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){a=document.documentElement.scrollTop;c=document.documentElement.scrollLeft}else{if(document.body){a=document.body.scrollTop;c=document.body.scrollLeft}}}var b=new Array(c,a);return b}function getPageSize(){var f,a;if(window.innerHeight&&window.scrollMaxY){f=window.innerWidth+window.scrollMaxX;a=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){f=document.body.scrollWidth;a=document.body.scrollHeight}else{f=document.body.offsetWidth;a=document.body.offsetHeight}}var d,g;if(self.innerHeight){if(document.documentElement.clientWidth){d=document.documentElement.clientWidth}else{d=self.innerWidth}g=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){d=document.documentElement.clientWidth;g=document.documentElement.clientHeight}else{if(document.body){d=document.body.clientWidth;g=document.body.clientHeight}}}var e,b;if(a<g){e=g}else{e=a}if(f<d){b=f}else{b=d}var c=new Array(b,e,d,g);return c}function showSelectBoxes(){var b=document.getElementsByTagName("select");for(var a=0;a!=b.length;a++){b[a].style.visibility="visible"}}function hideSelectBoxes(){var b=document.getElementsByTagName("select");for(var a=0;a!=b.length;a++){b[a].style.visibility="hidden"}}function pause(c){var b=new Date();var a=null;do{a=new Date()}while(a-b<c)}function initLightbox(){myLightbox=new Lightbox()}EventAttach(window,"load",initLightbox,false);
