/*
Licencováno pod MIT Licencí

© 2008 Seznam.cz, a.s.

Tímto se uděluje bezúplatná nevýhradní licence k oprávnění užívat Software,
časově i místně neomezená, v souladu s příslušnými ustanoveními autorského zákona.

Nabyvatel/uživatel, který obdržel kopii tohoto softwaru a další přidružené 
soubory (dále jen „software“) je oprávněn k nakládání se softwarem bez 
jakýchkoli omezení, včetně bez omezení práva software užívat, pořizovat si 
z něj kopie, měnit, sloučit, šířit, poskytovat zcela nebo zčásti třetí osobě 
(podlicence) či prodávat jeho kopie, za následujících podmínek:

- výše uvedené licenční ujednání musí být uvedeno na všech kopiích nebo 
podstatných součástech Softwaru.

- software je poskytován tak jak stojí a leží, tzn. autor neodpovídá 
za jeho vady, jakož i možné následky, ledaže věc nemá vlastnost, o níž autor 
prohlásí, že ji má, nebo kterou si nabyvatel/uživatel výslovně vymínil.



Licenced under the MIT License

Copyright (c) 2008 Seznam.cz, a.s.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/{JAK.LightBox=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox","VERSION":"2.0","IMPLEMENT":[JAK.ISignals,JAK.IComponents]});JAK.LightBox.DIR_PREV=-1;JAK.LightBox.DIR_NEXT=1;JAK.LightBox.container=null;JAK.LightBox.prototype.$constructor=function(data,optObj){this.options={"components":{"anchorage":JAK.LightBox.Anchorage,"main":JAK.LightBox.Main,"strip":JAK.LightBox.Strip,"description":JAK.LightBox.Description,"pageShader":JAK.LightBox.PageShader,"navigation":JAK.LightBox.Navigation,"transition":JAK.LightBox.Transition,"others":[]},"imagePath":"img/","imageFormat":"png","parent":false,"zIndex":false,"useShadow":false,"usePageShader":true,"shadowSizes":[16,16,16,16],"galleryId":false,"galleryClassName":"image-browser-content","galleryName":false,"handleDocumentCloseClick":true,"mainOpt":{"id":false,"className":"image-browser-image","useMouseWheelScroll":true},"stripOpt":{"id":false,"className":"image-browser-thumbs","orientation":"vertical","activeBorder":"inner","activeId":false,"activeClassName":"image-browser-active","imageBoxClassName":"image-browser-thumb-box"},"descriptionOpt":{"id":false,"className":"image-browser-caption","contentId":false,"contentClassName":"image-browser-caption-content"},"navigationOpt":{"id":false,"className":"image-browser-navigation","continuous":true,"showDisabled":false,"nextClassName":"image-browser-next","prevClassName":"image-browser-prev","closeClassName":"image-browser-close"},"transitionOpt":{},"anchorageOpt":{}};for(var p in optObj){if(optObj[p] instanceof Object&&!optObj[p].CLASS){for(var o in optObj[p]){this.options[p][o]=optObj[p][o];}}else{this.options[p]=optObj[p];}}this.dom={};this.ec=[];this.objCache=[];this.components=[];this.visible=false;this.index=0;this.direction=JAK.LightBox.DIR_NEXT;this.blindLinkName=JAK.idGenerator();this.blindLinkGlobalName="LightBoxLastBlindAnchor";this.blindStyle={"position":"absolute","top":"-1000px","left":"-1000px","width":"1px","height":"1px","overflow":"hidden"};this.data=[];for(var i=0;i<data.length;i++){var item=data[i];var o={};for(var j in item){o[j]=item[j];}if(item.main){this.index=i;}this.data.push(o);}this._buildContainer();this._renderBlindStart();this._render();for(var i=0;i<this.options.components.others.length;i++){this.addNewComponent(this.options.components.others[i]);}this.addNewComponent({"name":"dummyTransition","part":JAK.LightBox.Transition});this._renderBlindEnd();};JAK.LightBox.create=function(elm,optObj){elm=JAK.gel(elm);var data=[];var l=[];var links=elm.getElementsByTagName("a");for(var i=0;i<links.length;i++){var img=links[i].getElementsByTagName("img")[0];if(!img){continue;}data.push({"alt":img.alt,"small":{"url":img.src},"big":{"url":links[i].href}});l.push(links[i]);}var g=new JAK.LightBox(data,optObj);for(var i=0;i<l.length;i++){g.bindElement(l[i],i);}return g;};JAK.LightBox.prototype.$destructor=function(){for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}this.callChildDestructor();for(var p in this){this[p]=null;}};JAK.LightBox.prototype._addDefaultComponent=function(name,part,className){var node=part;var ok=false;while(node){if(node==className){ok=true;break;}node=node.EXTEND;}if(ok){this.addNewComponent({"part":part,"name":name});}else{alert("Bad "+name+" functionality");}};JAK.LightBox.prototype._buildContainer=function(){if(JAK.LightBox.container==null){JAK.LightBox.container=JAK.cel("div");JAK.LightBox.container.style.position="absolute";JAK.LightBox.container.style.top="-100px";JAK.LightBox.container.style.left="-100px";JAK.LightBox.container.style.overflow="hidden";JAK.LightBox.container.style.width="1px";JAK.LightBox.container.style.height="1px";var body=document.getElementsByTagName("body")[0];body.insertBefore(JAK.LightBox.container,body.firstChild);}this.dom.loadBox=JAK.cel("div");this.dom.loadBox.style.position="absolute";JAK.LightBox.container.appendChild(this.dom.loadBox);var div=JAK.cel("div",this.options.galleryClassName,this.options.galleryId);if(this.options.useShadow){var winopts={"imagePath":this.options.imagePath,"imageFormat":this.options.imageFormat,"sizes":this.options.shadowSizes};this.window=new JAK.Window(winopts);this.dom.container=this.window.container;this.dom.container.style.position="absolute";this.window.content.appendChild(div);this.dom.content=div;}else{this.dom.container=JAK.mel("div",null,{"position":"absolute"});this.dom.container.appendChild(div);this.dom.content=div;}if(this.options.zIndex){this.dom.container.style.zIndex=this.options.zIndex;}if(!this.parent){var parent=this.dom.loadBox;}else{var parent=this.parent;}parent.insertBefore(this.dom.container,parent.firstChild);};JAK.LightBox.prototype._render=function(){this._addDefaultComponent("anchorage",this.options.components.anchorage,JAK.LightBox.Anchorage);this._addDefaultComponent("transition",this.options.components.transition,JAK.LightBox.Transition);this._addDefaultComponent("main",this.options.components.main,JAK.LightBox.Main);this.dom.content.appendChild(this.main.render());if(this.options.usePageShader){this._addDefaultComponent("pageShader",this.options.components.pageShader,JAK.LightBox.PageShader);}this._addDefaultComponent("strip",this.options.components.strip,JAK.LightBox.Strip);this.dom.content.appendChild(this.strip.render());this._addDefaultComponent("description",this.options.components.description,JAK.LightBox.Description);this.dom.content.appendChild(this.description.render());this._addDefaultComponent("navigation",this.options.components.navigation,JAK.LightBox.Navigation);this.dom.content.appendChild(this.navigation.render());this.makeEvent("renderDone");};JAK.LightBox.prototype._renderBlindStart=function(){var h3=JAK.cel("h3");h3.innerHTML="Fotogalerie"+(this.options.galleryName?" "+this.options.galleryName:"");JAK.DOM.setStyle(h3,this.blindStyle);var linkAll=JAK.cel("a");linkAll.href="#"+this.blindLinkGlobalName;linkAll.innerHTML="Přeskočit všechny fotogalerie";JAK.DOM.setStyle(linkAll,this.blindStyle);var link=JAK.cel("a");link.href="#"+this.blindLinkName;link.innerHTML="Přeskočit fotogalerii";JAK.DOM.setStyle(link,this.blindStyle);if(!this.parent){this.dom.content.appendChild(linkAll);}this.dom.content.appendChild(h3);this.dom.content.appendChild(link);};JAK.LightBox.prototype._renderBlindEnd=function(){var link=JAK.cel("a");link.id=this.blindLinkName;this.dom.content.appendChild(link);var elm=JAK.gel(this.blindLinkGlobalName);if(elm){elm.parentNode.removeChild(elm);}var linkAll=JAK.cel("a");linkAll.id=this.blindLinkGlobalName;if(!this.parent){this.dom.content.appendChild(linkAll);}};JAK.LightBox.prototype._addEvents=function(){if(this.options.handleDocumentCloseClick){this.ec.push(JAK.Events.addListener(document,"mousedown",this,"_clickClose"));this.ec.push(JAK.Events.addListener(this.dom.container,"mousedown",window,JAK.Events.stopEvent));}this.ec.push(JAK.Events.addListener(window,"resize",this,"_resize"));};JAK.LightBox.prototype._removeEvents=function(){for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}this.ec=[];};JAK.LightBox.prototype.createEvent=function(sender,name){this.makeEvent(name,{"sender":sender});};JAK.LightBox.prototype._resize=function(e,elm){this.makeEvent("windowResize");};JAK.LightBox.prototype._clickClose=function(e,elm){if(e.button==JAK.Browser.mouse.left){this.close();}};JAK.LightBox.prototype.close=function(){this.makeEvent("close");this._removeEvents();this.visible=false;if(!this.parent){JAK.DOM.elementsHider(this.dom.container,false,"show");this.dom.container.parentNode.removeChild(this.dom.container);}this.makeEvent("closed");};JAK.LightBox.prototype.show=function(i){this.makeEvent("show",{"index":i});this._addEvents();this.visible=true;if(!this.parent){var body=document.getElementsByTagName("body")[0];body.insertBefore(this.dom.container,body.firstChild);this.anchorage.actualizePosition();JAK.DOM.elementsHider(this.dom.container,false,"hide");}this.go(i);this.makeEvent("showed",{"index":i});};JAK.LightBox.prototype.go=function(index){var dir=index<this.index?JAK.LightBox.DIR_PREV:JAK.LightBox.DIR_NEXT;this._go(index,dir);};JAK.LightBox.prototype._go=function(i,direction){this.direction=direction;this.makeEvent("go",{"index":i});this.main.update(i);this.strip.update(i);this.description.update(i);this.navigation.update(i);this.index=i;};JAK.LightBox.prototype.previous=function(){var i=this.index-1;if(i<0){if(this.options.navigationOpt.continuous){i=this.data.length-1;}else{return;}}this._go(i,JAK.LightBox.DIR_PREV);};JAK.LightBox.prototype.next=function(){var i=this.index+1;if(i==this.data.length){if(this.options.navigationOpt.continuous){i=0;}else{return;}}this._go(i,JAK.LightBox.DIR_NEXT);};JAK.LightBox.prototype.bindAnchors=function(elm){var links=JAK.DOM.arrayFromCollection(JAK.gel(elm).getElementsByTagName("a"));for(var i=0;i<links.length;i++){this.bindElement(links[i],i);}};JAK.LightBox.prototype.bindElement=function(elm,i){this.objCache.push(new JAK.LightBox.ImageLink(this,i,elm));};JAK.LightBox.ImageLink=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.ImageLink","VERSION":"1.0","CLASS":"class"});JAK.LightBox.ImageLink.prototype.$constructor=function(owner,index,elm){this.ec=[];this.owner=owner;this.index=index;this.elm=elm;this.ec.push(JAK.Events.addListener(this.elm,"click",this,"_show"));};JAK.LightBox.ImageLink.prototype.$destructor=function(){for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}for(var p in this){this[p]=null;}};JAK.LightBox.ImageLink.prototype._show=function(e,elm){JAK.Events.cancelDef(e);JAK.Events.stopEvent(e);this.owner.show(this.index);};JAK.LightBox.Anchorage=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Anchorage","VERSION":"1.0","CLASS":"class"});JAK.LightBox.Anchorage.prototype.$constructor=function(owner){this.owner=owner;this.options=this.owner.options.anchorageOpt;this.container=this.owner.dom.container;};JAK.LightBox.Anchorage.prototype.actualizePosition=function(){this.container.style.top="0px";this.container.style.left="0px";this.container.style.position="absolute";};JAK.LightBox.Anchorage.Fixed=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Anchorage.Fixed","VERSION":"1.0","CLASS":"class","EXTEND":JAK.LightBox.Anchorage});JAK.LightBox.Anchorage.Fixed.prototype.$constructor=function(owner){this.$super(owner);this.ec=[];this.useAbsoluteHack=false;if(JAK.Browser.client=="ie"&&JAK.Browser.version<=6){this.useAbsoluteHack=true;}this.attachEvents();};JAK.LightBox.Anchorage.Fixed.prototype.$destructor=function(){for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}for(var p in this){this[p]=null;}};JAK.LightBox.Anchorage.Fixed.prototype.attachEvents=function(){this.ec.push(JAK.Events.addListener(window,"resize",this,"actualizePosition"));if(this.useAbsoluteHack){this.ec.push(JAK.Events.addListener(window,"scroll",this,"actualizePosition"));}};JAK.LightBox.Anchorage.Fixed.prototype.actualizePosition=function(){if(this.owner.visible){this._position();}};JAK.LightBox.Anchorage.Fixed.prototype._position=function(){var portSize=JAK.DOM.getDocSize();if(this.useAbsoluteHack){var wScroll=JAK.DOM.getScrollPos();this.container.style.position="absolute";this.container.style.top=Math.round(wScroll.y+portSize.height/2-this.container.offsetHeight/2)+"px";this.container.style.left=Math.round(wScroll.x+portSize.width/2-this.container.offsetWidth/2)+"px";}else{this.container.style.position="fixed";this.container.style.top=Math.round(portSize.height/2-this.container.offsetHeight/2)+"px";this.container.style.left=Math.round(portSize.width/2-this.container.offsetWidth/2)+"px";}};JAK.LightBox.Anchorage.TopLeft=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Anchorage.TopLeft","VERSION":"1.0","CLASS":"class","EXTEND":JAK.LightBox.Anchorage});JAK.LightBox.Anchorage.TopLeft.prototype.actualizePosition=function(){this.container.style.top=this.options.top+"px";this.container.style.left=this.options.left+"px";this.container.style.position="absolute";};JAK.LightBox.Main=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Main","VERSION":"1.0","CLASS":"class","IMPLEMENT":[JAK.ISignals]});JAK.LightBox.Main.prototype.$constructor=function(owner){this.owner=owner;this.options=this.owner.options.mainOpt;this.dom={};this.ec=[];this.current=null;this.width=0;this.height=0;};JAK.LightBox.Main.prototype.$destructor=function(){for(p in this.dom){this.dom[p]=null;}for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}for(p in this){this[p]=null;}};JAK.LightBox.Main.prototype.render=function(){this.dom.mainBox=JAK.cel("div",this.options.className,this.options.id);this._attachEvents();return this.dom.mainBox;};JAK.LightBox.Main.prototype._attachEvents=function(){if(this.options.useMouseWheelScroll){this.ec.push(JAK.Events.addListener(this.dom.mainBox,"DOMMouseScroll",this,"_scroll"));this.ec.push(JAK.Events.addListener(this.dom.mainBox,"mousewheel",this,"_scroll"));}};JAK.LightBox.Main.prototype._scroll=function(e,elm){JAK.Events.cancelDef(e);var delta=e.wheelDelta||e.detail;if(JAK.Browser.client=="gecko"){delta=-delta;}if(delta>0){this.owner.previous();}else{this.owner.next();}};JAK.LightBox.Main.prototype.update=function(i){this.width=parseInt(this.dom.mainBox.clientWidth);this.height=parseInt(this.dom.mainBox.clientHeight);var imgObj=this.owner.data[i];if(imgObj.flash){this._generateFlashElm(imgObj);}else{this._generateImgElm(imgObj);}};JAK.LightBox.Main.prototype._generateFlashElm=function(img){var em=JAK.cel("embed");em.setAttribute("quality","high");em.setAttribute("pluginspage","http://www.macromedia.com/go/getflashplayer");em.setAttribute("type","application/x-shockwave-flash");em.setAttribute("width",img.width?img.width:this.width);em.setAttribute("height",img.height?img.height:this.height);em.setAttribute("allowfullscreen","true");em.setAttribute("src",img.big.url);em.setAttribute("flashvars",img.flash);em.style.visibility="hidden";this.dom.mainBox.appendChild(em);this._switchImages(em);};JAK.LightBox.Main.prototype._generateImgElm=function(img){var em=JAK.cel("img");em.style.visibility="hidden";em.src=img.big.url;this.dom.mainBox.appendChild(em);this._switchImages(em);};JAK.LightBox.Main.prototype._switchImages=function(newImg){var c=this.current;this.current=newImg;var cName=(c?c.nodeName.toLowerCase():false);var newImgName=(newImg?newImg.nodeName.toLowerCase():false);if(cName=="embed"||newImgName=="embed"){this.owner.dummyTransition.start(c,newImg);}else{this.owner.transition.start(c,newImg);}};JAK.LightBox.Main.Scaled=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Main.Scaled","VERSION":"1.0","CLASS":"class","EXTEND":JAK.LightBox.Main});JAK.LightBox.Main.Scaled.prototype._generateImgElm=function(img){var em=JAK.cel("img");em.height=this.height;em.width=this.width;em.style.visibility="hidden";em.style.position="absolute";em.src=img.big.url;this.dom.mainBox.appendChild(em);this._switchImages(em);};JAK.LightBox.Main.CenteredScaled=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Main.CenteredScaled","VERSION":"1.0","CLASS":"class","EXTEND":JAK.LightBox.Main});JAK.LightBox.Main.CenteredScaled.prototype.$constructor=function(owner){this.$super(owner);this.scaledImage=null;};JAK.LightBox.Main.CenteredScaled.prototype._generateImgElm=function(img){var em=new JAK.LightBox.ScaledImage(this,img.big.url,this.width,this.height,this.dom.mainBox);em.render();if(this.scaledImage){this.scaledImage.$destructor();this.scaledImage=null;}this.scaledImage=em;};JAK.LightBox.Main.CenteredScaled.prototype._generateFlashElm=function(img){this.$super(img);if(img.width||img.height){this.current.style.position="absolute";var w=img.width?img.width:this.width;var h=img.height?img.height:this.height;var pw=this.current.parentNode.clientWidth;var ph=this.current.parentNode.clientHeight;this.current.style.top=Math.round((ph-h)/2)+"px";this.current.style.left=Math.round((pw-w)/2)+"px";}};JAK.LightBox.Transition=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Transition","VERSION":"1.0","CLASS":"class"});JAK.LightBox.Transition.prototype.$constructor=function(owner){this.owner=owner;this.options=owner.options.transitionOpt;};JAK.LightBox.Transition.prototype.$destructor=function(){};JAK.LightBox.Transition.prototype.start=function(firstElm,secondElm){this.first=firstElm;this.second=secondElm;this._finish();};JAK.LightBox.Transition.prototype._finish=function(){this.second.style.visibility="visible";if(this.first){this.first.parentNode.removeChild(this.first);}this.first=null;this.second=null;this.owner.createEvent(this,"transitionDone");};JAK.LightBox.Transition.Fade=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Transition.Fade","VERSION":"1.0","CLASS":"class","EXTEND":JAK.LightBox.Transition});JAK.LightBox.Transition.Fade.prototype.$constructor=function(owner){this.options={"interval":400,"frequency":25,"overlap":1};this.owner=owner;for(var p in owner.options.transitionOpt){this.options[p]=owner.options.transitionOpt[p];}this.running1=false;this.running2=false;this._secondOpacity=0;this._step1=this._step1.bind(this);this._step2=this._step2.bind(this);this._finish=this._finish.bind(this);this.i1=new JAK.Interpolator(1,0,this.options.interval,this._step1,{"frequency":this.options.frequency});this.i2=new JAK.Interpolator(0,1,this.options.interval,this._step2,{"frequency":this.options.frequency,"endCallback":this._finish});};JAK.LightBox.Transition.Fade.prototype.start=function(oldElm,newElm){if(this.running1||this.running2){this.second.parentNode.removeChild(this.second);this.second=newElm;this._setOpacity(this.second,this._secondOpacity);this.second.style.visibility="visible";}else{this.first=oldElm;this.second=newElm;this._secondOpacity=0;this._setOpacity(this.second,0);this.second.style.visibility="visible";if(this.first){this.running1=true;this.i1.start();}else{this._start2();}}};JAK.LightBox.Transition.Fade.prototype._start2=function(){this.running2=true;this.i2.start();};JAK.LightBox.Transition.Fade.prototype._step1=function(value){if(!this.first){return;}this._setOpacity(this.first,value);if(!this.running2&&value<=this.options.overlap){this._start2();}};JAK.LightBox.Transition.Fade.prototype._step2=function(value){this._secondOpacity=value;this._setOpacity(this.second,value);};JAK.LightBox.Transition.Fade.prototype._finish=function(){this.running1=false;this.running2=false;this.$super();};JAK.LightBox.Transition.Fade.prototype._setOpacity=function(node,value){node.style.opacity=value;node.style.filter="alpha(opacity="+Math.round(value*100)+")";};JAK.LightBox.ScaledImage=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.ScaledImage","VERSION":"1.0","CLASS":"class"});JAK.LightBox.ScaledImage.prototype.$constructor=function(owner,src,w,h,rootElm){this.owner=owner;this.w=w;this.h=h;this.src=src;this.rootElm=rootElm;this.ec=[];this.dom={};};JAK.LightBox.ScaledImage.prototype.render=function(){this.dom.elm=JAK.cel("img");this.dom.container=JAK.mel("div",null,{"position":"absolute","left":"-1000px","top":"-1000px","width":"1px","height":"1px","overflow":"hidden"});this.ec.push(JAK.Events.addListener(this.dom.elm,"load",this,"_loaded",false,true));document.body.insertBefore(this.dom.container,document.body.firstChild);this.dom.container.appendChild(this.dom.elm);this.dom.elm.src=this.src;};JAK.LightBox.ScaledImage.prototype.$destructor=function(){for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}for(var p in this.dom){this.dom[p]=null;}for(var p in this){this[p]=null;}};JAK.LightBox.ScaledImage.prototype._loaded=function(e,elm){var w=this.dom.elm.width||this.dom.elm.naturalWidth||0;var h=this.dom.elm.height||this.dom.elm.naturalHeight||0;var ratio_w=w/this.w;var ratio_h=h/this.h;var max=Math.max(ratio_w,ratio_h);if(max>1){w=w/max;h=h/max;if(w&&h){this.dom.elm.width=Math.ceil(w);this.dom.elm.height=Math.ceil(h);}}var pw=this.rootElm.clientWidth;var ph=this.rootElm.clientHeight;this.dom.elm.style.position="absolute";this.dom.elm.style.visibility="hidden";this.dom.elm.style.top=Math.round((ph-h)/2)+"px";this.dom.elm.style.left=Math.round((pw-w)/2)+"px";if(this.rootElm){this.rootElm.appendChild(this.dom.elm);}if(this.dom.container){this.dom.container.parentNode.removeChild(this.dom.container);this.dom.container=false;}this.owner.owner.createEvent(this,"mainImageLoaded");this.owner._switchImages(this.dom.elm);};JAK.LightBox.PageShader=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.PageShader","VERSION":"1.0","CLASS":"class","IMPLEMENT":[JAK.ISignals]});JAK.LightBox.PageShader.prototype.$constructor=function(owner){this.owner=owner;this.dom={};this.addListener("showed","_show",this.owner);this.addListener("close","_hide",this.owner);this.addListener("windowResize","_resize",this.owner);};JAK.LightBox.PageShader.prototype.$destructor=function(){for(p in this.dom){this.dom[p]=null;}for(p in this){this[p]=null;}};JAK.LightBox.PageShader.prototype._show=function(){this.dom.root=JAK.mel("div",{"className":"image-browser-root"},{"position":"absolute","left":"0px","top":"0px"});var docSize=JAK.DOM.getDocSize();var docH=document.compatMode=="BackCompat"?document.body.scrollHeight:document.body.offsetHeight;var docW=document.compatMode=="BackCompat"?document.body.scrollWidth:document.body.offsetWidth;this.dom.root.style.width=(docSize.width>docW?docSize.width:docW)+"px";this.dom.root.style.height=(docSize.height>docH?docSize.height:docH)+"px";if(this.owner.options.zIndex){this.dom.root.style.zIndex=this.owner.options.zIndex-1;}var parent=this.owner.dom.container.parentNode;var nextSibling=this.owner.dom.container.nextSibling;parent.insertBefore(this.dom.root,nextSibling);JAK.DOM.elementsHider(this.dom.root,false,"hide");};JAK.LightBox.PageShader.prototype._hide=function(){if(this.dom.root&&this.dom.root.parentNode){JAK.DOM.elementsHider(this.dom.root,false,"hide");this.dom.root.parentNode.removeChild(this.dom.root);}this.dom.root=null;};JAK.LightBox.PageShader.prototype._resize=function(){this._hide();this._show();};JAK.LightBox.Strip=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Strip","VERSION":"1.0","CLASS":"class"});JAK.LightBox.Strip.prototype.$constructor=function(owner){this.owner=owner;this.options=this.owner.options.stripOpt;this.dom={};};JAK.LightBox.Strip.prototype.$destructor=function(){for(p in this.dom){this.dom[p]=null;}for(p in this){this[p]=null;}};JAK.LightBox.Strip.prototype.render=function(){this.dom.mainBox=JAK.cel("div",this.options.className,this.options.id);return this.dom.mainBox;};JAK.LightBox.Strip.prototype.update=function(index){};JAK.LightBox.Strip.Scrollable=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Strip.Scrollable","VERSION":"1.0","CLASS":"class","EXTEND":JAK.LightBox.Strip});JAK.LightBox.Strip.Scrollable.prototype.$constructor=function(owner){this.$super(owner);this.objCache=[];this.ec=[];this.activeBorder={};};JAK.LightBox.Strip.Scrollable.prototype.$destructor=function(){for(var i=0;i<this.objCache.length;i++){this.objCache[i].$destructor();this.objCache[i]=null;}for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}this.ec=[];this.$super();};JAK.LightBox.Strip.Scrollable.prototype.render=function(){this.$super();this.owner.dom.content.appendChild(this.dom.mainBox);this.dom.mainBox.style.position="relative";this.dom.imageBox=JAK.cel("div");this.dom.mainBox.appendChild(this.dom.imageBox);this.dom.imageTable=JAK.cel("table");this.dom.imageTable.style.borderCollapse="collapse";var tbody=JAK.cel("tbody");this.dom.imageTable.appendChild(tbody);this.dom.imageBox.appendChild(this.dom.imageTable);for(var i=0;i<this.owner.data.length;i++){if(this.options.orientation=="vertical"){var tr=JAK.cel("tr");var td=JAK.cel("td");tr.appendChild(td);td.align="center";td.vAlign="middle";tbody.appendChild(tr);}else{if(i==0){var tr=JAK.cel("tr");}var td=JAK.cel("td");td.align="center";td.vAlign="middle";tr.appendChild(td);if(i==this.owner.data.length-1){tbody.appendChild(tr);}}var div=JAK.cel("div",this.options.imageBoxClassName);div.style.position="relative";td.style.padding="0px";td.appendChild(div);}var elms=JAK.DOM.arrayFromCollection(tbody.getElementsByTagName("div"));for(var i=0;i<this.owner.data.length;i++){var stripImg=new JAK.LightBox.StripImage(this.owner,this.options,this.owner.data[i],i);stripImg.render(elms[i]);this.objCache.push(stripImg);}this.dom.active=JAK.cel("div",this.options.activeClassName,this.options.activeId);this.dom.active.style.position="absolute";this.dom.mainBox.appendChild(this.dom.active);this.activeBorder.top=parseInt(JAK.DOM.getStyle(this.dom.active,"borderTopWidth"));this.activeBorder.bottom=parseInt(JAK.DOM.getStyle(this.dom.active,"borderBottomWidth"));this.activeBorder.left=parseInt(JAK.DOM.getStyle(this.dom.active,"borderLeftWidth"));this.activeBorder.right=parseInt(JAK.DOM.getStyle(this.dom.active,"borderRightWidth"));this.dom.mainBox.removeChild(this.dom.active);this._addEvents();return this.dom.mainBox;};JAK.LightBox.Strip.Scrollable.prototype._addEvents=function(){if(this.options.orientation=="horizontal"){this.ec.push(JAK.Events.addListener(this.dom.mainBox,"DOMMouseScroll",this,"_scroll"));this.ec.push(JAK.Events.addListener(this.dom.mainBox,"mousewheel",this,"_scroll"));}};JAK.LightBox.Strip.Scrollable.prototype._scroll=function(e,elm){JAK.Events.cancelDef(e);var delta=e.wheelDelta||e.detail;if(JAK.Browser.client=="gecko"){delta=-delta;}if(delta>0){this.dom.mainBox.scrollLeft-=30;}else{this.dom.mainBox.scrollLeft+=30;}};JAK.LightBox.Strip.Scrollable.prototype.update2=function(index){this.dom.active.style.position="absolute";var pos=JAK.DOM.getBoxPosition(this.objCache[index].dom.img.parentNode,this.dom.imageTable);var borderTop=parseInt(JAK.DOM.getStyle(this.dom.active,"borderTopWidth"));var borderBottom=parseInt(JAK.DOM.getStyle(this.dom.active,"borderBottomWidth"));var borderLeft=parseInt(JAK.DOM.getStyle(this.dom.active,"borderLeftWidth"));var borderRight=parseInt(JAK.DOM.getStyle(this.dom.active,"borderRightWidth"));if(this.options.activeBorder=="inner"){this.dom.active.style.top=pos.top+"px";this.dom.active.style.left=pos.left+"px";this.dom.active.style.width=(this.objCache[index].dom.img.parentNode.offsetWidth-(!isNaN(borderLeft)?borderLeft:0)-(!isNaN(borderRight)?borderRight:0))+"px";this.dom.active.style.height=(this.objCache[index].dom.img.parentNode.offsetHeight-(!isNaN(borderTop)?borderTop:0)-(!isNaN(borderBottom)?borderBottom:0))+"px";}else{this.dom.active.style.top=(pos.top-(!isNaN(borderLeft)?borderLeft:0))+"px";this.dom.active.style.left=(pos.left-(!isNaN(borderTop)?borderTop:0))+"px";this.dom.active.style.width=(this.objCache[index].dom.img.parentNode.offsetWidth)+"px";this.dom.active.style.height=(this.objCache[index].dom.img.parentNode.offsetHeight)+"px";}if(this.options.orientation=="vertical"){var a=JAK.DOM.getBoxPosition(this.objCache[index].dom.img.parentNode,this.dom.mainBox);var b=parseInt(JAK.DOM.getStyle(this.dom.mainBox,"height"))/2;var c=parseInt(JAK.DOM.getStyle(this.objCache[index].dom.img.parentNode,"height"))/2;var scroll=a.top-b+c;this.dom.mainBox.scrollTop=Math.round(scroll);}else{var a=JAK.DOM.getBoxPosition(this.objCache[index].dom.img.parentNode,this.dom.mainBox);var b=parseInt(JAK.DOM.getStyle(this.dom.mainBox,"width"))/2;var c=parseInt(JAK.DOM.getStyle(this.objCache[index].dom.img.parentNode,"width"))/2;var scroll=a.left-b+c;this.dom.mainBox.scrollLeft=Math.round(scroll);}};JAK.LightBox.Strip.Scrollable.prototype.update=function(index){if(this.options.activeBorder=="inner"){this.dom.active.style.left="0px";this.dom.active.style.top="0px";this.dom.active.style.width=(this.objCache[index].dom.img.parentNode.offsetWidth-(!isNaN(this.activeBorder.left)?this.activeBorder.left:0)-(!isNaN(this.activeBorder.right)?this.activeBorder.right:0))+"px";this.dom.active.style.height=(this.objCache[index].dom.img.parentNode.offsetHeight-(!isNaN(this.activeBorder.top)?this.activeBorder.top:0)-(!isNaN(this.activeBorder.bottom)?this.activeBorder.bottom:0))+"px";}else{this.dom.active.style.left=-(!isNaN(this.activeBorder.left)?this.activeBorder.left:0)+"px";this.dom.active.style.top=-(!isNaN(this.activeBorder.top)?this.activeBorder.top:0)+"px";this.dom.active.style.width=(this.objCache[index].dom.img.parentNode.clientWidth)+"px";this.dom.active.style.height=(this.objCache[index].dom.img.parentNode.clientHeight)+"px";}this.objCache[index].dom.img.parentNode.appendChild(this.dom.active);if(this.options.orientation=="vertical"){var a=JAK.DOM.getBoxPosition(this.objCache[index].dom.img.parentNode,this.dom.mainBox);var b=parseInt(JAK.DOM.getStyle(this.dom.mainBox,"height"))/2;var c=parseInt(JAK.DOM.getStyle(this.objCache[index].dom.img.parentNode,"height"))/2;var scroll=a.top-b+c;this.dom.mainBox.scrollTop=Math.round(scroll);}else{var a=JAK.DOM.getBoxPosition(this.objCache[index].dom.img.parentNode,this.dom.mainBox);var b=parseInt(JAK.DOM.getStyle(this.dom.mainBox,"width"))/2;var c=parseInt(JAK.DOM.getStyle(this.objCache[index].dom.img.parentNode,"width"))/2;var scroll=a.left-b+c;this.dom.mainBox.scrollLeft=Math.round(scroll);}};JAK.LightBox.StripImage=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.StripImage","VERSION":"1.0","CLASS":"class"});JAK.LightBox.StripImage.prototype.$constructor=function(mainOwner,options,data,order){this.mainOwner=mainOwner;this.data=data;this.options=options;this.order=order;this.dom={};this.ec=[];};JAK.LightBox.StripImage.prototype.$destructor=function(){for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}this.ec=[];};JAK.LightBox.StripImage.prototype.render=function(elm){this.dom.parentNode=elm;this.dom.tmpBox=JAK.mel("div",null,{"position":"absolute","top":"-100px","left":"-100px","width":"1px","height":"1px","overflow":"hidden"});var body=document.getElementsByTagName("body")[0];body.insertBefore(this.dom.tmpBox,body.firstChild);this.dom.img=JAK.cel("img");this.dom.tmpBox.appendChild(this.dom.img);this.ec.push(JAK.Events.addListener(this.dom.img,"load",this,"_loaded"));this.dom.img.src=this.data.small.url;this.dom.img.alt=this.data.alt;this.ec.push(JAK.Events.addListener(elm,"click",this,"_click"));};JAK.LightBox.StripImage.prototype._click=function(e,elm){this.mainOwner.go(this.order);};JAK.LightBox.StripImage.prototype._loaded=function(e,elm){var w=elm.width;var h=elm.height;this.dom.img.style.display="none";this.dom.parentNode.appendChild(this.dom.img);this.dom.tmpBox.parentNode.removeChild(this.dom.tmpBox);this.dom.tmpBox=null;var boxW=parseInt(this.dom.img.parentNode.clientWidth);var boxH=parseInt(this.dom.img.parentNode.clientHeight);var ratio_w=w/boxW;var ratio_h=h/boxH;var max=Math.max(ratio_w,ratio_h);if(max>1){w=Math.floor(w/max);h=Math.floor(h/max);if(w&&h){this.dom.img.width=w;this.dom.img.height=h;}}var ph=this.dom.parentNode.clientHeight;this.dom.img.style.marginTop=Math.round((ph-h)/2)+"px";this.dom.img.parentNode.textAlign="center";this.dom.img.style.display="";};JAK.LightBox.Description=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Description","VERSION":"1.0","CLASS":"class"});JAK.LightBox.Description.prototype.$constructor=function(owner){this.owner=owner;this.options=owner.options.descriptionOpt;this.dom={};};JAK.LightBox.Description.prototype.$destructor=function(){for(var p in this.dom){this.dom[p]=null;}for(var p in this){this[p]=null;}};JAK.LightBox.Description.prototype.render=function(){this.dom.box=JAK.cel("div",this.options.className,this.options.id);return this.dom.box;};JAK.LightBox.Description.prototype.update=function(index){};JAK.LightBox.Description.Basic=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Description.Basic","VERSION":"1.0","CLASS":"class","EXTEND":JAK.LightBox.Description});JAK.LightBox.Description.Basic.prototype.render=function(){this.$super();this.dom.content=JAK.cel("div",this.options.contentClassName,this.options.contentId);this.dom.box.appendChild(this.dom.content);return this.dom.box;};JAK.LightBox.Description.Basic.prototype.update=function(index){if(this.owner.data[index].description){this.dom.content.innerHTML=this.owner.data[index].description;}else{this.dom.content.innerHTML="";}};JAK.LightBox.Navigation=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Navigation","VERSION":"1.0","CLASS":"class"});JAK.LightBox.Navigation.prototype.$constructor=function(owner){this.owner=owner;this.options=owner.options.navigationOpt;this.dom={};this.ec=[];};JAK.LightBox.Navigation.prototype.$destructor=function(){for(var p in this.dom){this.dom[p]=null;}for(var i=0;i<this.ec.length;i++){JAK.Events.removeListener(this.ec[i]);}for(var p in this){this[p]=null;}};JAK.LightBox.Navigation.prototype.render=function(){return JAK.cel("div",this.options.className,this.options.id);};JAK.LightBox.Navigation.prototype.update=function(index){};JAK.LightBox.Navigation.Basic=JAK.ClassMaker.makeClass({"NAME":"JAK.LightBox.Navigation.Basic","VERSION":"1.0","CLASS":"class","EXTEND":JAK.LightBox.Navigation});JAK.LightBox.Navigation.Basic.prototype.render=function(){this.dom.next=JAK.cel("a",this.options.nextClassName,this.options.nextId);this.dom.prev=JAK.cel("a",this.options.prevClassName,this.options.prevId);this.dom.nextDisabled=JAK.cel("a",this.options.nextClassName+"-disabled",this.options.nextId?this.options.nextId+"-disabled":false);this.dom.prevDisabled=JAK.cel("a",this.options.prevClassName+"-disabled",this.options.prevId?this.options.prevId+"-disabled":false);this.dom.close=JAK.cel("a",this.options.closeClassName,this.options.closeId);this.dom.next.href="#";this.dom.prev.href="#";this.dom.nextDisabled.href="#";this.dom.prevDisabled.href="#";this.dom.close.href="#";this.dom.nextPreload=JAK.mel("div",{"id":this.options.nextId?this.options.nextId+"-preload":false,"className":this.options.nextClassName+"-preload"},{"position":"absolute","visibility":"hidden","height":"1px","width":"1px"});this.dom.nextDisabledPreload=JAK.mel("div",{"id":this.options.nextId?this.options.nextId+"-disabled-preload":false,"className":this.options.nextClassName+"-disabled-preload"},{"position":"absolute","visibility":"hidden","height":"1px","width":"1px"});this.dom.prevPreload=JAK.mel("div",{"id":this.options.prevId?this.options.prevId+"-preload":false,"className":this.options.prevClassName+"-preload"},{"position":"absolute","visibility":"hidden","height":"1px","width":"1px"});this.dom.prevDisabledPreload=JAK.mel("div",{"id":this.options.prevId?this.options.prevId+"-disabled-preload":false,"className":this.options.prevClassName+"-disabled-preload"},{"position":"absolute","visibility":"hidden","height":"1px","width":"1px"});this.dom.closePreload=JAK.mel("div",{"id":this.options.closeId?this.options.closeId+"-preload":false,"className":this.options.closeClassName+"-preload"},{"position":"absolute","visibility":"hidden","height":"1px","width":"1px"});this._addEvents();var div=JAK.cel("div",this.options.className,this.options.id);JAK.DOM.append([div,this.dom.next,this.dom.nextDisabled,this.dom.prev,this.dom.prevDisabled,this.dom.close]);JAK.DOM.append([div,this.dom.nextPreload,this.dom.nextDisabledPreload,this.dom.prevPreload,this.dom.prevDisabledPreload,this.dom.closePreload]);return div;};JAK.LightBox.Navigation.Basic.prototype._addEvents=function(){this.ec.push(JAK.Events.addListener(this.dom.next,"click",this,"_next"));this.ec.push(JAK.Events.addListener(this.dom.prev,"click",this,"_previous"));this.ec.push(JAK.Events.addListener(this.dom.close,"click",this,"_close"));this.ec.push(JAK.Events.addListener(document,"keydown",this,"_closeKey"));this.ec.push(JAK.Events.addListener(this.dom.nextDisabled,"click",this,"_disabled"));this.ec.push(JAK.Events.addListener(this.dom.prevDisabled,"click",this,"_disabled"));};JAK.LightBox.Navigation.Basic.prototype._disabled=function(e,elm){elm.blur();JAK.Events.cancelDef(e);};JAK.LightBox.Navigation.Basic.prototype._close=function(e,elm){elm.blur();JAK.Events.cancelDef(e);JAK.Events.stopEvent(e);this.owner.close();};JAK.LightBox.Navigation.Basic.prototype._next=function(e,elm){elm.blur();JAK.Events.cancelDef(e);this.owner.next();};JAK.LightBox.Navigation.Basic.prototype._previous=function(e,elm){elm.blur();JAK.Events.cancelDef(e);this.owner.previous();};JAK.LightBox.Navigation.Basic.prototype._closeKey=function(e,elm){if(e.keyCode==27){this.owner.close();}};JAK.LightBox.Navigation.Basic.prototype.update=function(index){if(!this.options.continuous){this.dom.prev.style.display="";this.dom.next.style.display="";this.dom.prevDisabled.style.display="none";this.dom.nextDisabled.style.display="none";if(index==0){this.dom.prev.style.display="none";if(this.options.showDisabled){this.dom.prevDisabled.style.display="";}}if(index==this.owner.data.length-1){this.dom.next.style.display="none";if(this.options.showDisabled){this.dom.nextDisabled.style.display="";}}}else{this.dom.prevDisabled.style.display="none";this.dom.nextDisabled.style.display="none";this.dom.prev.style.display="";this.dom.next.style.display="";}};}

