/**
 * jquery functions for mini gallery
 * version: 0.9.1 - 07/08/2009
 * author: Sergio Pachini
 * support site: http://mini-gallery.ru
 * contacts: sergio@pachini.ru
 **/
$(document).ready(function(){$("a[rel*=about]").click(function(){show_about()});$("#whops").hide();get_cat_list();parse_anchor()});var aboutTxt=1;function parse_anchor(){var a=document.location.toString();if(a.match("#")){if(a.split("#")[1]=="about"){show_about()}else{$("#about").hide();var b="123_"+a.split("#")[1];get_img_list("123_"+a.split("#")[1],"0")}}}function get_cat_list(){loading_text='<div id="loading_catlist" style="margin:20px 0 0 15px">загружаем категории...</div>';$(".dropmenu").hide();$(loading_text).appendTo(".top");$.getJSON("ajax/callback.php",{list:"yes"},function(a){$.each(a.gallerys,function(b,c){catSplit=c.name.split("/");catParent=catSplit[0];if(catSplit[2]){catSub=catSplit[2]}else{catSub=catSplit[1]}findUl=$("li#"+catParent+" > ul").length;if(catSub){if(findUl==0){dropDown='<ul class="parent"></ul>';$(dropDown).appendTo("#"+catParent)}if(c.count!=0){catCount='<span class="count">('+c.count+")</span>"}else{catCount=""}catHtml='<li><a href="#'+c.name+'" class="nav" rel="'+c.id+"_"+c.name+'">'+catCount+" "+catSub+"</a></li>";$(catHtml).appendTo("li#"+catParent+" > ul")}else{if(c.count!=0){catLink='<a href="#'+c.name+'" class="nav" rel="'+c.id+"_"+c.name+'">'+catParent+"</a>"}else{catLink='<a href="#'+c.name+'" class="nav">'+catParent+"</a>"}catHtml='<li id="'+catParent+'" class="dropdown">'+catLink+"</li>";$(catHtml).appendTo("#main .dropmenu")}$("a[rel*="+c.id+"_"+c.name+"]").click(function(){get_img_list(c.id+"_"+c.name,"0")})});drop_menu()})}function get_img_list(a,b){aboutTxt=0;$("#about").hide();$("#imglist").addClass("loading");$("#imglist").html("");fit=false;$.getJSON("ajax/callback.php",{category:a,page:b},function(c){if(c){$.each(c.support,function(e,d){oLoction=d.olocation;tLocation=d.tlocation;dimensions=d.style;if(d.fittoscreen=="yes"){fit=true}else{fit=false}});i=0;i++;$.each(c.photos,function(d,e){list='<div class="box" style="'+dimensions+'"><div id="photo_'+d+'" class="imgload">';list+='<a href="'+oLoction+""+e.img+'" rel="lightbox" class="photo_'+d+'"></a>';list+="</div></div>";$(list).appendTo("#imglist");thumb=""+tLocation+""+e.thumb+"";loadImg(thumb,d)});$.each(c.paginator,function(d,e){if(e.prev!=""){ppage='<span class="prev">&larr; назад </span>'}else{ppage=""}if(e.next!=""){npage='<span class="next">ещё &rarr;</span>'}else{npage=""}pHtml='<div id="paginator">'+ppage+" "+npage+"</div>";$(pHtml).appendTo("#imglist");$(".prev").click(function(){get_img_list(a,e.prev)});$(".next").click(function(){get_img_list(a,e.next)})});$("a[rel*=lightbox]").lightbox({fitToScreen:fit})}if(!c){$("#imglist").html("")}$("#imglist").removeClass("loading")})}function loadImg(b,a){img=new Image();$(img).load(function(){$(this).css({display:"none",opacity:0.7});$("#photo_"+a).removeClass("imgload");$("a.photo_"+a).append(this);$(this).fadeIn("slow")}).error(function(){$("a.photo_"+a).remove()}).attr("src",b);$(img).hover(function(){$(this).stop().animate({opacity:1},400)},function(){$(this).stop().animate({opacity:0.7},900)})}function drop_menu(){$("li.dropdown").hover(function(){$(this).addClass("hover");$("ul",this).slideDown("normal").click(function(){$(this).removeClass("hover");$(this).hide()})},function(){$(this).removeClass("hover");$("ul",this).slideUp("normal")});$("li.dropdown > ul").hide();$("#loading_catlist").remove();$(".dropmenu").fadeIn(1400);$(".top").removeClass("catlistload")}function show_about(){if(aboutTxt==0){$("#imglist").fadeOut("slow",function(){$(this).html("")});$("#about").fadeIn("slow");aboutTxt=1}};



/**
 * jquery Lightbox
 * Version 0.5 - 11/29/2007
 * @author Warren Krewenki
 *
 * This package is distributed under the BSD license.
 * For full license information, see LICENSE.TXT
 *
 * Based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * Originally written to make use of the Prototype framework, and Script.acalo.us, now altered to use jQuery.
 **/
