var mlgallery_View=new Class({options:{loading_html:'<p><img src="mlgallery/img/spinner_large.gif"></p>',content_html:'<div id="gallery_view_img"></div><div id="gallery_view_navigator"></div>',navigator_html:'<a href="#" id="gallery_nav_prev">&lt;&lt;</a><a href="#" id="gallery_nav_close">zamknij</a><a href="#" id="gallery_nav_next">&gt;&gt;</a>'},initialize:function(files,options){this.setOptions(options);if($type(files)=='array')this.setFiles(files);this.image_dlg=new mui_simpleDialog('gallery_view').setHTML(this.options.content_html);$('gallery_view_navigator').setHTML(this.options.navigator_html).setStyle('display','none');this.image_dlg.dlg.removeClass('mui_simple_dialog').addClass('gallery_view_dlg').setStyles({display:'none'}).injectInside(document.body);this.image_view=new mui_imgView();this.image_view.addEvent('load',this.onImgLoad);this.fx=new Fx.Styles(this.image_dlg.dlg,{duration:600,fps:20,transition:Fx.Transitions.Expo.easeOut});this.fx.inst=this;this.image_view.inst=this;$('gallery_nav_close').addEvent('click',this.close).inst=this;$('gallery_nav_next').addEvent('click',this.next).inst=this;$('gallery_nav_prev').addEvent('click',this.prev).inst=this;},setFiles:function(files){this.files=files;},onImgLoad:function(){var inst=this.inst;var w=inst.image_dlg.dlg.getSize().size.x;var h=inst.image_dlg.dlg.getSize().size.y;inst.image_dlg.dlg.setStyles({width:w,height:h});var ws=window.getSize();w=inst.image_view.img.width;h=inst.image_view.img.height+35;var l=(ws.size.x-w)/2;var t=(ws.size.y-h)/2;l=l.round()+ws.scroll.x;t=t.round()+ws.scroll.y;$('gallery_view_img').empty();inst.image_view.img.setStyles({'opacity':0.05,'cursor':'pointer','display':'none'});inst.image_view.img.injectInside($('gallery_view_img'));inst.image_view.img.addEvent('click',inst.close);inst.image_view.img.inst=inst;inst.fx.start({top:t,height:h}).chain(function(){this.start.delay(200,this,{left:l,width:w});}).chain(function(){this.inst.image_view.img.setStyle('display','block');this.inst.image_view.img.effect('opacity').start(1);$('gallery_view_navigator').show();});},view:function(file){this.image_dlg.dlg.setStyles({width:'auto',height:'auto'});$('gallery_view_img').setHTML(this.options.loading_html);$('gallery_view_navigator').hide();this.image_dlg.showModal();var ws=window.getSize();this.image_view.options.width=ws.size.x-50;this.image_view.options.height=ws.size.y-100;var i=this.files.indexOf(file);if(i==-1)i=0;this.jumpTo(i);},jumpTo:function(idx){$('gallery_view_navigator').hide();$('gallery_view_img').setHTML(this.options.loading_html);this.image_view.load(this.files[idx]);this.current=idx;},next:function(){var inst=this.inst;inst.image_view.img.effect('opacity',{duration:400}).addEvent('onComplete',function(){inst.current++;if(inst.current>inst.files.length-1)inst.current=0;inst.jumpTo(inst.current);}).start(0);},prev:function(){var inst=this.inst;inst.image_view.img.effect('opacity',{duration:400}).addEvent('onComplete',function(){inst.current--;if(inst.current==-1)inst.current=inst.files.length-1;inst.jumpTo(inst.current);}).start(0);},close:function(){var inst=this.inst;inst.image_view.img.effect('opacity').addEvent('onComplete',function(){inst.image_dlg.hide();}).start(0);}});mlgallery_View.implement(new Options);
