blob: e281abaa494768b0a8cb255091dfd7eebffee866 [file] [log] [blame]
(function(F){F.fn.fixPNG=function(){return this.each(function(){var J=F(this).css("backgroundImage");if(J.match(/^url\(["']?(.*\.png)["']?\)$/i)){J=RegExp.$1;F(this).css({backgroundImage:"none",filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod="+(F(this).css("backgroundRepeat")=="no-repeat"?"crop":"scale")+", src='"+J+"')"}).each(function(){var K=F(this).css("position");if(K!="absolute"&&K!="relative"){F(this).css("position","relative")}})}})};var D,A,G=false,C=new Image,H,I=1,E=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i;var B=(F.browser.msie&&parseInt(F.browser.version.substr(0,1))<8);F.fn.fancybox=function(K){K=F.extend({},F.fn.fancybox.defaults,K);var S=this;function N(){D=this;A=K;L();return false}function L(){if(G){return }if(F.isFunction(A.callbackOnStart)){A.callbackOnStart()}A.itemArray=[];A.itemCurrent=0;if(K.itemArray.length>0){A.itemArray=K.itemArray}else{var U={};if(!D.rel||D.rel==""){var U={href:D.href,title:D.title};if(F(D).children("img:first").length){U.orig=F(D).children("img:first")}A.itemArray.push(U)}else{var V=F(S).filter("a[rel="+D.rel+"]");var U={};for(var T=0;T<V.length;T++){U={href:V[T].href,title:V[T].title};if(F(V[T]).children("img:first").length){U.orig=F(V[T]).children("img:first")}A.itemArray.push(U)}while(A.itemArray[A.itemCurrent].href!=D.href){A.itemCurrent++}}}if(A.overlayShow){if(B){F("embed, object, select").css("visibility","hidden")}F("#fancy_overlay").css("opacity",A.overlayOpacity).show()}O()}function O(){F("#fancy_right, #fancy_left, #fancy_close, #fancy_title").hide();var T=A.itemArray[A.itemCurrent].href;if(T.match(/#/)){var U=window.location.href.split("#")[0];U=T.replace(U,"");U=U.substr(U.indexOf("#"));M('<div id="fancy_div">'+F(U).html()+"</div>",A.frameWidth,A.frameHeight)}else{if(T.match(E)){C=new Image;C.src=T;if(C.complete){R()}else{F.fn.fancybox.showLoading();F(C).unbind().bind("load",function(){F(".fancy_loading").hide();R()})}}else{if(T.match("iframe")||D.className.indexOf("iframe")>=0){M('<iframe id="fancy_frame" onload="$.fn.fancybox.showIframe()" name="fancy_iframe'+Math.round(Math.random()*1000)+'" frameborder="0" hspace="0" src="'+T+'"></iframe>',A.frameWidth,A.frameHeight)}else{F.get(T,function(V){M('<div id="fancy_ajax">'+V+"</div>",A.frameWidth,A.frameHeight)})}}}}function R(){if(A.imageScale){var U=F.fn.fancybox.getViewport();var W=Math.min(Math.min(U[0]-36,C.width)/C.width,Math.min(U[1]-60,C.height)/C.height);var V=Math.round(W*C.width);var T=Math.round(W*C.height)}else{var V=C.width;var T=C.height}M('<img alt="" id="fancy_img" src="'+C.src+'" />',V,T)}function P(){if((A.itemArray.length-1)>A.itemCurrent){var T=A.itemArray[A.itemCurrent+1].href;if(T.match(E)){objNext=new Image();objNext.src=T}}if(A.itemCurrent>0){var T=A.itemArray[A.itemCurrent-1].href;if(T.match(E)){objNext=new Image();objNext.src=T}}}function M(Y,U,a){G=true;var W=A.padding;if(B){F("#fancy_content")[0].style.removeExpression("height");F("#fancy_content")[0].style.removeExpression("width")}if(W>0){U+=W*2;a+=W*2;F("#fancy_content").css({top:W+"px",right:W+"px",bottom:W+"px",left:W+"px",width:"auto",height:"auto"});if(B){F("#fancy_content")[0].style.setExpression("height","(this.parentNode.clientHeight - 20)");F("#fancy_content")[0].style.setExpression("width","(this.parentNode.clientWidth - 20)")}}else{F("#fancy_content").css({top:0,right:0,bottom:0,left:0,width:"100%",height:"100%"})}if(F("#fancy_outer").is(":visible")&&U==F("#fancy_outer").width()&&a==F("#fancy_outer").height()){F("#fancy_content").fadeOut("fast",function(){F("#fancy_content").empty().append(F(Y)).fadeIn("normal",function(){J()})});return }var Z=F.fn.fancybox.getViewport();var V=(U+36)>Z[0]?Z[2]:(Z[2]+Math.round((Z[0]-U-36)/2));var c=(a+50)>Z[1]?Z[3]:(Z[3]+Math.round((Z[1]-a-50)/2));var b={left:V,top:c,width:U+"px",height:a+"px"};if(F("#fancy_outer").is(":visible")){F("#fancy_content").fadeOut("normal",function(){F("#fancy_content").empty();F("#fancy_outer").animate(b,A.zoomSpeedChange,A.easingChange,function(){F("#fancy_content").append(F(Y)).fadeIn("normal",function(){J()})})})}else{if(A.zoomSpeedIn>0&&A.itemArray[A.itemCurrent].orig!==undefined){F("#fancy_content").empty().append(F(Y));var X=A.itemArray[A.itemCurrent].orig;var T=F.fn.fancybox.getPosition(X);F("#fancy_outer").css({left:(T.left-18)+"px",top:(T.top-18)+"px",width:F(X).width(),height:F(X).height()});if(A.zoomOpacity){b.opacity="show"}F("#fancy_outer").animate(b,A.zoomSpeedIn,A.easingIn,function(){J()})}else{F("#fancy_content").hide().empty().append(F(Y)).show();F("#fancy_outer").css(b).fadeIn("normal",function(){J()})}}}function Q(){if(A.itemCurrent!=0){F("#fancy_left, #fancy_left_ico").unbind().bind("click",function(T){T.stopPropagation();A.itemCurrent--;O();return false});F("#fancy_left").show()}if(A.itemCurrent!=(A.itemArray.length-1)){F("#fancy_right, #fancy_right_ico").unbind().bind("click",function(T){T.stopPropagation();A.itemCurrent++;O();return false});F("#fancy_right").show()}}function J(){Q();P();F(document).keydown(function(T){if(T.keyCode==27){F.fn.fancybox.close();F(document).unbind("keydown")}else{if(T.keyCode==37&&A.itemCurrent!=0){A.itemCurrent--;O();F(document).unbind("keydown")}else{if(T.keyCode==39&&A.itemCurrent!=(A.itemArray.length-1)){A.itemCurrent++;O();F(document).unbind("keydown")}}}});if(A.centerOnScroll){F(window).bind("resize scroll",F.fn.fancybox.scrollBox)}else{F("div#fancy_outer").css("position","absolute")}if(A.hideOnContentClick){F("#fancy_wrap").click(F.fn.fancybox.close)}F("#fancy_overlay, #fancy_close").bind("click",F.fn.fancybox.close);F("#fancy_close").show();if(A.itemArray[A.itemCurrent].title!==undefined&&A.itemArray[A.itemCurrent].title.length>0){F("#fancy_title div").text(A.itemArray[A.itemCurrent].title);F("#fancy_title").show()}if(A.overlayShow&&B){F("embed, object, select",F("#fancy_content")).css("visibility","visible")}if(F.isFunction(A.callbackOnShow)){A.callbackOnShow()}G=false}return this.unbind("click").click(N)};F.fn.fancybox.scrollBox=function(){var J=F.fn.fancybox.getViewport();F("#fancy_outer").css("left",((F("#fancy_outer").width()+36)>J[0]?J[2]:J[2]+Math.round((J[0]-F("#fancy_outer").width()-36)/2)));F("#fancy_outer").css("top",((F("#fancy_outer").height()+50)>J[1]?J[3]:J[3]+Math.round((J[1]-F("#fancy_outer").height()-50)/2)))};F.fn.fancybox.getNumeric=function(J,K){return parseInt(F.curCSS(J.jquery?J[0]:J,K,true))||0};F.fn.fancybox.getPosition=function(J){var K=J.offset();K.top+=F.fn.fancybox.getNumeric(J,"paddingTop");K.top+=F.fn.fancybox.getNumeric(J,"borderTopWidth");K.left+=F.fn.fancybox.getNumeric(J,"paddingLeft");K.left+=F.fn.fancybox.getNumeric(J,"borderLeftWidth");return K};F.fn.fancybox.showIframe=function(){F(".fancy_loading").hide();F("#fancy_frame").show()};F.fn.fancybox.getViewport=function(){return[F(window).width(),F(window).height(),F(document).scrollLeft(),F(document).scrollTop()]};F.fn.fancybox.animateLoading=function(){if(!F("#fancy_loading").is(":visible")){clearInterval(H);return }F("#fancy_loading > div").css("top",(I*-40)+"px");I=(I+1)%12};F.fn.fancybox.showLoading=function(){clearInterval(H);var J=F.fn.fancybox.getViewport();F("#fancy_loading").css({left:((J[0]-40)/2+J[2]),top:((J[1]-40)/2+J[3])}).show();F("#fancy_loading").bind("click",F.fn.fancybox.close);H=setInterval(F.fn.fancybox.animateLoading,66)};F.fn.fancybox.close=function(){G=true;F(C).unbind();F("#fancy_overlay, #fancy_close").unbind();if(A.hideOnContentClick){F("#fancy_wrap").unbind()}F("#fancy_close, .fancy_loading, #fancy_left, #fancy_right, #fancy_title").hide();if(A.centerOnScroll){F(window).unbind("resize scroll")}__cleanup=function(){F("#fancy_overlay, #fancy_outer").hide();if(A.centerOnScroll){F(window).unbind("resize scroll")}if(B){F("embed, object, select").css("visibility","visible")}if(F.isFunction(A.callbackOnClose)){A.callbackOnClose()}G=false};if(F("#fancy_outer").is(":visible")!==false){if(A.zoomSpeedOut>0&&A.itemArray[A.itemCurrent].orig!==undefined){var K=A.itemArray[A.itemCurrent].orig;var J=F.fn.fancybox.getPosition(K);var L={left:(J.left-18)+"px",top:(J.top-18)+"px",width:F(K).width(),height:F(K).height()};if(A.zoomOpacity){L.opacity="hide"}F("#fancy_outer").stop(false,true).animate(L,A.zoomSpeedOut,A.easingOut,__cleanup)}else{F("#fancy_outer").stop(false,true).fadeOut("fast",__cleanup)}}else{__cleanup()}return false};F.fn.fancybox.build=function(){var J="";J+='<div id="fancy_overlay"></div>';J+='<div id="fancy_wrap">';J+='<div class="fancy_loading" id="fancy_loading"><div></div></div>';J+='<div id="fancy_outer">';J+='<div id="fancy_inner">';J+='<div id="fancy_close"></div>';J+='<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>';J+='<a href="javascript:;" id="fancy_left"><span class="fancy_ico" id="fancy_left_ico"></span></a><a href="javascript:;" id="fancy_right"><span class="fancy_ico" id="fancy_right_ico"></span></a>';J+='<div id="fancy_content"></div>';J+='<div id="fancy_title"></div>';J+="</div>";J+="</div>";J+="</div>";F(J).appendTo("body");F('<table cellspacing="0" cellpadding="0" border="0"><tr><td class="fancy_title" id="fancy_title_left"></td><td class="fancy_title" id="fancy_title_main"><div></div></td><td class="fancy_title" id="fancy_title_right"></td></tr></table>').appendTo("#fancy_title");if(B){F("#fancy_inner").prepend('<iframe class="fancy_bigIframe" scrolling="no" frameborder="0" src="javascript:false;"></iframe>');F("#fancy_close, .fancy_bg, .fancy_title, .fancy_ico").fixPNG()}};F.fn.fancybox.defaults={padding:10,imageScale:true,zoomOpacity:false,zoomSpeedIn:0,zoomSpeedOut:0,zoomSpeedChange:300,easingIn:"swing",easingOut:"swing",easingChange:"swing",frameWidth:425,frameHeight:355,overlayShow:true,overlayOpacity:0.3,hideOnContentClick:true,centerOnScroll:true,itemArray:[],callbackOnStart:null,callbackOnShow:null,callbackOnClose:null};F(document).ready(function(){F.fn.fancybox.build()})})(jQuery);