var Lightview={Version:'2.2.1',options:{backgroundColor:'#ffffff',border:12,buttons:{opacity:{disabled:0.4,normal:0.65,hover:1},side:{display:true},innerPreviousNext:{display:true},slideshow:{display:true}},cyclic:false,images:'../img/lightview/',imgNumberTemplate:'Image #{position} of #{total}',overlay:{background:'#000',close:true,opacity:0.85,display:true},preloadHover:true,radius:8,removeTitles:true,resizeDuration:0.3,slideshowDelay:5,titleSplit:'::',transition:function(pos){return((pos/=0.5)<1?0.5*Math.pow(pos,4):-0.5*((pos-=2)*Math.pow(pos,3)-2))},viewport:true,zIndex:5000,closeDimensions:{large:{width:85,height:22},small:{width:32,height:22},innertop:{width:22,height:22},topclose:{width:22,height:18}},defaultOptions:{ajax:{width:400,height:300,autosize:true,topclose:true},iframe:{width:400,height:300,scrolling:true},inline:{width:400,height:300,autosize:true,topclose:true},flash:{width:400,height:300},quicktime:{width:480,height:220,autoplay:true,controls:true,topclose:true}},sideDimensions:{width:16,height:22}},classids:{quicktime:'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',flash:'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'},codebases:{quicktime:'http://www.apple.com/qtactivex/qtplugin.cab#version=7,3,0,0',flash:'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0'},errors:{requiresPlugin:"<div class='message'>The content your are attempting to view requires the <span class='type'>#{type}</span> plugin.</div><div class='pluginspage'><p>Please download and install the required plugin from:</p><a href='#{pluginspage}' target='_blank'>#{pluginspage}</a></div>"},mimetypes:{quicktime:'video/quicktime',flash:'application/x-shockwave-flash'},pluginspages:{quicktime:'http://www.apple.com/quicktime/download',flash:'http://www.adobe.com/go/getflashplayer'},typeExtensions:{flash:'swf',image:'bmp gif jpeg jpg png',iframe:'asp aspx cgi cfm htm html jsp php pl php3 php4 php5 phtml rb rhtml shtml txt',quicktime:'avi mov mpg mpeg movie'}};Lightview.IEVersion=(function(B){var A=new RegExp("MSIE ([\\d.]+)").exec(B);return A?parseFloat(A[1]):-1})(navigator.userAgent);Object.extend(Prototype.Browser,{IE6:Prototype.Browser.IE&&(Lightview.IEVersion>=6&&Lightview.IEVersion<7),WebKit419:(Prototype.Browser.WebKit&&!document.evaluate)});Object.extend(Lightview,{REQUIRED_Prototype:"1.6.0.2",REQUIRED_Scriptaculous:"1.8.1",queue:{position:"end",scope:"lightview"},isMac:!!navigator.userAgent.match(/mac/i),pngOverlay:!!navigator.userAgent.match(/mac/i)&&(Prototype.Browser.WebKit||Prototype.Browser.Gecko),require:function(A){if((typeof window[A]=="undefined")||(this.convertVersionString(window[A].Version)<this.convertVersionString(this["REQUIRED_"+A]))){throw("Lightview requires "+A+" >= "+this["REQUIRED_"+A]);}},convertVersionString:function(A){var B=A.replace(/_.*|\./g,"");B=parseInt(B+"0".times(4-B.length));return A.indexOf("_")>-1?B-1:B},load:function(){this.require("Prototype");if(!!window.Effect&&!window.Scriptaculous){this.require("Scriptaculous")}
var A=/lightview(?:-[\w\d.]+)?\.js(.*)/;this.images=(($$("head script[src]").find(function(B){return B.src.match(A)})||{}).src||"").replace(A,"")+this.options.images;if(Prototype.Browser.IE&&!document.namespaces.v){document.namespaces.add("v","urn:schemas-microsoft-com:vml");document.observe("dom:loaded",function(){document.createStyleSheet().addRule("v\\:*","behavior: url(#default#VML);")})}},start:function(){this.radius=this.options.radius;this.border=(this.radius>this.options.border)?this.radius:this.options.border;this.closeDimensions=this.options.closeDimensions;this.sideDimensions=this.options.sideDimensions;this.build();this.updateViews();this.addObservers()},build:function(){var B,I,D=this.pixelClone(this.sideDimensions);$(document.body).insert({top:(new Element("div",{id:"lightviewError"}).hide())}).insert({top:(this.lightview=new Element("div",{id:"lightview"}).setStyle({zIndex:this.options.zIndex,top:"-10000px",left:"-10000px"}).setOpacity(0).insert(this.container=new Element("div",{className:"lv_Container"}).insert(this.sideButtons=new Element("ul",{className:"lv_Sides"}).insert(this.prevSide=new Element("li",{className:"lv_PrevSide"}).setStyle(I=Object.extend({marginLeft:-1*this.sideDimensions.width+"px"},D)).insert(this.prevButtonImage=new Element("div",{className:"lv_Wrapper"}).setStyle(Object.extend({marginLeft:this.sideDimensions.width+"px"},D)).insert(new Element("div",{className:"lv_Button"})))).insert(this.nextSide=new Element("li",{className:"lv_NextSide"}).setStyle(Object.extend({marginRight:-1*this.sideDimensions.width+"px"},D)).insert(this.nextButtonImage=new Element("div",{className:"lv_Wrapper"}).setStyle(I).insert(new Element("div",{className:"lv_Button"}))))).insert(this.topButtons=new Element("div",{className:"lv_topButtons"}).insert(this.topcloseButtonImage=new Element("div",{className:"lv_Wrapper lv_topcloseButtonImage"}).insert(this.topcloseButton=new Element("div",{className:"lv_Button"})))).insert(new Element("ul",{className:"lv_Frames"}).insert(new Element("li",{className:"lv_Frame lv_FrameTop"}).insert(B=new Element("div",{className:"lv_Liquid"}).setStyle({height:this.border+"px"}).insert(new Element("ul",{className:"lv_Half lv_HalfLeft"}).insert(new Element("li",{className:"lv_CornerWrapper"}).insert(new Element("div",{className:"lv_Corner"})).insert(new Element("div",{className:"lv_Fill"}).setStyle({left:this.border+"px"})))).insert(new Element("div",{className:"lv_Filler"})).insert(new Element("ul",{className:"lv_Half lv_HalfRight"}).insert(new Element("li",{className:"lv_CornerWrapper"}).setStyle("margin-top: "+(-1*this.border)+"px").insert(new Element("div",{className:"lv_Corner"})).insert(new Element("div",{className:"lv_Fill"}).setStyle("left: "+(-1*this.border)+"px")))))).insert(this.resizeCenter=new Element("li",{className:"lv_Center"}).setStyle("height: "+(150-this.border)+"px").insert(new Element("div",{className:"lv_WrapUp"}).insert(new Element("div",{className:"lv_WrapDown"}).setStyle("margin-top: "+this.border+"px").insert(this.center=new Element("div",{className:"lv_WrapCenter"}).setOpacity(0).setStyle("padding: 0 "+this.border+"px").insert(this.media=new Element("div",{className:"lv_Media lv_Fill"})).insert(this.menubar=new Element("div",{className:"lv_MenuBar"}).insert(this.closeWrapper=new Element("div",{className:"lv_Close"}).setStyle(this.pixelClone(this.options.closeDimensions.large)).insert(this.closeButton=new Element("a",{className:"lv_Button"}).setStyle({backgroundColor:this.options.backgroundColor}).setOpacity(this.options.buttons.opacity.normal))).insert(this.data=new Element("ul",{className:"lv_Data"}).insert(this.dataText=new Element("li",{className:"lv_DataText"}).insert(this.title=new Element("div",{className:"lv_Title"})).insert(this.caption=new Element("div",{className:"lv_Caption"}))).insert(this.imgNumber=new Element("li",{className:"lv_ImgNumber"}).insert(new Element("div"))).insert(this.innerPrevNext=new Element("li",{className:"lv_innerPrevNext"}).insert(this.innerPrevButton=new Element("div",{className:"lv_Button"})).insert(this.innerNextButton=new Element("div",{className:"lv_Button"}))).insert(this.slideshow=new Element("li",{className:"lv_Slideshow"}).insert(this.slideshowButton=new Element("div",{className:"lv_Button"}))))).insert(this.external=new Element("div",{className:"lv_External"}))))).insert(this.loading=new Element("div",{className:"lv_Loading"}).insert(this.loadingButton=new Element("div",{className:"lv_Button"}).setStyle("background: url("+this.images+"loading.gif) top left no-repeat")))).insert(new Element("li",{className:"lv_Frame lv_FrameBottom"}).insert(B.cloneNode(true))).insert(this.prevnext=new Element("li",{className:"lv_PrevNext"}).hide().setStyle("margin-top: "+this.border+"px;background: url("+this.images+"blank.gif) top left repeat")))))}).insert({top:(this.overlay=new Element("div",{id:"overlay"}).setStyle({zIndex:this.options.zIndex-1,position:(!(Prototype.Browser.Gecko||Prototype.Browser.IE6))?"fixed":"absolute",background:this.pngOverlay?"url("+this.images+"overlay.png) top left repeat":this.options.overlay.background}).setOpacity((Prototype.Browser.Gecko)?1:this.options.overlay.opacity).hide())});var H=new Image();H.onload=function(){H.onload=Prototype.emptyFunction;this.sideDimensions={width:H.width,height:H.height};var K=this.pixelClone(this.sideDimensions),C;this.sideButtons.setStyle({marginTop:0-(H.height/2).round()+"px",height:H.height+"px"});this.prevSide.setStyle(C=Object.extend({marginLeft:-1*this.sideDimensions.width+"px"},K));this.prevButtonImage.setStyle(Object.extend({marginLeft:K.width},K));this.nextSide.setStyle(Object.extend({marginRight:-1*this.sideDimensions.width+"px"},K));this.nextButtonImage.setStyle(C)}.bind(this);H.src=this.images+"prev.png";$w("center title caption imgNumber").each(function(C){this[C].setStyle({backgroundColor:this.options.backgroundColor})}.bind(this));var G=this.container.select(".lv_Corner");$w("tl tr bl br").each(function(K,C){if(this.radius>0){this.createCorner(G[C],K)}else{G[C].insert(new Element("div",{className:"lv_Fill"}))}
G[C].setStyle({width:this.border+"px",height:this.border+"px"}).addClassName("lv_Corner"+K.capitalize())}.bind(this));this.lightview.select(".lv_Filler",".lv_Fill",".lv_WrapDown").invoke("setStyle",{backgroundColor:this.options.backgroundColor});var E={};$w("prev next topclose").each(function(K){this[K+"ButtonImage"].side=K;var C=this.images+K+".png";if(K=="topclose"){E[K]=new Image();E[K].onload=function(){E[K].onload=Prototype.emptyFunction;this.closeDimensions[K]={width:E[K].width,height:E[K].height};var L=this.isMac?"left":"right",M=Object.extend({"float":L},this.pixelClone(this.closeDimensions[K]));M["padding"+L.capitalize()]=this.border+"px";this[K+"ButtonImage"].setStyle(M);this.topButtons.setStyle({height:E[K].height+"px",top:-1*this.closeDimensions[K].height+"px"});this[K+"ButtonImage"].down().setPngBackground(C).setStyle(this.pixelClone(this.closeDimensions[K]))}.bind(this);E[K].src=this.images+K+".png"}else{this[K+"ButtonImage"].setPngBackground(C)}}.bind(this));var A={};$w("large small innertop").each(function(C){A[C]=new Image();A[C].onload=function(){A[C].onload=Prototype.emptyFunction;this.closeDimensions[C]={width:A[C].width,height:A[C].height}}.bind(this);A[C].src=this.images+"close_"+C+".png"}.bind(this));var J=new Image();J.onload=function(){J.onload=Prototype.emptyFunction;this.loading.setStyle({width:J.width+"px",height:J.height+"px",marginTop:-0.5*J.height+0.5*this.border+"px",marginLeft:-0.5*J.width+"px"})}.bind(this);J.src=this.images+"loading.gif";var F=new Image();F.onload=function(){F.onload=Prototype.emptyFunction;var C={width:F.width+"px",height:F.height+"px"};this.slideshow.setStyle(C);this.slideshowButton.setStyle(C)}.bind(this);F.src=this.images+"inner_slideshow_play.png";$w("prev next").each(function(L){var K=L.capitalize(),C=new Image();C.onload=function(){C.onload=Prototype.emptyFunction;this["inner"+K+"Button"].setStyle({width:C.width+"px",height:C.height+"px"})}.bind(this);C.src=this.images+"inner_"+L+".png";this["inner"+K+"Button"].prevnext=L}.bind(this))},prepare:function(){Effect.Queues.get("lightview").each(function(A){A.cancel()});this.scaledInnerDimensions=null;this.restoreInlineContent();this.views=null},restoreInlineContent:function(){if(!this.inlineContent||!this.inlineMarker){return}
this.inlineMarker.insert({after:this.inlineContent.setStyle({display:this.inlineContent._inlineDisplayRestore})});this.inlineMarker.remove();this.inlineMarker=null},show:function(B){this.element=null;if(Object.isElement(B)||Object.isString(B)){this.element=$(B);this.element.blur();this.view=this.element._view}else{if(B.href){this.element=$(document.body);this.view=new Lightview.View(B)}else{if(Object.isNumber(B)){this.element=this.getSet(this.view.rel).elements[B];this.view=this.element._view}}}
if(!this.view.href){return}
this.prepare();this.disableKeyboardNavigation();this.hideOverlapping();this.hideContent();this.restoreCenter();this.appear();if(this.view.href!="#lightviewError"&&Object.keys(Lightview.Plugin).join(" ").indexOf(this.view.type)>=0){if(!Lightview.Plugin[this.view.type]){$("lightviewError").update(new Template(this.errors.requiresPlugin).evaluate({type:this.view.type.capitalize(),pluginspage:this.pluginspages[this.view.type]}));var C=$("lightviewError").getDimensions();this.show({href:"#lightviewError",title:this.view.type.capitalize()+" plugin required",options:C});return false}}
if(this.view.isGallery()){this.views=this.view.isGallery()?this.getViews(this.view.rel):[this.view]}
var A=Object.extend({menubar:true,topclose:false,innerPreviousNext:this.view.isGallery()&&this.options.buttons.innerPreviousNext.display,slideshow:this.view.isGallery()&&this.options.buttons.slideshow.display},this.options.defaultOptions[this.view.type]||{});this.view.options=Object.extend(A,this.view.options);if(!(this.view.title||this.view.caption||(this.views&&this.views.length>1))&&this.view.options.topclose){this.view.options.menubar=false}
if(this.view.isImage()){if(this.view.isGallery()){this.position=this.views.indexOf(this.view);this.preloadSurroundingImages()}
this.innerDimensions=this.view.preloadedDimensions;if(this.innerDimensions){this.afterEffect()}else{this.startLoading();var D=new Image();D.onload=function(){D.onload=Prototype.emptyFunction;this.stopLoading();this.innerDimensions={width:D.width,height:D.height};this.afterEffect()}.bind(this);D.src=this.view.href}}else{this.innerDimensions=this.view.options.fullscreen?document.viewport.getDimensions():{width:this.view.options.width,height:this.view.options.height};this.afterEffect()}},insertContent:function(){var D=this.detectExtension(this.view.href),A=this.scaledInnerDimensions||this.innerDimensions;if(this.view.isImage()){var B=this.pixelClone(A);this.media.setStyle(B).update(new Element("img",{id:"lightviewContent",src:this.view.href,alt:"",galleryimg:"no"}).setStyle(B))}else{if(this.view.isExternal()){if(this.scaledInnerDimensions&&this.view.options.fullscreen){A.height-=this.menuBarDimensions.height}
switch(this.view.type){case"ajax":var F=Object.clone(this.view.options.ajax)||{};var E=function(){this.stopLoading();if(this.view.options.autosize){this.external.setStyle({width:"auto",height:"auto"});this.innerDimensions=this.getHiddenDimensions(this.external)}
new Effect.Event({queue:this.queue,afterFinish:this.resizeWithinViewport.bind(this)})}.bind(this);if(F.onComplete){F.onComplete=F.onComplete.wrap(function(N,M){E();N(M)})}else{F.onComplete=E}
this.startLoading();new Ajax.Updater(this.external,this.view.href,F);break;case"iframe":this.external.update(this.iframe=new Element("iframe",{frameBorder:0,hspace:0,src:this.view.href,id:"lightviewContent",name:"lightviewContent_"+(Math.random()*99999).round(),scrolling:(this.view.options&&this.view.options.scrolling)?"auto":"no"}).setStyle(Object.extend({border:0,margin:0,padding:0},this.pixelClone(A))));break;case"inline":var C=this.view.href,H=$(C.substr(C.indexOf("#")+1));if(!H||!H.tagName){return}
var L=new Element(this.view.options.wrapperTag||"div"),G=H.getStyle("visibility"),J=H.getStyle("display");H.wrap(L);H.setStyle({visibility:"hidden"}).show();var I=this.getHiddenDimensions(L);H.setStyle({visibility:G,display:J});L.insert({before:H}).remove();H.insert({before:this.inlineMarker=new Element(H.tagName)});H._inlineDisplayRestore=H.getStyle("display");this.inlineContent=H.show();this.external.update(this.inlineContent);if(this.view.options.autosize){this.innerDimensions=I;new Effect.Event({queue:this.queue,afterFinish:this.resizeWithinViewport.bind(this)})}
break}}else{var K={tag:"object",id:"lightviewContent",width:A.width,height:A.height};switch(this.view.type){case"quicktime":Object.extend(K,{pluginspage:this.pluginspages[this.view.type],children:[{tag:"param",name:"autoplay",value:this.view.options.autoplay},{tag:"param",name:"scale",value:"tofit"},{tag:"param",name:"controller",value:this.view.options.controls},{tag:"param",name:"enablejavascript",value:true},{tag:"param",name:"src",value:this.view.href},{tag:"param",name:"loop",value:this.view.options.loop||false}]});Object.extend(K,Prototype.Browser.IE?{codebase:this.codebases[this.view.type],classid:this.classids[this.view.type]}:{data:this.view.href,type:this.mimetypes[this.view.type]});break;case"flash":Object.extend(K,{data:this.view.href,type:this.mimetypes[this.view.type],quality:"high",pluginspage:this.pluginspages[this.view.type],wmode:"transparent",children:[{tag:"param",name:"movie",value:this.view.href},{tag:"param",name:"allowFullScreen",value:"true"}]});if(this.view.options.flashvars){K.children.push({tag:"param",name:"FlashVars",value:this.view.options.flashvars})}
break}
this.media.setStyle(this.pixelClone(A)).show();this.media.update(this.createHTML(K));if(this.view.isQuicktime()&&$("lightviewContent")){(function(){try{if("SetControllerVisible"in $("lightviewContent")){$("lightviewContent").SetControllerVisible(this.view.options.controls)}}catch(M){}}.bind(this)).delay(0.4)}}}},getHiddenDimensions:function(B){B=$(B);var A=B.ancestors(),C=[],E=[];A.push(B);A.each(function(F){if(F!=B&&F.visible()){return}
C.push(F);E.push({display:F.getStyle("display"),position:F.getStyle("position"),visibility:F.getStyle("visibility")});F.setStyle({display:"block",position:"absolute",visibility:"visible"})});var D={width:B.clientWidth,height:B.clientHeight};C.each(function(G,F){G.setStyle(E[F])});return D},clearContent:function(){var A=$("lightviewContent");if(A){switch(A.tagName.toLowerCase()){case"object":if(Prototype.Browser.WebKit&&this.view.isQuicktime()){try{A.Stop()}catch(B){}
A.innerHTML=""}
if(A.parentNode){A.remove()}else{A=Prototype.emptyFunction}
break;case"iframe":A.remove();if(Prototype.Browser.Gecko){delete window.frames.lightviewContent}
break;default:A.remove();break}}},adjustDimensionsToView:function(){var A=this.scaledInnerDimensions||this.innerDimensions;if(this.view.options.controls){switch(this.view.type){case"quicktime":A.height+=16;break}}
this[(this.scaledInnerDimensions?"scaledI":"i")+"nnerDimensions"]=A},afterEffect:function(){new Effect.Event({queue:this.queue,afterFinish:function(){this.afterShow()}.bind(this)})},afterShow:function(){this.fillMenuBar();this.enableKeyboardNavigation();if(!this.view.isAjax()){this.stopLoading()}
if(!((this.view.options.autosize&&this.view.isInline())||this.view.isAjax())){this.resizeWithinViewport()}
if(!this.view.isIframe()){new Effect.Event({queue:this.queue,afterFinish:this.insertContent.bind(this)})}},finishShow:function(){new Effect.Event({queue:this.queue,afterFinish:this.showContent.bind(this)});if(this.view.isIframe()){new Effect.Event({delay:0.2,queue:this.queue,afterFinish:this.insertContent.bind(this)})}
if(this.sliding){new Effect.Event({queue:this.queue,afterFinish:this.nextSlide.bind(this)})}},previous:function(){this.show(this.getSurroundingIndexes().previous)},next:function(){this.show(this.getSurroundingIndexes().next)},resizeWithinViewport:function(){this.adjustDimensionsToView();var B=this.getInnerDimensions(),D=this.getBounds();if(this.options.viewport&&(B.width>D.width||B.height>D.height)){if(!this.view.options.fullscreen){var E=Object.clone(this.getOuterDimensions()),A=D,C=Object.clone(E);if(C.width>A.width){C.height*=A.width/C.width;C.width=A.width;if(C.height>A.height){C.width*=A.height/C.height;C.height=A.height}}else{if(C.height>A.height){C.width*=A.height/C.height;C.height=A.height;if(C.width>A.width){C.height*=A.width/C.width;C.width=A.width}}}
var F=(C.width%1>0?C.height/E.height:C.height%1>0?C.width/E.width:1);this.scaledInnerDimensions={width:(this.innerDimensions.width*F).round(),height:(this.innerDimensions.height*F).round()};this.fillMenuBar();B={width:this.scaledInnerDimensions.width,height:this.scaledInnerDimensions.height+this.menuBarDimensions.height}}else{this.scaledInnerDimensions=D;this.fillMenuBar();B=D}}else{this.fillMenuBar();this.scaledInnerDimensions=null}
this.resize(B)},resize:function(B){var F=this.lightview.getDimensions(),I=2*this.border,D=B.width+I,M=B.height+I;this.hidePrevNext();var L=function(){this.restoreCenter();this.resizing=null;this.finishShow()};if(F.width==D&&F.height==M){L.bind(this)();return}
var C={width:D+"px",height:M+"px"};if(!Prototype.Browser.IE6){Object.extend(C,{marginLeft:0-D/2+"px",marginTop:0-M/2+"px"})}
var G=D-F.width,K=M-F.height,J=parseInt(this.lightview.getStyle("marginLeft").replace("px","")),E=parseInt(this.lightview.getStyle("marginTop").replace("px",""));if(!Prototype.Browser.IE6){var A=(0-D/2)-J,H=(0-M/2)-E}
this.resizing=new Effect.Tween(this.lightview,0,1,{duration:this.options.resizeDuration,queue:this.queue,transition:this.options.transition,afterFinish:L.bind(this)},function(Q){var N=(F.width+Q*G).toFixed(0),P=(F.height+Q*K).toFixed(0);if(Prototype.Browser.IE6){this.lightview.setStyle({width:(F.width+Q*G).toFixed(0)+"px",height:(F.height+Q*K).toFixed(0)+"px"});this.resizeCenter.setStyle({height:P-1*this.border+"px"})}else{if(Prototype.Browser.IE){this.lightview.setStyle({position:"fixed",width:N+"px",height:P+"px",marginLeft:((0-N)/2).round()+"px",marginTop:((0-P)/2).round()+"px"});this.resizeCenter.setStyle({height:P-1*this.border+"px"})}else{var O=this.getViewportDimensions(),R=document.viewport.getScrollOffsets();this.lightview.setStyle({position:"absolute",marginLeft:0,marginTop:0,width:N+"px",height:P+"px",left:(R[0]+(O.width/2)-(N/2)).floor()+"px",top:(R[1]+(O.height/2)-(P/2)).floor()+"px"});this.resizeCenter.setStyle({height:P-1*this.border+"px"})}}}.bind(this))},showContent:function(){new Effect.Event({queue:this.queue,afterFinish:Element.show.bind(this,this[this.view.isMedia()?"media":"external"])});new Effect.Event({queue:this.queue,afterFinish:this.hidePrevNext.bind(this)});new Effect.Parallel([new Effect.Opacity(this.center,{sync:true,from:0,to:1}),new Effect.Appear(this.sideButtons,{sync:true})],{queue:this.queue,duration:0.0,afterFinish:function(){if(this.element){if(this.bizzyLikeHell){return;}
this.bizzyLikeHell=true;this.element.fire("lightview:opened");}}.bind(this)});if(this.view.isGallery()){new Effect.Event({queue:this.queue,afterFinish:this.showPrevNext.bind(this)})}},hideContent:function(){if(!this.lightview.visible()){return}
new Effect.Parallel([new Effect.Opacity(this.sideButtons,{sync:true,from:1,to:0}),new Effect.Opacity(this.center,{sync:true,from:1,to:0})],{queue:this.queue,duration:0.0});new Effect.Event({queue:this.queue,afterFinish:function(){this.media.update("").hide();this.external.update("").hide();this.clearContent()}.bind(this)})},hideData:function(){this.dataText.hide();this.title.hide();this.caption.hide();this.imgNumber.hide();this.innerPrevNext.hide();this.slideshow.hide()},fillMenuBar:function(){this.hideData();if(!this.view.options.menubar){this.menuBarDimensions={width:0,height:0};this.closeButtonWidth=0;this.menubar.hide();return false}else{this.menubar.show()}
this.menubar[(this.view.isExternal()?"add":"remove")+"ClassName"]("lv_MenuTop");if(this.view.title||this.view.caption){this.dataText.show()}
if(this.view.title){this.title.update(this.view.title).show()}
if(this.view.caption){this.caption.update(this.view.caption).show()}
if(this.views&&this.views.length>1){this.imgNumber.show().down().update(new Template(this.options.imgNumberTemplate).evaluate({position:this.position+1,total:this.views.length}));if(this.view.options.slideshow){this.slideshowButton.show();this.slideshow.show()}}
if(this.view.options.innerPreviousNext&&this.views.length>1){var A={prev:(this.options.cyclic||this.position!=0),next:(this.options.cyclic||(this.view.isGallery()&&this.getSurroundingIndexes().next!=0))};$w("prev next").each(function(B){this["inner"+B.capitalize()+"Button"].setStyle({cursor:(A[B]?"pointer":"auto")}).setOpacity(A[B]?this.options.buttons.opacity.normal:this.options.buttons.opacity.disabled)}.bind(this));this.innerPrevNext.show()}
this.setCloseButtons();this.setMenuBarDimensions()},setCloseButtons:function(){var E=this.closeDimensions.small.width,D=this.closeDimensions.large.width,G=this.closeDimensions.innertop.width,A=this.scaledInnerDimensions?this.scaledInnerDimensions.width:this.innerDimensions.width,F=180,C=0,B=this.options.borderColor;if(this.view.options.topclose){B=null}else{if(!this.view.isMedia()){B="innertop";C=G}else{if(A>=F+E&&A<F+D){B="small";C=E}else{if(A>=F+D){B="large";C=D}}}}
if(C>0){this.closeWrapper.setStyle({width:C+"px"}).show()}else{this.closeWrapper.hide()}
if(B){this.closeButton.setPngBackground(this.images+"close_"+B+".png",{backgroundColor:this.options.backgroundColor})}
this.closeButtonWidth=C},startLoading:function(){this.loadingEffect=new Effect.Appear(this.loading,{duration:0.3,from:0,to:1,queue:this.queue})},stopLoading:function(){if(this.loadingEffect){Effect.Queues.get("lightview").remove(this.loadingEffect)}
new Effect.Fade(this.loading,{duration:0,queue:this.queue})},setPrevNext:function(){if(!this.view.isImage()){return}
var D=(this.options.cyclic||this.position!=0),B=(this.options.cyclic||(this.view.isGallery()&&this.getSurroundingIndexes().next!=0));this.prevButtonImage[D?"show":"hide"]();this.nextButtonImage[B?"show":"hide"]();var C=this.scaledInnerDimensions||this.innerDimensions;this.prevnext.setStyle({height:C.height+"px"});var A=((C.width/2-1)+this.border).floor();if(D){this.prevnext.insert(this.prevButton=new Element("div",{className:"lv_Button lv_PrevButton"}).setStyle({width:A+"px"}));this.prevButton.side="prev"}
if(B){this.prevnext.insert(this.nextButton=new Element("div",{className:"lv_Button lv_NextButton"}).setStyle({width:A+"px"}));this.nextButton.side="next"}
if(D||B){this.prevnext.show()}},showPrevNext:function(){if(!this.options.buttons.side.display||!this.view.isImage()){return}
this.setPrevNext();this.prevnext.show()},hidePrevNext:function(){this.prevnext.update("").hide();this.prevButtonImage.hide().setStyle({marginLeft:this.sideDimensions.width+"px"});this.nextButtonImage.hide().setStyle({marginLeft:-1*this.sideDimensions.width+"px"})},appear:function(){if(this.lightview.getStyle("opacity")!=0){return}
var A=function(){if(!Prototype.Browser.WebKit419){this.lightview.show()}
this.lightview.setOpacity(1)}.bind(this);if(this.options.overlay.display){new Effect.Appear(this.overlay,{duration:0.2,from:0,to:(this.pngOverlay?1:this.options.overlay.opacity),queue:this.queue,beforeStart:this.maxOverlay.bind(this),afterFinish:A})}else{A()}},hide:function(){if(Prototype.Browser.WebKit419){var A=$$("object#lightviewContent")[0];if(A){try{A.Stop()}catch(B){}}}
if(this.lightview.getStyle("opacity")==0){return}
this.stopSlideshow();this.prevnext.hide();this.center.hide();if(Effect.Queues.get("lightview_hide").effects.length>0){return}
Effect.Queues.get("lightview").each(function(C){C.cancel()});new Effect.Event({queue:this.queue,afterFinish:this.restoreInlineContent.bind(this)});new Effect.Opacity(this.lightview,{duration:0.2,from:1,to:0,queue:{position:"end",scope:"lightview_hide"}});new Effect.Fade(this.overlay,{duration:0.2,queue:{position:"end",scope:"lightview_hide"},afterFinish:this.afterHide.bind(this)})},afterHide:function(){if(!Prototype.Browser.WebKit419){this.lightview.hide()}else{this.lightview.setStyle({marginLeft:"-10000px",marginTop:"-10000px"})}
this.center.setOpacity(0).show();this.prevnext.update("").hide();this.media.update("").hide();this.external.update("").hide();this.disableKeyboardNavigation();this.showOverlapping();if(this.element){this.element.fire("lightview:hidden")}
this.clearContent();this.element=null;this.views=null;this.view=null;this.scaledInnerDimensions=null},setMenuBarDimensions:function(){var B={},A=this[(this.scaledInnerDimensions?"scaledI":"i")+"nnerDimensions"].width;this.menubar.setStyle({width:A+"px"});this.data.setStyle({width:A-this.closeButtonWidth-1+"px"});B=this.getHiddenDimensions(this.menubar);this.menubar.setStyle({width:"100%"});this.menuBarDimensions=this.view.options.menubar?B:{width:B.width,height:0}},restoreCenter:function(){var B=this.lightview.getDimensions();if(Prototype.Browser.IE6){this.lightview.setStyle({top:"50%",left:"50%"})}else{if(Prototype.Browser.WebKit419||Prototype.Browser.Gecko){var A=this.getViewportDimensions(),C=document.viewport.getScrollOffsets();this.lightview.setStyle({marginLeft:0,marginTop:0,left:(C[0]+(A.width/2)-(B.width/2)).floor()+"px",top:(C[1]+(A.height/2)-(B.height/2)).floor()+"px"})}else{this.lightview.setStyle({position:"fixed",left:"50%",top:"50%",marginLeft:(0-B.width/2).round()+"px",marginTop:(0-B.height/2).round()+"px"})}}},startSlideshow:function(){this.stopSlideshow();this.sliding=true;this.next.bind(this).delay(0.25);this.slideshowButton.setPngBackground(this.images+"inner_slideshow_stop.png",{backgroundColor:this.options.backgroundColor}).hide()},stopSlideshow:function(){if(this.sliding){this.sliding=false}
if(this.slideTimer){clearTimeout(this.slideTimer)}
this.slideshowButton.setPngBackground(this.images+"inner_slideshow_play.png",{backgroundColor:this.options.backgroundColor})},toggleSlideshow:function(){this[(this.sliding?"stop":"start")+"Slideshow"]()},nextSlide:function(){if(this.sliding){this.slideTimer=this.next.bind(this).delay(this.options.slideshowDelay)}},updateViews:function(){this.sets=[];var A=$$("a[class~=lightview]");A.each(function(B){B.stopObserving();new Lightview.View(B);B.observe("click",this.show.curry(B).wrap(function(E,D){D.stop();E(D)}).bindAsEventListener(this));if(B._view.isImage()){if(this.options.preloadHover){B.observe("mouseover",this.preloadImageHover.bind(this,B._view))}
var C=A.partition(function(D){return D.rel==B.rel});if(C[0].length){this.sets.push({rel:B._view.rel,elements:C[0]});A=C[1]}}}.bind(this))},getSet:function(A){return this.sets.find(function(B){return B.rel==A})},getViews:function(A){return this.getSet(A).elements.pluck("_view")},addObservers:function(){$(document.body).observe("click",this.delegateClose.bindAsEventListener(this));$w("mouseover mouseout").each(function(C){this.prevnext.observe(C,function(D){var E=D.findElement("div");if(!E){return}
if(this.prevButton&&this.prevButton==E||this.nextButton&&this.nextButton==E){this.toggleSideButton(D)}}.bindAsEventListener(this))}.bind(this));this.prevnext.observe("click",function(D){var E=D.findElement("div");if(!E){return}
var C=(this.prevButton&&this.prevButton==E)?"previous":(this.nextButton&&this.nextButton==E)?"next":null;if(C){this[C].wrap(function(G,F){this.stopSlideshow();G(F)}).bind(this)()}}.bindAsEventListener(this));$w("prev next").each(function(F){var E=F.capitalize(),C=function(H,G){this.stopSlideshow();H(G)},D=function(I,H){var G=H.element().prevnext;if((G=="prev"&&(this.options.cyclic||this.position!=0))||(G=="next"&&(this.options.cyclic||(this.view.isGallery()&&this.getSurroundingIndexes().next!=0)))){I(H)}};this[F+"ButtonImage"].observe("mouseover",this.toggleSideButton.bindAsEventListener(this)).observe("mouseout",this.toggleSideButton.bindAsEventListener(this)).observe("click",this[F=="next"?F:"previous"].wrap(C).bindAsEventListener(this));this["inner"+E+"Button"].observe("click",this[F=="next"?F:"previous"].wrap(D).bindAsEventListener(this)).observe("mouseover",Element.setOpacity.curry(this["inner"+E+"Button"],this.options.buttons.opacity.hover).wrap(D).bindAsEventListener(this)).observe("mouseout",Element.setOpacity.curry(this["inner"+E+"Button"],this.options.buttons.opacity.normal).wrap(D).bindAsEventListener(this))}.bind(this));var B=[this.closeButton,this.slideshowButton];if(!Prototype.Browser.WebKit419){B.each(function(C){C.observe("mouseover",Element.setOpacity.bind(this,C,this.options.buttons.opacity.hover)).observe("mouseout",Element.setOpacity.bind(this,C,this.options.buttons.opacity.normal))}.bind(this))}else{B.invoke("setOpacity",1)}
this.slideshowButton.observe("click",this.toggleSlideshow.bindAsEventListener(this));if(Prototype.Browser.WebKit419||Prototype.Browser.Gecko){var A=function(D,C){if(this.lightview.getStyle("top").charAt(0)=="-"){return}
D(C)};Event.observe(window,"scroll",this.restoreCenter.wrap(A).bindAsEventListener(this));Event.observe(window,"resize",this.restoreCenter.wrap(A).bindAsEventListener(this))}
if(Prototype.Browser.Gecko){Event.observe(window,"resize",this.maxOverlay.bindAsEventListener(this))}},getScrollDimensions:function(){var A={};$w("width height").each(function(E){var C=E.capitalize();var B=document.documentElement;A[E]=Prototype.Browser.IE?[B["offset"+C],B["scroll"+C]].max():Prototype.Browser.WebKit?document.body["scroll"+C]:B["scroll"+C]});return A},maxOverlay:function(){if(!Prototype.Browser.Gecko){return}
this.overlay.setStyle(this.pixelClone(document.viewport.getDimensions()));this.overlay.setStyle(this.pixelClone(this.getScrollDimensions()))},delegateClose:function(A){if(!this.delegateCloseElements){this.delegateCloseElements=[this.closeButton,this.topButtons,this.loadingButton,this.topcloseButton];if(this.options.overlay.close){this.delegateCloseElements.push(this.overlay)}}
if(A.target&&(this.delegateCloseElements.include(A.target))){this.hide()}},toggleSideButton:function(E){var C=E.target,B=C.side,A=this.sideDimensions.width,F=(E.type=="mouseover")?0:B=="prev"?A:-1*A,D={marginLeft:F+"px"};if(!this.sideEffect){this.sideEffect={}}
if(this.sideEffect[B]){Effect.Queues.get("lightview_side"+B).remove(this.sideEffect[B])}
this.sideEffect[B]=new Effect.Morph(this[B+"ButtonImage"],{style:D,duration:0.2,queue:{scope:"lightview_side"+B,limit:1},delay:(E.type=="mouseout"?0.1:0)})},getSurroundingIndexes:function(){if(!this.views){return}
var D=this.position,C=this.views.length;var B=(D<=0)?C-1:D-1,A=(D>=C-1)?0:D+1;return{previous:B,next:A}},createCorner:function(G,H){var F=arguments[2]||this.options,B=F.radius,E=F.border,D=new Element("canvas",{className:"cornerCanvas"+H.capitalize(),width:E+"px",height:E+"px"}),A={top:(H.charAt(0)=="t"),left:(H.charAt(1)=="l")};if(D&&D.getContext&&D.getContext("2d")){G.insert(D);var C=D.getContext("2d");C.fillStyle=F.backgroundColor;C.arc((A.left?B:E-B),(A.top?B:E-B),B,0,Math.PI*2,true);C.fill();C.fillRect((A.left?B:0),0,E-B,E);C.fillRect(0,(A.top?B:0),E,E-B)}else{G.insert(new Element("div").setStyle({width:E+"px",height:E+"px",margin:0,padding:0,display:"block",position:"relative",overflow:"hidden"}).insert(new Element("v:roundrect",{fillcolor:F.backgroundColor,strokeWeight:"1px",strokeColor:F.backgroundColor,arcSize:(B/E*0.5).toFixed(2)}).setStyle({width:2*E-1+"px",height:2*E-1+"px",position:"absolute",left:(A.left?0:(-1*E))+"px",top:(A.top?0:(-1*E))+"px"})))}},hideOverlapping:function(){if(this.preventingOverlap){return}
this.overlappingElements=$$("select","embed","object");this.overlappingVisibility=this.overlappingElements.map(function(A){return A.getStyle("visibility")});this.overlappingElements.invoke("setStyle","visibility:hidden");this.preventingOverlap=true},showOverlapping:function(){this.overlappingElements.each(function(B,A){B.setStyle("visibility: "+this.overlappingVisibility[A])}.bind(this));delete this.overlappingElements;delete this.overlappingVisibility;this.preventingOverlap=false},pixelClone:function(A){var B={};Object.keys(A).each(function(C){B[C]=A[C]+"px"});return B},getInnerDimensions:function(){return{width:this.innerDimensions.width,height:this.innerDimensions.height+this.menuBarDimensions.height}},getOuterDimensions:function(){var B=this.getInnerDimensions(),A=2*this.border;return{width:B.width+A,height:B.height+A}},getBounds:function(){var C=20,A=2*this.sideDimensions.height+C,B=this.getViewportDimensions();return{width:B.width-A,height:B.height-A}},getViewportDimensions:function(){var A=document.viewport.getDimensions();if(this.controller&&this.controller.visible()){A.height-=this.controllerOffset}
return A}});Object.extend(Lightview,{enableKeyboardNavigation:function(){this.keyboardEvent=this.keyboardDown.bindAsEventListener(this);document.observe("keydown",this.keyboardEvent)},disableKeyboardNavigation:function(){if(this.keyboardEvent){document.stopObserving("keydown",this.keyboardEvent)}},keyboardDown:function(C){var B=String.fromCharCode(C.keyCode).toLowerCase(),E=C.keyCode,F=this.view.isGallery()&&!this.resizing,A=this.view.options.slideshow,D;if(this.view.isMedia()){C.stop();D=(E==Event.KEY_ESC||["x","c"].member(B))?"hide":(E==37&&F&&(this.options.cyclic||this.position!=0))?"previous":(E==39&&F&&(this.options.cyclic||this.getSurroundingIndexes().next!=0))?"next":(B=="p"&&A&&this.view.isGallery())?"startSlideshow":(B=="s"&&A&&this.view.isGallery())?"stopSlideshow":null;if(B!="s"){this.stopSlideshow()}}else{D=(E==Event.KEY_ESC)?"hide":null}
if(D){this[D]()}
if(F){if(E==Event.KEY_HOME&&this.views.first()!=this.view){this.show(this.views.first())}
if(E==Event.KEY_END&&this.views.last()!=this.view){this.show(this.views.last())}}}});Object.extend(Lightview,{preloadSurroundingImages:function(){if(this.views.length==0){return}
var A=this.getSurroundingIndexes();this.preloadFromSet([A.next,A.previous])},preloadFromSet:function(C){var A=(this.views&&this.views.member(C)||Object.isArray(C))?this.views:C.rel?this.getViews(C.rel):null;if(!A){return}
var B=$A(Object.isNumber(C)?[C]:C.type?[A.indexOf(C)]:C).uniq();B.each(function(F){var D=A[F],E=D.href;if(D.preloadedDimensions||D.isPreloading||!E){return}
var G=new Image();G.onload=function(){G.onload=Prototype.emptyFunction;D.isPreloading=null;this.setPreloadedDimensions(D,G)}.bind(this);G.src=E}.bind(this))},setPreloadedDimensions:function(A,B){A.preloadedDimensions={width:B.width,height:B.height}},preloadImageHover:function(A){if(A.preloadedDimensions||A.isPreloading){return}
this.preloadFromSet(A)}});Element.addMethods({setPngBackground:function(C,B){C=$(C);var A=Object.extend({align:"top left",repeat:"no-repeat",sizingMethod:"scale",backgroundColor:""},arguments[2]||{});C.setStyle(Prototype.Browser.IE6?{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+B+"'', sizingMethod='"+A.sizingMethod+"')"}:{background:A.backgroundColor+" url("+B+") "+A.align+" "+A.repeat});return C}});Object.extend(Lightview,{detectType:function(A){var B;$w("flash image iframe quicktime").each(function(C){if(new RegExp("\\.("+this.typeExtensions[C].replace(/\s+/g,"|")+")(\\?.*)?","i").test(A)){B=C}}.bind(this));if(B){return B}
if(A.startsWith("#")){return"inline"}
if(document.domain&&document.domain!=(A).replace(/(^.*\/\/)|(:.*)|(\/.*)/g,"")){return"iframe"}
return"image"},detectExtension:function(A){var B=A.gsub(/\?.*/,"").match(/\.([^.]{3,4})$/);return B?B[1]:null},createHTML:function(B){var C="<"+B.tag;for(var A in B){if(!["children","html","tag"].member(A)){C+=" "+A+'="'+B[A]+'"'}}
if(new RegExp("^(?:area|base|basefont|br|col|frame|hr|img|input|link|isindex|meta|param|range|spacer|wbr)$","i").test(B.tag)){C+="/>"}else{C+=">";if(B.children){B.children.each(function(D){C+=this.createHTML(D)}.bind(this))}
if(B.html){C+=B.html}
C+="</"+B.tag+">"}
return C}});(function(){document.observe("dom:loaded",function(){var B=(navigator.plugins&&navigator.plugins.length),A=function(D){var C=false;if(B){C=($A(navigator.plugins).pluck("name").join(",").indexOf(D)>=0)}else{try{C=new ActiveXObject(D)}catch(E){}}
return!!C};window.Lightview.Plugin=(B)?{flash:A("Shockwave Flash"),quicktime:A("QuickTime")}:{flash:A("ShockwaveFlash.ShockwaveFlash"),quicktime:A("QuickTime.QuickTime")}})})();Lightview.View=Class.create({initialize:function(b){var T=this;document.observe("lightview:opened",function(event){T.bizzyLikeHell=false;});var c=Object.isElement(b);if(c&&!b._view){b._view=this;if(b.title){b._view._title=b.title;if(Lightview.options.removeTitles){b.title=""}}}
this.href=c?b.getAttribute("href"):b.href;if(this.href.indexOf("#")>=0){this.href=this.href.substr(this.href.indexOf("#"))}
if(b.rel&&b.rel.startsWith("gallery")){this.type="gallery";this.rel=b.rel}else{if(b.rel){this.type=b.rel;this.rel=b.rel}else{this.type=Lightview.detectType(this.href);this.rel=this.type}}
$w("ajax flash gallery iframe image inline quicktime external media").each(function(a){var T=a.capitalize(),t=a.toLowerCase();if("image gallery media external".indexOf(a)<0){this["is"+T]=function(){return this.type==t}.bind(this)}}.bind(this));if(c&&b._view._title){var d=b._view._title.split(Lightview.options.titleSplit).invoke("strip");if(d[0]){this.title=d[0]}
if(d[1]){this.caption=d[1]}
var e=d[2];this.options=(e&&Object.isString(e))?eval("({"+e+"})"):{}}else{this.title=b.title;this.caption=b.caption;this.options=b.options||{}}
if(this.options.ajaxOptions){this.options.ajax=Object.clone(this.options.ajaxOptions);delete this.options.ajaxOptions}},isGallery:function(){return this.type.startsWith("gallery")},isImage:function(){return(this.isGallery()||this.type=="image")},isExternal:function(){return"iframe inline ajax".indexOf(this.type)>=0},isMedia:function(){return!this.isExternal()}});Lightview.load();Lightview._counter=0;document.observe("dom:loaded",Lightview.start.bind(Lightview));Object.extend(Lightview,{forceResize:function(){if(Lightview.view){Lightview.innerDimensions=Lightview.getHiddenDimensions(this.external);Lightview.resizeWithinViewport(this);}}});
