var slSlide={'handleKeyEvent':false,'slideShowOn':false,'slideShowTimer':null,'precache':true,'MINIMUM_MARGIN':120,'galeria':undefined,'baseurl':undefined,'slDivTag':undefined,'slImgTag':undefined,'slLegendTag':undefined,'currItemIndex':undefined,'_canClose':true,'_windowLoad':false,'_openedWhileWindowLoading':true,'init':function(seletorGaleria,baseurl){var galeria;if(seletorGaleria===undefined){alert('Gallery selector not informed.');}
if(baseurl===undefined){alert('Base Url not informed.');}
if(typeof seletorGaleria==='function'){galeria=seletorGaleria();}
else
{galeria=jQuery(seletorGaleria);}
if(galeria.jquery===undefined){galeria=jQuery(galeria);}
slSlide.initSlideContainer();slSlide.galeria=galeria;slSlide.baseurl=baseurl;galeria.click(slSlide.openImage);jQuery(document).keyup(slSlide.keyEventHandler);jQuery('.sln_a_close, .sl_over').click(slSlide.closeImageSlide);slSlide.slDivTag.find('.sln_a_prev').click(slSlide.previousImage);slSlide.slDivTag.find('.sln_a_next').click(slSlide.nextImage);slSlide.slDivTag.find('.sln_a_slide').click(slSlide.toogleSlide);jQuery(window).load(function(){slSlide._windowLoad=true;});},'initSlideContainer':function(){var html='<div class="sl_div" style="display:none">';html+='<div class="sl_img"></div>';html+='<p class="sl_legend"></p>';html+='<div class="clear"></div>';html+='<div class="sl_nav">';html+='<a href="javascript:;" title="" target="_self" class="sln_a sln_a_close">Close</a>';html+='<a href="javascript:;" title="" target="_self" class="sln_a sln_a_nav sln_a_next">Next</a>';html+='<a href="javascript:;" title="" target="_self" class="sln_a sln_a_nav sln_a_prev">Prev</a>';html+='<a href="javascript:;" title="" target="_self" class="sln_a sln_a_slide">Slide</a>';html+='</div>';html+='</div>';html+='<div class="sl_over" style="display:none"></div>';$('body').append(html);slSlide.slDivTag=jQuery('.sl_div');slSlide.slDivoverTag=jQuery('.sl_over');slSlide.slLegendTag=jQuery('.sl_legend');},'showImageSlide':function(){var index;if(slSlide.slideShowOn==true){clearTimeout(slSlide.slideShowTimer);}
slSlide.slDivTag.show();slSlide.slDivTag.addClass('sl_load');slSlide.slDivoverTag.show();slSlide.slDivTag.find('.sl_nav').css({'opacity':0});slSlide.slDivTag.find('.sl_legenda').hide();slSlide.slDivTag.find('.sl_img').empty().html('<img />');slSlide.slImgTag=slSlide.slDivTag.find('.sl_img img');slSlide.slImgTag.css({'visibility':'hidden','opacity':0});slSlide.handleKeyEvent=true;index=slSlide.galeria.index(this);if(index!==-1){slSlide.showImage(index);}},'closeImageSlide':function(){if(slSlide._canClose){if(slSlide._openedWhileWindowLoading){$('html, body').stop().animate({scrollTop:slSlide.getTopPosition.call(slSlide.galeria[slSlide.currItemIndex])},300);}
slSlide.slDivTag.css('display','none').hide();slSlide.slDivoverTag.css('display','none').hide();slSlide.handleKeyEvent=false;slSlide.slideShowOn=false;clearTimeout(slSlide.slideShowTimer);window.location.href='#_';}},'previousImage':function(){if(typeof slSlide._previous=='function'){slSlide._previous();}},'nextImage':function(){if(typeof slSlide._next=='function'){slSlide._next();}},'openHash':function(hash){var img;img=jQuery('a[href=#'+hash+']');if(img.length=='0')
return false;slSlide.openImage.call(img);},'updateNavigation':function(relativeToItem){var index,prevItem,nextItem,galeria;galeria=slSlide.galeria;index=galeria.index(relativeToItem);slSlide.currItemIndex=index;if(index==0){prevItem=galeria[galeria.length-1];}else{prevItem=galeria[index-1];}
if(index==galeria.length-1){nextItem=galeria[0];}else{nextItem=galeria[index+1];}
slSlide._previous=function(){slSlide.openImage.call(prevItem);};slSlide._next=function(){slSlide.openImage.call(nextItem);};window.location.href=slSlide.getHash.call(relativeToItem);if(slSlide.precache&&slSlide._windowLoad){jQuery('<img src="'+slSlide.getImageURL(prevItem)+'" />');jQuery('<img src="'+slSlide.getImageURL(nextItem)+'" />');}},'getImageName':function(button){return jQuery(button).attr('rel');},'getImageURL':function(button){var link,rel;imgname=jQuery(button).attr('rel');link=slSlide.baseurl+imgname;if(jQuery.browser.msie){link=slSlide.baseurl+imgname+'?'+Math.random();}
return link;},'getHash':function(){return jQuery(this).attr('href');},'getTopPosition':function(){return jQuery(this).offset()['top'];},'getTopPositionAndSetHash':function(){var el=jQuery(this);jQuery('*[href="#_"]').detach();el.before('<a href="#_" />')
return el.offset()['top'];},'openImage':function(){var rel,link,data={};slSlide._openedWhileWindowLoading=!slSlide._windowLoad;link=slSlide.getImageURL(this);slSlide.showImageSlide();slSlide.updateNavigation(this);if(slSlide.slideShowOn==true){clearTimeout(slSlide.slideShowTimer);}
data['top']=slSlide.getTopPosition.call(this);slSlide.slImgTag.attr('src',link).one('load',function(){slSlide._canClose=false;if(slSlide.slDivTag.css('display')!='none')
slSlide.showImage(data)});},'showImage':function(data){var legendaHeight,imgWidth,imgHeight,slDivPaddingLeft,slDivPaddingRight,slDivPaddingTop,slDivPaddingBottom,left,top,marginTop=0,css,d,deferreds=[];var $window=jQuery(window);slSlide.slDivTag.removeClass('sl_load');if(data['legend']!=''){slSlide.slLegendTag.html(data['legend']);slSlide.slLegendTag.fadeIn(400);legendaHeight=slSlide.slLegendTag.outerHeight();}else{legendaHeight=0;}
imgWidth=slSlide.slImgTag[0].naturalWidth;if(imgWidth===undefined){imgWidth=slSlide.slImgTag.width();}
imgWidth=parseInt(imgWidth);imgHeight=slSlide.slImgTag[0].naturalHeight;if(imgHeight===undefined){imgHeight=slSlide.slImgTag.height();}
imgHeight=parseInt(imgHeight);winWidth=parseInt($window.width())
winHeight=parseInt($window.height())
slDivPaddingLeft=parseInt(slSlide.slDivTag.css('padding-left'));slDivPaddingRight=parseInt(slSlide.slDivTag.css('padding-right'));slDivPaddingTop=parseInt(slSlide.slDivTag.css('padding-top'));slDivPaddingBottom=parseInt(slSlide.slDivTag.css('padding-bottom'));if(imgWidth+((slSlide.slDivTag.find('.sl_nav').outerWidth()+5)*2)>=winWidth)
{var newWidth,newHeight;newWidth=winWidth-slDivPaddingLeft-slDivPaddingRight-slSlide.MINIMUM_MARGIN;newHeight=imgHeight*newWidth/imgWidth;slSlide.slImgTag.css({'width':newWidth,'height':newHeight});imgWidth=newWidth;imgHeight=newHeight;}
left=winWidth/2-imgWidth/2;top=winHeight/2-imgHeight/2;if(imgHeight+legendaHeight>winHeight){slSlide.slDivTag.css({'position':'absolute'});marginTop='10';top=data['top'];}else{slSlide.slDivTag.css({'position':'fixed'});if(jQuery.browser.msie&&parseInt(jQuery.browser.version)==6){slSlide.slDivTag.css({'position':'absolute'});var newWidth,newHeight;newHeight=winHeight-slDivPaddingTop-slDivPaddingBottom-legendaHeight-slSlide.MINIMUM_MARGIN;newWidth=newWidth*newHeight/imgHeight;slSlide.slImgTag.css({'width':newWidth,'height':newHeight});imgWidth=newWidth;imgHeight=newHeight;}}
$('html, body').stop().animate({'scrollTop':data['top']},300);css={'width':imgWidth,'height':imgHeight,'marginLeft':0,'marginTop':marginTop,'left':left,'top':top}
deferreds[deferreds.length]=d=jQuery.Deferred();slSlide.slDivTag.find('.sl_img').animate({'width':css.width,'height':css.height},{'duration':400,'complete':d.resolve});deferreds[deferreds.length]=d=jQuery.Deferred();slSlide.slDivTag.css({'overflow':'visible'}).animate(css,{'duration':400,'complete':d.resolve});deferreds[deferreds.length]=d=jQuery.Deferred();slSlide.slImgTag.css({'visibility':'visible'}).animate({'opacity':1},{'duration':700,'complete':d.resolve});deferreds[deferreds.length]=d=jQuery.Deferred();slSlide.slDivTag.find('.sl_nav').animate({'opacity':1},{'duration':700,'complete':d.resolve});jQuery.when(deferreds).then(function(){slSlide._canClose=true;});if(slSlide.slideShowOn==true){slSlide.slideShow();}},'slideShow':function(){slSlide.slideShowOn=true;$('.sln_a_slide').addClass('sln_a_slide_on');slSlide.slideShowTimer=setTimeout(function(){slSlide.nextImage();},5000);},'toogleSlide':function(){if(slSlide.slideShowOn==true){slSlide.slideShowOn=false;clearTimeout(slSlide.slideShowTimer);$('.sln_a_slide').removeClass('sln_a_slide_on');return false;}else{slSlide.slideShow();}},'keyEventHandler':function(e){if(slSlide.handleKeyEvent===false){return;}
switch(e.which)
{case 37:slSlide.previousImage();break;case 39:slSlide.nextImage();break;case 27:slSlide.closeImageSlide();break;case 13:slSlide.startSlide();break;}}};
