/*
 GNU Affero General Public License - {@link http://www.gnu.org/licenses/agpl.html}
 @example Visit {@link http://www.balupton.com/projects/jquery-lightbox} for more information.
*/
(function(b){if(typeof window.console!=="object"||typeof window.console.emulated==="undefined"){if(typeof window.console!=="object"||typeof window.console.log!=="function"){window.console={};window.console.log=window.console.debug=window.console.warn=window.console.trace=function(){};window.console.error=function(){alert("An error has occured. Please use another browser to obtain more detailed information.")}}else{if(typeof window.console.debug==="undefined")window.console.debug=function(){for(var a=
["console.debug:"],c=0;c<arguments.length;c++)a.push(arguments[c]);window.console.log.apply(window.console,a)};if(typeof window.console.warn==="undefined")window.console.warn=function(){for(var a=["console.warn:"],c=0;c<arguments.length;c++)a.push(arguments[c]);window.console.log.apply(window.console,a)};if(typeof window.console.error==="undefined")window.console.error=function(){for(var a=["console.error"],c=0;c<arguments.length;c++)a.push(arguments[c]);window.console.log.apply(window.console,a)};
if(typeof window.console.trace==="undefined")window.console.trace=function(){window.console.error.apply(window.console,["console.trace does not exist"])}}window.console.emulated=true}String.prototype.queryStringToJSON=String.prototype.queryStringToJSON||function(){var a=String(this);a=a.substring(a.indexOf("?")+1);a=a.replace(/\+/g,"%20");if(a.substring(0,1)==="{"&&a.substring(a.length-1)==="}")return eval(decodeURIComponent(a));a=a.split(/\&|\&amp\;/);for(var c={},d=0,g=a.length;d<g;++d){var f=a[d]||
null;if(f!==null){f=f.split("=");if(f!==null){var i=f[0]||null;if(i!==null)if(typeof f[1]!=="undefined"){var e=f[1];i=decodeURIComponent(i);e=decodeURIComponent(e);try{e=eval(e)}catch(h){}f=i.split(".");if(f.length===1)c[i]=e;else{e="";for(ii in f){i=f[ii];e+="."+i;eval("json"+e+" = json"+e+" || {}")}eval("json"+e+" = value")}}}}}return c};Array.prototype.remove=function(a,c){var d=this.slice((c||a)+1||this.length);this.length=a<0?this.length+a:a;return this.push.apply(this,d)};Array.prototype.get=
function(a,c){if(a==="first")a=0;else if(a==="last")a=this.length-1;else if(a==="prev")a=this.index-1;else if(a==="next")a=this.index+1;else if(!a&&a!==0)a=this.index;c&&this.setIndex(a);return this.exists(a)?this[a]:undefined};Array.prototype.each=function(a){for(var c=0;c<this.length;++c)if(a(c,this[c],this)===false)break;return this};Array.prototype.validIndex=function(a){return a>=0&&a<this.length};Array.prototype.setIndex=function(a){this.index=this.validIndex(a)?a:null;return this};Array.prototype.current=
function(a){return this.get(a,true)};Array.prototype.isEmpty=function(){return this.length===0};Array.prototype.isSingle=function(){return this.length===1};Array.prototype.isNotEmpty=function(){return this.length!==0};Array.prototype.isNotEmpty=function(){return this.length>1};Array.prototype.isLast=function(a){a=typeof a==="undefined"?this.index:a;return!this.isEmpty()&&a===this.length-1};Array.prototype.isFirst=function(a){a=typeof a==="undefined"?this.index:a;return!this.isEmpty()&&a===0};Array.prototype.clear=
function(){this.length=0};Array.prototype.next=function(a){return this.get(this.index+1,a)};Array.prototype.prev=function(a){return this.get(this.index-1,a)};Array.prototype.reset=function(){this.index=null;return this};Array.prototype.set=function(a,c){if(a<this.length&&a>=0)this[a]=c;else throw Error("Array.prototype.set: [index] above this.length");return this};Array.prototype.loop=function(){if(!this.index&&this.index!==0)return this.current(0);return this.next()};Array.prototype.add=function(){this.push.apply(this,
arguments);return this};Array.prototype.insert=function(a,c){if(typeof a!=="number")a=this.length;a=a<=this.length?a:this.length;var d=this.slice(a);this.length=a;this.push(c);this.push.apply(this,d);return this};Array.prototype.exists=Array.prototype.exists||function(a){return typeof this[a]!=="undefined"};Array.prototype.has=Array.prototype.has||function(a){for(var c=false,d=0,g=this.length;d<g;++d)if(a==this[d]){c=true;break}return c};b.LightboxClass=function(){this.construct()};b.fn.lightbox=
function(a){b.Lightbox=b.Lightbox||new b.LightboxClass;if(b.Lightbox.ie6&&!b.Lightbox.ie6_support)return this;a=b.extend({start:false,events:true},a);var c=b(this);if(a.events){c.unbind("click").click(function(){var d=b(this);d=c.index(d);if(!b.Lightbox.init(d,c))return false;if(!b.Lightbox.start())return false;return false});c.addClass("lightbox-enabled")}if(a.start){b(this);if(!b.Lightbox.init(0,c))return this;if(!b.Lightbox.start())return this}return this};b.extend(b.LightboxClass.prototype,{images:[],
constructed:false,compressed:null,src:null,baseurl:null,files:{compressed:{scripts:{lightbox:"scripts/jquery.lightbox.min.js",colorBlend:"scripts/jquery.color.min.js"},styles:{lightbox:"styles/jquery.lightbox.min.css"}},uncompressed:{scripts:{lightbox:"scripts/jquery.lightbox.js",colorBlend:"scripts/jquery.color.js"},styles:{lightbox:"styles/jquery.lightbox.css"}},images:{prev:"images/prev.gif",next:"images/next.gif",blank:"images/blank.gif",loading:"images/loading.gif"}},text:{image:"Image",of:"of",
close:"Close X",closeInfo:"You can also click anywhere outside the image to close.",download:"Click for full size image.",help:{close:"Click to close",interact:"Hover to interact"},about:{text:"the Wound Care Blog.com",title:"An aggregation of wound healing and tissue viability information and resources",link:"http://www.thewoundcareblog.com"}},keys:{close:"c",prev:"p",next:"n"},handlers:{show:null},opacity:0.9,padding:null,speed:400,rel:"lightbox",auto_relify:true,auto_scroll:"follow",auto_resize:true,
ie6:null,ie6_support:true,colorBlend:null,download_link:true,show_helper_text:true,show_linkback:true,show_info:"auto",show_extended_info:"auto",options:["show_helper_text","auto_scroll","auto_resize","download_link","show_info","show_extended_info","ie6_support","colorBlend","baseurl","files","text","show_linkback","keys","opacity","padding","speed","rel","auto_relify"],construct:function(a){var c=typeof this.constructed==="undefined"||this.constructed===false;this.constructed=true;var d=c;a=a||
{};var g=function(e,h){if(typeof e==="object")for(var j in e)e[j]=g(e[j],h);else if(typeof h==="array"){j=0;for(var k=e.length;j<k;++j)e[j]=g(e[j],h)}else e=h+e;return e};if(c&&typeof a.files==="undefined"){this.compressed=null;var f=b("script[src*="+this.files.compressed.scripts.lightbox+"]:first");if(f.length!==0){b.extend(true,this.files,this.files.compressed);this.compressed=true}else{f=b("script[src*="+this.files.uncompressed.scripts.lightbox+"]:first");if(f.length!==0){b.extend(true,this.files,
this.files.uncompressed);this.compressed=false}}if(this.compressed===null){window.console.error("Lightbox was not able to find it's javascript script tag necessary for auto-inclusion.");d=false}else{this.src=f.attr("src");this.baseurl=this.src.substring(0,this.src.indexOf(this.files.scripts.lightbox));this.files=g(this.files,this.baseurl);a=b.extend(a,this.src.queryStringToJSON())}this.images.image={src:"",title:"Untitled",description:"",name:"",color:null,width:null,height:null,id:null,image:true};
this.images.prepare=function(e){var h=b.extend({},this.image);if(e.tagName){e=b(e);if(e.attr("src")||e.attr("href")){h.src=e.attr("src")||e.attr("href");h.title=e.attr("title")||e.attr("alt")||h.title;h.name=e.attr("name")||"";h.color=e.css("backgroundColor");e=h.title.indexOf(": ");if(e>0){h.description=h.title.substring(e+2)||h.description;h.title=h.title.substring(0,e)||h.title}}else h=null}else h=e.src?b.extend(this.image,e):null;if(h)h.id=h.id||h.src+h.title+h.description;return h};this.images.create=
function(e){var h=this;if(e.each)e.each(function(k,l){h.create(l)});else{var j=h.prepare(e);j?h.push(j):window.console.error("We dont know what we have:",e,j);return h}}}else if(typeof a.files==="object")a.files=g(a.files,this.baseurl);else d=false;for(var i in this.options){f=this.options[i];if(typeof a[f]==="object"&&typeof this[f]==="object")this[f]=b.extend(true,this[f],a[f]);else if(typeof a[f]!=="undefined")this[f]=a[f]}delete i;this.ie6=c&&navigator.userAgent.indexOf("MSIE 6")>=0?true:false;
if(d||typeof a.download_link!=="undefined"||typeof a.colorBlend!=="undefined"||typeof a.files==="object"||typeof a.text==="object"||typeof a.show_linkback!=="undefined"||typeof a.scroll_with!=="undefined")b(function(){b.Lightbox.domReady()});return true},domReady:function(){var a=document.getElementsByTagName(b.browser.safari?"head":"body")[0],c=this.files.styles,d=this.files.scripts;if(this.colorBlend===true&&typeof b.colorBlend==="undefined")this.colorBlend=true;else{this.colorBlend=typeof b.colorBlend!==
"undefined";delete d.colorBlend}for(stylesheet in c){var g=document.createElement("link");g.type="text/css";g.rel="stylesheet";g.media="screen";g.href=c[stylesheet];g.id="lightbox-stylesheet-"+stylesheet.replace(/[^a-zA-Z0-9]/g,"");b("#"+g.id).remove();a.appendChild(g)}delete d.lightbox;for(script in d){g=document.createElement("script");g.type="text/javascript";g.src=d[script];g.id="lightbox-script-"+script.replace(/[^a-zA-Z0-9]/g,"");b("#"+g.id).remove();a.appendChild(g)}delete d;delete c;delete a;
b("#lightbox,#lightbox-overlay").remove();b("body").append('<div id="lightbox-overlay"><div id="lightbox-overlay-text">'+(this.show_linkback?'<p><span id="lightbox-overlay-text-about"><a href="#" title="'+this.text.about.title+'">'+this.text.about.text+"</a></span></p><p>&nbsp;</p>":"")+(this.show_helper_text?'<p><span id="lightbox-overlay-text-close">'+this.text.help.close+'</span><br/>&nbsp;<span id="lightbox-overlay-text-interact">'+this.text.help.interact+"</span></p>":"")+'</div></div><div id="lightbox"><div id="lightbox-imageBox"><div id="lightbox-imageContainer"><img id="lightbox-image" /><div id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+
this.files.images.loading+'" /></a></div></div></div><div id="lightbox-infoBox"><div id="lightbox-infoContainer"><div id="lightbox-infoHeader"><span id="lightbox-caption">'+(this.download_link?'<a href="#" title="'+this.text.download+'" id="lightbox-caption-title"></a>':'<span id="lightbox-caption-title"></span>')+'<span id="lightbox-caption-seperator"></span><span id="lightbox-caption-description"></span></span></div><div id="lightbox-infoFooter"><span id="lightbox-currentNumber"></span><span id="lightbox-close"><a href="#" id="lightbox-close-button" title="'+
this.text.closeInfo+'">'+this.text.close+'</a></span></div><div id="lightbox-infoContainer-clear"></div></div></div></div>');this.resizeBoxes();this.repositionBoxes();b("#lightbox,#lightbox-overlay,#lightbox-overlay-text-interact").hide();this.ie6&&this.ie6_support&&b("#lightbox-overlay").css({position:"absolute",top:"0px",left:"0px"});b.each(this.files.images,function(){var f=new Image;f.onload=function(){f=f.onload=null};f.src=this});b(window).unbind("resize").resize(function(){b.Lightbox.resizeBoxes("resized")});
this.scroll==="follow"&&b(window).scroll(function(){b.Lightbox.repositionBoxes()});b("#lightbox-nav-btnPrev").unbind().hover(function(){b(this).css({background:"url("+b.Lightbox.files.images.prev+") left 45% no-repeat"})},function(){b(this).css({background:"transparent url("+b.Lightbox.files.images.blank+") no-repeat"})}).click(function(){b.Lightbox.showImage("prev");return false});b("#lightbox-nav-btnNext").unbind().hover(function(){b(this).css({background:"url("+b.Lightbox.files.images.next+") right 45% no-repeat"})},
function(){b(this).css({background:"transparent url("+b.Lightbox.files.images.blank+") no-repeat"})}).click(function(){b.Lightbox.showImage("next");return false});this.show_linkback&&b("#lightbox-overlay-text-about a").click(function(){window.open(b.Lightbox.text.about.link);return false});b("#lightbox-overlay-text-close").unbind().hover(function(){b("#lightbox-overlay-text-interact").fadeIn()},function(){b("#lightbox-overlay-text-interact").fadeOut()});this.download_link&&b("#lightbox-caption-title").click(function(){window.open(b(this).attr("href"));
return false});b("#lightbox-overlay, #lightbox, #lightbox-loading-link, #lightbox-btnClose").unbind().click(function(){b.Lightbox.finish();return false});this.auto_relify&&this.relify();return true},relify:function(){var a={},c=0,d=this.rel;b.each(b("[rel*="+d+"]"),function(g,f){var i=b(f).attr("rel");if(i===d)i=c;if(typeof a[i]==="undefined"){a[i]=[];c++}a[i].push(f)});b.each(a,function(g,f){b(f).lightbox()});return true},init:function(a,c){if(typeof c==="undefined"){c=a;a=0}this.images.clear();
this.images.create(c);if(this.images.isEmpty()){window.console.warn("WARNING","Lightbox started, but no images: ",a,c);return false}if(!this.images.current(a)){window.console.warn("WARNING","Could not find current image: ",a,this.images);return false}return true},start:function(){this.visible=true;this.scroll==="disable"&&b(document.body).css("overflow","hidden");b("embed, object, select").css("visibility","hidden");this.resizeBoxes("general");this.repositionBoxes({speed:0});b("#lightbox-infoFooter").hide();
b("#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-infoBox").hide();b("#lightbox-overlay").css("opacity",this.opacity).fadeIn(400,function(){b("#lightbox").fadeIn(300);if(!b.Lightbox.showImage()){b.Lightbox.finish();return false}});return true},finish:function(){b("#lightbox").hide();b("#lightbox-overlay").fadeOut(function(){b("#lightbox-overlay").hide()});b("embed, object, select").css({visibility:"visible"});this.images.reset();this.scroll==="disable"&&b(document.body).css("overflow",
"visible");this.visible=false},resizeBoxes:function(a){if(a!=="transition"){var c=b(this.ie6?document.body:document);b("#lightbox-overlay").css({width:c.width(),height:c.height()});delete c}switch(a){case "general":return true;case "resized":if(this.auto_resize===false){this.repositionBoxes({nHeight:e,speed:this.speed});return true}case "transition":default:break}var d=this.images.current();if(!d||!d.width||!this.visible)return false;c=d.width;d=d.height;e=b(window).width();var g=b(window).height();
if(this.auto_resize!==false){e=Math.floor(e*0.8);g=Math.floor(g*0.8);for(var f;c>e||d>g;){if(c>e){f=e/c;c=e;d=Math.floor(d*f)}if(d>g){f=g/d;d=g;c=Math.floor(c*f)}}}var i=b("#lightbox-imageBox").width();f=b("#lightbox-imageBox").height();g=c+this.padding*2;var e=d+this.padding*2;i=i-g;f=f-e;b("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css("height",e);b("#lightbox-infoBox").css("width",g);if(a==="transition")if(i===0&&f===0){this.pause(this.speed/3);this.showImage(null,3)}else{b("#lightbox-image").width(c).height(d);
b("#lightbox-imageBox").animate({width:g,height:e},this.speed,function(){b.Lightbox.showImage(null,3)})}else{b("#lightbox-image").animate({width:c,height:d},this.speed);b("#lightbox-imageBox").animate({width:g,height:e},this.speed)}this.repositionBoxes({nHeight:e,speed:this.speed});return true},repositioning:false,reposition_failsafe:false,repositionBoxes:function(a){if(this.repositioning){this.reposition_failsafe=true;return null}this.repositioning=true;a=b.extend({},a);a.callback=a.callback||null;
a.speed=a.speed||"slow";var c=this.getPageScroll(),d=a.nHeight||parseInt(b("#lightbox").height(),10);d=c.yScroll+(b(window).height()-d)/2.5;c={left:c.xScroll,top:d};if(a.speed)b("#lightbox").animate(c,"slow",function(){if(b.Lightbox.reposition_failsafe){b.Lightbox.repositioning=b.Lightbox.reposition_failsafe=false;b.Lightbox.repositionBoxes(a)}else{b.Lightbox.repositioning=false;a.callback&&a.callback()}});else{b("#lightbox").css(c);if(this.reposition_failsafe){this.repositioning=this.reposition_failsafe=
false;this.repositionBoxes(a)}else this.repositioning=false}return true},visible:false,showImage:function(a,c){c=c||1;if(a=this.images.current(a)||this.images.get("first",true)){switch(c){case 1:this.KeyboardNav_Disable();b("#lightbox-loading").show();b("#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-infoBox").hide();b("#lightbox-imageBox").unbind();if(a.width&&a.height)this.showImage(null,2);else{var d=new Image;d.onload=function(){a.width=d.width;a.height=d.height;
b.Lightbox.showImage(null,2);d=d.onload=null};d.src=a.src}break;case 2:b("#lightbox-image").attr("src",a.src);if(typeof this.padding==="undefined"||this.padding===null||isNaN(this.padding))this.padding=parseInt(b("#lightbox-imageContainer").css("padding-left"),10)||parseInt(b("#lightbox-imageContainer").css("padding"),10)||0;if(this.colorBlend){b("#lightbox-overlay").animate({backgroundColor:a.color},this.speed*2);b("#lightbox-imageBox").css("borderColor",a.color)}this.resizeBoxes("transition");break;
case 3:b("#lightbox-loading").hide();b("#lightbox-image").fadeIn(this.speed*1.5,function(){b.Lightbox.showImage(null,4)});this.preloadNeighbours();this.handlers.show!==null&&this.handlers.show(a);break;case 4:var g=b("#lightbox-caption-title").html(a.title||"Untitled");if(this.download_link)g.attr("href",this.download_link?a.src:"");delete g;b("#lightbox-caption-seperator").html(a.description?": ":"");b("#lightbox-caption-description").html(a.description||"&nbsp;");this.images.length>1?b("#lightbox-currentNumber").html(this.text.image+
"&nbsp;"+(this.images.index+1)+"&nbsp;"+this.text.of+"&nbsp;"+this.images.length):b("#lightbox-currentNumber").html("&nbsp;");b("#lightbox-imageBox").unbind("mouseover").mouseover(function(){b("#lightbox-infoBox:not(:visible)").stop().slideDown("fast")});b("#lightbox-infoBox").unbind("mouseover").mouseover(function(){b("#lightbox-infoFooter:not(:visible)").stop().slideDown("fast")});if(this.show_extended_info===true){b("#lightbox-imageBox").trigger("mouseover");b("#lightbox-infoBox").trigger("mouseover")}else this.show_info===
true&&b("#lightbox-imageBox").trigger("mouseover");b("#lightbox-nav-btnPrev, #lightbox-nav-btnNext").css({background:"transparent url("+this.files.images.blank+") no-repeat"});this.images.isFirst()||b("#lightbox-nav-btnPrev").show();this.images.isLast()||b("#lightbox-nav-btnNext").show();b("#lightbox-nav").show();this.KeyboardNav_Enable();break;default:window.console.error("Don't know what to do: ",a,c);return this.showImage(a,1)}return true}},preloadNeighbours:function(){if(this.images.isSingle()||
this.images.isEmpty())return true;var a=this.images.current(),c=this.images.index;if(!a)return a;var d=this.images.prev();if(d){a=new Image;a.src=d.src}this.images.setIndex(c);if(d=this.images.next()){a=new Image;a.src=d.src}this.images.setIndex(c)},KeyboardNav_Enable:function(){b(document).keydown(function(a){b.Lightbox.KeyboardNav_Action(a)})},KeyboardNav_Disable:function(){b(document).unbind("keydown")},KeyboardNav_Action:function(a){a=a||window.event;var c=a.keyCode;a=a.DOM_VK_ESCAPE||27;var d=
String.fromCharCode(c).toLowerCase();if(d===this.keys.close||c===a)return b.Lightbox.finish();if(d===this.keys.prev||c===37)return b.Lightbox.showImage("prev");if(d===this.keys.next||c===39)return b.Lightbox.showImage("next");return true},getPageScroll:function(){var a,c;if(self.pageYOffset){c=self.pageYOffset;a=self.pageXOffset}else if(document.documentElement&&document.documentElement.scrollTop){c=document.documentElement.scrollTop;a=document.documentElement.scrollLeft}else if(document.body){c=
document.body.scrollTop;a=document.body.scrollLeft}return{xScroll:a,yScroll:c}},pause:function(a){var c=new Date,d=null;do d=new Date;while(d-c<a)}});if(typeof b.Lightbox==="undefined")b.Lightbox=new b.LightboxClass})(jQuery);