(function(a){a.fn.lightbox=function(h){var s=a.extend({},a.fn.lightbox.defaults,h);return this.each(function(){a(this).click(function(){e();n(this);return false})});function e(){a("#overlay").remove();a("#lightbox").remove();s.inprogress=false;if(s.jsonData&&s.jsonData.length>0){var y=s.jsonDataParser?s.jsonDataParser:a.fn.lightbox.parseJsonData;s.imageArray=[];s.imageArray=y(s.jsonData)}var v='<div id="outerImageContainer"><div id="imageContainer"><iframe id="lightboxIframe" /><img id="lightboxImage"><div id="hoverNav"><a href="javascript://" title="'+s.strings.prevLinkTitle+'" id="prevLink"></a><a href="javascript://" id="nextLink" title="'+s.strings.nextLinkTitle+'"></a></div><div id="loading"><a href="javascript://" id="loadingLink"><img src="'+s.fileLoadingImage+'"></a></div></div></div>';var x='<div id="imageDataContainer" class="clearfix"><div id="imageData"><div id="imageDetails"><span id="caption"></span><span id="numberDisplay"></span></div><div id="bottomNav">';if(s.displayHelp){x+='<span id="helpDisplay">'+s.strings.help+"</span>"}x+='<a href="javascript://" id="bottomNavClose" title="'+s.strings.closeTitle+'"><img src="'+s.fileBottomNavCloseImage+'"></a></div></div></div>';var w;if(s.navbarOnTop){w='<div id="overlay"></div><div id="lightbox">'+x+v+"</div>";a("body").append(w);a("#imageDataContainer").addClass("ontop")}else{w='<div id="overlay"></div><div id="lightbox">'+v+x+"</div>";a("body").append(w)}a("#overlay").click(function(){l()}).hide();a("#lightbox").click(function(){l()}).hide();a("#loadingLink").click(function(){l();return false});a("#bottomNavClose").click(function(){l();return false});a("#outerImageContainer").width(s.widthCurrent).height(s.heightCurrent);a("#imageDataContainer").width(s.widthCurrent);if(!s.imageClickClose){a("#lightboxImage").click(function(){return false});a("#hoverNav").click(function(){return false})}}function u(){var v=new Array(a(document).width(),a(document).height(),a(window).width(),a(window).height());return v}function g(){var x,v;if(self.pageYOffset){v=self.pageYOffset;x=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){v=document.documentElement.scrollTop;x=document.documentElement.scrollLeft}else{if(document.body){v=document.body.scrollTop;x=document.body.scrollLeft}}}var w=new Array(x,v);return w}function o(x){var w=new Date();var v=null;do{v=new Date()}while(v-w<x)}function n(z){a("select, embed, object").hide();var w=u();a("#overlay").hide().css({width:"100%",height:w[1]+"px",opacity:s.overlayOpacity}).fadeIn();imageNum=0;if(!s.jsonData){s.imageArray=[];if(!z.rel||(z.rel=="")){s.imageArray.push(new Array(z.href,s.displayTitle?z.title:""))}else{a("a").each(function(){if(this.href&&(this.rel==z.rel)){s.imageArray.push(new Array(this.href,s.displayTitle?this.title:""))}})}}if(s.imageArray.length>1){for(i=0;i<s.imageArray.length;i++){for(j=s.imageArray.length-1;j>i;j--){if(s.imageArray[i][0]==s.imageArray[j][0]){s.imageArray.splice(j,1)}}}while(s.imageArray[imageNum][0]!=z.href){imageNum++}}var v=g();var y=v[1]+(w[3]/10);var x=v[0];a("#lightbox").css({top:y+"px",left:x+"px"}).show();if(!s.slideNavBar){a("#imageData").hide()}t(imageNum)}function t(v){if(s.inprogress==false){s.inprogress=true;s.activeImage=v;a("#loading").show();a("#lightboxImage").hide();a("#hoverNav").hide();a("#prevLink").hide();a("#nextLink").hide();if(s.slideNavBar){a("#imageDataContainer").hide();a("#imageData").hide();k()}else{k()}}}function k(){imgPreloader=new Image();imgPreloader.onload=function(){var A=imgPreloader.width;var v=imgPreloader.height;if(s.fitToScreen){var x=u();var z;var w=x[2]-2*s.borderSize;var B=x[3]-200;var y=w/B;var C=imgPreloader.width/imgPreloader.height;if((imgPreloader.height>B)||(imgPreloader.width>w)){if(y>C){A=parseInt((B/imgPreloader.height)*imgPreloader.width);v=B}else{v=parseInt((w/imgPreloader.width)*imgPreloader.height);A=w}}}a("#lightboxImage").attr("src",s.imageArray[s.activeImage][0]).width(A).height(v);m(A,v)};imgPreloader.src=s.imageArray[s.activeImage][0]}function l(){p();a("#lightbox").hide();a("#overlay").fadeOut();a("select, object, embed").show()}function f(){if(s.loopImages&&s.imageArray.length>1){preloadNextImage=new Image();preloadNextImage.src=s.imageArray[(s.activeImage==(s.imageArray.length-1))?0:s.activeImage+1][0];preloadPrevImage=new Image();preloadPrevImage.src=s.imageArray[(s.activeImage==0)?(s.imageArray.length-1):s.activeImage-1][0]}else{if((s.imageArray.length-1)>s.activeImage){preloadNextImage=new Image();preloadNextImage.src=s.imageArray[s.activeImage+1][0]}if(s.activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=s.imageArray[s.activeImage-1][0]}}}function m(y,w){s.widthCurrent=a("#outerImageContainer").outerWidth();s.heightCurrent=a("#outerImageContainer").outerHeight();var v=Math.max(350,y+(s.borderSize*2));var x=(w+(s.borderSize*2));s.xScale=(v/s.widthCurrent)*100;s.yScale=(x/s.heightCurrent)*100;wDiff=s.widthCurrent-v;hDiff=s.heightCurrent-x;a("#imageDataContainer").animate({width:v},s.resizeSpeed,"linear");a("#outerImageContainer").animate({width:v},s.resizeSpeed,"linear",function(){a("#outerImageContainer").animate({height:x},s.resizeSpeed,"linear",function(){d()})});if((hDiff==0)&&(wDiff==0)){if(jQuery.browser.msie){o(250)}else{o(100)}}a("#prevLink").height(w);a("#nextLink").height(w)}function d(){a("#loading").hide();a("#lightboxImage").fadeIn("fast");c();f();s.inprogress=false}function c(){a("#numberDisplay").html("");if(s.imageArray[s.activeImage][1]){a("#caption").html(s.imageArray[s.activeImage][1]).show()}if(s.imageArray.length>1){var w;w=s.strings.image+(s.activeImage+1)+s.strings.of+s.imageArray.length;if(!s.disableNavbarLinks){if((s.activeImage)>0||s.loopImages){w='<a title="'+s.strings.prevLinkTitle+'" href="#" id="prevLinkText">'+s.strings.prevLinkText+"</a>"+w}if(((s.activeImage+1)<s.imageArray.length)||s.loopImages){w+='<a title="'+s.strings.nextLinkTitle+'" href="#" id="nextLinkText">'+s.strings.nextLinkText+"</a>"}}a("#numberDisplay").html(w).show()}if(s.slideNavBar){a("#imageData").slideDown(s.navBarSlideSpeed)}else{a("#imageData").show()}var v=u();a("#overlay").height(v[1]);q()}function q(){if(s.imageArray.length>1){a("#hoverNav").show();if(s.loopImages){a("#prevLink,#prevLinkText").show().click(function(){t((s.activeImage==0)?(s.imageArray.length-1):s.activeImage-1);return false});a("#nextLink,#nextLinkText").show().click(function(){t((s.activeImage==(s.imageArray.length-1))?0:s.activeImage+1);return false})}else{if(s.activeImage!=0){a("#prevLink,#prevLinkText").show().click(function(){t(s.activeImage-1);return false})}if(s.activeImage!=(s.imageArray.length-1)){a("#nextLink,#nextLinkText").show().click(function(){t(s.activeImage+1);return false})}}b()}}function r(y){var z=y.data.opts;var v=y.keyCode;var w=27;var x=String.fromCharCode(v).toLowerCase();if((x=="x")||(x=="o")||(x=="c")||(v==w)){l()}else{if((x=="p")||(v==37)){if(z.loopImages){p();t((z.activeImage==0)?(z.imageArray.length-1):z.activeImage-1)}else{if(z.activeImage!=0){p();t(z.activeImage-1)}}}else{if((x=="n")||(v==39)){if(s.loopImages){p();t((z.activeImage==(z.imageArray.length-1))?0:z.activeImage+1)}else{if(z.activeImage!=(z.imageArray.length-1)){p();t(z.activeImage+1)}}}}}}function b(){a(document).bind("keydown",{opts:s},r)}function p(){a(document).unbind("keydown")}};a.fn.lightbox.parseJsonData=function(c){var b=[];a.each(c,function(){b.push(new Array(this.url,this.title))});return b};a.fn.lightbox.defaults={fileLoadingImage:"assets/img/loading-l.gif",fileBottomNavCloseImage:"assets/img/closelabel.gif",overlayOpacity:0.4,borderSize:10,imageArray:new Array,activeImage:null,inprogress:true,resizeSpeed:350,widthCurrent:250,heightCurrent:250,xScale:1,yScale:1,displayTitle:true,navbarOnTop:false,slideNavBar:false,navBarSlideSpeed:350,displayHelp:false,strings:{help:" \u2190 / P - previous image\u00a0\u00a0\u00a0\u00a0\u2192 / N - next image\u00a0\u00a0\u00a0\u00a0ESC / X - close",prevLinkTitle:"previous photo",nextLinkTitle:"next photo",prevLinkText:"&laquo; Previous",nextLinkText:"Next &raquo;",closeTitle:"close gallery",image:"photo ",of:" of "},fitToScreen:false,disableNavbarLinks:true,loopImages:false,imageClickClose:true,jsonData:null,jsonDataParser:null}})(jQuery);