/*!
 * jquery.yoxview v1.21
 * jQuery image gallery viewer
 * http://yoxigen.com/yoxview
 * 
 * Copyright (c) 2010 Yossi Kolesnicov
 *
 * Licensed under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Date: 1st April, 2010
 * Version : 1.21
 */
var yoxviewApi;
(function(j){var n=false,m;j.yoxviewUnload=function(){if(yoxviewApi!=undefined){yoxviewApi.unload();delete yoxviewApi}};j(window).unload(function(){j.yoxviewUnload()});j.fn.yoxviewUnload=function(){jQuery.each(this,function(u,v){j(v).find("a:has(img)").unbind("click.yoxview")});return this};j.fn.yoxview=function(u,v){if(this.length==0)return this;if(m==undefined)m=typeof _yoxviewPath!="undefined"?_yoxviewPath:getYoxviewPath();this.loadLanguage=function(l,q){var A=this;if(yoxviewLanguages[l]==undefined){yoxviewLanguages[l]=
{};j.ajax({url:m+"lang/"+l+".js",async:false,dataType:"json",success:function(B){yoxviewLanguages[l]=B;A.loadDataSource(C.dataSource,q)}})}else A.loadDataSource(C.dataSource,q)};this.loadDataSource=function(l,q){var A=this;yoxviewDataSources[l]==undefined?j.ajax({url:D.dataFolder+l+".js",async:false,dataType:"script",success:function(B){eval(B);eval("yoxviewDataSources['"+l+"'] = new yoxview_"+l+"();");q(A)},error:function(B,ba,K){console.log(B,ba,K)}}):q(A)};var D=j.extend({backgroundColor:"#000",
backgroundOpacity:0.8,playDelay:3E3,popupMargin:20,infoBackOpacity:0.5,infoBackColor:"Black",imagesFolder:m+"images/",dataFolder:m+"data/",langFolder:m+"lang/",cacheImagesInBackground:true,displayImageTitleByDefault:true,titleDisplayDuration:2E3,titlePadding:6,buttonsFadeTime:500,loopPlay:true,isRTL:false,lang:"en",titleAttribute:"title",autoPlay:false,showBarsOnOpen:true,showButtonsOnOpen:true,renderButtons:true,renderMenu:true},u),C=j.extend({images:null,dataSource:"thumbnails",dataSourceOptions:{},
onLoadBegin:null,onLoadComplete:null,onLoadError:null,onNoData:null},v);if(n)this.loadLanguage(D.lang,function(l){yoxviewApi.AddViews(l,D,C)});else{n=true;this.loadLanguage(D.lang,function(l){yoxviewApi=new YoxView(l,D,C)})}return this}})(jQuery);function ImageDimensions(j,n){this.Width=j;this.Height=n}var yoxviewLanguages=[],yoxviewDataSources=[];
function YoxView(j,n,m){function u(){if(h!=undefined){h.parent().remove();E=r=T=H=h=undefined;L=s=0}ca()}function v(a){a=d(a).data("yoxview");if(U==undefined||na!=a.viewIndex){F=a.images;k=F.length;na=a.viewIndex;U=new Array(k);var b=false;if(a.options!=undefined&&!da(c,a.options)){c=a.options;b=true}else if(a.options==undefined&&!da(c,ea)){c=ea;b=true}else if(H!=undefined&&k==1||h!=undefined&&H==undefined&&k>0)b=true;b&&u()}}function D(a,b,e,i){a=d(a);a.data("yoxview",{viewIndex:b});if(i.images!=
null){i=i.images;I=d(a.find("a:has(img)")[0]);I.data("yoxview",{viewIndex:b}).bind("click.yoxview",function(){g.openGallery(d(this).data("yoxview").viewIndex);return false})}else i=yoxviewDataSources[i.dataSource].getImagesData(g,a,e,i);a.data("yoxview").images=i;if(e!=c)a.data("yoxview").options=e}function C(a){var b;if(w.thumbnailImg!=undefined){b=w.thumbnailImg;I=b.parent()}else b=I.children("img:first");if(b!=undefined){a&&r!=undefined&&r.attr("src",b.attr("src"));fa=b.offset();p={width:b.width(),
height:b.height(),top:fa.top-d(window).scrollTop(),left:fa.left}}}function l(a){a.css("opacity")==0&&a.stop().animate({opacity:0},c.buttonsFadeTime,A(a))}function q(a){a.stop().animate({opacity:0.6},c.buttonsFadeTime).oneTime(1E3,function(){d(this).stop().animate({opacity:0},c.buttonsFadeTime)})}function A(a){d(a).stop().animate({opacity:0.5},c.buttonsFadeTime)}function B(a){evt=a?a:window.event;return pK=a?a.keyCode:window.event.keyCode}function ba(a){if(g!=undefined&&g.isOpen){a=B(a);if(a==39)return g.clickBtn(c.isRTL?
g.prev:g.next,true);else if(a==37)return g.clickBtn(c.isRTL?g.next:g.prev,true);else if(a==32)return g.clickBtn(g.next,true);else if(a==27)return g.clickBtn(g.close,true);else if(a==13){g.play();return false}else if(a==36)return g.clickBtn(g.first,true);else if(a==35)return g.clickBtn(g.last,true);else if(a==72)return g.clickBtn(g.help,false)}return true}function K(a,b,e,i){var f=d("<a>",{href:"#",click:function(){return g.clickBtn(e,i)}});d("<span>"+b+"</span>").css("opacity","0").appendTo(f);f.append(oa(a,
b,"18","16")).hover(function(){d(this).stop().animate({top:"8px"},"fast").find("span").stop().animate({opacity:1},"fast")},function(){d(this).stop().animate({top:"0"},"fast").find("span").stop().animate({opacity:0},"fast")});return f}function pa(a,b,e){var i=new Image;i.src=c.imagesFolder+b+".png";e=d("<a>",{css:{background:"url("+i.src+") no-repeat "+b+" center",opacity:"0",outline:"0"},className:"yoxview_ctlBtn",title:e,href:"#",click:function(){this.blur();return g.clickBtn(a,true)}});e.css(b,
"0");return e}function ca(){o=yoxviewLanguages[c.lang];h=d("<div>",{id:"yoxview"});h.appendTo(M?c.container:d(parent.document.body));r=d("<img />",{className:"yoxview_fadeImg",css:{"z-index":"2"}});h.append(r[0]);E=d("<img />",{className:"yoxview_fadeImg",css:{display:"none","z-index":"1"}});h.append(E[0]);var a=k==1;if(c.renderMenu!==false){var b=d("<div>",{id:"yoxview_popupMenuPanel",className:"yoxview_popupBarPanel yoxview_top",css:{opacity:"0"}}),e=d("<div>",{id:"yoxview_popupMenu",className:"yoxview_popupBar",
css:{opacity:"0.8"}});(new Image).src=c.imagesFolder+"menu_back.png";var i=K("help.png",o.Help,g.help,false),f=K("play.png",o.Slideshow,g.play,false);e.append(K("close.png",o.Close,g.close,true),i,f);if(a){f.css("display","none");i.css("display","none");e.css("background-position","95px 0")}e.find("a:last-child").attr("class","last");b.append(e).appendTo(h)}if(c.renderButtons!==false&&!a){H=pa(g.prev,c.isRTL?"right":"left",o.PrevImage);H.appendTo(h);T=pa(g.next,c.isRTL?"left":"right",o.NextImage);
T.appendTo(h)}ga=h.find(".yoxview_ctlBtn");V=d("<div>",{id:"yoxview_ajaxLoader",className:"yoxview_notification",css:{opacity:0}});V.append(oa("popup_ajax_loader.gif",o.Loading,"32","32")).appendTo(h);jQuery.each(["play","pause","first","last"],function(){var t=d("<img />",{className:"yoxview_notification",alt:this,src:c.imagesFolder+"popup_"+this+".png",css:{opacity:0}});t.appendTo(h);N[this]=t});G=d("<div>",{id:"yoxview_helpPanel",href:"#",title:o.CloseHelp,css:{background:"url("+c.imagesFolder+
"help_panel.png) no-repeat center top",direction:o.Direction,opacity:"0"},click:function(){return g.clickBtn(g.help,false)}});a=document.createElement("h1");a.innerHTML=o.Help.toUpperCase();b=document.createElement("p");b.innerHTML=o.HelpText;e=document.createElement("span");e.id="yoxview_closeHelp";e.innerHTML=o.CloseHelp;G.append(a).append(b).append(e).appendTo(h);x=d("<div>",{id:"yoxview_popupInfo",className:"yoxview_popupBarPanel yoxview_bottom"});ha=d("<div>",{className:"yoxview_popupBar yoxview_bottom",
css:{background:c.infoBackColor,opacity:c.infoBackOpacity,"z-index":"1",padding:c.titlePadding+"px 0","min-height":ia}});ha.appendTo(x);W=d("<h1>",{className:"yoxview_popupBar",css:{"z-index":"2",bottom:c.titlePadding,opacity:"1"}});W.appendTo(x);ja=d("<span>",{css:{opacity:"1"}});ja.appendTo(x);h.append(x);if(!M){a=d("<div>",{id:"yoxview_popupWrap",css:{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",display:"none","z-index":"100"}});h.wrap(a);d("<div>",{css:{position:"fixed",height:"100%",
width:"100%",top:"0",left:"0",background:c.backgroundColor,"z-index":"1",opacity:c.backgroundOpacity},click:function(){return g.clickBtn(g.close,true)}}).appendTo(h.parent())}c.buttonsFadeTime!=0&&ga.hover(function(){d(this).stop().animate({opacity:0.5},c.buttonsFadeTime)},function(){d(this).stop().animate({opacity:0},c.buttonsFadeTime)});O=h.children(".yoxview_popupBarPanel");O.hover(function(){d(this).stop().animate({opacity:1},c.buttonsFadeTime)},function(){d(this).stop().animate({opacity:0},c.buttonsFadeTime)})}
function P(a){if(U[a])a<k-1&&P(a+1);else{L=a;qa.src=F[a].src}}function oa(a,b,e,i){var f=document.createElement("img");d(f).attr({src:c.imagesFolder+a,alt:b,width:e,height:i});return f}function wa(){ka=true;V.stop().stopTime().oneTime(c.buttonsFadeTime,function(){d(this).animate({opacity:0.5},c.buttonsFadeTime)})}function xa(){ka=false;V.stop().stopTime().animate({opacity:0},c.buttonsFadeTime)}function ra(){y||wa();if(c.images==null)I=w.thumbnailImg.parent();la.src=w.src}function sa(a,b,e,i){var f=
new ImageDimensions(a,b);if(a>e){f.Height=Math.round(e/a*b);f.Width=e}if(f.Height>i){f.Width=Math.round(i/f.Height*f.Width);f.Height=i}return f}function ma(a,b,e,i,f){h.stop().animate({width:a,height:b,top:e,left:i},"slow",f)}function X(){if(k!=1){y=true;if(s<k-1)h.oneTime(c.playDelay,"play",function(){g.next()});else c.loopPlay?h.oneTime(c.playDelay,"play",function(){g.select(0,null)}):Q()}}function Q(){h.stopTime("play");y=false}function ta(){var a=M?c.container.width():d(parent.window).width(),
b=M?c.container.height():d(parent.window).height();return{height:b,width:a,usableHeight:b-c.popupMargin*2,usableWidth:a-c.popupMargin*2}}function ua(){var a=W.outerHeight();if(a<ia)a=ia;ha.animate({height:a},"fast")}function da(a,b){function e(ya){var va=0;for(var za in ya)za!=null&&va++;return va}if(e(a)!=e(b))return false;for(var i in a){var f=a[i],t=b[i];if(typeof f!=typeof t)return false;if(f&&f.length&&f[0]!==undefined&&f[0].tagName){if(!t||t.length!=f.length||!t.tagName||t.tagName!=f.tagName)return false}else if(typeof f==
"function"||typeof f=="object"){f=da(f,t);if(!f)return f}else if(f!=t)return false}return true}var g=this,ea=n,c=ea,o={},Y=[],na=0,F,k=0,h,s=0,w,I,fa,p,Z=true,r,E,H,T,V,G,x,W,ia=28-2*c.titlePadding,ha,O,ga,ja,M=c.container!=undefined,y=false,R=false,N=[],la=new Image,qa=new Image,L=0,U,J=this.isOpen=false,S,ka=false,$,d=jQuery;this.AddViews=function(a,b,e){var i=S!=undefined;jQuery.each(a,function(){D(this,Y.length,b,e);Y.push(this);if(S==undefined){var f=d(this).data("yoxview").images;if(f&&f.length!=
0)S=this}});if(!i&&S!=undefined){v(S);ca();b.cacheImagesInBackground&&k!=0&&P(0);i=true}};this.SetImages=function(a){F=a;k=F.length};this.openGallery=function(a,b,e){if(typeof a=="function"){e=a;a=b=0}else if(typeof b=="function"){e=b;b=0}a=a||0;b=b||0;v(Y[a]);h==undefined&&k!=0&&ca();c.cacheImagesInBackground&&P(b);this.selectImage(b);M||h.parent().fadeIn("slow");if(e)$=e;return false};this.selectImage=function(a){w=F[a];C(true);I.blur();if(!Z){r.css({display:"block","z-index":"1",width:p.width+
"px",height:p.height+"px"});E.css({display:"none","z-index":"2"});Z=true}h.css({width:p.width+"px",height:p.height+"px",top:p.top+"px",left:p.left+"px"});this.select(a);this.isOpen=true};this.refresh=function(){(R=y)&&Q();ra(s);R&&X()};this.select=function(a,b){if(!J){if(a<0)a=k-1;else if(a==k)a=0;!y&&b&&l(b);w=F[a];s=a;ra(s);c.onSelect&&c.onSelect(a)}};this.prev=function(){this.select(s-1,d(H));return false};this.next=function(){this.select(s+1,d(T));return false};this.first=function(){q(N.first);
this.select(0);return false};this.last=function(){q(N.last);this.select(k-1);return false};this.play=function(){if(k!=1)if(y){q(N.pause);Q()}else{q(N.play);X()}};this.close=function(){this.closeHelp();C(false);ma(p.width,p.height,p.top,p.left);h.parent().fadeOut(g.clear);O.css("display","none");c.onClose&&c.onClose();J=this.isOpen=false};this.help=function(){if(this.isOpen)G.css("display")=="none"?G.css("display","block").stop().animate({opacity:0.8},c.buttonsFadeTime):this.closeHelp()};this.closeHelp=
function(){G.css("display")!="none"&&G.stop().animate({opacity:0},c.buttonsFadeTime,function(){G.css("display","none")})};this.clickBtn=function(a,b){b&&y&&Q();a.call(this);return false};this.AddViews(j,c,m);document.onkeydown=ba;window.onresize=function(){g.isOpen&&g.resize()};d(qa).load(function(){U[L]=true;L<k-1&&P(L+1)});var z=r,aa=E;this.resize=function(){if(y){R=true;Q()}var a=ta(),b=z.data("Data").maxSize;b=sa(b.Width,b.Height,a.usableWidth,a.usableHeight);z.css({width:"100%",height:"100%"});
var e=Math.round((a.height-b.Height)/2);a=Math.round((a.width-b.Width)/2);J=true;ma(b.Width,b.Height,e,a,function(){var i=h.width(),f=h.height();z.css({width:i+"px",height:f+"px"});J=false;if(R){X();R=false}})};d(la).load(function(){if(this.width!=0){if(r.css("z-index")==1){z=r;aa=E}else{z=E;aa=r}z.data("Data",{maxSize:new ImageDimensions(this.width,this.height)});var a=ta(),b=sa(this.width,this.height,a.usableWidth,a.usableHeight);W.html(w.title);k>1&&ja.html(s+1+"/"+k);z.attr({src:this.src,title:w.title}).css({width:b.Width+
"px",height:b.Height+"px"});var e=Math.round((a.height-b.Height)/2);a=Math.round((a.width-b.Width)/2);ka&&xa();J=true;ma(b.Width,b.Height,e,a,function(){if(Z){O.css("display","block");c.showButtonsOnOpen&&ga.animate({opacity:0.5},1500).oneTime(1700,function(){c.buttonsFadeTime!=0&&d(this).animate({opacity:0},1500)});c.showBarsOnOpen&&O.animate({opacity:1},1500).oneTime(1700,function(){d(this).animate({opacity:0},1500)});ua();c.autoPlay&&g.play();c.onOpen&&c.onOpen();if($){$();$=undefined}Z=false}J=
false});z.css("z-index","2");aa.css("z-index","1");z.fadeIn("slow",function(){aa.css("display","none");if(w.title!=""){x.css({display:"block"});ua();c.displayImageTitleByDefault&&x.stop().stopTime().animate({opacity:1},500,function(){d(this).oneTime(c.titleDisplayDuration,function(){d(this).stop().animate({opacity:0},500)})})}else x.css("display")!="none"&&x.fadeOut(c.buttonsFadeTime);if(k>1){s<k-1&&c.cacheImagesInBackground&&P(s+1);y&&X()}});la.src=""}});this.unload=function(){jQuery.each(Y,function(a,
b){d(b).find("a:has(img)").unbind("click.yoxview")});if(h!=undefined){h.parent().remove();h=undefined}}}function createThumbnail(j,n,m,u,v){j=jQuery("<a>",{href:j});v&&j.data("yoxview",{viewIndex:v});n=jQuery("<img>",{src:u,alt:n,title:m}).appendTo(j);return j}function getYoxviewPath(){for(var j=document.getElementsByTagName("script"),n=/(.*yoxview\/).*/i,m=0;m<j.length;m++){var u=j[m].src;if(u.match(n))return u.match(n)[1]}return null};

