/*!
 * jquery.yoxview v1.88
 * 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: 7th May, 2010
 * Version : 1.88
 */ 
var yoxviewApi; (function(m){var B=false,q;m.yoxviewUnload=function(){if(yoxviewApi){yoxviewApi.unload();delete yoxviewApi}};m(window).unload(function(){m.yoxviewUnload()});m.fn.yoxviewUnload=function(){jQuery.each(this,function(C,D){m(D).find("a:has(img)").unbind("click.yoxview")});return this};m.fn.yoxview=function(C,D){if(this.length==0)return this;q||(q=typeof _yoxviewPath!="undefined"?_yoxviewPath:getYoxviewPath());this.loadLanguage=function(n,t){var E=this;if(yoxviewLanguages[n])E.loadDataSource(F.dataSource,t); else{yoxviewLanguages[n]={};m.ajax({url:q+"lang/"+n+".js",async:false,dataType:"json",success:function(G){yoxviewLanguages[n]=G;E.loadDataSource(F.dataSource,t)}})}};this.loadDataSource=function(n,t){var E=this;yoxviewDataSources[n]?t(E):m.ajax({url:H.dataFolder+n+".js",async:false,dataType:"script",success:function(G){eval(G);eval("yoxviewDataSources['"+n+"'] = new yoxview_"+n+"();");t(E)},error:function(G,Q,X){console.log(G,Q,X)}})};var H=m.extend({autoPlay:false,backgroundColor:"#000",backgroundOpacity:0.8, buttonsFadeTime:500,cacheImagesInBackground:true,controlsInitialFadeTime:1500,controlsInitialDisplayTime:1E3,dataFolder:q+"data/",displayImageTitleByDefault:true,imagesFolder:q+"images/",infoBackColor:"Black",infoBackOpacity:0.5,isRTL:false,lang:"en",langFolder:q+"lang/",loopPlay:true,playDelay:3E3,popupMargin:20,renderButtons:true,renderMenu:true,showBarsOnOpen:true,showButtonsOnOpen:true,titleAttribute:"title",titleDisplayDuration:2E3,titlePadding:6},C),F=m.extend({dataSource:"thumbnails",dataSourceOptions:{}}, D);if(B)this.loadLanguage(H.lang,function(n){yoxviewApi.AddViews(n,H,F)});else{B=true;this.loadLanguage(H.lang,function(n){yoxviewApi=new YoxView(n,H,F)})}return this}})(jQuery);var yoxviewLanguages=[],yoxviewDataSources=[]; function YoxView(m,B,q){function C(){if(h){h.parent().remove();y=z=R=I=Y=M=h=undefined;N=r=0}ia()}function D(a){a=d(a).data("yoxview");if(!v||ja!=a.viewIndex){v=a.images;j=v.length;ja=a.viewIndex;var b=false;if(a.options&&!ka(c,a.options)){c=a.options;b=true}else if(!a.options&&!ka(c,la)){c=la;b=true}else if(M&&j==1||h&&!M&&j>0)b=true;b&&C()}}function H(a,b,g,f){a=d(a);a.data("yoxview",{viewIndex:b});if(f.images!=null){f=f.images;J=a[0].tagName=="A"?a:d(a.find("a:has(img)").eq(0));J.data("yoxview", {viewIndex:b}).bind("click.yoxview",function(){i.openGallery(d(this).data("yoxview").viewIndex);return false})}else f=yoxviewDataSources[f.dataSource].getImagesData(a,g,f);a.data("yoxview").images=f;if(g!=c)a.data("yoxview").options=g}function F(a){var b=d(S[ja]);J=b[0].tagName=="A"?b:b.yoxthumbs("thumbnails").eq(r);if(J.length==0)J=b.yoxthumbs("thumbnails").eq(0);if(b=J.children("img:first")){a&&I&&I.attr("src",b.attr("src"));ma=b.offset();o={width:b.width(),height:b.height(),top:ma.top-d(window).scrollTop(), left:ma.left}}}function n(a){a.css("opacity")==0&&a.stop().animate({opacity:0},c.buttonsFadeTime,E(a))}function t(a){a.stop().fadeIn(c.buttonsFadeTime,function(){d(this).delay(500).fadeOut(c.buttonsFadeTime)})}function E(a){d(a).stop().animate({opacity:0.5},c.buttonsFadeTime)}function G(a){if(i&&i.isOpen){var b=i[Da[Ea[a.keyCode]]];if(b){a.preventDefault();b.apply(i);return false}return true}return true}function Q(a,b,g){var f=d("<a>",{href:"#",click:function(){return i.clickBtn(i[b],g)}});d("<span>"+ a+"</span>").css("opacity","0").appendTo(f);f.append(X("icons",b)).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 X(a,b){return d("<img/>",{src:c.imagesFolder+"empty.gif",alt:b,css:{width:w[a].width,height:w[a].height,"background-image":"url("+c.imagesFolder+"sprites.png)","background-repeat":"no-repeat","background-position":"-"+ w[a].width*w[a].left[b]+"px -"+w[a].top+"px"}})}function ua(a,b,g){var f=new Image;f.src=c.imagesFolder+b+".png";g=d("<a>",{css:{background:"url("+f.src+") no-repeat "+b+" center",opacity:"0",outline:"0"},className:"yoxview_ctlBtn",title:g,href:"#",click:function(){this.blur();return i.clickBtn(a,true)}});g.css(b,"0");return g}function ia(){s=yoxviewLanguages[c.lang];h=d("<div>",{id:"yoxview"});h.appendTo(d(parent.document.body));z=d("<div>",{className:"yoxview_imgPanel",css:{"z-index":"2"}});y=d("<div>", {className:"yoxview_imgPanel",css:{"z-index":"1",display:"none"}});I=d("<img />",{className:"yoxview_fadeImg",css:{display:"block",width:"100%",height:"100%"}});R=d("<img />",{className:"yoxview_fadeImg",css:{display:"block",width:"100%",height:"100%"}});z.data("yoxviewPanel",{image:I}).append(I).appendTo(h);y.data("yoxviewPanel",{image:R});y.append(R).appendTo(h);var a=j==1;if(c.renderMenu!==false){Z=d("<div>",{id:"yoxview_popupMenuPanel",className:"yoxview_popupBarPanel yoxview_top",css:{opacity:"0"}}); c.autoHideMenu===false&&Z.css("display","block").data("disabled",true);var b=d("<div>",{id:"yoxview_popupMenu",className:"yoxview_popupBar",css:{opacity:"0.8","background-position":"0 -"+w.menu.top+"px"}}),g=Q(s.Help,"help",false),f=Q(s.Slideshow,"play",false);b.append(Q(s.Close,"close",true),g,f);if(a){f.css("display","none");g.css("display","none");b.css({width:58})}b.find("a:last-child").attr("class","last");Z.append(b).appendTo(h)}if(c.renderButtons!==false&&!a){M=ua(i.prev,c.isRTL?"right":"left", s.PrevImage);M.appendTo(h);Y=ua(i.next,c.isRTL?"left":"right",s.NextImage);Y.appendTo(h)}O=h.find(".yoxview_ctlBtn");$=d("<div>",{id:"yoxview_ajaxLoader",className:"yoxview_notification",css:{display:"none"}});$.append(d("<img>",{src:c.imagesFolder+"popup_ajax_loader.gif",alt:s.Loading,css:{width:32,height:32,"background-image":"url("+c.imagesFolder+"sprites.png)","background-position":"-"+w.notifications.width*w.notifications.left.empty+"px -"+w.notifications.top+"px"}})).appendTo(h);jQuery.each(["play", "pause","first","last"],function(){var e=X("notifications",this);e.attr("className","yoxview_notification").css("display","none").appendTo(h);T[this]=e});K=d("<div>",{id:"yoxview_helpPanel",href:"#",title:s.CloseHelp,css:{background:"url("+c.imagesFolder+"help_panel.png) no-repeat center top",direction:s.Direction,opacity:"0"},click:function(){return i.clickBtn(i.help,false)}});a=document.createElement("h1");a.innerHTML=s.Help.toUpperCase();b=document.createElement("p");b.innerHTML=s.HelpText;g=document.createElement("span"); g.id="yoxview_closeHelp";g.innerHTML=s.CloseHelp;K.append(a).append(b).append(g).appendTo(h);p=d("<div>",{id:"yoxview_popupInfo",className:"yoxview_popupBarPanel yoxview_bottom"});c.autoHideInfo===false&&p.css("display","block").data("disabled",true);na=d("<div>",{className:"yoxview_popupBar yoxview_bottom",css:{background:c.infoBackColor,opacity:c.infoBackOpacity,"z-index":"1",padding:c.titlePadding+"px 0","min-height":oa}});na.appendTo(p);aa=d("<h1>",{className:"yoxview_popupBar",css:{"z-index":"2", bottom:c.titlePadding,opacity:"1"}});aa.appendTo(p);pa=d("<span>",{css:{opacity:"1"}});pa.appendTo(p);h.append(p);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);qa=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 i.clickBtn(i.close,true)}}).appendTo(h.parent());c.buttonsFadeTime!= 0&&O.hover(function(){i.isOpen&&d(this).stop().animate({opacity:0.5},c.buttonsFadeTime)},function(){d(this).stop().animate({opacity:0},c.buttonsFadeTime)});ba=h.children(".yoxview_popupBarPanel");ba.hover(function(){var e=d(this);e.data("disabled")||e.stop().stopTime().animate({opacity:1},c.buttonsFadeTime)},function(){d(this).data("disabled")||d(this).stop().stopTime().animate({opacity:0},c.buttonsFadeTime)})}function A(a){if(a==j)a=0;var b=v[a].media;if(b.loaded){b=a+1;if(b==j)b=0;if(v[b].media.loaded){b= a-1;if(b<0)b=j-1;v[b].media.loaded||A(b)}else A(b)}else{N=a;if(!b.type||b.type==="image")va.src=b.src;else wa(b,function(){A(N+1)})}}function Fa(){ra=true;$.stop().stopTime().oneTime(c.buttonsFadeTime,function(){d(this).stop().fadeIn(c.buttonsFadeTime)})}function Ga(){ra=false;$.stop().stopTime().fadeOut(c.buttonsFadeTime)}function xa(){x||Fa();Ha(U.media)}function ya(a,b,g,f){var e={width:a,height:b};if(a>g){e.height=Math.round(g/a*b);e.width=g}if(e.height>f){e.width=Math.round(f/e.height*e.width); e.height=f}return e}function sa(a,b,g,f,e){h.stop().animate({width:a,height:b,top:g,left:f},"slow",e)}function ca(){if(j!=1){x=true;if(r<j-1)h.oneTime(c.playDelay,"play",function(){i.next()});else c.loopPlay?h.oneTime(c.playDelay,"play",function(){i.select(0,null)}):V()}}function V(){h.stopTime("play");x=false}function za(){var a=d(parent.window).width(),b=d(parent.window).height();return{height:b,width:a,usableHeight:b-c.popupMargin*2,usableWidth:a-c.popupMargin*2}}function Aa(){var a=aa.outerHeight(); if(a<oa)a=oa;na.animate({height:a},"fast")}function da(a){var b,g=!a.type||a.type==="image";if(z.css("z-index")==1){k=z;b=I;ea=y}else{k=y;b=R;ea=z}k.data("maxSize",{width:a.width,height:a.height});var f=ya(a.width,a.height,u.usableWidth,u.usableHeight);aa.html(a.title);j>1&&pa.html(r+1+"/"+j);var e=k.data("yoxviewPanel");if(g){b.attr({src:a.src,title:a.title,alt:a.alt});O.css({height:"100%",width:"50%",top:"0"});if(k.isMedia){e.media.remove();e.media=undefined;e.image.show();k.isMedia=false}c.autoHideInfo!== false?p.data("disabled",false):p.stop().fadeIn(c.buttonsFadeTime)}else{if(e.media)e.media.show();else{e.media=d("<div>",{className:"yoxview_mediaPanel"});e.image.hide();k.append(e.media)}e.media.html(a.html);O.css({width:fa.width,height:fa.height,top:f.height/2-fa.height/2});if(!k.isMedia){e.image.hide();k.isMedia=true}c.autoHideInfo===false?p.fadeOut(c.buttonsFadeTime):p.css("display","none");p.data("disabled",true)}ga?k.animate({width:f.width,height:f.height},"slow"):k.css({width:f.width+"px",height:f.height+ "px"});b=Math.round((u.height-f.height)/2);e=Math.round((u.width-f.width)/2);ra&&Ga();P=true;sa(f.width,f.height,b,e,function(){if(ga){i.isOpen=true;ba.css("display","block");if(c.controlsInitialDisplayTime>0){c.showButtonsOnOpen&&O.animate({opacity:0.5},c.controlsInitialFadeTime,function(){c.buttonsFadeTime!=0&&d(this).delay(c.controlsInitialDisplayTime).animate({opacity:0},c.controlsInitialFadeTime)});Z.animate({opacity:1},c.controlsInitialFadeTime,function(){c.autoHideMenu!=="false"&&d(this).delay(c.controlsInitialDisplayTime).animate({opacity:0}, c.controlsInitialFadeTime)})}Aa();c.autoPlay&&i.play();c.onOpen&&c.onOpen();if(ha){ha();ha=undefined}ga=false}P=false});k.css("z-index","2");ea.css("z-index","1");k.fadeIn("slow",function(){ea.css("display","none");if(a.title&&a.title!=""){p.css("display","block");Aa();c.displayImageTitleByDefault&&c.autoHideInfo!==false&&p.stop().stopTime().animate({opacity:1},500,function(){d(this).oneTime(c.titleDisplayDuration,function(){d(this).stop().animate({opacity:0},500,function(){g||d(this).css("display", "none")})})})}if(j>1){r<j-1&&c.cacheImagesInBackground&&A(r+1);x&&ca()}})}function Ia(a,b,g,f,e){jQuery.jsonp({url:Ja[a]||"http://oohembed.com/oohembed/",data:jQuery.extend({url:b,format:"json"},g),dataType:"jsonp",callbackParameter:"callback",success:function(l){var L={title:l.title,width:l.width,height:l.height,type:l.type};if(l.type==="video")L.html=l.html.replace(/<embed /,'<embed wmode="transparent" ').replace(/<param/,'<param name="wmode" value="transparent"><param').replace(/width=\"[\d]+\"/ig, 'width="100%"').replace(/height=\"[\d]+\"/ig,'height="100%"');else l.type==="photo"&&jQuery.extend(L,{src:l.url,alt:l.title,type:"image"});f(L)},error:function(l,L){e&&e(l,L)}})}function Ha(a){if(a.loaded)da(U.media);else if(!a.type||a.type==="image")Ba.src=a.src;else wa(a,function(b){da(b)},function(b){ta("Error getting data from:<br /><span class='errorUrl'>"+b.data.url+"</span>")})}function wa(a,b,g){if(!a.type||a.type!=="image")Ia(a.provider,a.url,c.videoSize,function(f){d.extend(a,f,{loaded:true}); b&&b(a)},g)}function ta(a){da({html:"<span class='yoxview_error'>"+a+"</span>",width:500,height:300,type:"error",title:""})}function ka(a,b){function g(L){var Ca=0;for(var Ka in L)Ka!=null&&Ca++;return Ca}if(g(a)!=g(b))return false;for(var f in a){var e=a[f],l=b[f];if(typeof e!=typeof l)return false;if(e&&e.length&&e[0]!==undefined&&e[0].tagName){if(!l||l.length!=e.length||!l[0].tagName||l[0].tagName!=e[0].tagName)return false}else if(typeof e=="function"||typeof e=="object"){e=ka(e,l);if(!e)return e}else if(e!= l)return false}return true}var i=this,la=B,c=la,s={},S=[],ja=0,v,j=0,h,r=0,U,J,ma,o,ga=true,I,R,z,y,M,Y,$,K,Z,p,aa,oa=28-2*c.titlePadding,na,ba,O,qa,pa,x=false,W=false,T=[],Ba=new Image,va=new Image,N=0,P=this.isOpen=false,ra=false,ha,fa={width:100,height:100},u,d=jQuery,Ea={40:"DOWN",35:"END",13:"ENTER",36:"HOME",37:"LEFT",39:"RIGHT",32:"SPACE",38:"UP",72:"h",27:"ESCAPE"},Da={RIGHT:c.isRTL?"prev":"next",DOWN:"next",UP:"prev",LEFT:c.isRTL?"next":"prev",ENTER:"play",HOME:"first",END:"last",SPACE:"next", h:"help",ESCAPE:"close"},w={notifications:{top:0,width:59,height:59,left:{empty:0,playRTL:1,play:2,pause:3,last:4,first:5}},icons:{top:59,width:18,height:16,left:{close:0,help:1,play:2}},menu:{top:75,height:42}};(new Image).src=c.imagesFolder+"sprites.png";this.AddViews=function(a,b,g){var f=this.firstViewWithImages!=undefined;jQuery.each(a,function(){H(this,S.length,b,g);S.push(this);if(!i.firstViewWithImages){var e=d(this).data("yoxview").images;if(e&&e.length!=0)i.firstViewWithImages=this}});if(!f&& this.firstViewWithImages){D(this.firstViewWithImages);ia();b.cacheImagesInBackground&&j!=0&&A(0);f=true}};this.SetImages=function(a){j=a.length};this.openGallery=function(a,b,g){if(typeof a=="function"){g=a;a=b=0}else if(typeof b=="function"){g=b;b=0}a=a||0;b=b||0;D(S[a]);!h&&j!=0&&ia();c.cacheImagesInBackground&&A(b);this.selectImage(b);h.parent().stop().fadeIn("slow");if(g)ha=g;return false};this.selectImage=function(a){U=v[a];r=a;F(true);J.blur();z.css({"z-index":"1",width:o.width,height:o.height}); y.css({display:"none","z-index":"2"});ga=true;h.css({width:o.width,height:o.height,top:o.top,left:o.left});this.select(a)};this.refresh=function(){(W=x)&&V();xa(r);W&&ca()};this.select=function(a,b){if(typeof b==="number")b=undefined;if(!P){if(a<0)a=j-1;else if(a==j)a=0;!x&&b&&n(b);U=v[a];r=a;xa(r);c.onSelect&&c.onSelect(a)}};this.prev=function(){this.select(r-1,M);return false};this.next=function(){this.select(r+1,Y);return false};this.first=function(){t(T.first);this.select(0);return false};this.last= function(){t(T.last);this.select(j-1);return false};this.play=function(){if(j!=1)if(x){t(T.pause);V()}else{t(T.play);ca()}};this.close=function(){this.closeHelp();F(false);sa(o.width,o.height,o.top,o.left);qa.animate({opacity:0},"slow");k.animate({width:o.width,height:o.height,opacity:0},"slow",function(){h.parent().stop().fadeOut("slow",function(){k.css("opacity",1);qa.css("opacity",c.backgroundOpacity)})});ba.css("display","none");c.onClose&&c.onClose();P=this.isOpen=false};this.help=function(){if(this.isOpen)K.css("display")== "none"?K.css("display","block").stop().animate({opacity:0.8},c.buttonsFadeTime):this.closeHelp()};this.closeHelp=function(){K.css("display")!="none"&&K.stop().animate({opacity:0},c.buttonsFadeTime,function(){K.css("display","none")})};this.clickBtn=function(a,b){b&&x&&V();a.call(this);return false};this.AddViews(m,c,q);d(document).delegate("*","keydown",function(a){G(a)});d(window).bind("resize.yoxview",function(){u=za();i.isOpen&&i.resize()});d(va).load(function(){d.extend(v[N].media,{width:this.width, height:this.height,loaded:true});N<j-1&&A(N+1)});this.startCache=function(){D(this.firstViewWithImages);A(0)};var k=z,ea=y;u=za();this.resize=function(){if(x){W=true;V()}var a=k.data("maxSize");if(a&&a){a=ya(a.width,a.height,u.usableWidth,u.usableHeight);k.css({width:"100%",height:"100%"});var b=Math.round((u.height-a.height)/2),g=Math.round((u.width-a.width)/2);P=true;k.isMedia&&O.animate({top:a.height/2-fa.height/2},"slow");sa(a.width,a.height,b,g,function(){var f=h.width(),e=h.height();k.css({width:f+ "px",height:e+"px"});P=false;if(W){ca();W=false}})}};d(Ba).load(function(){this.width==0?ta("Image error"):da(d.extend({},U.media,{width:this.width,height:this.height}))}).error(function(){ta("Image not found:<br /><span class='errorUrl'>"+this.src+"</span>")});var Ja={vimeo:"http://vimeo.com/api/oembed.json",myspace:"http://vids.myspace.com/index.cfm?fuseaction=oembed"};this.unload=function(){jQuery.each(S,function(a,b){d(b).find("a:has(img)").unbind("click.yoxview")});if(h){h.parent().remove(); h=undefined}}}function getYoxviewPath(){for(var m=document.getElementsByTagName("script"),B=/(.*)jquery.yoxview.*/i,q=0;q<m.length;q++){var C=m[q].src;if(C.match(B))return C.match(B)[1]}return null};