

/*
 * FancyBox - simple jQuery plugin for fancy image zooming
 * Examples and documentation at: http://fancy.klade.lv/
 * Version: 1.0.0 (29/04/2008)
 * Copyright (c) 2008 Janis Skarnelis
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
 * Requires: jQuery v1.2.1 or later
*/

(function($){var g={},imgPreloader=new Image,imgTypes=['png','jpg','jpeg','gif'],loadingTimer,loadingFrame=1;$.fn.fancybox=function(b){g.settings=$.extend({},$.fn.fancybox.defaults,b);$.fn.fancybox.init();return this.each(function(){var a=$(this);var o=$.metadata?$.extend({},g.settings,a.metadata()):g.settings;a.unbind('click').click(function(){$.fn.fancybox.start(this,o);return false})})};$.fn.fancybox.start=function(a,o){if(g.animating)return false;if(o.overlayShow){$("#fancy_wrap").prepend('<div id="fancy_overlay"></div>');$("#fancy_overlay").css({'width':$(window).width(),'height':$(document).height(),'opacity':o.overlayOpacity});if($.browser.msie){$("#fancy_wrap").prepend('<iframe id="fancy_bigIframe" scrolling="no" frameborder="0"></iframe>');$("#fancy_bigIframe").css({'width':$(window).width(),'height':$(document).height(),'opacity':0})}$("#fancy_overlay").click($.fn.fancybox.close)}g.itemArray=[];g.itemNum=0;if(jQuery.isFunction(o.itemLoadCallback)){o.itemLoadCallback.apply(this,[g]);var c=$(a).children("img:first").length?$(a).children("img:first"):$(a);var b={'width':c.width(),'height':c.height(),'pos':$.fn.fancybox.getPosition(c)};for(var i=0;i<g.itemArray.length;i++){g.itemArray[i].o=$.extend({},o,g.itemArray[i].o);if(o.zoomSpeedIn>0||o.zoomSpeedOut>0){g.itemArray[i].orig=b}}}else{if(!a.rel||a.rel==''){var d={url:a.href,title:a.title,imgtitle:$(a).children("img:first").attr("title"),o:o};if(o.zoomSpeedIn>0||o.zoomSpeedOut>0){var c=$(a).children("img:first").length?$(a).children("img:first"):$(a);d.orig={'width':c.width(),'height':c.height(),'pos':$.fn.fancybox.getPosition(c)}}g.itemArray.push(d)}else{var e=$("a[@rel="+a.rel+"]").get();for(var i=0;i<e.length;i++){var b=$.metadata?$.extend({},o,$(e[i]).metadata()):o;var d={url:e[i].href,title:e[i].title,o:b};if(o.zoomSpeedIn>0||o.zoomSpeedOut>0){var c=$(e[i]).children("img:first").length?$(e[i]).children("img:first"):$(a);d.orig={'width':c.width(),'height':c.height(),'pos':$.fn.fancybox.getPosition(c)}}if(e[i].href==a.href)g.itemNum=i;g.itemArray.push(d)}}}$.fn.fancybox.changeItem(g.itemNum)};$.fn.fancybox.changeItem=function(n){$.fn.fancybox.showLoading();g.itemNum=n;$("#fancy_nav").empty();$("#fancy_outer").stop();$("#fancy_title").hide();$(document).unbind("keydown");imgRegExp=imgTypes.join('|');imgRegExp=new RegExp('\.'+imgRegExp+'$','i');var a=g.itemArray[n].url;if(a.match(/#/)){var b=window.location.href.split('#')[0];b=a.replace(b,'');$.fn.fancybox.showItem('<div id="fancy_div">'+$(b).html()+'</div>');$("#fancy_loading").hide()}else if(a.match(imgRegExp)){$(imgPreloader).unbind('load').bind('load',function(){$("#fancy_loading").hide();g.itemArray[n].o.frameWidth=imgPreloader.width;g.itemArray[n].o.frameHeight=imgPreloader.height;$.fn.fancybox.showItem('<img id="fancy_img" src="'+imgPreloader.src+'" />')}).attr('src',a+'?rand='+Math.floor(Math.random()*999999999))}else{$.fn.fancybox.showItem('<iframe id="fancy_frame" onload="$.fn.fancybox.showIframe()" name="fancy_iframe'+Math.round(Math.random()*1000)+'" frameborder="0" scrolling="no" hspace="0" src="'+a+'"></iframe>')}};$.fn.fancybox.showIframe=function(){$("#fancy_loading").hide();$("#fancy_frame").show()};$.fn.fancybox.showItem=function(a){$.fn.fancybox.preloadNeighborImages();var b=$.fn.fancybox.getViewport();var c=$.fn.fancybox.getMaxSize(b[0]-50,b[1]-100,g.itemArray[g.itemNum].o.frameWidth,g.itemArray[g.itemNum].o.frameHeight);var d=b[2]+Math.round((b[0]-c[0])/2)-20;var e=b[3]+Math.round((b[1]-c[1])/2)-40;var f={'left':d,'top':e,'width':c[0]+'px','height':c[1]+'px'};if(g.active){$('#fancy_content').fadeOut("normal",function(){$("#fancy_content").empty();$("#fancy_outer").animate(f,"normal",function(){$("#fancy_content").append($(a)).fadeIn("normal");$.fn.fancybox.updateDetails()})})}else{g.active=true;$("#fancy_content").empty();if($("#fancy_content").is(":animated")){console.info('animated!')}if(g.itemArray[g.itemNum].o.zoomSpeedIn>0){g.animating=true;f.opacity="show";$("#fancy_outer").css({'top':g.itemArray[g.itemNum].orig.pos.top-18,'left':g.itemArray[g.itemNum].orig.pos.left-18,'height':g.itemArray[g.itemNum].orig.height,'width':g.itemArray[g.itemNum].orig.width});$("#fancy_content").append($(a)).show();$("#fancy_outer").animate(f,g.itemArray[g.itemNum].o.zoomSpeedIn,function(){g.animating=false;$.fn.fancybox.updateDetails()})}else{$("#fancy_content").append($(a)).show();$("#fancy_outer").css(f).show();$.fn.fancybox.updateDetails()}}};$.fn.fancybox.updateDetails=function(){$("#fancy_bg,#fancy_close").show();if(g.itemArray[g.itemNum].title!==undefined||g.itemArray[g.itemNum].title!==''){if(g.itemArray[g.itemNum].imgtitle!==undefined&&g.itemArray[g.itemNum].imgtitle!==''){$('#fancy_title div').html(g.itemArray[g.itemNum].imgtitle);$('#fancy_title').show()}}if(g.itemArray[g.itemNum].o.hideOnContentClick){$("#fancy_content").click($.fn.fancybox.close)}else{$("#fancy_content").unbind('click')}if(g.itemNum!=0){$("#fancy_nav").append('<a id="fancy_left" href="javascript:;"></a>');$('#fancy_left').click(function(){$.fn.fancybox.changeItem(g.itemNum-1);return false})}if(g.itemNum!=(g.itemArray.length-1)){$("#fancy_nav").append('<a id="fancy_right" href="javascript:;"></a>');$('#fancy_right').click(function(){$.fn.fancybox.changeItem(g.itemNum+1);return false})}$(document).keydown(function(a){if(a.keyCode==27){$.fn.fancybox.close()}else if(a.keyCode==37&&g.itemNum!=0){$.fn.fancybox.changeItem(g.itemNum-1)}else if(a.keyCode==39&&g.itemNum!=(g.itemArray.length-1)){$.fn.fancybox.changeItem(g.itemNum+1)}})};$.fn.fancybox.preloadNeighborImages=function(){if((g.itemArray.length-1)>g.itemNum){preloadNextImage=new Image();preloadNextImage.src=g.itemArray[g.itemNum+1].url}if(g.itemNum>0){preloadPrevImage=new Image();preloadPrevImage.src=g.itemArray[g.itemNum-1].url}};$.fn.fancybox.close=function(){if(g.animating)return false;$(imgPreloader).unbind('load');$(document).unbind("keydown");$("#fancy_loading,#fancy_title,#fancy_close,#fancy_bg").hide();$("#fancy_nav").empty();g.active=false;if(g.itemArray[g.itemNum].o.zoomSpeedOut>0){var a={'top':g.itemArray[g.itemNum].orig.pos.top-18,'left':g.itemArray[g.itemNum].orig.pos.left-18,'height':g.itemArray[g.itemNum].orig.height,'width':g.itemArray[g.itemNum].orig.width,'opacity':'hide'};g.animating=true;$("#fancy_outer").animate(a,g.itemArray[g.itemNum].o.zoomSpeedOut,function(){$("#fancy_content").hide().empty();$("#fancy_overlay,#fancy_bigIframe").remove();g.animating=false})}else{$("#fancy_outer").hide();$("#fancy_content").hide().empty();$("#fancy_overlay,#fancy_bigIframe").fadeOut("fast").remove()}};$.fn.fancybox.showLoading=function(){clearInterval(loadingTimer);var a=$.fn.fancybox.getViewport();$("#fancy_loading").css({'left':((a[0]-40)/2+a[2]),'top':((a[1]-40)/2+a[3])}).show();$("#fancy_loading").bind('click',$.fn.fancybox.close);loadingTimer=setInterval($.fn.fancybox.animateLoading,66)};$.fn.fancybox.animateLoading=function(a,o){if(!$("#fancy_loading").is(':visible')){clearInterval(loadingTimer);return}$("#fancy_loading > div").css('top',(loadingFrame*-40)+'px');loadingFrame=(loadingFrame+1)%12};$.fn.fancybox.init=function(){if(!$('#fancy_wrap').length){$('<div id="fancy_wrap"><div id="fancy_loading"><div></div></div><div id="fancy_outer"><div id="fancy_inner"><div id="fancy_nav"></div><div id="fancy_close"></div><div id="fancy_content"></div><div id="fancy_title"></div></div></div></div>').appendTo("body");$('<div id="fancy_bg"><div class="fancy_bg fancy_bg_n"></div><div class="fancy_bg fancy_bg_ne"></div><div class="fancy_bg fancy_bg_e"></div><div class="fancy_bg fancy_bg_se"></div><div class="fancy_bg fancy_bg_s"></div><div class="fancy_bg fancy_bg_sw"></div><div class="fancy_bg fancy_bg_w"></div><div class="fancy_bg fancy_bg_nw"></div></div>').prependTo("#fancy_inner");$('<table cellspacing="0" cellpadding="0" border="0"><tr><td id="fancy_title_left"></td><td id="fancy_title_main"><div></div></td><td id="fancy_title_right"></td></tr></table>').appendTo('#fancy_title')}if($.browser.msie){$("#fancy_inner").prepend('<iframe id="fancy_freeIframe" scrolling="no" frameborder="0"></iframe>')}if(jQuery.fn.pngFix)$(document).pngFix();$("#fancy_close").click($.fn.fancybox.close)};$.fn.fancybox.getPosition=function(a){var b=a.offset();b.top+=$.fn.fancybox.num(a,'paddingTop');b.top+=$.fn.fancybox.num(a,'borderTopWidth');b.left+=$.fn.fancybox.num(a,'paddingLeft');b.left+=$.fn.fancybox.num(a,'borderLeftWidth');return b};$.fn.fancybox.num=function(a,b){return parseInt($.curCSS(a.jquery?a[0]:a,b,true))||0};$.fn.fancybox.getPageScroll=function(){var a,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;a=self.pageXOffset}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;a=document.documentElement.scrollLeft}else if(document.body){yScroll=document.body.scrollTop;a=document.body.scrollLeft}return[a,yScroll]};$.fn.fancybox.getViewport=function(){var a=$.fn.fancybox.getPageScroll();return[$(window).width(),$(window).height(),a[0],a[1]]};$.fn.fancybox.getMaxSize=function(a,b,c,d){var r=Math.min(Math.min(a,c)/c,Math.min(b,d)/d);return[Math.round(r*c),Math.round(r*d)]};$.fn.fancybox.defaults={hideOnContentClick:false,zoomSpeedIn:500,zoomSpeedOut:500,frameWidth:600,frameHeight:400,overlayShow:false,overlayOpacity:0.4,itemLoadCallback:null}})(jQuery);