/* Copyright (C) 2007 - 2011 YOOtheme GmbH, YOOtheme Proprietary Use License (http://www.yootheme.com/license) */

/*
 Lightbox Plugin is based on Fancybox (http://fancybox.net, Janis Skarnelis, MIT License)
*/
(function(d){var j,n,v,t,g,I,k,H,o,C,D,r=0,e={},p=[],q=0,b={},m=[],J=null,u=new Image,K,L=1,M=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,Q=/[^\.]\.(swf)\s*$/i,O=/(http:\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)/,P=/(http:\/\/vimeo\.[a-z]+)\/([0-9]+).*?/,A=0,w="",s,i,h=false,E=d.extend(d("<div/>")[0],{prop:0});_abort=function(){v.hide();u.onerror=u.onload=null;J&&J.abort();n.empty()};_error=function(){if(false===e.onError(p,r,e)){v.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";n.html('<p id="lightbox-error">The requested content cannot be loaded.<br />Please try again later.</p>');
_process_inline()}};_start=function(){var a=p[r],c,f,l,F,N,x;_abort();e=d.extend({},j.defaults,typeof d(a).data(j.name)=="undefined"?e:d(a).data(j.name));d(a).attr("data-lightbox")&&d.each(d(a).attr("data-lightbox").split(";"),function(y,G){var B=G.match(/\s*([A-Z_]*?)\s*:\s*(.+)\s*/i);if(B)e[B[1]]=B[2]});x=e.onStart(p,r,e);if(x===false)h=false;else{if(typeof x=="object")e=d.extend(e,x);l=e.title||(a.nodeName?d(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=d(a).children("img:first").length?
d(a).children("img:first"):d(a);if(l===""&&e.orig&&e.titleFromAlt)l=e.orig.attr("alt");c=e.href||(a.nodeName?d(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)||c=="#")c=null;if(e.type){f=e.type;if(!c)c=e.content}else if(e.content)f="html";else if(c)if(c.match(M))f="image";else if(c.match(Q))f="swf";else if(c.match(O)){c=c.replace(O,"$1/v/$2");f="swf"}else if(c.match(P)){c=c.replace(P,"$1/moogaloop.swf?clip_id=$2");f="swf"}else f=c.indexOf("http://")!=-1&&c.indexOf(location.hostname.toLowerCase())==
-1?"iframe":c.indexOf("#")===0?"inline":"ajax";if(f){if(f=="inline"){a=c.substr(c.indexOf("#"));f=d(a).length>0?"inline":"ajax"}e.type=f;e.href=c;e.title=l;if(e.autoDimensions&&e.type!=="iframe"&&e.type!=="swf"){e.width="auto";e.height="auto"}if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick=false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);n.css("padding",e.padding+e.margin);d(".lightbox-inline-tmp").unbind("lightbox-cancel").bind("lightbox-change",
function(){d(this).replaceWith(k.children())});switch(f){case "html":n.html(e.content);_process_inline();break;case "inline":if(d(a).parent().is("#lightbox-content")===true){h=false;break}d('<div class="lightbox-inline-tmp" />').hide().insertBefore(d(a)).bind("lightbox-cleanup",function(){d(this).replaceWith(k.children())}).bind("lightbox-cancel",function(){d(this).replaceWith(n.children())});d(a).appendTo(n);_process_inline();break;case "image":h=false;j.showActivity();u=new Image;u.onerror=function(){_error()};
u.onload=function(){h=true;u.onerror=u.onload=null;_process_image()};u.src=c;break;case "swf":e.scrolling="no";e.autoDimensions=false;F='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+e.width+'" height="'+e.height+'"><param name="movie" value="'+c+'"></param>';N="";d.each(e.swf,function(y,G){F+='<param name="'+y+'" value="'+G+'"></param>';N+=" "+y+'="'+G+'"'});F+='<embed src="'+c+'" type="application/x-shockwave-flash" width="'+e.width+'" height="'+e.height+'"'+N+"></embed></object>";
n.html(F);_process_inline();break;case "ajax":h=false;j.showActivity();e.ajax.win=e.ajax.success;J=d.ajax(d.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(y){y.status>0&&_error()},success:function(y,G,B){if((typeof B=="object"?B:J).status==200){if(typeof e.ajax.win=="function"){x=e.ajax.win(c,y,G,B);if(x===false){v.hide();return}else if(typeof x=="string"||typeof x=="object")y=x}n.html(y);_process_inline()}}}));break;case "iframe":e.autoDimensions=false;_show()}}else _error()}};_process_inline=
function(){n.wrapInner('<div style="width:'+(e.width=="auto"?"auto":e.width+"px")+";height:"+(e.height=="auto"?"auto":e.height+"px")+";overflow: "+(e.scrolling=="auto"?"auto":e.scrolling=="yes"?"scroll":"hidden")+'"></div>');e.width=n.width();e.height=n.height();_show()};_process_image=function(){e.width=u.width;e.height=u.height;d("<img />").attr({id:"lightbox-img",src:u.src,alt:e.title}).appendTo(n);_show()};_show=function(){var a,c;v.hide();if(g.is(":visible")&&false===b.onCleanup(m,q,b)){d.event.trigger("lightbox-cancel");
h=false}else{h=true;d(k.add(t)).unbind();d(window).unbind("resize.fb scroll.fb");d(document).unbind("keydown.fb");g.is(":visible")&&b.titlePosition!=="outside"&&g.css("height",g.height());m=p;q=r;b=e;if(b.overlayShow){t.css({"background-color":b.overlayColor,opacity:b.overlayOpacity,cursor:b.hideOnOverlayClick?"pointer":"auto",height:d(document).height()});t.is(":visible")||t.show()}else t.hide();i=_get_zoom_to();_process_title();if(g.is(":visible")){d(H.add(C).add(D)).hide();a=g.position();s={top:a.top,
left:a.left,width:g.width(),height:g.height()};c=s.width==i.width&&s.height==i.height;k.fadeTo(b.changeFade,0.3,function(){var f=function(){k.html(n.contents()).fadeTo(b.changeFade,1,_finish)};d.event.trigger("lightbox-change");k.empty().removeAttr("filter").css({"border-width":b.padding,width:i.width-b.padding*2,height:b.type=="image"||b.type=="swf"||b.type=="iframe"?i.height-A-b.padding*2:"auto"});if(c)f();else{E.prop=0;d(E).animate({prop:1},{duration:b.changeSpeed,easing:b.easingChange,step:_draw,
complete:f})}})}else{g.removeAttr("style");k.css("border-width",b.padding);if(b.transitionIn=="elastic"){s=_get_zoom_from();k.html(n.contents());g.show();if(b.opacity)i.opacity=0;E.prop=0;d(E).animate({prop:1},{duration:b.speedIn,easing:b.easingIn,step:_draw,complete:_finish})}else{b.titlePosition=="inside"&&A>0&&o.show();k.css({width:i.width-b.padding*2,height:b.type=="image"||b.type=="swf"||b.type=="iframe"?i.height-A-b.padding*2:"auto"}).html(n.contents());g.css(i).fadeIn(b.transitionIn=="none"?
0:b.speedIn,_finish)}}}};_format_title=function(a){if(a&&a.length)return'<div id="lightbox-title-'+b.titlePosition+'">'+a+"</div>";return false};_process_title=function(){w=b.title||"";A=0;o.empty().removeAttr("style").removeClass();if(b.titleShow!==false){w=d.isFunction(b.titleFormat)?b.titleFormat(w,m,q,b):_format_title(w);if(!(!w||w==="")){o.addClass("lightbox-title-"+b.titlePosition).html(w).appendTo("body").show();switch(b.titlePosition){case "inside":o.css({width:i.width-b.padding*2,marginLeft:b.padding,
marginRight:b.padding});A=o.outerHeight(true);o.appendTo(I);i.height+=A;break;case "over":o.css({marginLeft:b.padding,width:i.width-b.padding*2,bottom:b.padding}).appendTo(I);break;case "float":o.css("left",parseInt((o.width()-i.width-40)/2,10)*-1).appendTo(g);break;default:o.css({width:i.width-b.padding*2,paddingLeft:b.padding,paddingRight:b.padding}).appendTo(g)}}}o.hide()};_set_navigation=function(){if(b.enableEscapeButton||b.enableKeyboardNav)d(document).bind("keydown.fb",function(a){if(a.keyCode==
27&&b.enableEscapeButton){a.preventDefault();j.close()}else if((a.keyCode==37||a.keyCode==39)&&b.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();j[a.keyCode==37?"prev":"next"]()}});if(b.showNavArrows){if(b.cyclic&&m.length>1||q!==0)C.show();if(b.cyclic&&m.length>1||q!=m.length-1)D.show()}else{C.hide();D.hide()}};_finish=function(){if(!d.support.opacity){k.get(0).style.removeAttribute("filter");g.get(0).style.removeAttribute("filter")}g.css("height",
"auto");b.type!=="image"&&b.type!=="swf"&&b.type!=="iframe"&&k.css("height","auto");w&&w.length&&o.show();b.showCloseButton&&H.show();_set_navigation();b.hideOnContentClick&&k.bind("click",j.close);b.hideOnOverlayClick&&t.bind("click",j.close);d(window).bind("resize.fb",j.resize);b.centerOnScroll&&d(window).bind("scroll.fb",j.center);if(b.type=="iframe")d('<iframe id="lightbox-frame" name="lightbox-frame'+(new Date).getTime()+'" frameborder="0" hspace="0" '+(d.browser.msie?'allowtransparency="true""':
"")+' scrolling="'+e.scrolling+'" src="'+b.href+'"></iframe>').appendTo(k);g.show();h=false;j.center();b.onComplete(m,q,b);_preload_images()};_preload_images=function(){var a,c;if(m.length-1>q){a=m[q+1].href;if(typeof a!=="undefined"&&a.match(M)){c=new Image;c.src=a}}if(q>0){a=m[q-1].href;if(typeof a!=="undefined"&&a.match(M)){c=new Image;c.src=a}}};_draw=function(a){var c={width:parseInt(s.width+(i.width-s.width)*a,10),height:parseInt(s.height+(i.height-s.height)*a,10),top:parseInt(s.top+(i.top-
s.top)*a,10),left:parseInt(s.left+(i.left-s.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;g.css(c);k.css({width:c.width-b.padding*2,height:c.height-A*a-b.padding*2})};_get_viewport=function(){return[d(window).width()-b.margin*2,d(window).height()-b.margin*2,d(document).scrollLeft()+b.margin,d(document).scrollTop()+b.margin]};_get_zoom_to=function(){var a=_get_viewport(),c={},f=b.autoScale,l=b.padding*2;c.width=b.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(b.width)/
100,10):parseInt(b.width)+l;c.height=b.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(b.height)/100,10):parseInt(b.height)+l;if(f&&(c.width>a[0]||c.height>a[1]))if(e.type=="image"||e.type=="swf"){f=b.width/b.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-l)/f+l,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-l)*f+l,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=
parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c};_get_obj_pos=function(a){var c=a.offset();c.top+=parseInt(a.css("paddingTop"),10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();return c};_get_zoom_from=function(){var a=e.orig?d(e.orig):false,c={};if(a&&a.length){a=_get_obj_pos(a);c={width:a.width+b.padding*2,height:a.height+b.padding*2,top:a.top-
b.padding-20,left:a.left-b.padding-20}}else{a=_get_viewport();c={width:b.padding*2,height:b.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c};_animate_loading=function(){if(v.is(":visible")){d("div",v).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)};var z=function(){};z.prototype=d.extend(z.prototype,{name:"lightbox",defaults:{padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,
centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing",easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},
onCleanup:function(){},onClosed:function(){},onError:function(){}},init:function(){var a=this;if(!d("#lightbox-wrap").length){d("body").append(n=d('<div id="lightbox-tmp"></div>'),v=d('<div id="lightbox-loading"><div></div></div>'),t=d('<div id="lightbox-overlay"></div>'),g=d('<div id="lightbox-wrap"></div>'));I=d('<div id="lightbox-outer"></div>').appendTo(g);I.append(k=d('<div id="lightbox-content"></div>'),H=d('<a id="lightbox-close"></a>'),o=d('<div id="lightbox-title"></div>'),C=d('<a href="javascript:;" id="lightbox-left"><span id="lightbox-left-ico"></span></a>'),
D=d('<a href="javascript:;" id="lightbox-right"><span id="lightbox-right-ico"></span></a>'));H.bind("click",this.close);v.bind("click",this.cancel);C.bind("click",function(c){c.preventDefault();a.prev()});D.bind("click",function(c){c.preventDefault();a.next()});d.fn.mousewheel&&g.bind("mousewheel.fb",function(c,f){if(h||b.type=="image")c.preventDefault();a[f>0?"prev":"next"]()})}},open:function(a,c){var f;if(!h){h=true;f=typeof c!=="undefined"?c:{};p=[];r=parseInt(f.index,10)||0;if(d.isArray(a)){for(var l=
0,F=a.length;l<F;l++)if(typeof a[l]=="object")d(a[l]).data(j.name,d.extend({},f,a[l]));else a[l]=d({}).data(j.name,d.extend({content:a[l]},f));p=d.merge(p,a)}else{if(typeof a=="object")d(a).data(j.name,d.extend({},f,a));else a=d({}).data(j.name,d.extend({content:a},f));p.push(a)}if(r>p.length||r<0)r=0;_start()}},showActivity:function(){clearInterval(K);v.show();K=setInterval(_animate_loading,66)},hideActivity:function(){v.hide()},next:function(){return this.pos(q+1)},prev:function(){return this.pos(q-
1)},pos:function(a){if(!h){a=parseInt(a);p=m;if(a>-1&&a<m.length){r=a;_start()}else if(b.cyclic&&m.length>1){r=a>=m.length?0:m.length-1;_start()}}},cancel:function(){if(!h){h=true;d.event.trigger("lightbox-cancel");_abort();e.onCancel(p,r,e);h=false}},close:function(){function a(){t.fadeOut("fast");o.empty().hide();g.hide();d.event.trigger("lightbox-cleanup");k.empty();b.onClosed(m,q,b);m=e=[];q=r=0;b=e={};h=false}if(!(h||g.is(":hidden"))){h=true;if(b&&false===b.onCleanup(m,q,b))h=false;else{_abort();
d(H.add(C).add(D)).hide();d(k.add(t)).unbind();d(window).unbind("resize.fb scroll.fb");d(document).unbind("keydown.fb");k.find("iframe").attr("src","about:blank");b.titlePosition!=="inside"&&o.empty();g.stop();if(b.transitionOut=="elastic"){s=_get_zoom_from();var c=g.position();i={top:c.top,left:c.left,width:g.width(),height:g.height()};if(b.opacity)i.opacity=1;o.empty().hide();E.prop=1;d(E).animate({prop:0},{duration:b.speedOut,easing:b.easingOut,step:_draw,complete:a})}else g.fadeOut(b.transitionOut==
"none"?0:b.speedOut,a)}}},resize:function(){t.is(":visible")&&t.css("height",d(document).height());j.center(true)},center:function(a){var c,f;if(!h){f=a===true?1:0;c=_get_viewport();!f&&(g.width()>c[0]||g.height()>c[1])||g.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-k.height()-40)*0.5-b.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-k.width()-40)*0.5-b.padding))},typeof a=="number"?a:200)}}});d.fn[z.prototype.name]=function(){var a=arguments,c=a[0]?a[0]:{};return this.each(function(){d(this).data(z.prototype.name,
c).unbind("click."+z.prototype.name).bind("click."+z.prototype.name,function(f){f.preventDefault();if(!h){h=true;d(this).blur();p=[];r=0;if((f=d(this).attr("data-lightbox")||"")&&(f=f.match(/group:([^;]+)/i))){p=d('a[data-lightbox*="'+f[0]+'"], area[data-lightbox*="'+f[0]+'"]');r=p.index(this)}else p.push(this);_start()}})})};d(document).ready(function(){j=new z;j.init();d[z.prototype.name]=j})})(jQuery);

